{"version":3,"file":"static/js/main.3e992ebd.js","mappings":"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","sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@amplitude/analytics-connector/dist/analyticsConnector.umd.js","../node_modules/@amplitude/ua-parser-js/src/ua-parser.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-cvv.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-month.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-number.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-year.js","../node_modules/@recurly/react-recurly/lib-dist/element/card.js","../node_modules/@recurly/react-recurly/lib-dist/element/element.js","../node_modules/@recurly/react-recurly/lib-dist/elements.js","../node_modules/@recurly/react-recurly/lib-dist/index.js","../node_modules/@recurly/react-recurly/lib-dist/provider.js","../node_modules/@recurly/react-recurly/lib-dist/risk-data-collector.js","../node_modules/@recurly/react-recurly/lib-dist/three-d-secure-action.js","../node_modules/@recurly/react-recurly/lib-dist/use-checkout-pricing.js","../node_modules/@recurly/react-recurly/lib-dist/use-recurly.js","../node_modules/@sentry/src/hub.ts","../node_modules/@sentry/src/scope.ts","../node_modules/@sentry/src/session.ts","../node_modules/src/errors.ts","../node_modules/src/hubextensions.ts","../node_modules/src/idletransaction.ts","../node_modules/src/span.ts","../node_modules/src/transaction.ts","../node_modules/src/utils.ts","../node_modules/@sentry/src/browser.ts","../node_modules/@sentry/src/buildPolyfills/_nullishCoalesce.ts","../node_modules/@sentry/src/instrument.ts","../node_modules/@sentry/src/is.ts","../node_modules/@sentry/src/logger.ts","../node_modules/@sentry/src/misc.ts","../node_modules/@sentry/src/node.ts","../node_modules/@sentry/src/env.ts","../node_modules/@sentry/src/object.ts","../node_modules/@sentry/src/stacktrace.ts","../node_modules/@sentry/src/string.ts","../node_modules/@sentry/src/supports.ts","../node_modules/@sentry/src/syncpromise.ts","../node_modules/@sentry/src/time.ts","../node_modules/@sentry/src/worldwide.ts","../node_modules/blueimp-md5/js/md5.js","../node_modules/decode-uri-component/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/is-eu-member/index.js","../node_modules/lodash.isequalwith/index.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssign.js","../node_modules/lodash/_baseAssignIn.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseClone.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsMap.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsSet.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneDataView.js","../node_modules/lodash/_cloneRegExp.js","../node_modules/lodash/_cloneSymbol.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_copySymbols.js","../node_modules/lodash/_copySymbolsIn.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getAllKeysIn.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getSymbolsIn.js","../node_modules/lodash/_getTag.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/_initCloneArray.js","../node_modules/lodash/_initCloneByTag.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isIndex.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/_nativeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.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/cloneDeep.js","../node_modules/lodash/eq.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isMap.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSet.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qr.js/lib/8BitByte.js","../node_modules/qr.js/lib/BitBuffer.js","../node_modules/qr.js/lib/ErrorCorrectLevel.js","../node_modules/qr.js/lib/Polynomial.js","../node_modules/qr.js/lib/QRCode.js","../node_modules/qr.js/lib/RSBlock.js","../node_modules/qr.js/lib/math.js","../node_modules/qr.js/lib/mode.js","../node_modules/qr.js/lib/util.js","../node_modules/query-string/index.js","../node_modules/raf/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-facebook-login/dist/facebook-login-with-button.js","../ReactPixel/fb-pixel.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-motion/lib/TransitionMotion.js","../node_modules/react-motion/lib/mapToZero.js","../node_modules/react-motion/lib/mergeDiff.js","../node_modules/react-motion/lib/presets.js","../node_modules/react-motion/lib/shouldStopAnimation.js","../node_modules/react-motion/lib/spring.js","../node_modules/react-motion/lib/stepper.js","../node_modules/react-motion/lib/stripStyle.js","../node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","../node_modules/react-qr-code/lib/components/QRCodeCell/index.js","../node_modules/react-qr-code/lib/components/QRCodeSurface/index.js","../node_modules/react-qr-code/lib/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.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/redux-persist/lib/storage/createWebStorage.js","../node_modules/redux-persist/lib/storage/getStorage.js","../node_modules/redux-persist/lib/storage/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/strict-uri-encode/index.js","../node_modules/symbol-observable/es/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/ua-parser-js/src/ua-parser.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","assets/onboarding/artworks|sync|/^/.//.*/.jpg$","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../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","../webpack/runtime/publicPath","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/@reduxjs/toolkit/node_modules/redux/es/redux.js","../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/@sentry/src/version.ts","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@sentry/src/integration.ts","../node_modules/@sentry/src/sdk.ts","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@sentry/src/error.ts","../node_modules/@sentry/src/dsn.ts","../node_modules/@sentry/src/api.ts","../node_modules/@sentry/src/integrations/functiontostring.ts","../node_modules/@sentry/src/integrations/inboundfilters.ts","../node_modules/@sentry/src/memo.ts","../node_modules/@sentry/src/normalize.ts","../node_modules/@sentry/src/envelope.ts","../node_modules/@sentry/src/baseclient.ts","../node_modules/src/eventbuilder.ts","../node_modules/@sentry/src/exports.ts","../node_modules/src/helpers.ts","../node_modules/@sentry/src/severity.ts","../node_modules/@sentry/src/url.ts","../node_modules/src/integrations/breadcrumbs.ts","../node_modules/src/client.ts","../node_modules/@sentry/src/clientreport.ts","../node_modules/src/stack-parsers.ts","../node_modules/src/integrations/trycatch.ts","../node_modules/src/integrations/globalhandlers.ts","../node_modules/src/integrations/linkederrors.ts","../node_modules/src/integrations/dedupe.ts","../node_modules/src/integrations/httpcontext.ts","../node_modules/@sentry/src/promisebuffer.ts","../node_modules/@sentry/src/ratelimit.ts","../node_modules/@sentry/src/transports/base.ts","../node_modules/src/transports/utils.ts","../node_modules/src/transports/fetch.ts","../node_modules/src/transports/xhr.ts","../node_modules/src/sdk.ts","../node_modules/@sentry/src/reactrouter.tsx","../node_modules/@sentry/src/errorboundary.tsx","../node_modules/@sentry/src/tracing.ts","../node_modules/@sentry/src/baggage.ts","../node_modules/src/browser/types.ts","../node_modules/src/browser/web-vitals/lib/bindReporter.ts","../node_modules/src/browser/web-vitals/lib/getNavigationEntry.ts","../node_modules/src/browser/web-vitals/lib/getActivationStart.ts","../node_modules/src/browser/web-vitals/lib/initMetric.ts","../node_modules/src/browser/web-vitals/lib/generateUniqueID.ts","../node_modules/src/browser/web-vitals/lib/observe.ts","../node_modules/src/browser/web-vitals/lib/onHidden.ts","../node_modules/src/browser/web-vitals/lib/getVisibilityWatcher.ts","../node_modules/src/browser/web-vitals/getLCP.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/src/browser/metrics/utils.ts","../node_modules/src/browser/metrics/index.ts","../node_modules/src/browser/web-vitals/getCLS.ts","../node_modules/src/browser/web-vitals/getFID.ts","../node_modules/src/browser/request.ts","../node_modules/src/browser/browsertracing.ts","../node_modules/src/browser/router.ts","../node_modules/@sentry/src/buildPolyfills/_optionalChain.ts","../node_modules/src/browser/backgroundtab.ts","../node_modules/src/index.ts","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/invalidArgFactory.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/react-redux/es/index.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/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/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/hooks.js","../node_modules/connected-react-router/esm/actions.js","../node_modules/connected-react-router/esm/selectors.js","../node_modules/connected-react-router/esm/ConnectedRouter.js","../node_modules/connected-react-router/esm/reducer.js","../node_modules/connected-react-router/esm/structure/plain/getIn.js","../node_modules/connected-react-router/esm/structure/plain/index.js","../node_modules/connected-react-router/esm/index.js","../node_modules/connected-react-router/esm/middleware.js","../node_modules/redux-persist/es/constants.js","../node_modules/redux-persist/es/stateReconciler/autoMergeLevel1.js","../node_modules/redux-persist/es/createPersistoid.js","../node_modules/redux-persist/es/getStoredState.js","../node_modules/redux-persist/es/purgeStoredState.js","../node_modules/redux-persist/es/persistReducer.js","../node_modules/redux/es/redux.js","../node_modules/redux-persist/es/persistStore.js","../node_modules/redux-persist/es/integration/react.js","../node_modules/redux-thunk/es/index.js","analytics/Events.ts","analytics/Analytics.ts","../node_modules/@amplitude/utils/src/misc.ts","../node_modules/amplitude-js/amplitude.esm.js","analytics/Amplitude.ts","analytics/DummyAnalytics.ts","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@firebase/util/src/crypt.ts","../node_modules/@firebase/util/src/deepCopy.ts","../node_modules/@firebase/util/src/deferred.ts","../node_modules/@firebase/util/src/environment.ts","../node_modules/@firebase/util/src/errors.ts","../node_modules/@firebase/util/src/obj.ts","../node_modules/@firebase/util/src/query.ts","../node_modules/@firebase/util/src/subscribe.ts","../node_modules/@firebase/util/src/utf8.ts","../node_modules/@firebase/util/src/exponential_backoff.ts","../node_modules/@firebase/util/src/compat.ts","../node_modules/@firebase/component/src/component.ts","../node_modules/@firebase/component/src/constants.ts","../node_modules/@firebase/component/src/provider.ts","../node_modules/@firebase/logger/src/logger.ts","../node_modules/@firebase/component/src/component_container.ts","../node_modules/idb/build/wrap-idb-value.js","../node_modules/idb/build/index.js","../node_modules/@firebase/app/src/platformLoggerService.ts","../node_modules/@firebase/app/src/logger.ts","../node_modules/@firebase/app/src/constants.ts","../node_modules/@firebase/app/src/internal.ts","../node_modules/@firebase/app/src/errors.ts","../node_modules/@firebase/app/src/firebaseApp.ts","../node_modules/@firebase/app/src/api.ts","../node_modules/@firebase/app/src/indexeddb.ts","../node_modules/@firebase/app/src/heartbeatService.ts","../node_modules/@firebase/app/src/registerCoreComponents.ts","../node_modules/@firebase/app/src/index.ts","../node_modules/@firebase/app-compat/src/firebaseApp.ts","../node_modules/@firebase/app-compat/src/errors.ts","../node_modules/@firebase/app-compat/src/firebaseNamespace.ts","../node_modules/@firebase/app-compat/src/firebaseNamespaceCore.ts","../node_modules/@firebase/app-compat/src/logger.ts","../node_modules/@firebase/app-compat/src/index.ts","../node_modules/@firebase/app-compat/src/registerCoreComponents.ts","../node_modules/firebase/compat/app/index.ts","../node_modules/tslib/tslib.es6.js","../node_modules/@firebase/auth/src/core/errors.ts","../node_modules/@firebase/auth/src/core/util/log.ts","../node_modules/@firebase/auth/src/core/util/assert.ts","../node_modules/@firebase/auth/src/core/util/instantiator.ts","../node_modules/@firebase/auth/src/core/auth/initialize.ts","../node_modules/@firebase/auth/src/core/util/location.ts","../node_modules/@firebase/auth/src/core/util/navigator.ts","../node_modules/@firebase/auth/src/core/util/delay.ts","../node_modules/@firebase/auth/src/core/util/emulator.ts","../node_modules/@firebase/auth/src/core/util/fetch_provider.ts","../node_modules/@firebase/auth/src/api/errors.ts","../node_modules/@firebase/auth/src/api/index.ts","../node_modules/@firebase/auth/src/api/account_management/account.ts","../node_modules/@firebase/auth/src/core/util/time.ts","../node_modules/@firebase/auth/src/core/user/id_token_result.ts","../node_modules/@firebase/auth/src/core/user/invalidation.ts","../node_modules/@firebase/auth/src/core/user/proactive_refresh.ts","../node_modules/@firebase/auth/src/core/user/user_metadata.ts","../node_modules/@firebase/auth/src/core/user/reload.ts","../node_modules/@firebase/auth/src/api/authentication/token.ts","../node_modules/@firebase/auth/src/core/user/token_manager.ts","../node_modules/@firebase/auth/src/core/user/user_impl.ts","../node_modules/@firebase/auth/src/core/persistence/in_memory.ts","../node_modules/@firebase/auth/src/core/persistence/persistence_user_manager.ts","../node_modules/@firebase/auth/src/core/util/browser.ts","../node_modules/@firebase/auth/src/core/util/version.ts","../node_modules/@firebase/auth/src/core/auth/middleware.ts","../node_modules/@firebase/auth/src/core/auth/auth_impl.ts","../node_modules/@firebase/auth/src/core/credentials/auth_credential.ts","../node_modules/@firebase/auth/src/api/account_management/email_and_password.ts","../node_modules/@firebase/auth/src/api/authentication/email_and_password.ts","../node_modules/@firebase/auth/src/api/authentication/email_link.ts","../node_modules/@firebase/auth/src/core/credentials/email.ts","../node_modules/@firebase/auth/src/api/authentication/idp.ts","../node_modules/@firebase/auth/src/core/credentials/oauth.ts","../node_modules/@firebase/auth/src/api/authentication/sms.ts","../node_modules/@firebase/auth/src/core/credentials/phone.ts","../node_modules/@firebase/auth/src/core/action_code_url.ts","../node_modules/@firebase/auth/src/core/providers/email.ts","../node_modules/@firebase/auth/src/core/providers/federated.ts","../node_modules/@firebase/auth/src/core/providers/oauth.ts","../node_modules/@firebase/auth/src/core/providers/facebook.ts","../node_modules/@firebase/auth/src/core/providers/google.ts","../node_modules/@firebase/auth/src/core/providers/github.ts","../node_modules/@firebase/auth/src/core/credentials/saml.ts","../node_modules/@firebase/auth/src/core/providers/twitter.ts","../node_modules/@firebase/auth/src/api/authentication/sign_up.ts","../node_modules/@firebase/auth/src/core/user/user_credential_impl.ts","../node_modules/@firebase/auth/src/core/strategies/anonymous.ts","../node_modules/@firebase/auth/src/mfa/mfa_error.ts","../node_modules/@firebase/auth/src/core/user/link_unlink.ts","../node_modules/@firebase/auth/src/core/user/reauthenticate.ts","../node_modules/@firebase/auth/src/core/strategies/credential.ts","../node_modules/@firebase/auth/src/api/account_management/mfa.ts","../node_modules/@firebase/auth/src/mfa/mfa_user.ts","../node_modules/@firebase/auth/src/core/persistence/index.ts","../node_modules/@firebase/auth/src/platform_browser/persistence/browser.ts","../node_modules/@firebase/auth/src/platform_browser/persistence/local_storage.ts","../node_modules/@firebase/auth/src/platform_browser/persistence/session_storage.ts","../node_modules/@firebase/auth/src/platform_browser/messagechannel/promise.ts","../node_modules/@firebase/auth/src/platform_browser/messagechannel/receiver.ts","../node_modules/@firebase/auth/src/core/util/event_id.ts","../node_modules/@firebase/auth/src/platform_browser/messagechannel/sender.ts","../node_modules/@firebase/auth/src/platform_browser/auth_window.ts","../node_modules/@firebase/auth/src/platform_browser/util/worker.ts","../node_modules/@firebase/auth/src/platform_browser/persistence/indexed_db.ts","../node_modules/@firebase/auth/src/api/authentication/mfa.ts","../node_modules/@firebase/auth/src/platform_browser/load_js.ts","../node_modules/@firebase/auth/src/platform_browser/recaptcha/recaptcha_loader.ts","../node_modules/@firebase/auth/src/platform_browser/recaptcha/recaptcha_verifier.ts","../node_modules/@firebase/auth/src/platform_browser/strategies/phone.ts","../node_modules/@firebase/auth/src/platform_browser/providers/phone.ts","../node_modules/@firebase/auth/src/core/util/resolver.ts","../node_modules/@firebase/auth/src/core/strategies/idp.ts","../node_modules/@firebase/auth/src/core/strategies/abstract_popup_redirect_operation.ts","../node_modules/@firebase/auth/src/platform_browser/strategies/popup.ts","../node_modules/@firebase/auth/src/core/strategies/redirect.ts","../node_modules/@firebase/auth/src/platform_browser/strategies/redirect.ts","../node_modules/@firebase/auth/src/core/auth/auth_event_manager.ts","../node_modules/@firebase/auth/src/api/project_config/get_project_config.ts","../node_modules/@firebase/auth/src/core/util/validate_origin.ts","../node_modules/@firebase/auth/src/platform_browser/iframe/gapi.ts","../node_modules/@firebase/auth/src/platform_browser/iframe/iframe.ts","../node_modules/@firebase/auth/src/platform_browser/util/popup.ts","../node_modules/@firebase/auth/src/core/util/handler.ts","../node_modules/@firebase/auth/src/platform_browser/popup_redirect.ts","../node_modules/@firebase/auth/src/mfa/mfa_assertion.ts","../node_modules/@firebase/auth/src/platform_browser/mfa/assertions/phone.ts","../node_modules/@firebase/auth/src/core/auth/register.ts","../node_modules/@firebase/auth/src/core/auth/firebase_internal.ts","../node_modules/@firebase/auth/src/platform_browser/index.ts","../node_modules/@firebase/installations/src/util/constants.ts","../node_modules/@firebase/installations/src/util/errors.ts","../node_modules/@firebase/installations/src/functions/common.ts","../node_modules/@firebase/installations/src/functions/create-installation-request.ts","../node_modules/@firebase/installations/src/util/sleep.ts","../node_modules/@firebase/installations/src/helpers/generate-fid.ts","../node_modules/@firebase/installations/src/helpers/buffer-to-base64-url-safe.ts","../node_modules/@firebase/installations/src/util/get-key.ts","../node_modules/@firebase/installations/src/helpers/fid-changed.ts","../node_modules/@firebase/installations/src/helpers/idb-manager.ts","../node_modules/@firebase/installations/src/helpers/get-installation-entry.ts","../node_modules/@firebase/installations/src/functions/generate-auth-token-request.ts","../node_modules/@firebase/installations/src/helpers/refresh-auth-token.ts","../node_modules/@firebase/installations/src/api/get-id.ts","../node_modules/@firebase/installations/src/api/get-token.ts","../node_modules/@firebase/installations/src/helpers/extract-app-config.ts","../node_modules/@firebase/installations/src/functions/config.ts","../node_modules/@firebase/installations/src/index.ts","../node_modules/@firebase/remote-config/src/client/remote_config_fetch_client.ts","../node_modules/@firebase/remote-config/src/constants.ts","../node_modules/@firebase/remote-config/src/errors.ts","../node_modules/@firebase/remote-config/src/value.ts","../node_modules/@firebase/remote-config/src/api.ts","../node_modules/@firebase/remote-config/src/client/caching_client.ts","../node_modules/@firebase/remote-config/src/language.ts","../node_modules/@firebase/remote-config/src/client/rest_client.ts","../node_modules/@firebase/remote-config/src/client/retrying_client.ts","../node_modules/@firebase/remote-config/src/remote_config.ts","../node_modules/@firebase/remote-config/src/storage/storage.ts","../node_modules/@firebase/remote-config/src/storage/storage_cache.ts","../node_modules/@firebase/remote-config/src/api2.ts","../node_modules/@firebase/remote-config/src/register.ts","analytics/Firebase.ts","utils/utils.constants.ts","../node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/i18next-http-backend/esm/utils.js","../node_modules/i18next-http-backend/esm/request.js","../node_modules/i18next-http-backend/esm/index.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","locales/i18n.ts","utils/utils.tsx","analytics/FacebookPixel.ts","analytics/Event.ts","analytics/AllEvents.ts","analytics/GoogleAnalytics.ts","analytics/index.ts","../node_modules/react-router-transition/lib/index.js","onboarding/data/constants/QuestionIds.ts","onboarding/question/Question.ts","assets/onboarding/graphs/active_users_map_graph.svg","assets/onboarding/graphs/active_users_map_graph_v2.svg","onboarding/question/gadresults/GadResult.types.ts","bootstrap/hooks.ts","onboarding/data/constants/DefaultAnswers.ts","onboarding/question/gadresults/GadResult.constants.ts","../node_modules/@growthbook/growthbook-react/src/GrowthBookReact.tsx","featureTypes.ts","useFeatures.ts","onboarding/question/meqresults/MeqResults.constants.ts","onboarding/question/insomniaresults/InsomniaResults.types.ts","onboarding/question/insomniaresults/InsomniaResults.constants.ts","cancelsubscription/components/question/Question.ts","cancelsubscription/data/constants/QuestionsIds.ts","cancelsubscription/components/question/options/OptionQuestion.ts","cancelsubscription/components/question/options/TextOption.ts","cancelsubscription/data/meta.tsx","onboarding/data/PersonalizationQuestionIds/PersonalizationQuestionIds.ts","onboarding/data/PersonalizationQuestionIds/DefaultQuestonIds.ts","onboarding/data/QuestionsOrder/DefaultOnboardingOrder.ts","onboarding/data/QuestionsOrder/BasicOrder.ts","onboarding/data/QuestionsOrder/GadTestOrder.ts","onboarding/data/QuestionsOrder/EducationQuizV1Order.ts","onboarding/data/QuestionsOrder/EducationQuizV2Order.ts","onboarding/data/QuestionsOrder/EducationQuizV3Order.ts","onboarding/data/QuestionsOrder/InsomniaQuizV1Order.ts","onboarding/data/QuestionsOrder/insomniaQuizV2Order.ts","onboarding/data/QuestionsOrder/AdhdFlowOrder.ts","onboarding/data/QuestionsOrder/QuestionsOrder.ts","bootstrap/onboarding/actions/answer.ts","hooks/useProgress.ts","hooks/useProgressText.ts","hooks/useSubmit.ts","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","onboarding/data/constants/Placeholders.ts","assets/places/cafe.svg","webpack://web-onboarding/./src/onboarding/components/progressbutton/styles.module.scss?7f00","onboarding/components/progressbutton/ProgressButton.tsx","onboarding/components/progressbutton/ProgressButton.hook.ts","webpack://web-onboarding/./src/onboarding/question/aboutyouproof/styles.module.scss?2ccf","onboarding/question/aboutyouproof/AboutYouProof.tsx","onboarding/question/analysisloader/BlitzQuestion.ts","onboarding/question/colors/ColorOption.ts","onboarding/question/colors/ColorQuestion.ts","onboarding/question/image/ImageQuestion.ts","onboarding/question/info/Info.ts","onboarding/question/options/OptionQuestion.ts","onboarding/question/options/TextOption.ts","onboarding/question/places/PlaceQuestion.ts","onboarding/question/places/PlaceOption.ts","assets/places/castle.svg","assets/places/fireplace.svg","assets/places/forest.svg","assets/places/harbour.svg","assets/places/kingdom.svg","assets/places/sakura.svg","assets/places/sanctuary.svg","assets/ic_check.svg","onboarding/question/statement/StatementQuestion.ts","onboarding/question/eduanswer/EducationAnswer.ts","onboarding/data/meta.ts","onboarding/data/helper.ts","webpack://web-onboarding/./src/onboarding/question/analysisloader/alert/styles.module.scss?ca3c","onboarding/question/analysisloader/alert/QuestionAlert.tsx","webpack://web-onboarding/./src/onboarding/question/analysisloader/progressbar/styles.module.scss?49b3","onboarding/question/analysisloader/progressbar/ProgressBar.tsx","assets/icon_star.svg","components/stars/Stars.tsx","webpack://web-onboarding/./src/onboarding/question/analysisloader/reviewcarousel/styles.module.scss?ff22","onboarding/question/analysisloader/reviewcarousel/ReviewCarousel.tsx","webpack://web-onboarding/./src/onboarding/question/analysisloader/styles.module.scss?0ce4","onboarding/question/analysisloader/AnalysisLoader.tsx","webpack://web-onboarding/./src/onboarding/question/colors/styles.module.scss?e549","onboarding/question/colors/ColorQuestionComponent.tsx","onboarding/question/colors/ColorQuestion.hook.ts","webpack://web-onboarding/./src/onboarding/question/image/styles.module.scss?8f3c","onboarding/question/image/ImageQuestionComponent.tsx","onboarding/question/image/ImageQuestion.hook.ts","hooks/usePreloadImages.ts","webpack://web-onboarding/./src/onboarding/question/imageloader/components/progressbar/styles.module.scss?399f","onboarding/question/imageloader/components/progressbar/ProgressBar.tsx","webpack://web-onboarding/./src/components/spacer/styles.module.scss?04dc","components/spacer/Spacer.tsx","onboarding/question/imageloader/ImageLoader.utils.ts","onboarding/question/imageloader/ImageLoader.constants.ts","webpack://web-onboarding/./src/onboarding/question/imageloader/styles.module.scss?e1a5","onboarding/question/imageloader/ImageLoader.tsx","hooks/useLoader.ts","assets/onboarding/ic_hint.svg","assets/onboarding/graphs/yoyo_graph.svg","webpack://web-onboarding/./src/onboarding/question/info/styles.module.scss?a6a4","onboarding/question/info/InfoComponent.tsx","onboarding/question/info/InfoComponent.hook.ts","onboarding/question/info/OptionalComponent.tsx","assets/onboarding/review_stars.svg","webpack://web-onboarding/./src/onboarding/question/yoyo/styles.module.scss?7f0f","onboarding/question/yoyo/YoYoGraph.tsx","onboarding/question/yoyo/YoYoGraph.hook.ts","assets/onboarding/trustpilot.svg","onboarding/question/motivation/components/reviews/Review.constants.ts","webpack://web-onboarding/./src/onboarding/question/motivation/components/reviews/review/styles.module.scss?0a75","onboarding/question/motivation/components/reviews/review/Review.tsx","webpack://web-onboarding/./src/components/stickycontainer/styles.module.scss?0b31","components/stickycontainer/StickyContainer.tsx","webpack://web-onboarding/./src/onboarding/question/motivation/styles.module.scss?3803","onboarding/question/motivation/Motivation.tsx","onboarding/question/motivation/Motivation.hook.ts","onboarding/question/meqresults/MeqResults.hook.ts","webpack://web-onboarding/./src/onboarding/question/meqresults/styles.module.scss?2a00","onboarding/question/meqresults/MeqResults.tsx","onboarding/question/options/OptionQuestions.hook.ts","onboarding/question/options/OptionQuestionComponent.utils.ts","webpack://web-onboarding/./src/onboarding/question/options/styles.module.scss?db1d","onboarding/question/options/OptionQuestionComponent.tsx","assets/onboarding/graphs/productivity_graph.svg","assets/onboarding/profile.svg","webpack://web-onboarding/./src/onboarding/question/productivitygraph/styles.module.scss?d36a","onboarding/question/productivitygraph/ProductivityGraph.tsx","onboarding/question/statement/StatementQuestion.constants.ts","webpack://web-onboarding/./src/onboarding/question/statement/styles.module.scss?c060","onboarding/question/statement/StatementQuestionComponent.tsx","onboarding/question/statement/StatementQuestion.hook.ts","onboarding/question/gadresults/GadResults.hook.ts","webpack://web-onboarding/./src/onboarding/question/gadresults/styles.module.scss?f671","onboarding/question/gadresults/GadResults.tsx","webpack://web-onboarding/./src/onboarding/question/places/styles.module.scss?5be5","onboarding/question/places/PlaceComponents.tsx","onboarding/question/places/PlaceQuestion.hook.ts","assets/onboarding/rating_star.svg","assets/logo_loona.svg","webpack://web-onboarding/./src/onboarding/question/personalization/components/styles.module.scss?80b8","onboarding/question/personalization/components/Label.tsx","webpack://web-onboarding/./src/onboarding/question/personalization/styles.module.scss?ad8d","onboarding/question/personalization/Personalization.tsx","onboarding/question/personalization/Personalization.hook.ts","assets/purple_check.svg","webpack://web-onboarding/./src/onboarding/question/meqresults/meqresultsv2/styles.module.scss?c987","onboarding/question/meqresults/meqresultsv2/MeqResultsV2.tsx","assets/ic_hint.svg","webpack://web-onboarding/./src/onboarding/question/personalizationd3/styles.module.scss?ac81","onboarding/question/personalizationd3/PersonalizationD3.tsx","onboarding/components/stepper/components/dot/index.ts","webpack://web-onboarding/./src/onboarding/question/eduanswer/styles.module.scss?259a","onboarding/question/eduanswer/EducationAnswerComponent.tsx","onboarding/question/eduanswer/EducationAnswer.hook.ts","onboarding/question/insomniaresults/InsomniaResults.hook.ts","onboarding/question/insomniaresults/InsomniaResults.tsx","onboarding/question/helper.ts","webpack://web-onboarding/./src/onboarding/components/stepper/components/dot/styles.module.scss?8cc2","onboarding/components/stepper/components/dot/DotComponent.tsx","onboarding/components/stepper/components/line/index.ts","webpack://web-onboarding/./src/onboarding/components/stepper/components/line/styles.module.scss?2b96","onboarding/components/stepper/components/line/LineComponent.tsx","onboarding/data/constants/StepsLabels.ts","webpack://web-onboarding/./src/onboarding/components/stepper/styles.module.scss?560f","onboarding/components/stepper/Stepper.tsx","onboarding/components/stepper/hooks/useStepper.ts","onboarding/data/Steps/DefaultOnboardingSteps.ts","onboarding/data/Steps/GadSteps.ts","onboarding/data/Steps/BasicSteps.ts","onboarding/data/Steps/EducationQuizV1Steps.ts","onboarding/data/Steps/EducationQuizV2Steps.ts","onboarding/data/Steps/EducationQuizV3Steps.ts","onboarding/data/Steps/InsomniaQuizV1Steps.ts","onboarding/data/Steps/InsomniaQuizV2Steps.ts","onboarding/data/Steps/AdhdFlowSteps.ts","onboarding/StepperWrapper.hook.ts","onboarding/data/Steps/Steps.ts","onboarding/StepperWrapper.tsx","webpack://web-onboarding/./src/onboarding/styles.module.scss?2b1f","onboarding/Onboarding.tsx","assets/icon_exclamation.svg","components/error/Error.tsx","components/loader/Loader.tsx","assets/ic_lock_white.svg","assets/icon_eye_closed_light.svg","webpack://web-onboarding/./src/components/loadingbutton/styles.module.scss?65a3","components/loadingbutton/LoadingButton.tsx","assets/icon_eye_closed.svg","assets/icon_eye_opened_light.svg","assets/icon_eye_opened.svg","assets/ic_facebook.svg","webpack://web-onboarding/./src/components/passwordinput/styles.module.scss?8d70","components/passwordinput/PasswordInput.tsx","bootstrap/net/commonnet.ts","bootstrap/net/endpoints.ts","bootstrap/net/onboarding/onboarding.ts","bootstrap/net/user/user.ts","bootstrap/net/subscription/subscription.ts","bootstrap/user/actions/setSubscriptionActive.ts","bootstrap/user/actions/subscripionOperations.ts","bootstrap/user/actions/register.ts","bootstrap/user/actions/setUserInfo.ts","bootstrap/user/actions/goToNextPage.ts","bootstrap/user/actions/setTrialOfferInfo.ts","components/facebookbutton/FacebookLoginButton.tsx","webpack://web-onboarding/./src/signin/components/googlebutton/styles.module.scss?9305","signin/components/googlebutton/GoogleSignInButton.tsx","webpack://web-onboarding/./src/components/disclaimer/styles.module.scss?3c1d","components/disclaimer/Disclaimer.tsx","quickpurchase/analytics/index.ts","quickpurchase/pages/signin/SignIn.constants.ts","webpack://web-onboarding/./src/quickpurchase/pages/signin/styles.module.scss?785c","quickpurchase/pages/signin/SignIn.tsx","quickpurchase/pages/signin/SignIn.hook.ts","components/logo/Logo.tsx","hooks/useMediaQuery.ts","webpack://web-onboarding/./src/onboarding/components/successtemplate/styles.module.scss?e73e","onboarding/components/successtemplate/SuccessTemplate.tsx","quickpurchase/pages/success/Success.tsx","webpack://web-onboarding/./src/components/divider/styles.module.scss?594d","components/divider/Divider.tsx","assets/onboarding/graphs/bingewatching_graph.svg","webpack://web-onboarding/./src/subscription/components/header/styles.module.scss?82b7","subscription/components/header/Header.tsx","components/information/Information.tsx","webpack://web-onboarding/./src/subscription/components/reasontemplate/styles.module.scss?eea2","subscription/components/reasontemplate/ReasonToUseTemplate.tsx","assets/icon_star_empty.svg","assets/onboarding/sticky_header_star.svg","subscription/components/review/Stars.tsx","subscription/components/review/Review.tsx","subscription/components/reviews/Reviews.tsx","subscription/singleproduct/components/plansection/PlanSection.constants.ts","hooks/useStickyHeader.ts","quickpurchase/pages/payment/components/stickyheader/StickyHeader.tsx","bootstrap/data/product/Product.ts","bootstrap/data/product/Product.utils.ts","bootstrap/net/product/product.ts","quickpurchase/pages/payment/payment/Payment.constants.ts","bootstrap/data/giftproduct/GiftCard.types.ts","quickpurchase/pages/payment/payment/Payment.hook.ts","bootstrap/data/giftproduct/GiftCardProduct.ts","bootstrap/net/giftcards/giftcard.types.ts","bootstrap/net/giftcards/helpers.ts","bootstrap/net/giftcards/giftcards.ts","giftcards/analytics/index.ts","bootstrap/giftpurchase/actions/saveLink.ts","bootstrap/giftpurchase/actions/buyProduct.ts","subscription/recurly/components/paymentpicker/PaymentsPicker.constants.ts","../node_modules/react-google-recaptcha-v3/src/utils.ts","../node_modules/react-google-recaptcha-v3/src/google-recaptcha-provider.tsx","../node_modules/react-google-recaptcha-v3/src/use-google-recaptcha.tsx","../node_modules/react-google-recaptcha-v3/src/google-recaptcha.tsx","../node_modules/react-google-recaptcha-v3/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-google-recaptcha-v3/node_modules/react-is/cjs/react-is.development.js","../node_modules/react-google-recaptcha-v3/node_modules/react-is/index.js","../node_modules/react-google-recaptcha-v3/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","subscription/components/Payments/Payments.types.ts","subscription/recurly/components/withRecaptcha/withRecaptcha.tsx","subscription/components/Payments/Payments.utlls.ts","subscription/recurly/components/paymentpicker/PaymentsPicker.hook.ts","subscription/recurly/components/paymentpicker/PaymentsPicker.utils.ts","assets/payments/maestro.svg","assets/payments/amex.svg","assets/payments/mastercard.svg","assets/payments/visa.svg","assets/payments/paypal_v2.svg","assets/payments/icon_apple_pay.svg","webpack://web-onboarding/./src/subscription/recurly/components/elements/default/styles.module.scss?fd0c","subscription/recurly/components/elements/applepay/ApplePayElement.tsx","subscription/recurly/components/elements/paypal/PayPalElement.tsx","assets/ic_question.svg","assets/ic_question_dark.svg","subscription/recurly/components/threedsecure/ThreeDSecure.tsx","assets/ic_card_cvv.svg","subscription/recurly/components/tooltip/Tooltip.tsx","subscription/recurly/components/cardform/elementsStyles.ts","webpack://web-onboarding/./src/subscription/recurly/components/cardform/defaultcardform/styles.module.scss?bb9c","subscription/recurly/components/cardform/defaultcardform/DefaultCardForm.tsx","webpack://web-onboarding/./src/subscription/recurly/components/cardform/layoutcardform/components/inputfield/styles.module.scss?fc76","subscription/recurly/components/cardform/layoutcardform/components/inputfield/InputField.tsx","subscription/recurly/components/cardform/layoutcardform/LayoutCardForm.hook.ts","subscription/recurly/components/cardform/layoutcardform/LayoutCardForm.utils.ts","webpack://web-onboarding/./src/subscription/recurly/components/cardform/layoutcardform/components/cardelementfield/styles.module.scss?1d50","subscription/recurly/components/cardform/layoutcardform/components/cardelementfield/CardElementField.tsx","subscription/recurly/components/cardform/layoutcardform/components/cardelementfield/elementStyles.ts","webpack://web-onboarding/./src/subscription/recurly/components/cardform/layoutcardform/styles.module.scss?8250","subscription/recurly/components/cardform/layoutcardform/LayoutCardForm.tsx","subscription/recurly/components/cardform/CardFormWrapper.tsx","assets/ic_powered_by_recurly.svg","webpack://web-onboarding/./src/subscription/recurly/components/logo/styles.module.scss?7b2e","subscription/recurly/components/logo/RecurlyLogo.tsx","webpack://web-onboarding/./src/subscription/components/Payments/accordion/item/styles.module.scss?9a35","subscription/components/Payments/accordion/item/Item.tsx","webpack://web-onboarding/./src/subscription/components/Payments/accordion/styles.module.scss?157b","subscription/components/Payments/accordion/PaymentsAccordion.tsx","assets/payments/icon_amex.svg","assets/payments/icon_mastercard.svg","assets/payments/icon_paypal_white.svg","assets/payments/icon_apple_pay_white.svg","assets/payments/icon_visa.svg","assets/payments/icon_maestro.svg","webpack://web-onboarding/./src/subscription/components/picker/styles.module.scss?ddc4","subscription/components/picker/Picker.tsx","subscription/recurly/components/paymentpicker/PaymentsPicker.tsx","subscription/recurly/components/elements/default/DefaultElements.tsx","bootstrap/user/actions/setProductBought.ts","subscription/recurly/Recurly.hook.ts","assets/ic_option_checkmark_empty.svg","webpack://web-onboarding/./src/subscription/recurly/styles.module.scss?ca3b","subscription/recurly/Recurly.tsx","webpack://web-onboarding/./src/subscription/components/error/styles.module.scss?4f19","subscription/components/error/Error.tsx","webpack://web-onboarding/./src/subscription/components/priceaftertrialinfo/styles.module.scss?75da","subscription/components/priceaftertrialinfo/PriceAfterTrialInfo.tsx","webpack://web-onboarding/./src/subscription/components/totalpriceinfo/styles.module.scss?1db6","subscription/components/totalpriceinfo/TotalPriceInfo.tsx","webpack://web-onboarding/./src/subscription/components/paymentformtemplate/styles.module.scss?5068","subscription/components/paymentformtemplate/PaymentFormTemplate.tsx","webpack://web-onboarding/./src/subscription/components/paymentchecklist/styles.module.scss?bc38","subscription/components/paymentchecklist/PaymentChecklist.tsx","webpack://web-onboarding/./src/components/loadingscreen/styles.module.scss?45c3","components/loadingscreen/LoadingScreen.tsx","webpack://web-onboarding/./src/components/footer/styles.module.scss?b4f2","components/footer/Footer.tsx","webpack://web-onboarding/./src/quickpurchase/pages/payment/payment/styles.module.scss?10f8","quickpurchase/pages/payment/payment/Payment.tsx","webpack://web-onboarding/./src/quickpurchase/styles.module.scss?bb51","quickpurchase/QuickPurchase.tsx","signin/SignIn.hook.ts","webpack://web-onboarding/./src/signin/components/disclaimerinfo/styles.module.scss?21c9","signin/components/disclaimerinfo/DisclaimerInfo.tsx","assets/ic_option_checkmark_checked.svg","webpack://web-onboarding/./src/signin/components/bottominputcontainer/styles.module.scss?93be","signin/components/bottominputcontainer/BottomInputContainer.tsx","webpack://web-onboarding/./src/signin/components/singinform/styles.module.scss?fd28","signin/components/singinform/SignInForm.tsx","webpack://web-onboarding/./src/signin/styles.module.scss?c889","signin/SignIn.tsx","bootstrap/product/actions/loadProducts.ts","bootstrap/product/actions/setPresaleProduct.ts","../node_modules/reselect/es/defaultMemoize.js","../node_modules/reselect/es/index.js","assets/discount.svg","hooks/useProduct.ts","subscription/withDefaultProduct/withDefaultProduct.tsx","webpack://web-onboarding/./src/subscription/presale/components/presaleinfo/styles.module.scss?1919","subscription/presale/components/presaleinfo/PresaleInfo.tsx","webpack://web-onboarding/./src/subscription/presale/components/productcell/styles.module.scss?1a8e","subscription/presale/components/productcell/ProductCell.tsx","webpack://web-onboarding/./src/subscription/presale/components/pricescontainer/styles.module.scss?821e","subscription/presale/components/pricescontainer/PricesContainer.tsx","subscription/presale/Presale.constants.ts","subscription/presale/Presale.utils.ts","subscription/presale/Presale.hook.ts","webpack://web-onboarding/./src/subscription/presale/components/planpicker/styles.module.scss?1530","subscription/presale/components/planpicker/PresalePlanPicker.tsx","subscription/presale/PresalePage.tsx","components/modal/Modal.tsx","components/modal/hooks/useModalLogic.ts","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/popup/styles.module.scss?9ba3","subscription/recurly/components/trialoffer/components/popup/DiscountPopup.tsx","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/note/styles.module.scss?d8aa","subscription/recurly/components/trialoffer/components/note/Note.tsx","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/trialofferinfo/styles.module.scss?0f75","subscription/recurly/components/trialoffer/components/trialofferinfo/TrialOfferInfo.tsx","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/graphs/styles.module.scss?3d16","subscription/recurly/components/trialoffer/components/graphs/GraphsContainer.tsx","subscription/recurly/components/trialoffer/TrialOffer.hook.ts","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/plancontent/styles.module.scss?6998","subscription/recurly/components/trialoffer/components/plancontent/PlanContent.tsx","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/components/footercontainer/styles.module.scss?951e","subscription/recurly/components/trialoffer/components/footercontainer/ButtonsContainer.tsx","webpack://web-onboarding/./src/subscription/recurly/components/trialoffer/styles.module.scss?b43c","subscription/recurly/components/trialoffer/TrialOffer.tsx","subscription/components/stickyheader/StickyHeader.tsx","webpack://web-onboarding/./src/subscription/components/radiobutton/styles.module.scss?c5db","subscription/components/radiobutton/RadioButton.tsx","webpack://web-onboarding/./src/subscription/payment/components/paymentformtemplate/styles.module.scss?b028","subscription/payment/components/paymentformtemplate/PaymentFormTemplate.tsx","assets/earth_globe_notification.svg","assets/review_star.svg","assets/freepaidsection/check.svg","subscription/components/facebookreview/Review.tsx","subscription/components/reviews/FacebookReviews.tsx","webpack://web-onboarding/./src/subscription/payment/components/paymentchecklist/styles.module.scss?3334","subscription/payment/components/paymentchecklist/PaymentChecklist.tsx","subscription/components/alert/Alert.tsx","subscription/components/alert/Alert.hook.ts","subscription/payment/components/promoalert/PromoAlert.tsx","webpack://web-onboarding/./src/subscription/payment/styles.module.scss?e86f","subscription/payment/Payment.tsx","subscription/payment/Payment.hook.ts","assets/freepaidsection/purple_check.svg","assets/freepaidsection/dot.svg","assets/freepaidsection/infinity.svg","assets/arrow_up.svg","webpack://web-onboarding/./src/subscription/singleproduct/components/freepaidtable/styles.module.scss?5fbc","subscription/singleproduct/components/freepaidtable/FreePaidTable.tsx","subscription/singleproduct/components/freepaidtable/data/bodyData.tsx","webpack://web-onboarding/./src/subscription/singleproduct/components/faq/styles.module.scss?3983","subscription/singleproduct/components/faq/data/FaqListData.tsx","assets/arrow_down.svg","webpack://web-onboarding/./src/subscription/singleproduct/components/faq/listitem/styles.module.scss?f271","subscription/singleproduct/components/faq/listitem/ListItem.tsx","subscription/singleproduct/components/faq/FaqAccordion.tsx","bootstrap/user/actions/setPlanType.ts","subscription/singleproduct/SingleProductPayment.hook.ts","assets/onboarding/logos/forbes.svg","assets/onboarding/logos/cnn.svg","assets/onboarding/logos/vogue.svg","assets/onboarding/logos/bazaar.svg","assets/onboarding/logos/theguardian.svg","assets/onboarding/logos/gq.svg","webpack://web-onboarding/./src/subscription/components/featuresection/styles.module.scss?72e5","subscription/components/featuresection/FeatureIn.tsx","subscription/singleproduct/components/plansection/usePlanSection.hook.ts","webpack://web-onboarding/./src/subscription/singleproduct/components/plansection/styles.module.scss?dd69","subscription/singleproduct/components/plansection/PlanSection.tsx","../node_modules/@babel/runtime/helpers/esm/toArray.js","assets/onboarding/ic_green_like.svg","webpack://web-onboarding/./src/subscription/singleproduct/components/socialproof/styles.module.scss?b9b7","subscription/singleproduct/components/socialproof/SocialProof.tsx","subscription/singleproduct/components/plansection/PlanSectionWrapper.tsx","assets/icon_apple_new.svg","assets/icon_apple_white.svg","assets/icon_google_play_new.svg","webpack://web-onboarding/./src/subscription/recurly/components/note/styles.module.scss?1497","subscription/recurly/components/note/Note.tsx","webpack://web-onboarding/./src/subscription/recurly/components/marketinfo/styles.module.scss?cd2e","subscription/recurly/components/marketinfo/MarketInfo.tsx","webpack://web-onboarding/./src/subscription/singleproduct/styles.module.scss?6e47","subscription/singleproduct/SingleProductPayment.tsx","subscription/Subscription.tsx","webpack://web-onboarding/./src/success/congrats/styles.module.scss?d14a","success/congrats/Congrats.tsx","success/congrats/Congrats.hook.ts","webpack://web-onboarding/./src/invitepurchase/components/fogbackground/styles.module.scss?28af","invitepurchase/components/fogbackground/FogBackground.tsx","webpack://web-onboarding/./src/invitepurchase/components/planimage/styles.module.scss?71e6","invitepurchase/components/planimage/PlanImage.tsx","webpack://web-onboarding/./src/invitepurchase/components/welcometemplate/styles.module.scss?6b04","invitepurchase/components/welcometemplate/WelcomeTemplate.tsx","invitepurchase/analytics/index.ts","webpack://web-onboarding/./src/invitepurchase/pages/welcome/styles.module.scss?1098","invitepurchase/pages/welcome/Welcome.tsx","webpack://web-onboarding/./src/invitepurchase/pages/signin/styles.module.scss?0446","invitepurchase/pages/signin/SignIn.tsx","invitepurchase/pages/signin/SignIn.hook.ts","assets/ic_lock.svg","components/secureserver/SecureServer.tsx","webpack://web-onboarding/./src/invitepurchase/pages/payment/styles.module.scss?2d39","invitepurchase/pages/payment/Payment.tsx","invitepurchase/pages/payment/Payment.hook.ts","invitepurchase/pages/success/Success.tsx","invitepurchase/pages/success/Success.hook.ts","webpack://web-onboarding/./src/invitepurchase/styles.module.scss?77a0","invitepurchase/InvitePurchase.tsx","assets/giftcards/icon_exclamation.svg","giftcards/pages/success/Success.constants.ts","components/errorpopup/ErrorPopup.tsx","giftcards/pages/success/Success.hook.ts","assets/ic_checked.svg","webpack://web-onboarding/./src/giftcards/pages/success/styles.module.scss?2425","giftcards/pages/success/Success.tsx","assets/ic_minus.svg","assets/ic_plus.svg","webpack://web-onboarding/./src/giftcards/components/planimage/styles.module.scss?1c21","giftcards/components/planimage/PlanImage.tsx","giftcards/components/gifttemplate/GiftTemplate.constants.ts","webpack://web-onboarding/./src/giftcards/components/fogbackground/styles.module.scss?b75d","giftcards/components/fogbackground/FogBacakground.tsx","webpack://web-onboarding/./src/giftcards/components/gifttemplate/styles.module.scss?92f9","giftcards/components/gifttemplate/GiftTemplate.tsx","bootstrap/giftpurchase/actions/setEmail.ts","bootstrap/giftpurchase/actions/setQuantity.ts","giftcards/utils.ts","giftcards/pages/planssetup/PlansSetup.hook.ts","giftcards/pages/planssetup/PlanSetup.constants.ts","webpack://web-onboarding/./src/giftcards/pages/planssetup/styles.module.scss?2c18","giftcards/pages/planssetup/PlansSetup.tsx","webpack://web-onboarding/./src/giftcards/pages/purchase/styles.module.scss?e4ff","giftcards/pages/purchase/Purchase.tsx","giftcards/pages/purchase/Purchase.hook.ts","bootstrap/giftpurchase/actions/loadProducts.ts","assets/ic_check_small.svg","webpack://web-onboarding/./src/giftcards/pages/plans/plancard/styles.module.scss?367c","giftcards/pages/plans/plancard/PlanCard.tsx","bootstrap/giftpurchase/actions/giftCardType.ts","giftcards/pages/plans/planscontent/PlansContent.hook.ts","webpack://web-onboarding/./src/giftcards/pages/plans/planscontent/styles.module.scss?fd19","giftcards/pages/plans/planscontent/PlansContent.tsx","giftcards/pages/plans/Plans.constants.ts","giftcards/pages/plans/Plans.tsx","webpack://web-onboarding/./src/giftcards/styles.module.scss?502e","giftcards/GiftCards.tsx","webpack://web-onboarding/./src/redeem/pages/start/components/redeemtemplate/styles.module.scss?dee0","redeem/pages/start/components/redeemtemplate/RedeemTemplate.tsx","redeem/analytics/index.ts","webpack://web-onboarding/./src/redeem/pages/start/styles.module.scss?0f94","redeem/pages/start/StartRedeem.tsx","redeem/pages/start/StartRedeem.hook.ts","assets/ic_delete.svg","webpack://web-onboarding/./src/redeem/pages/account/styles.module.scss?8a9c","redeem/pages/account/RedeemAccount.tsx","redeem/pages/account/RedeemAccount.hook.ts","webpack://web-onboarding/./src/redeem/pages/code/components/inputwithbutton/styles.module.scss?c347","redeem/pages/code/components/inputwithbutton/InputWithButton.tsx","bootstrap/net/redeem/redeem.ts","redeem/pages/code/RedeemCode.hook.ts","webpack://web-onboarding/./src/redeem/pages/code/styles.module.scss?ca8d","redeem/pages/code/RedeemCode.tsx","redeem/pages/done/RedeemDone.hook.ts","redeem/pages/done/RedeemDone.tsx","webpack://web-onboarding/./src/redeem/styles.module.scss?c0fc","redeem/Redeem.tsx","bootstrap/user/actions/setPreventPaymentBack.ts","components/routerprompt/hooks/useRouterPromptLogic.ts","webpack://web-onboarding/./src/components/routerprompt/components/paymentprompt/styles.module.scss?7957","components/routerprompt/components/paymentprompt/PaymentPrompt.tsx","webpack://web-onboarding/./src/components/routerprompt/components/defaultprompt/styles.module.scss?ca8a","components/routerprompt/components/defaultprompt/DefaultPrompt.tsx","components/routerprompt/RouterPrompt.tsx","assets/app_store.svg","install/components/AppStoreButton.tsx","assets/google_play.svg","install/components/GooglePlayButton.tsx","components/qrcode/QrCode.tsx","webpack://web-onboarding/./src/install/styles.module.scss?6ae6","install/Install.tsx","assets/icon_arrow.svg","onboarding/components/cookieconsent/hooks/useCookieConsent.ts","webpack://web-onboarding/./src/onboarding/components/cookieconsent/styles.module.scss?b8fd","onboarding/components/cookieconsent/CookieConsent.tsx","webpack://web-onboarding/./src/welcome/components/background/styles.module.scss?4474","welcome/components/background/Background.tsx","webpack://web-onboarding/./src/welcome/defaultwelcome/styles.module.scss?9808","welcome/defaultwelcome/Welcome.tsx","welcome/defaultwelcome/hooks/useDefaultWelcome.ts","webpack://web-onboarding/./src/welcome/components/footer/styles.module.scss?7b1c","welcome/components/footer/Footer.tsx","webpack://web-onboarding/./src/welcome/gadwelcome/styles.module.scss?e8bb","welcome/gadwelcome/GadWelcome.tsx","welcome/gadwelcome/GadWelcome.hook.ts","assets/welcome/welcome_rmeq.svg","welcome/rmeqwelcome/WelcomeRmeq.hook.ts","webpack://web-onboarding/./src/welcome/rmeqwelcome/styles.module.scss?e492","welcome/rmeqwelcome/WelcomeRmeq.tsx","webpack://web-onboarding/./src/welcome/adhdwelcome/styles.module.scss?319b","welcome/adhdwelcome/AdhdWelcome.tsx","welcome/Welcome.tsx","webpack://web-onboarding/./src/subscription/prepaln/components/advantages/components/box/styles.module.scss?a9d9","subscription/prepaln/components/advantages/components/box/AdvantageBox.tsx","assets/preplan/person.svg","assets/preplan/activities.svg","assets/preplan/color_preferences.svg","assets/preplan/narrative_preferences.svg","assets/stepper/check.svg","webpack://web-onboarding/./src/subscription/prepaln/components/color/styles.module.scss?76d1","subscription/prepaln/components/color/ColorBox.tsx","subscription/prepaln/components/advantages/Advantages.constants.ts","webpack://web-onboarding/./src/subscription/prepaln/components/advantages/styles.module.scss?d60a","subscription/prepaln/components/advantages/Advantages.tsx","subscription/prepaln/components/advantages/Advantages.hook.ts","webpack://web-onboarding/./src/subscription/prepaln/styles.module.scss?e370","subscription/prepaln/Preplan.tsx","cancelsubscription/data/constants/subscriptionCancelFlow.ts","webpack://web-onboarding/./src/subscription/workbook/components/ebookoffer/styles.module.scss?d41b","subscription/workbook/components/ebookoffer/EbookOfferBox.tsx","cancelsubscription/analytics/index.ts","subscription/workbook/Addons.hook.ts","webpack://web-onboarding/./src/subscription/workbook/styles.module.scss?664a","subscription/workbook/Workbook.tsx","webpack://web-onboarding/./src/cancelsubscription/pages/extendtrial/styles.module.scss?1d56","cancelsubscription/pages/extendtrial/ExtendTrial.tsx","cancelsubscription/pages/extendtrial/ExtendTrial.hook.ts","webpack://web-onboarding/./src/cancelsubscription/pages/finish/styles.module.scss?aee3","cancelsubscription/pages/finish/Finish.tsx","cancelsubscription/pages/finish/Finish.hook.ts","webpack://web-onboarding/./src/cancelsubscription/pages/finishuserlost/styles.module.scss?bd51","cancelsubscription/pages/finishuserlost/FinishUserLost.tsx","webpack://web-onboarding/./src/cancelsubscription/pages/offer/styles.module.scss?8c63","cancelsubscription/pages/offer/Offer.tsx","cancelsubscription/pages/offer/Offer.hook.ts","cancelsubscription/components/question/options/OptionalComponent.tsx","cancelsubscription/data/constants/QuestionOrder.ts","bootstrap/subscriptioncancel/actions/answer.ts","webpack://web-onboarding/./src/cancelsubscription/components/question/options/styles.module.scss?30e6","cancelsubscription/components/question/options/OptionQuestionComponent.tsx","cancelsubscription/components/question/options/OptionQuestions.hook.ts","cancelsubscription/pages/welcome/Welcome.hook.ts","webpack://web-onboarding/./src/cancelsubscription/pages/welcome/styles.module.scss?2454","cancelsubscription/pages/welcome/Welcome.tsx","webpack://web-onboarding/./src/cancelsubscription/pages/loadingscreen/components/styles.module.scss?d0ce","cancelsubscription/pages/loadingscreen/components/Spinner.tsx","webpack://web-onboarding/./src/cancelsubscription/pages/loadingscreen/styles.module.scss?e624","cancelsubscription/pages/loadingscreen/LoadingScreen.tsx","cancelsubscription/utils.ts","webpack://web-onboarding/./src/cancelsubscription/styles.module.scss?0f0f","cancelsubscription/SubscriptionCancel.tsx","../node_modules/dom-mutator/src/index.ts","../node_modules/@growthbook/growthbook/src/util.ts","../node_modules/@growthbook/growthbook/src/mongrule.ts","../node_modules/@growthbook/growthbook/src/feature-repository.ts","../node_modules/@growthbook/growthbook/src/GrowthBook.ts","onboarding/helpers/growthbook.ts","webpack://web-onboarding/./src/subscription/workbook/components/discountPopup/styles.module.scss?21b7","subscription/workbook/components/discountPopup/DiscountPopup.tsx","webpack://web-onboarding/./src/subscription/upsell/basicUpsellFlow/styles.module.scss?60bb","subscription/upsell/basicUpsellFlow/UpsellFlow.tsx","webpack://web-onboarding/./src/subscription/upsell/graphsContainer/styles.module.scss?6ba9","subscription/upsell/graphsContainer/GraphsContainer.tsx","webpack://web-onboarding/./src/subscription/upsell/discount/styles.module.scss?0e98","subscription/upsell/discount/DiscountPopup.tsx","webpack://web-onboarding/./src/subscription/upsell/monthWeekUpsellFlow/styles.module.scss?df7e","subscription/upsell/monthWeekUpsellFlow/UpsellFlow.tsx","webpack://web-onboarding/./src/subscription/upsell/quarterUpsell/styles.module.scss?862e","subscription/upsell/quarterUpsell/QuarterUpsell.tsx","App.tsx","bootstrap/onboarding/reducer.ts","bootstrap/product/reducer.ts","bootstrap/user/reducer.ts","bootstrap/giftpurchase/reducer.ts","bootstrap/subscriptioncancel/reducer.ts","serviceWorker.js","index.tsx","bootstrap/reducers.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Experiment = {}));\n})(this, (function (exports) { 'use strict';\n\n\tvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\tfunction createCommonjsModule(fn, basedir, module) {\n\t\treturn module = {\n\t\t\tpath: basedir,\n\t\t\texports: {},\n\t\t\trequire: function (path, base) {\n\t\t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n\t\t\t}\n\t\t}, fn(module, module.exports), module.exports;\n\t}\n\n\tfunction commonjsRequire () {\n\t\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n\t}\n\n\tvar uaParser = createCommonjsModule(function (module, exports) {\n\t/////////////////////////////////////////////////////////////////////////////////\n\t/* UAParser.js v0.7.31\n\t Copyright © 2012-2021 Faisal Salman \n\t MIT License */ /*\n\t Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n\t Supports browser & node.js environment.\n\t Demo : https://faisalman.github.io/ua-parser-js\n\t Source : https://github.com/faisalman/ua-parser-js */\n\t/////////////////////////////////////////////////////////////////////////////////\n\n\t(function (window, undefined$1) {\n\n\t //////////////\n\t // Constants\n\t /////////////\n\n\t var LIBVERSION = \"0.7.31\",\n\t EMPTY = \"\",\n\t UNKNOWN = \"?\",\n\t FUNC_TYPE = \"function\",\n\t UNDEF_TYPE = \"undefined\",\n\t OBJ_TYPE = \"object\",\n\t STR_TYPE = \"string\",\n\t MAJOR = \"major\",\n\t MODEL = \"model\",\n\t NAME = \"name\",\n\t TYPE = \"type\",\n\t VENDOR = \"vendor\",\n\t VERSION = \"version\",\n\t ARCHITECTURE = \"architecture\",\n\t CONSOLE = \"console\",\n\t MOBILE = \"mobile\",\n\t TABLET = \"tablet\",\n\t SMARTTV = \"smarttv\",\n\t WEARABLE = \"wearable\",\n\t EMBEDDED = \"embedded\",\n\t UA_MAX_LENGTH = 275;\n\n\t var AMAZON = \"Amazon\",\n\t APPLE = \"Apple\",\n\t ASUS = \"ASUS\",\n\t BLACKBERRY = \"BlackBerry\",\n\t BROWSER = \"Browser\",\n\t CHROME = \"Chrome\",\n\t EDGE = \"Edge\",\n\t FIREFOX = \"Firefox\",\n\t GOOGLE = \"Google\",\n\t HUAWEI = \"Huawei\",\n\t LG = \"LG\",\n\t MICROSOFT = \"Microsoft\",\n\t MOTOROLA = \"Motorola\",\n\t OPERA = \"Opera\",\n\t SAMSUNG = \"Samsung\",\n\t SONY = \"Sony\",\n\t XIAOMI = \"Xiaomi\",\n\t ZEBRA = \"Zebra\",\n\t FACEBOOK = \"Facebook\";\n\n\t ///////////\n\t // Helper\n\t //////////\n\n\t var extend = function (regexes, extensions) {\n\t var mergedRegexes = {};\n\t for (var i in regexes) {\n\t if (extensions[i] && extensions[i].length % 2 === 0) {\n\t mergedRegexes[i] = extensions[i].concat(regexes[i]);\n\t } else {\n\t mergedRegexes[i] = regexes[i];\n\t }\n\t }\n\t return mergedRegexes;\n\t },\n\t enumerize = function (arr) {\n\t var enums = {};\n\t for (var i = 0; i < arr.length; i++) {\n\t enums[arr[i].toUpperCase()] = arr[i];\n\t }\n\t return enums;\n\t },\n\t has = function (str1, str2) {\n\t return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n\t },\n\t lowerize = function (str) {\n\t return str.toLowerCase();\n\t },\n\t majorize = function (version) {\n\t return typeof version === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split(\".\")[0] : undefined$1;\n\t },\n\t trim = function (str, len) {\n\t if (typeof str === STR_TYPE) {\n\t str = str.replace(/^\\s\\s*/, EMPTY).replace(/\\s\\s*$/, EMPTY);\n\t return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n\t }\n\t };\n\n\t ///////////////\n\t // Map helper\n\t //////////////\n\n\t var rgxMapper = function (ua, arrays) {\n\t var i = 0,\n\t j,\n\t k,\n\t p,\n\t q,\n\t matches,\n\t match;\n\n\t // loop through all regexes maps\n\t while (i < arrays.length && !matches) {\n\t var regex = arrays[i], // even sequence (0,2,4,..)\n\t props = arrays[i + 1]; // odd sequence (1,3,5,..)\n\t j = k = 0;\n\n\t // try matching uastring with regexes\n\t while (j < regex.length && !matches) {\n\t matches = regex[j++].exec(ua);\n\n\t if (!!matches) {\n\t for (p = 0; p < props.length; p++) {\n\t match = matches[++k];\n\t q = props[p];\n\t // check if given property is actually array\n\t if (typeof q === OBJ_TYPE && q.length > 0) {\n\t if (q.length === 2) {\n\t if (typeof q[1] == FUNC_TYPE) {\n\t // assign modified match\n\t this[q[0]] = q[1].call(this, match);\n\t } else {\n\t // assign given value, ignore regex match\n\t this[q[0]] = q[1];\n\t }\n\t } else if (q.length === 3) {\n\t // check whether function or regex\n\t if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n\t // call function (usually string mapper)\n\t this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined$1;\n\t } else {\n\t // sanitize match using given regex\n\t this[q[0]] = match ? match.replace(q[1], q[2]) : undefined$1;\n\t }\n\t } else if (q.length === 4) {\n\t this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined$1;\n\t }\n\t } else {\n\t this[q] = match ? match : undefined$1;\n\t }\n\t }\n\t }\n\t }\n\t i += 2;\n\t }\n\t },\n\t strMapper = function (str, map) {\n\t for (var i in map) {\n\t // check if current value is array\n\t if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n\t for (var j = 0; j < map[i].length; j++) {\n\t if (has(map[i][j], str)) {\n\t return i === UNKNOWN ? undefined$1 : i;\n\t }\n\t }\n\t } else if (has(map[i], str)) {\n\t return i === UNKNOWN ? undefined$1 : i;\n\t }\n\t }\n\t return str;\n\t };\n\n\t ///////////////\n\t // String map\n\t //////////////\n\n\t // Safari < 3.0\n\t var oldSafariMap = {\n\t \"1.0\": \"/8\",\n\t 1.2: \"/1\",\n\t 1.3: \"/3\",\n\t \"2.0\": \"/412\",\n\t \"2.0.2\": \"/416\",\n\t \"2.0.3\": \"/417\",\n\t \"2.0.4\": \"/419\",\n\t \"?\": \"/\"\n\t },\n\t windowsVersionMap = {\n\t ME: \"4.90\",\n\t \"NT 3.11\": \"NT3.51\",\n\t \"NT 4.0\": \"NT4.0\",\n\t 2000: \"NT 5.0\",\n\t XP: [\"NT 5.1\", \"NT 5.2\"],\n\t Vista: \"NT 6.0\",\n\t 7: \"NT 6.1\",\n\t 8: \"NT 6.2\",\n\t 8.1: \"NT 6.3\",\n\t 10: [\"NT 6.4\", \"NT 10.0\"],\n\t RT: \"ARM\"\n\t };\n\n\t //////////////\n\t // Regex map\n\t /////////////\n\n\t var regexes = {\n\t browser: [\n\t [\n\t /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n\t ],\n\t [VERSION, [NAME, \"Chrome\"]],\n\t [\n\t /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n\t ],\n\t [VERSION, [NAME, \"Edge\"]],\n\t [\n\t // Presto based\n\t /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n\t /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n\t /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n\t ],\n\t [VERSION, [NAME, OPERA + \" Mini\"]],\n\t [\n\t /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n\t ],\n\t [VERSION, [NAME, OPERA]],\n\t [\n\t // Mixed\n\t /(kindle)\\/([\\w\\.]+)/i, // Kindle\n\t /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n\t // Trident based\n\t /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n\t /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n\t /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n\t // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n\t /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n\t // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n\t /(weibo)__([\\d\\.]+)/i // Weibo\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n\t ],\n\t [VERSION, [NAME, \"UC\" + BROWSER]],\n\t [\n\t /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n\t ],\n\t [VERSION, [NAME, \"WeChat(Win) Desktop\"]],\n\t [\n\t /micromessenger\\/([\\w\\.]+)/i // WeChat\n\t ],\n\t [VERSION, [NAME, \"WeChat\"]],\n\t [\n\t /konqueror\\/([\\w\\.]+)/i // Konqueror\n\t ],\n\t [VERSION, [NAME, \"Konqueror\"]],\n\t [\n\t /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n\t ],\n\t [VERSION, [NAME, \"IE\"]],\n\t [\n\t /yabrowser\\/([\\w\\.]+)/i // Yandex\n\t ],\n\t [VERSION, [NAME, \"Yandex\"]],\n\t [\n\t /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n\t ],\n\t [[NAME, /(.+)/, \"$1 Secure \" + BROWSER], VERSION],\n\t [\n\t /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n\t ],\n\t [VERSION, [NAME, FIREFOX + \" Focus\"]],\n\t [\n\t /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n\t ],\n\t [VERSION, [NAME, OPERA + \" Touch\"]],\n\t [\n\t /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n\t ],\n\t [VERSION, [NAME, \"Coc Coc\"]],\n\t [\n\t /dolfin\\/([\\w\\.]+)/i // Dolphin\n\t ],\n\t [VERSION, [NAME, \"Dolphin\"]],\n\t [\n\t /coast\\/([\\w\\.]+)/i // Opera Coast\n\t ],\n\t [VERSION, [NAME, OPERA + \" Coast\"]],\n\t [\n\t /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n\t ],\n\t [VERSION, [NAME, \"MIUI \" + BROWSER]],\n\t [\n\t /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n\t ],\n\t [VERSION, [NAME, FIREFOX]],\n\t [\n\t /\\bqihu|(qi?ho?o?|360)browser/i // 360\n\t ],\n\t [[NAME, \"360 \" + BROWSER]],\n\t [/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i],\n\t [[NAME, /(.+)/, \"$1 \" + BROWSER], VERSION],\n\t [\n\t // Oculus/Samsung/Sailfish Browser\n\t /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n\t ],\n\t [[NAME, /_/g, \" \"], VERSION],\n\t [\n\t /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n\t /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n\t /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n\t /(lbbrowser)/i // LieBao Browser\n\t ],\n\t [NAME],\n\t [\n\t // WebView\n\t /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n\t ],\n\t [[NAME, FACEBOOK], VERSION],\n\t [\n\t /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n\t /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n\t /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n\t ],\n\t [VERSION, [NAME, \"GSA\"]],\n\t [\n\t /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n\t ],\n\t [VERSION, [NAME, CHROME + \" Headless\"]],\n\t [\n\t / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n\t ],\n\t [[NAME, CHROME + \" WebView\"], VERSION],\n\t [\n\t /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n\t ],\n\t [VERSION, [NAME, \"Android \" + BROWSER]],\n\t [\n\t /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n\t ],\n\t [VERSION, [NAME, \"Mobile Safari\"]],\n\t [\n\t /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n\t ],\n\t [VERSION, NAME],\n\t [\n\t /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n\t ],\n\t [NAME, [VERSION, strMapper, oldSafariMap]],\n\t [/(webkit|khtml)\\/([\\w\\.]+)/i],\n\t [NAME, VERSION],\n\t [\n\t // Gecko based\n\t /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n\t ],\n\t [[NAME, \"Netscape\"], VERSION],\n\t [\n\t /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n\t ],\n\t [VERSION, [NAME, FIREFOX + \" Reality\"]],\n\t [\n\t /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n\t /(swiftfox)/i, // Swiftfox\n\t /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n\t // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n\t /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n\t // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n\t /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n\t /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n\t // Other\n\t /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n\t // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n\t /(links) \\(([\\w\\.]+)/i // Links\n\t ],\n\t [NAME, VERSION]\n\t ],\n\n\t cpu: [\n\t [\n\t /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n\t ],\n\t [[ARCHITECTURE, \"amd64\"]],\n\t [\n\t /(ia32(?=;))/i // IA32 (quicktime)\n\t ],\n\t [[ARCHITECTURE, lowerize]],\n\t [\n\t /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n\t ],\n\t [[ARCHITECTURE, \"ia32\"]],\n\t [\n\t /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n\t ],\n\t [[ARCHITECTURE, \"arm64\"]],\n\t [\n\t /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n\t ],\n\t [[ARCHITECTURE, \"armhf\"]],\n\t [\n\t // PocketPC mistakenly identified as PowerPC\n\t /windows (ce|mobile); ppc;/i\n\t ],\n\t [[ARCHITECTURE, \"arm\"]],\n\t [\n\t /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n\t ],\n\t [[ARCHITECTURE, /ower/, EMPTY, lowerize]],\n\t [\n\t /(sun4\\w)[;\\)]/i // SPARC\n\t ],\n\t [[ARCHITECTURE, \"sparc\"]],\n\t [\n\t /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n\t // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n\t ],\n\t [[ARCHITECTURE, lowerize]]\n\t ],\n\n\t device: [\n\t [\n\t //////////////////////////\n\t // MOBILES & TABLETS\n\t // Ordered by popularity\n\t /////////////////////////\n\n\t // Samsung\n\t /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n\t ],\n\t [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],\n\t [\n\t /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n\t /samsung[- ]([-\\w]+)/i,\n\t /sec-(sgh\\w+)/i\n\t ],\n\t [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],\n\t [\n\t // Apple\n\t /((ipod|iphone)\\d+,\\d+)/i // iPod/iPhone model\n\t ],\n\t [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],\n\t [\n\t /(ipad\\d+,\\d+)/i // iPad model\n\t ],\n\t [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],\n\t [\n\t /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n\t ],\n\t [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],\n\t [\n\t /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n\t /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n\t /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n\t ],\n\t [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],\n\t [\n\t // Huawei\n\t /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n\t ],\n\t [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],\n\t [\n\t /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n\t /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n\t ],\n\t [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],\n\t [\n\t // Xiaomi\n\t /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n\t /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n\t /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n\t /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n\t /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n\t ],\n\t [\n\t [MODEL, /_/g, \" \"],\n\t [VENDOR, XIAOMI],\n\t [TYPE, MOBILE]\n\t ],\n\t [\n\t /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n\t ],\n\t [\n\t [MODEL, /_/g, \" \"],\n\t [VENDOR, XIAOMI],\n\t [TYPE, TABLET]\n\t ],\n\t [\n\t // OPPO\n\t /; (\\w+) bui.+ oppo/i,\n\t /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n\t ],\n\t [MODEL, [VENDOR, \"OPPO\"], [TYPE, MOBILE]],\n\t [\n\t // Vivo\n\t /vivo (\\w+)(?: bui|\\))/i,\n\t /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n\t ],\n\t [MODEL, [VENDOR, \"Vivo\"], [TYPE, MOBILE]],\n\t [\n\t // Realme\n\t /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n\t ],\n\t [MODEL, [VENDOR, \"Realme\"], [TYPE, MOBILE]],\n\t [\n\t // Motorola\n\t /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n\t /\\bmot(?:orola)?[- ](\\w*)/i,\n\t /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n\t ],\n\t [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],\n\t [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],\n\t [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],\n\t [\n\t // LG\n\t /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n\t ],\n\t [MODEL, [VENDOR, LG], [TYPE, TABLET]],\n\t [\n\t /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n\t /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n\t /\\blg-?([\\d\\w]+) bui/i\n\t ],\n\t [MODEL, [VENDOR, LG], [TYPE, MOBILE]],\n\t [\n\t // Lenovo\n\t /(ideatab[-\\w ]+)/i,\n\t /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n\t ],\n\t [MODEL, [VENDOR, \"Lenovo\"], [TYPE, TABLET]],\n\t [\n\t // Nokia\n\t /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n\t /nokia[-_ ]?([-\\w\\.]*)/i\n\t ],\n\t [\n\t [MODEL, /_/g, \" \"],\n\t [VENDOR, \"Nokia\"],\n\t [TYPE, MOBILE]\n\t ],\n\t [\n\t // Google\n\t /(pixel c)\\b/i // Google Pixel C\n\t ],\n\t [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],\n\t [\n\t /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n\t ],\n\t [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],\n\t [\n\t // Sony\n\t /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n\t ],\n\t [MODEL, [VENDOR, SONY], [TYPE, MOBILE]],\n\t [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i],\n\t [\n\t [MODEL, \"Xperia Tablet\"],\n\t [VENDOR, SONY],\n\t [TYPE, TABLET]\n\t ],\n\t [\n\t // OnePlus\n\t / (kb2005|in20[12]5|be20[12][59])\\b/i,\n\t /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n\t ],\n\t [MODEL, [VENDOR, \"OnePlus\"], [TYPE, MOBILE]],\n\t [\n\t // Amazon\n\t /(alexa)webm/i,\n\t /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n\t /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n\t ],\n\t [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],\n\t [\n\t /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n\t ],\n\t [\n\t [MODEL, /(.+)/g, \"Fire Phone $1\"],\n\t [VENDOR, AMAZON],\n\t [TYPE, MOBILE]\n\t ],\n\t [\n\t // BlackBerry\n\t /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n\t ],\n\t [MODEL, VENDOR, [TYPE, TABLET]],\n\t [\n\t /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n\t /\\(bb10; (\\w+)/i // BlackBerry 10\n\t ],\n\t [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],\n\t [\n\t // Asus\n\t /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n\t ],\n\t [MODEL, [VENDOR, ASUS], [TYPE, TABLET]],\n\t [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],\n\t [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],\n\t [\n\t // HTC\n\t /(nexus 9)/i // HTC Nexus 9\n\t ],\n\t [MODEL, [VENDOR, \"HTC\"], [TYPE, TABLET]],\n\t [\n\t /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n\t // ZTE\n\t /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n\t /(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n\t ],\n\t [VENDOR, [MODEL, /_/g, \" \"], [TYPE, MOBILE]],\n\t [\n\t // Acer\n\t /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n\t ],\n\t [MODEL, [VENDOR, \"Acer\"], [TYPE, TABLET]],\n\t [\n\t // Meizu\n\t /droid.+; (m[1-5] note) bui/i,\n\t /\\bmz-([-\\w]{2,})/i\n\t ],\n\t [MODEL, [VENDOR, \"Meizu\"], [TYPE, MOBILE]],\n\t [\n\t // Sharp\n\t /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n\t ],\n\t [MODEL, [VENDOR, \"Sharp\"], [TYPE, MOBILE]],\n\t [\n\t // MIXED\n\t /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n\t // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n\t /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n\t /(asus)-?(\\w+)/i, // Asus\n\t /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n\t /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n\t /(jolla)/i, // Jolla\n\t /(oppo) ?([\\w ]+) bui/i // OPPO\n\t ],\n\t [VENDOR, MODEL, [TYPE, MOBILE]],\n\t [\n\t /(archos) (gamepad2?)/i, // Archos\n\t /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n\t /(kindle)\\/([\\w\\.]+)/i, // Kindle\n\t /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n\t /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n\t /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n\t /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n\t /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n\t /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n\t ],\n\t [VENDOR, MODEL, [TYPE, TABLET]],\n\t [\n\t /(surface duo)/i // Surface Duo\n\t ],\n\t [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],\n\t [\n\t /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n\t ],\n\t [MODEL, [VENDOR, \"Fairphone\"], [TYPE, MOBILE]],\n\t [\n\t /(u304aa)/i // AT&T\n\t ],\n\t [MODEL, [VENDOR, \"AT&T\"], [TYPE, MOBILE]],\n\t [\n\t /\\bsie-(\\w*)/i // Siemens\n\t ],\n\t [MODEL, [VENDOR, \"Siemens\"], [TYPE, MOBILE]],\n\t [\n\t /\\b(rct\\w+) b/i // RCA Tablets\n\t ],\n\t [MODEL, [VENDOR, \"RCA\"], [TYPE, TABLET]],\n\t [\n\t /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Dell\"], [TYPE, TABLET]],\n\t [\n\t /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n\t ],\n\t [MODEL, [VENDOR, \"Verizon\"], [TYPE, TABLET]],\n\t [\n\t /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n\t ],\n\t [MODEL, [VENDOR, \"Barnes & Noble\"], [TYPE, TABLET]],\n\t [/\\b(tm\\d{3}\\w+) b/i],\n\t [MODEL, [VENDOR, \"NuVision\"], [TYPE, TABLET]],\n\t [\n\t /\\b(k88) b/i // ZTE K Series Tablet\n\t ],\n\t [MODEL, [VENDOR, \"ZTE\"], [TYPE, TABLET]],\n\t [\n\t /\\b(nx\\d{3}j) b/i // ZTE Nubia\n\t ],\n\t [MODEL, [VENDOR, \"ZTE\"], [TYPE, MOBILE]],\n\t [\n\t /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n\t ],\n\t [MODEL, [VENDOR, \"Swiss\"], [TYPE, MOBILE]],\n\t [\n\t /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n\t ],\n\t [MODEL, [VENDOR, \"Swiss\"], [TYPE, TABLET]],\n\t [\n\t /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Zeki\"], [TYPE, TABLET]],\n\t [\n\t /\\b([yr]\\d{2}) b/i,\n\t /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n\t ],\n\t [[VENDOR, \"Dragon Touch\"], MODEL, [TYPE, TABLET]],\n\t [\n\t /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Insignia\"], [TYPE, TABLET]],\n\t [\n\t /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n\t ],\n\t [MODEL, [VENDOR, \"NextBook\"], [TYPE, TABLET]],\n\t [\n\t /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n\t ],\n\t [[VENDOR, \"Voice\"], MODEL, [TYPE, MOBILE]],\n\t [\n\t /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n\t ],\n\t [[VENDOR, \"LvTel\"], MODEL, [TYPE, MOBILE]],\n\t [\n\t /\\b(ph-1) /i // Essential PH-1\n\t ],\n\t [MODEL, [VENDOR, \"Essential\"], [TYPE, MOBILE]],\n\t [\n\t /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Envizen\"], [TYPE, TABLET]],\n\t [\n\t /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n\t ],\n\t [MODEL, [VENDOR, \"MachSpeed\"], [TYPE, TABLET]],\n\t [\n\t /\\btu_(1491) b/i // Rotor Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Rotor\"], [TYPE, TABLET]],\n\t [\n\t /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n\t ],\n\t [MODEL, [VENDOR, \"Nvidia\"], [TYPE, TABLET]],\n\t [\n\t /(sprint) (\\w+)/i // Sprint Phones\n\t ],\n\t [VENDOR, MODEL, [TYPE, MOBILE]],\n\t [\n\t /(kin\\.[onetw]{3})/i // Microsoft Kin\n\t ],\n\t [\n\t [MODEL, /\\./g, \" \"],\n\t [VENDOR, MICROSOFT],\n\t [TYPE, MOBILE]\n\t ],\n\t [\n\t /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n\t ],\n\t [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],\n\t [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],\n\t [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],\n\t [\n\t ///////////////////\n\t // CONSOLES\n\t ///////////////////\n\n\t /(ouya)/i, // Ouya\n\t /(nintendo) ([wids3utch]+)/i // Nintendo\n\t ],\n\t [VENDOR, MODEL, [TYPE, CONSOLE]],\n\t [\n\t /droid.+; (shield) bui/i // Nvidia\n\t ],\n\t [MODEL, [VENDOR, \"Nvidia\"], [TYPE, CONSOLE]],\n\t [\n\t /(playstation [345portablevi]+)/i // Playstation\n\t ],\n\t [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],\n\t [\n\t /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n\t ],\n\t [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],\n\t [\n\t ///////////////////\n\t // SMARTTVS\n\t ///////////////////\n\n\t /smart-tv.+(samsung)/i // Samsung\n\t ],\n\t [VENDOR, [TYPE, SMARTTV]],\n\t [/hbbtv.+maple;(\\d+)/i],\n\t [\n\t [MODEL, /^/, \"SmartTV\"],\n\t [VENDOR, SAMSUNG],\n\t [TYPE, SMARTTV]\n\t ],\n\t [\n\t /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n\t ],\n\t [\n\t [VENDOR, LG],\n\t [TYPE, SMARTTV]\n\t ],\n\t [\n\t /(apple) ?tv/i // Apple TV\n\t ],\n\t [VENDOR, [MODEL, APPLE + \" TV\"], [TYPE, SMARTTV]],\n\t [\n\t /crkey/i // Google Chromecast\n\t ],\n\t [\n\t [MODEL, CHROME + \"cast\"],\n\t [VENDOR, GOOGLE],\n\t [TYPE, SMARTTV]\n\t ],\n\t [\n\t /droid.+aft(\\w)( bui|\\))/i // Fire TV\n\t ],\n\t [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],\n\t [\n\t /\\(dtv[\\);].+(aquos)/i // Sharp\n\t ],\n\t [MODEL, [VENDOR, \"Sharp\"], [TYPE, SMARTTV]],\n\t [\n\t /(bravia[\\w- ]+) bui/i // Sony\n\t ],\n\t [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],\n\t [\n\t /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n\t /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n\t ],\n\t [\n\t [VENDOR, trim],\n\t [MODEL, trim],\n\t [TYPE, SMARTTV]\n\t ],\n\t [\n\t /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n\t ],\n\t [[TYPE, SMARTTV]],\n\t [\n\t ///////////////////\n\t // WEARABLES\n\t ///////////////////\n\n\t /((pebble))app/i // Pebble\n\t ],\n\t [VENDOR, MODEL, [TYPE, WEARABLE]],\n\t [\n\t /droid.+; (glass) \\d/i // Google Glass\n\t ],\n\t [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],\n\t [/droid.+; (wt63?0{2,3})\\)/i],\n\t [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],\n\t [\n\t /(quest( 2)?)/i // Oculus Quest\n\t ],\n\t [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],\n\t [\n\t ///////////////////\n\t // EMBEDDED\n\t ///////////////////\n\n\t /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n\t ],\n\t [VENDOR, [TYPE, EMBEDDED]],\n\t [\n\t ////////////////////\n\t // MIXED (GENERIC)\n\t ///////////////////\n\n\t /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n\t ],\n\t [MODEL, [TYPE, MOBILE]],\n\t [\n\t /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n\t ],\n\t [MODEL, [TYPE, TABLET]],\n\t [\n\t /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n\t ],\n\t [[TYPE, TABLET]],\n\t [\n\t /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n\t ],\n\t [[TYPE, MOBILE]],\n\t [\n\t /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n\t ],\n\t [MODEL, [VENDOR, \"Generic\"]]\n\t ],\n\n\t engine: [\n\t [\n\t /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n\t ],\n\t [VERSION, [NAME, EDGE + \"HTML\"]],\n\t [\n\t /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n\t ],\n\t [VERSION, [NAME, \"Blink\"]],\n\t [\n\t /(presto)\\/([\\w\\.]+)/i, // Presto\n\t /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n\t /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n\t /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n\t /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n\t ],\n\t [VERSION, NAME]\n\t ],\n\n\t os: [\n\t [\n\t // Windows\n\t /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /(windows) nt 6\\.2; (arm)/i, // Windows RT\n\t /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n\t /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n\t ],\n\t [NAME, [VERSION, strMapper, windowsVersionMap]],\n\t [/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],\n\t [\n\t [NAME, \"Windows\"],\n\t [VERSION, strMapper, windowsVersionMap]\n\t ],\n\t [\n\t // iOS/macOS\n\t /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n\t /cfnetwork\\/.+darwin/i\n\t ],\n\t [\n\t [VERSION, /_/g, \".\"],\n\t [NAME, \"iOS\"]\n\t ],\n\t [\n\t /(mac os x) ?([\\w\\. ]*)/i,\n\t /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n\t ],\n\t [\n\t [NAME, \"Mac OS\"],\n\t [VERSION, /_/g, \".\"]\n\t ],\n\t [\n\t // Mobile OSes\n\t /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n\t ],\n\t [VERSION, NAME],\n\t [\n\t // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n\t /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n\t /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n\t /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n\t /\\((series40);/i // Series 40\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /\\(bb(10);/i // BlackBerry 10\n\t ],\n\t [VERSION, [NAME, BLACKBERRY]],\n\t [\n\t /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n\t ],\n\t [VERSION, [NAME, \"Symbian\"]],\n\t [\n\t /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n\t ],\n\t [VERSION, [NAME, FIREFOX + \" OS\"]],\n\t [\n\t /web0s;.+rt(tv)/i,\n\t /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n\t ],\n\t [VERSION, [NAME, \"webOS\"]],\n\t [\n\t // Google Chromecast\n\t /crkey\\/([\\d\\.]+)/i // Google Chromecast\n\t ],\n\t [VERSION, [NAME, CHROME + \"cast\"]],\n\t [\n\t /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n\t ],\n\t [[NAME, \"Chromium OS\"], VERSION],\n\t [\n\t // Console\n\t /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n\t /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n\t // Other\n\t /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n\t /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n\t /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n\t /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n\t // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n\t /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n\t /(gnu) ?([\\w\\.]*)/i, // GNU\n\t /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n\t /(haiku) (\\w+)/i // Haiku\n\t ],\n\t [NAME, VERSION],\n\t [\n\t /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n\t ],\n\t [[NAME, \"Solaris\"], VERSION],\n\t [\n\t /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n\t /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n\t /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n\t /(unix) ?([\\w\\.]*)/i // UNIX\n\t ],\n\t [NAME, VERSION]\n\t ]\n\t };\n\n\t /////////////////\n\t // Constructor\n\t ////////////////\n\n\t var UAParser = function (ua, extensions) {\n\t if (typeof ua === OBJ_TYPE) {\n\t extensions = ua;\n\t ua = undefined$1;\n\t }\n\n\t if (!(this instanceof UAParser)) {\n\t return new UAParser(ua, extensions).getResult();\n\t }\n\n\t var _ua =\n\t ua ||\n\t (typeof window !== UNDEF_TYPE &&\n\t window.navigator &&\n\t window.navigator.userAgent ? window.navigator.userAgent : EMPTY);\n\t var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n\t this.getBrowser = function () {\n\t var _browser = {};\n\t _browser[NAME] = undefined$1;\n\t _browser[VERSION] = undefined$1;\n\t rgxMapper.call(_browser, _ua, _rgxmap.browser);\n\t _browser.major = majorize(_browser.version);\n\t return _browser;\n\t };\n\t this.getCPU = function () {\n\t var _cpu = {};\n\t _cpu[ARCHITECTURE] = undefined$1;\n\t rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n\t return _cpu;\n\t };\n\t this.getDevice = function () {\n\t var _device = {};\n\t _device[VENDOR] = undefined$1;\n\t _device[MODEL] = undefined$1;\n\t _device[TYPE] = undefined$1;\n\t rgxMapper.call(_device, _ua, _rgxmap.device);\n\t return _device;\n\t };\n\t this.getEngine = function () {\n\t var _engine = {};\n\t _engine[NAME] = undefined$1;\n\t _engine[VERSION] = undefined$1;\n\t rgxMapper.call(_engine, _ua, _rgxmap.engine);\n\t return _engine;\n\t };\n\t this.getOS = function () {\n\t var _os = {};\n\t _os[NAME] = undefined$1;\n\t _os[VERSION] = undefined$1;\n\t rgxMapper.call(_os, _ua, _rgxmap.os);\n\t return _os;\n\t };\n\t this.getResult = function () {\n\t return {\n\t ua: this.getUA(),\n\t browser: this.getBrowser(),\n\t engine: this.getEngine(),\n\t os: this.getOS(),\n\t device: this.getDevice(),\n\t cpu: this.getCPU()\n\t };\n\t };\n\t this.getUA = function () {\n\t return _ua;\n\t };\n\t this.setUA = function (ua) {\n\t _ua =\n\t typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n\t return this;\n\t };\n\t this.setUA(_ua);\n\t return this;\n\t };\n\n\t UAParser.VERSION = LIBVERSION;\n\t UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n\t UAParser.CPU = enumerize([ARCHITECTURE]);\n\t UAParser.DEVICE = enumerize([\n\t MODEL,\n\t VENDOR,\n\t TYPE,\n\t CONSOLE,\n\t MOBILE,\n\t SMARTTV,\n\t TABLET,\n\t WEARABLE,\n\t EMBEDDED\n\t ]);\n\t UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n\t ///////////\n\t // Export\n\t //////////\n\n\t // check js environment\n\t {\n\t // nodejs env\n\t if (module.exports) {\n\t exports = module.exports = UAParser;\n\t }\n\t exports.UAParser = UAParser;\n\t }\n\n\t // jQuery/Zepto specific (optional)\n\t // Note:\n\t // In AMD env the global scope should be kept clean, but jQuery is an exception.\n\t // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n\t // and we should catch that.\n\t var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n\t if ($ && !$.ua) {\n\t var parser = new UAParser();\n\t $.ua = parser.getResult();\n\t $.ua.get = function () {\n\t return parser.getUA();\n\t };\n\t $.ua.set = function (ua) {\n\t parser.setUA(ua);\n\t var result = parser.getResult();\n\t for (var prop in result) {\n\t $.ua[prop] = result[prop];\n\t }\n\t };\n\t }\n\t})(typeof window === \"object\" ? window : commonjsGlobal);\n\t});\n\n\tvar ApplicationContextProviderImpl = /** @class */ (function () {\n\t function ApplicationContextProviderImpl() {\n\t this.ua = new uaParser.UAParser(typeof navigator !== 'undefined' ? navigator.userAgent : null).getResult();\n\t }\n\t ApplicationContextProviderImpl.prototype.getApplicationContext = function () {\n\t return {\n\t versionName: this.versionName,\n\t language: getLanguage(),\n\t platform: 'Web',\n\t os: getOs(this.ua),\n\t deviceModel: getDeviceModel(this.ua),\n\t };\n\t };\n\t return ApplicationContextProviderImpl;\n\t}());\n\tvar getOs = function (ua) {\n\t var _a, _b;\n\t return [(_a = ua.browser) === null || _a === void 0 ? void 0 : _a.name, (_b = ua.browser) === null || _b === void 0 ? void 0 : _b.major]\n\t .filter(function (e) { return e !== null && e !== undefined; })\n\t .join(' ');\n\t};\n\tvar getDeviceModel = function (ua) {\n\t var _a;\n\t return (_a = ua.os) === null || _a === void 0 ? void 0 : _a.name;\n\t};\n\tvar getLanguage = function () {\n\t return ((typeof navigator !== 'undefined' &&\n\t ((navigator.languages && navigator.languages[0]) ||\n\t navigator.language)) ||\n\t '');\n\t};\n\n\tvar EventBridgeImpl = /** @class */ (function () {\n\t function EventBridgeImpl() {\n\t this.queue = [];\n\t }\n\t EventBridgeImpl.prototype.logEvent = function (event) {\n\t if (!this.receiver) {\n\t if (this.queue.length < 512) {\n\t this.queue.push(event);\n\t }\n\t }\n\t else {\n\t this.receiver(event);\n\t }\n\t };\n\t EventBridgeImpl.prototype.setEventReceiver = function (receiver) {\n\t this.receiver = receiver;\n\t if (this.queue.length > 0) {\n\t this.queue.forEach(function (event) {\n\t receiver(event);\n\t });\n\t this.queue = [];\n\t }\n\t };\n\t return EventBridgeImpl;\n\t}());\n\n\t/*! *****************************************************************************\r\n\tCopyright (c) Microsoft Corporation.\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n\tREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n\tAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n\tINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n\tLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n\tOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n\tPERFORMANCE OF THIS SOFTWARE.\r\n\t***************************************************************************** */\n\tvar __assign = function () {\n\t __assign = Object.assign || function __assign(t) {\n\t for (var s, i = 1, n = arguments.length; i < n; i++) {\n\t s = arguments[i];\n\n\t for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t }\n\n\t return t;\n\t };\n\n\t return __assign.apply(this, arguments);\n\t};\n\n\tvar ID_OP_SET = '$set';\n\tvar ID_OP_UNSET = '$unset';\n\tvar ID_OP_CLEAR_ALL = '$clearAll';\n\t// Polyfill for Object.entries\n\tif (!Object.entries) {\n\t Object.entries = function (obj) {\n\t var ownProps = Object.keys(obj);\n\t var i = ownProps.length;\n\t var resArray = new Array(i);\n\t while (i--) {\n\t resArray[i] = [ownProps[i], obj[ownProps[i]]];\n\t }\n\t return resArray;\n\t };\n\t}\n\tvar IdentityStoreImpl = /** @class */ (function () {\n\t function IdentityStoreImpl() {\n\t this.identity = { userProperties: {} };\n\t this.listeners = new Set();\n\t }\n\t IdentityStoreImpl.prototype.editIdentity = function () {\n\t // eslint-disable-next-line @typescript-eslint/no-this-alias\n\t var self = this;\n\t var actingUserProperties = __assign({}, this.identity.userProperties);\n\t var actingIdentity = __assign(__assign({}, this.identity), { userProperties: actingUserProperties });\n\t return {\n\t setUserId: function (userId) {\n\t actingIdentity.userId = userId;\n\t return this;\n\t },\n\t setDeviceId: function (deviceId) {\n\t actingIdentity.deviceId = deviceId;\n\t return this;\n\t },\n\t setUserProperties: function (userProperties) {\n\t actingIdentity.userProperties = userProperties;\n\t return this;\n\t },\n\t updateUserProperties: function (actions) {\n\t var actingProperties = actingIdentity.userProperties || {};\n\t for (var _i = 0, _a = Object.entries(actions); _i < _a.length; _i++) {\n\t var _b = _a[_i], action = _b[0], properties = _b[1];\n\t switch (action) {\n\t case ID_OP_SET:\n\t for (var _c = 0, _d = Object.entries(properties); _c < _d.length; _c++) {\n\t var _e = _d[_c], key = _e[0], value = _e[1];\n\t actingProperties[key] = value;\n\t }\n\t break;\n\t case ID_OP_UNSET:\n\t for (var _f = 0, _g = Object.keys(properties); _f < _g.length; _f++) {\n\t var key = _g[_f];\n\t delete actingProperties[key];\n\t }\n\t break;\n\t case ID_OP_CLEAR_ALL:\n\t actingProperties = {};\n\t break;\n\t }\n\t }\n\t actingIdentity.userProperties = actingProperties;\n\t return this;\n\t },\n\t commit: function () {\n\t self.setIdentity(actingIdentity);\n\t return this;\n\t },\n\t };\n\t };\n\t IdentityStoreImpl.prototype.getIdentity = function () {\n\t return __assign({}, this.identity);\n\t };\n\t IdentityStoreImpl.prototype.setIdentity = function (identity) {\n\t var originalIdentity = __assign({}, this.identity);\n\t this.identity = __assign({}, identity);\n\t if (!isEqual(originalIdentity, this.identity)) {\n\t this.listeners.forEach(function (listener) {\n\t listener(identity);\n\t });\n\t }\n\t };\n\t IdentityStoreImpl.prototype.addIdentityListener = function (listener) {\n\t this.listeners.add(listener);\n\t };\n\t IdentityStoreImpl.prototype.removeIdentityListener = function (listener) {\n\t this.listeners.delete(listener);\n\t };\n\t return IdentityStoreImpl;\n\t}());\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tvar isEqual = function (obj1, obj2) {\n\t var primitive = ['string', 'number', 'boolean', 'undefined'];\n\t var typeA = typeof obj1;\n\t var typeB = typeof obj2;\n\t if (typeA !== typeB) {\n\t return false;\n\t }\n\t for (var _i = 0, primitive_1 = primitive; _i < primitive_1.length; _i++) {\n\t var p = primitive_1[_i];\n\t if (p === typeA) {\n\t return obj1 === obj2;\n\t }\n\t }\n\t //if got here - objects\n\t if (obj1.length !== obj2.length) {\n\t return false;\n\t }\n\t //check if arrays\n\t var isArrayA = Array.isArray(obj1);\n\t var isArrayB = Array.isArray(obj2);\n\t if (isArrayA !== isArrayB) {\n\t return false;\n\t }\n\t if (isArrayA && isArrayB) {\n\t //arrays\n\t for (var i = 0; i < obj1.length; i++) {\n\t if (!isEqual(obj1[i], obj2[i])) {\n\t return false;\n\t }\n\t }\n\t }\n\t else {\n\t //objects\n\t var sorted1 = Object.keys(obj1).sort();\n\t var sorted2 = Object.keys(obj2).sort();\n\t if (!isEqual(sorted1, sorted2)) {\n\t return false;\n\t }\n\t //compare object values\n\t var result_1 = true;\n\t Object.keys(obj1).forEach(function (key) {\n\t if (!isEqual(obj1[key], obj2[key])) {\n\t result_1 = false;\n\t }\n\t });\n\t return result_1;\n\t }\n\t return true;\n\t};\n\n\tvar safeGlobal = typeof globalThis !== 'undefined' ? globalThis : global || self;\n\n\tvar AnalyticsConnector = /** @class */ (function () {\n\t function AnalyticsConnector() {\n\t this.identityStore = new IdentityStoreImpl();\n\t this.eventBridge = new EventBridgeImpl();\n\t this.applicationContextProvider = new ApplicationContextProviderImpl();\n\t }\n\t AnalyticsConnector.getInstance = function (instanceName) {\n\t if (!safeGlobal['analyticsConnectorInstances']) {\n\t safeGlobal['analyticsConnectorInstances'] = {};\n\t }\n\t if (!safeGlobal['analyticsConnectorInstances'][instanceName]) {\n\t safeGlobal['analyticsConnectorInstances'][instanceName] =\n\t new AnalyticsConnector();\n\t }\n\t return safeGlobal['analyticsConnectorInstances'][instanceName];\n\t };\n\t return AnalyticsConnector;\n\t}());\n\n\texports.AnalyticsConnector = AnalyticsConnector;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n}));\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v0.7.31\n Copyright © 2012-2021 Faisal Salman \n MIT License */ /*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment.\n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n \"use strict\";\n\n //////////////\n // Constants\n /////////////\n\n var LIBVERSION = \"0.7.31\",\n EMPTY = \"\",\n UNKNOWN = \"?\",\n FUNC_TYPE = \"function\",\n UNDEF_TYPE = \"undefined\",\n OBJ_TYPE = \"object\",\n STR_TYPE = \"string\",\n MAJOR = \"major\",\n MODEL = \"model\",\n NAME = \"name\",\n TYPE = \"type\",\n VENDOR = \"vendor\",\n VERSION = \"version\",\n ARCHITECTURE = \"architecture\",\n CONSOLE = \"console\",\n MOBILE = \"mobile\",\n TABLET = \"tablet\",\n SMARTTV = \"smarttv\",\n WEARABLE = \"wearable\",\n EMBEDDED = \"embedded\",\n UA_MAX_LENGTH = 275;\n\n var AMAZON = \"Amazon\",\n APPLE = \"Apple\",\n ASUS = \"ASUS\",\n BLACKBERRY = \"BlackBerry\",\n BROWSER = \"Browser\",\n CHROME = \"Chrome\",\n EDGE = \"Edge\",\n FIREFOX = \"Firefox\",\n GOOGLE = \"Google\",\n HUAWEI = \"Huawei\",\n LG = \"LG\",\n MICROSOFT = \"Microsoft\",\n MOTOROLA = \"Motorola\",\n OPERA = \"Opera\",\n SAMSUNG = \"Samsung\",\n SONY = \"Sony\",\n XIAOMI = \"Xiaomi\",\n ZEBRA = \"Zebra\",\n FACEBOOK = \"Facebook\";\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof version === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split(\".\")[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof str === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY).replace(/\\s\\s*$/, EMPTY);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n strMapper = function (str, map) {\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n },\n windowsVersionMap = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2000: \"NT 5.0\",\n XP: [\"NT 5.1\", \"NT 5.2\"],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\"NT 6.4\", \"NT 10.0\"],\n RT: \"ARM\"\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n browser: [\n [\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ],\n [VERSION, [NAME, \"Chrome\"]],\n [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ],\n [VERSION, [NAME, \"Edge\"]],\n [\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ],\n [NAME, VERSION],\n [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ],\n [VERSION, [NAME, OPERA + \" Mini\"]],\n [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ],\n [VERSION, [NAME, OPERA]],\n [\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ],\n [NAME, VERSION],\n [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ],\n [VERSION, [NAME, \"UC\" + BROWSER]],\n [\n /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ],\n [VERSION, [NAME, \"WeChat(Win) Desktop\"]],\n [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ],\n [VERSION, [NAME, \"WeChat\"]],\n [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ],\n [VERSION, [NAME, \"Konqueror\"]],\n [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ],\n [VERSION, [NAME, \"IE\"]],\n [\n /yabrowser\\/([\\w\\.]+)/i // Yandex\n ],\n [VERSION, [NAME, \"Yandex\"]],\n [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ],\n [[NAME, /(.+)/, \"$1 Secure \" + BROWSER], VERSION],\n [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ],\n [VERSION, [NAME, FIREFOX + \" Focus\"]],\n [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ],\n [VERSION, [NAME, OPERA + \" Touch\"]],\n [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ],\n [VERSION, [NAME, \"Coc Coc\"]],\n [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ],\n [VERSION, [NAME, \"Dolphin\"]],\n [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ],\n [VERSION, [NAME, OPERA + \" Coast\"]],\n [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ],\n [VERSION, [NAME, \"MIUI \" + BROWSER]],\n [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ],\n [VERSION, [NAME, FIREFOX]],\n [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ],\n [[NAME, \"360 \" + BROWSER]],\n [/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i],\n [[NAME, /(.+)/, \"$1 \" + BROWSER], VERSION],\n [\n // Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ],\n [[NAME, /_/g, \" \"], VERSION],\n [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ],\n [NAME, VERSION],\n [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ],\n [NAME],\n [\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ],\n [[NAME, FACEBOOK], VERSION],\n [\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ],\n [NAME, VERSION],\n [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ],\n [VERSION, [NAME, \"GSA\"]],\n [\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ],\n [VERSION, [NAME, CHROME + \" Headless\"]],\n [\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ],\n [[NAME, CHROME + \" WebView\"], VERSION],\n [\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ],\n [VERSION, [NAME, \"Android \" + BROWSER]],\n [\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ],\n [NAME, VERSION],\n [\n /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ],\n [VERSION, [NAME, \"Mobile Safari\"]],\n [\n /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ],\n [VERSION, NAME],\n [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ],\n [NAME, [VERSION, strMapper, oldSafariMap]],\n [/(webkit|khtml)\\/([\\w\\.]+)/i],\n [NAME, VERSION],\n [\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ],\n [[NAME, \"Netscape\"], VERSION],\n [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ],\n [VERSION, [NAME, FIREFOX + \" Reality\"]],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ],\n [NAME, VERSION]\n ],\n\n cpu: [\n [\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ],\n [[ARCHITECTURE, \"amd64\"]],\n [\n /(ia32(?=;))/i // IA32 (quicktime)\n ],\n [[ARCHITECTURE, lowerize]],\n [\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ],\n [[ARCHITECTURE, \"ia32\"]],\n [\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ],\n [[ARCHITECTURE, \"arm64\"]],\n [\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ],\n [[ARCHITECTURE, \"armhf\"]],\n [\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ],\n [[ARCHITECTURE, \"arm\"]],\n [\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ],\n [[ARCHITECTURE, /ower/, EMPTY, lowerize]],\n [\n /(sun4\\w)[;\\)]/i // SPARC\n ],\n [[ARCHITECTURE, \"sparc\"]],\n [\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ],\n [[ARCHITECTURE, lowerize]]\n ],\n\n device: [\n [\n //////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ],\n [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],\n [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ],\n [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],\n [\n // Apple\n /((ipod|iphone)\\d+,\\d+)/i // iPod/iPhone model\n ],\n [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],\n [\n /(ipad\\d+,\\d+)/i // iPad model\n ],\n [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],\n [\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ],\n [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],\n [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ],\n [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],\n [\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ],\n [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],\n [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ],\n [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],\n [\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ],\n [\n [MODEL, /_/g, \" \"],\n [VENDOR, XIAOMI],\n [TYPE, MOBILE]\n ],\n [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],\n [\n [MODEL, /_/g, \" \"],\n [VENDOR, XIAOMI],\n [TYPE, TABLET]\n ],\n [\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ],\n [MODEL, [VENDOR, \"OPPO\"], [TYPE, MOBILE]],\n [\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ],\n [MODEL, [VENDOR, \"Vivo\"], [TYPE, MOBILE]],\n [\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ],\n [MODEL, [VENDOR, \"Realme\"], [TYPE, MOBILE]],\n [\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ],\n [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],\n [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],\n [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],\n [\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ],\n [MODEL, [VENDOR, LG], [TYPE, TABLET]],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ],\n [MODEL, [VENDOR, LG], [TYPE, MOBILE]],\n [\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ],\n [MODEL, [VENDOR, \"Lenovo\"], [TYPE, TABLET]],\n [\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ],\n [\n [MODEL, /_/g, \" \"],\n [VENDOR, \"Nokia\"],\n [TYPE, MOBILE]\n ],\n [\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ],\n [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],\n [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ],\n [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],\n [\n // Sony\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ],\n [MODEL, [VENDOR, SONY], [TYPE, MOBILE]],\n [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i],\n [\n [MODEL, \"Xperia Tablet\"],\n [VENDOR, SONY],\n [TYPE, TABLET]\n ],\n [\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ],\n [MODEL, [VENDOR, \"OnePlus\"], [TYPE, MOBILE]],\n [\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ],\n [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],\n [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ],\n [\n [MODEL, /(.+)/g, \"Fire Phone $1\"],\n [VENDOR, AMAZON],\n [TYPE, MOBILE]\n ],\n [\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ],\n [MODEL, VENDOR, [TYPE, TABLET]],\n [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ],\n [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],\n [\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ],\n [MODEL, [VENDOR, ASUS], [TYPE, TABLET]],\n [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],\n [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],\n [\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ],\n [MODEL, [VENDOR, \"HTC\"], [TYPE, TABLET]],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ],\n [VENDOR, [MODEL, /_/g, \" \"], [TYPE, MOBILE]],\n [\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ],\n [MODEL, [VENDOR, \"Acer\"], [TYPE, TABLET]],\n [\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ],\n [MODEL, [VENDOR, \"Meizu\"], [TYPE, MOBILE]],\n [\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ],\n [MODEL, [VENDOR, \"Sharp\"], [TYPE, MOBILE]],\n [\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ],\n [VENDOR, MODEL, [TYPE, MOBILE]],\n [\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ],\n [VENDOR, MODEL, [TYPE, TABLET]],\n [\n /(surface duo)/i // Surface Duo\n ],\n [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],\n [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ],\n [MODEL, [VENDOR, \"Fairphone\"], [TYPE, MOBILE]],\n [\n /(u304aa)/i // AT&T\n ],\n [MODEL, [VENDOR, \"AT&T\"], [TYPE, MOBILE]],\n [\n /\\bsie-(\\w*)/i // Siemens\n ],\n [MODEL, [VENDOR, \"Siemens\"], [TYPE, MOBILE]],\n [\n /\\b(rct\\w+) b/i // RCA Tablets\n ],\n [MODEL, [VENDOR, \"RCA\"], [TYPE, TABLET]],\n [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ],\n [MODEL, [VENDOR, \"Dell\"], [TYPE, TABLET]],\n [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ],\n [MODEL, [VENDOR, \"Verizon\"], [TYPE, TABLET]],\n [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ],\n [MODEL, [VENDOR, \"Barnes & Noble\"], [TYPE, TABLET]],\n [/\\b(tm\\d{3}\\w+) b/i],\n [MODEL, [VENDOR, \"NuVision\"], [TYPE, TABLET]],\n [\n /\\b(k88) b/i // ZTE K Series Tablet\n ],\n [MODEL, [VENDOR, \"ZTE\"], [TYPE, TABLET]],\n [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ],\n [MODEL, [VENDOR, \"ZTE\"], [TYPE, MOBILE]],\n [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ],\n [MODEL, [VENDOR, \"Swiss\"], [TYPE, MOBILE]],\n [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ],\n [MODEL, [VENDOR, \"Swiss\"], [TYPE, TABLET]],\n [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ],\n [MODEL, [VENDOR, \"Zeki\"], [TYPE, TABLET]],\n [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ],\n [[VENDOR, \"Dragon Touch\"], MODEL, [TYPE, TABLET]],\n [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ],\n [MODEL, [VENDOR, \"Insignia\"], [TYPE, TABLET]],\n [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ],\n [MODEL, [VENDOR, \"NextBook\"], [TYPE, TABLET]],\n [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ],\n [[VENDOR, \"Voice\"], MODEL, [TYPE, MOBILE]],\n [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ],\n [[VENDOR, \"LvTel\"], MODEL, [TYPE, MOBILE]],\n [\n /\\b(ph-1) /i // Essential PH-1\n ],\n [MODEL, [VENDOR, \"Essential\"], [TYPE, MOBILE]],\n [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ],\n [MODEL, [VENDOR, \"Envizen\"], [TYPE, TABLET]],\n [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ],\n [MODEL, [VENDOR, \"MachSpeed\"], [TYPE, TABLET]],\n [\n /\\btu_(1491) b/i // Rotor Tablets\n ],\n [MODEL, [VENDOR, \"Rotor\"], [TYPE, TABLET]],\n [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ],\n [MODEL, [VENDOR, \"Nvidia\"], [TYPE, TABLET]],\n [\n /(sprint) (\\w+)/i // Sprint Phones\n ],\n [VENDOR, MODEL, [TYPE, MOBILE]],\n [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ],\n [\n [MODEL, /\\./g, \" \"],\n [VENDOR, MICROSOFT],\n [TYPE, MOBILE]\n ],\n [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ],\n [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],\n [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],\n [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],\n [\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ],\n [VENDOR, MODEL, [TYPE, CONSOLE]],\n [\n /droid.+; (shield) bui/i // Nvidia\n ],\n [MODEL, [VENDOR, \"Nvidia\"], [TYPE, CONSOLE]],\n [\n /(playstation [345portablevi]+)/i // Playstation\n ],\n [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],\n [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ],\n [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],\n [\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ],\n [VENDOR, [TYPE, SMARTTV]],\n [/hbbtv.+maple;(\\d+)/i],\n [\n [MODEL, /^/, \"SmartTV\"],\n [VENDOR, SAMSUNG],\n [TYPE, SMARTTV]\n ],\n [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ],\n [\n [VENDOR, LG],\n [TYPE, SMARTTV]\n ],\n [\n /(apple) ?tv/i // Apple TV\n ],\n [VENDOR, [MODEL, APPLE + \" TV\"], [TYPE, SMARTTV]],\n [\n /crkey/i // Google Chromecast\n ],\n [\n [MODEL, CHROME + \"cast\"],\n [VENDOR, GOOGLE],\n [TYPE, SMARTTV]\n ],\n [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ],\n [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],\n [\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ],\n [MODEL, [VENDOR, \"Sharp\"], [TYPE, SMARTTV]],\n [\n /(bravia[\\w- ]+) bui/i // Sony\n ],\n [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],\n [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ],\n [\n [VENDOR, trim],\n [MODEL, trim],\n [TYPE, SMARTTV]\n ],\n [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ],\n [[TYPE, SMARTTV]],\n [\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ],\n [VENDOR, MODEL, [TYPE, WEARABLE]],\n [\n /droid.+; (glass) \\d/i // Google Glass\n ],\n [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],\n [/droid.+; (wt63?0{2,3})\\)/i],\n [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],\n [\n /(quest( 2)?)/i // Oculus Quest\n ],\n [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],\n [\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ],\n [VENDOR, [TYPE, EMBEDDED]],\n [\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ],\n [MODEL, [TYPE, MOBILE]],\n [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ],\n [MODEL, [TYPE, TABLET]],\n [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ],\n [[TYPE, TABLET]],\n [\n /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ],\n [[TYPE, MOBILE]],\n [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ],\n [MODEL, [VENDOR, \"Generic\"]]\n ],\n\n engine: [\n [\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ],\n [VERSION, [NAME, EDGE + \"HTML\"]],\n [\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ],\n [VERSION, [NAME, \"Blink\"]],\n [\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ],\n [NAME, VERSION],\n [\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ],\n [VERSION, NAME]\n ],\n\n os: [\n [\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ],\n [NAME, VERSION],\n [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ],\n [NAME, [VERSION, strMapper, windowsVersionMap]],\n [/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],\n [\n [NAME, \"Windows\"],\n [VERSION, strMapper, windowsVersionMap]\n ],\n [\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i\n ],\n [\n [VERSION, /_/g, \".\"],\n [NAME, \"iOS\"]\n ],\n [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ],\n [\n [NAME, \"Mac OS\"],\n [VERSION, /_/g, \".\"]\n ],\n [\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ],\n [VERSION, NAME],\n [\n // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ],\n [NAME, VERSION],\n [\n /\\(bb(10);/i // BlackBerry 10\n ],\n [VERSION, [NAME, BLACKBERRY]],\n [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ],\n [VERSION, [NAME, \"Symbian\"]],\n [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ],\n [VERSION, [NAME, FIREFOX + \" OS\"]],\n [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ],\n [VERSION, [NAME, \"webOS\"]],\n [\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ],\n [VERSION, [NAME, CHROME + \"cast\"]],\n [\n /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ],\n [[NAME, \"Chromium OS\"], VERSION],\n [\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ],\n [NAME, VERSION],\n [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ],\n [[NAME, \"Solaris\"], VERSION],\n [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ],\n [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua =\n ua ||\n (typeof window !== UNDEF_TYPE &&\n window.navigator &&\n window.navigator.userAgent ? window.navigator.userAgent : EMPTY);\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua =\n typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([\n MODEL,\n VENDOR,\n TYPE,\n CONSOLE,\n MOBILE,\n SMARTTV,\n TABLET,\n WEARABLE,\n EMBEDDED\n ]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof exports !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof define === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})(typeof window === \"object\" ? window : this);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _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 () { 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\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\nvar CardCvvElement = /*#__PURE__*/function (_Element) {\n _inherits(CardCvvElement, _Element);\n\n var _super = _createSuper(CardCvvElement);\n\n function CardCvvElement() {\n _classCallCheck(this, CardCvvElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardCvvElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardCvvElement;\n\n_defineProperty(CardCvvElement, \"elementClassName\", 'CardCvvElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _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 () { 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\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\nvar CardMonthElement = /*#__PURE__*/function (_Element) {\n _inherits(CardMonthElement, _Element);\n\n var _super = _createSuper(CardMonthElement);\n\n function CardMonthElement() {\n _classCallCheck(this, CardMonthElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardMonthElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardMonthElement;\n\n_defineProperty(CardMonthElement, \"elementClassName\", 'CardMonthElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _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 () { 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\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\nvar CardNumberElement = /*#__PURE__*/function (_Element) {\n _inherits(CardNumberElement, _Element);\n\n var _super = _createSuper(CardNumberElement);\n\n function CardNumberElement() {\n _classCallCheck(this, CardNumberElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardNumberElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardNumberElement;\n\n_defineProperty(CardNumberElement, \"elementClassName\", 'CardNumberElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _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 () { 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\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\nvar CardYearElement = /*#__PURE__*/function (_Element) {\n _inherits(CardYearElement, _Element);\n\n var _super = _createSuper(CardYearElement);\n\n function CardYearElement() {\n _classCallCheck(this, CardYearElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardYearElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardYearElement;\n\n_defineProperty(CardYearElement, \"elementClassName\", 'CardYearElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _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 () { 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\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\nvar CardElement = /*#__PURE__*/function (_Element) {\n _inherits(CardElement, _Element);\n\n var _super = _createSuper(CardElement);\n\n function CardElement() {\n _classCallCheck(this, CardElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardElement;\n\n_defineProperty(CardElement, \"elementClassName\", 'CardElement');\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 _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _elements = require(\"../elements\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 () { 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\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\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nvar noop = function noop() {};\n\nvar extractOptions = function extractOptions(props) {\n var id = props.id,\n className = props.className,\n onChange = props.onChange,\n onBlur = props.onBlur,\n onFocus = props.onFocus,\n onReady = props.onReady,\n onSubmit = props.onSubmit,\n options = _objectWithoutProperties(props, [\"id\", \"className\", \"onChange\", \"onBlur\", \"onFocus\", \"onReady\", \"onSubmit\"]);\n\n return options;\n};\n/**\n * An [Element](https://developers.recurly.com/reference/recurly-js/#elements)\n * component which wraps its Recurly.js analogue, passing configuration props to the underlying\n * Recurly.js Element and allowing event binding using props.\n */\n\n\nvar Element = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Element, _React$PureComponent);\n\n var _super = _createSuper(Element);\n\n function Element(props, context) {\n var _this;\n\n _classCallCheck(this, Element);\n\n _this = _super.call(this, props, context);\n\n _defineProperty(_assertThisInitialized(_this), \"configureElement\", (0, _memoizeOne[\"default\"])(function (element, options) {\n return element && Object.keys(options).length > 0 && element.configure(options);\n }));\n\n var elementClassName = _this.constructor.elementClassName;\n\n if (!context || !context.elements) {\n throw new Error(\"<\".concat(elementClassName, \"> must be within an tree.\"));\n }\n\n _this._container = _react[\"default\"].createRef();\n return _this;\n }\n\n _createClass(Element, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var elementClassName = this.constructor.elementClassName;\n var options = extractOptions(this.props);\n var element = this._element = this.context.elements[elementClassName](options);\n element.on('attach', function () {\n var _this2$props;\n\n return (_this2$props = _this2.props).onReady.apply(_this2$props, arguments);\n });\n element.on('change', function () {\n var _this2$props2;\n\n return (_this2$props2 = _this2.props).onChange.apply(_this2$props2, arguments);\n });\n element.on('blur', function () {\n var _this2$props3;\n\n return (_this2$props3 = _this2.props).onBlur.apply(_this2$props3, arguments);\n });\n element.on('focus', function () {\n var _this2$props4;\n\n return (_this2$props4 = _this2.props).onFocus.apply(_this2$props4, arguments);\n });\n element.on('submit', function () {\n var _this2$props5;\n\n return (_this2$props5 = _this2.props).onSubmit.apply(_this2$props5, arguments);\n });\n\n this._element.attach(this._container.current);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._element.destroy();\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this._element,\n props = this.props;\n this.configureElement(element, extractOptions(props));\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: props.id,\n className: props.className,\n ref: this._container\n });\n }\n }]);\n\n return Element;\n}(_react[\"default\"].PureComponent);\n\nexports[\"default\"] = Element;\n\n_defineProperty(Element, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * Called when the state of the Element changes.\n */\n onChange: _propTypes[\"default\"].func,\n\n /**\n * Called when a user blurs from the Element.\n */\n onBlur: _propTypes[\"default\"].func,\n\n /**\n * Called when a user focuses on the Element.\n */\n onFocus: _propTypes[\"default\"].func,\n\n /**\n * Called when the Element has finished initializing.\n */\n onReady: _propTypes[\"default\"].func,\n\n /**\n * Called when a user presses the enter key while focused on the Element.\n */\n onSubmit: _propTypes[\"default\"].func,\n\n /**\n * Set style attributes for the Element.\n * See [Styling Elements](https://developers.recurly.com/reference/recurly-js/#styling-elements)\n * for available options.\n */\n style: _propTypes[\"default\"].object,\n\n /**\n * [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n * property to be applied to the outer iframe.\n */\n tabIndex: _propTypes[\"default\"].string\n});\n\n_defineProperty(Element, \"defaultProps\", {\n id: undefined,\n className: undefined,\n onChange: function onChange(state) {},\n onBlur: noop,\n onFocus: noop,\n onReady: noop,\n onSubmit: noop,\n style: {},\n tabIndex: undefined\n});\n\n_defineProperty(Element, \"contextType\", _elements.RecurlyElementsContext);\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RecurlyElementsContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 () { 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\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\nvar RecurlyElementsContext = _react[\"default\"].createContext();\n\nexports.RecurlyElementsContext = RecurlyElementsContext;\nvar Provider = RecurlyElementsContext.Provider;\n\nvar Elements = /*#__PURE__*/function (_React$Component) {\n _inherits(Elements, _React$Component);\n\n var _super = _createSuper(Elements);\n\n function Elements(props, context) {\n var _this;\n\n _classCallCheck(this, Elements);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error(' must be within a tree.');\n }\n\n _this._elements = _this.context.recurly.Elements();\n\n _this._elements.on('submit', function (el) {\n return _this.props.onSubmit(el);\n });\n\n return _this;\n }\n\n _createClass(Elements, [{\n key: \"render\",\n value: function render() {\n var elements = this._elements;\n return /*#__PURE__*/_react[\"default\"].createElement(Provider, {\n value: {\n elements: elements\n }\n }, this.props.children);\n }\n }]);\n\n return Elements;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Elements;\n\n_defineProperty(Elements, \"propTypes\", {\n /**\n * Called when a user presses the enter key while\n * focused on any descendant `*Element`.\n */\n onSubmit: _propTypes[\"default\"].func\n});\n\n_defineProperty(Elements, \"defaultProps\", {\n onSubmit: function onSubmit() {}\n});\n\n_defineProperty(Elements, \"contextType\", _provider.RecurlyContext);\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"RecurlyProvider\", {\n enumerable: true,\n get: function get() {\n return _provider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"useRecurly\", {\n enumerable: true,\n get: function get() {\n return _useRecurly[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Elements\", {\n enumerable: true,\n get: function get() {\n return _elements[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardElement\", {\n enumerable: true,\n get: function get() {\n return _card[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardNumberElement\", {\n enumerable: true,\n get: function get() {\n return _cardNumber[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardMonthElement\", {\n enumerable: true,\n get: function get() {\n return _cardMonth[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardYearElement\", {\n enumerable: true,\n get: function get() {\n return _cardYear[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardCvvElement\", {\n enumerable: true,\n get: function get() {\n return _cardCvv[\"default\"];\n }\n});\nObject.defineProperty(exports, \"RiskDataCollector\", {\n enumerable: true,\n get: function get() {\n return _riskDataCollector[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ThreeDSecureAction\", {\n enumerable: true,\n get: function get() {\n return _threeDSecureAction[\"default\"];\n }\n});\nObject.defineProperty(exports, \"useCheckoutPricing\", {\n enumerable: true,\n get: function get() {\n return _useCheckoutPricing[\"default\"];\n }\n});\n\nvar _provider = _interopRequireDefault(require(\"./provider\"));\n\nvar _useRecurly = _interopRequireDefault(require(\"./use-recurly\"));\n\nvar _elements = _interopRequireDefault(require(\"./elements\"));\n\nvar _card = _interopRequireDefault(require(\"./element/card\"));\n\nvar _cardNumber = _interopRequireDefault(require(\"./element/card-number\"));\n\nvar _cardMonth = _interopRequireDefault(require(\"./element/card-month\"));\n\nvar _cardYear = _interopRequireDefault(require(\"./element/card-year\"));\n\nvar _cardCvv = _interopRequireDefault(require(\"./element/card-cvv\"));\n\nvar _riskDataCollector = _interopRequireDefault(require(\"./risk-data-collector\"));\n\nvar _threeDSecureAction = _interopRequireDefault(require(\"./three-d-secure-action\"));\n\nvar _useCheckoutPricing = _interopRequireDefault(require(\"./use-checkout-pricing\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RecurlyContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _package = require(\"../package.json\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; 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 _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 () { 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\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\nvar RecurlyContext = _react[\"default\"].createContext({\n recurly: null\n});\n\nexports.RecurlyContext = RecurlyContext;\nvar Provider = RecurlyContext.Provider;\n/**\n * This is the top-level component for `react-recurly`, and must wrap any other\n * `react-recurly` component you will use. It is responsible for creating a `Recurly.js`\n * instance for any descendant components to interact with.\n *\n * This component accepts your `publicKey` and other configuration options for Recurly.js as props.\n */\n\nvar RecurlyProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(RecurlyProvider, _React$Component);\n\n var _super = _createSuper(RecurlyProvider);\n\n function RecurlyProvider(props) {\n var _this;\n\n _classCallCheck(this, RecurlyProvider);\n\n _this = _super.call(this, props);\n\n if (!_this.props.publicKey) {\n throw new Error(\"\\n Please pass your 'publicKey' value to this RecurlyProvider.\\n Example: \\n \");\n } // TODO: ensure proper shape?\n\n\n if (!window.recurly || !window.recurly.Recurly) {\n throw new Error(\"\\n Please load Recurly.js (https://js.recurly.com/v4/recurly.js) on this page prior to\\n loading your React application.\\n \");\n }\n\n var _this$props = _this.props,\n children = _this$props.children,\n options = _objectWithoutProperties(_this$props, [\"children\"]);\n\n _this._recurly = fetchRecurlyInstance(options);\n\n if (!RecurlyProvider.hasReportedInitialization && _this._recurly.report) {\n _this._recurly.ready(function () {\n _this._recurly.report('react-recurly', {\n version: _package.version\n });\n });\n\n RecurlyProvider.hasReportedInitialization = true;\n }\n\n return _this;\n }\n\n _createClass(RecurlyProvider, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(Provider, {\n value: {\n recurly: this._recurly\n }\n }, this.props.children);\n }\n }]);\n\n return RecurlyProvider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = RecurlyProvider;\n\n_defineProperty(RecurlyProvider, \"propTypes\", {\n /**\n * Your Recurly public key. See\n * [API Access](https://app.recurly.com/go/developer/api_access).\n */\n publicKey: _propTypes[\"default\"].string,\n\n /**\n * Sets a default currency\n */\n currency: _propTypes[\"default\"].string,\n\n /**\n * Adds additional field requirements for tokenization. ex: ['cvv']\n */\n required: _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string),\n\n /**\n * API request timeout in ms\n */\n timeout: _propTypes[\"default\"].number,\n\n /**\n * Fraud configuration. See the\n * [Recurly-js docs on fraud configuration](https://developers.recurly.com/reference/recurly-js/index.html#fraud)\n */\n fraud: _propTypes[\"default\"].shape({\n kount: _propTypes[\"default\"].shape({\n dataCollector: _propTypes[\"default\"].bool\n }),\n braintree: _propTypes[\"default\"].shape({\n deviceData: _propTypes[\"default\"].string\n }),\n litle: _propTypes[\"default\"].shape({\n sessionId: _propTypes[\"default\"].string\n })\n })\n});\n\n_defineProperty(RecurlyProvider, \"defaultProps\", {\n publicKey: ''\n});\n\n;\n/**\n * Retrieves a recurly instance from a cache on the Recurly class, or creates one\n * if none found on the cache key. This is used when the Provider is being\n * regularly re-instantiated\n *\n * @param {object} options instance instantiation options\n * @return {Recurly}\n */\n\nfunction fetchRecurlyInstance(options) {\n var cache = window.recurly.Recurly.__instanceCache = window.recurly.Recurly.__instanceCache || {};\n var key = JSON.stringify(options);\n var recurly = cache[key] || new window.recurly.Recurly();\n recurly.configure(options);\n cache[key] = recurly;\n return recurly;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RISK_STRATEGIES = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 () { 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\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\nvar RISK_STRATEGIES = ['kount'];\n/**\n * Injects risk data collection point in your checkout.\n *\n * \n */\n\nexports.RISK_STRATEGIES = RISK_STRATEGIES;\n\nvar RiskDataCollector = /*#__PURE__*/function (_React$Component) {\n _inherits(RiskDataCollector, _React$Component);\n\n var _super = _createSuper(RiskDataCollector);\n\n function RiskDataCollector(props, context) {\n var _this;\n\n _classCallCheck(this, RiskDataCollector);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error(' must be within a tree.');\n }\n /**\n * TODO\n * Once recurly.Fraud is decommissioned in favor of recurly.Risk.FraudConcern,\n * this will change to consume a RiskProvider.\n */\n\n\n _this._container = _react[\"default\"].createRef();\n _this._recurly = _this.context.recurly;\n return _this;\n }\n\n _createClass(RiskDataCollector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var container = this._container,\n recurly = this._recurly;\n var _this$props = this.props,\n strategy = _this$props.strategy,\n onError = _this$props.onError;\n recurly.configure({\n fraud: _defineProperty({}, strategy, {\n dataCollector: true,\n form: container.current\n })\n });\n var fraud = this._fraud = recurly.fraud;\n fraud.on('error', function () {\n return onError.apply(void 0, arguments);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: this.props.id,\n className: this.props.className,\n ref: this._container\n });\n }\n }]);\n\n return RiskDataCollector;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = RiskDataCollector;\n\n_defineProperty(RiskDataCollector, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * Risk data collection strategy.\n *\n * Possible values: 'kount'\n */\n strategy: _propTypes[\"default\"].oneOf(RISK_STRATEGIES),\n\n /**\n * Called when an error is encountered\n * @type {FraudDataCollector~onError}\n */\n\n /**\n * @callback FraudDataCollector~onError\n * @param {RecurlyError}\n */\n onError: _propTypes[\"default\"].func\n});\n\n_defineProperty(RiskDataCollector, \"defaultProps\", {\n id: undefined,\n className: undefined,\n strategy: RISK_STRATEGIES[0],\n onError: function onError(e) {\n throw e;\n }\n});\n\n_defineProperty(RiskDataCollector, \"contextType\", _provider.RecurlyContext);\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 _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _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 () { 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\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\nvar ThreeDSecureAction = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(ThreeDSecureAction, _React$PureComponent);\n\n var _super = _createSuper(ThreeDSecureAction);\n\n function ThreeDSecureAction(props, context) {\n var _this;\n\n _classCallCheck(this, ThreeDSecureAction);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error(' must be within a tree.');\n }\n\n var actionTokenId = props.actionTokenId;\n _this._container = _react[\"default\"].createRef();\n _this._risk = _this.context.recurly.Risk();\n _this._threeDSecure = _this._risk.ThreeDSecure({\n actionTokenId: actionTokenId\n });\n\n _this._threeDSecure.on('token', function () {\n var _this$props;\n\n return (_this$props = _this.props).onToken.apply(_this$props, arguments);\n });\n\n _this._threeDSecure.on('error', function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onError.apply(_this$props2, arguments);\n });\n\n return _this;\n }\n\n _createClass(ThreeDSecureAction, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._threeDSecure.attach(this._container.current);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: this.props.id,\n className: this.props.className,\n ref: this._container\n });\n }\n }]);\n\n return ThreeDSecureAction;\n}(_react[\"default\"].PureComponent);\n\nexports[\"default\"] = ThreeDSecureAction;\n\n_defineProperty(ThreeDSecureAction, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * `three_d_secure_action_token_id` returned by the Recurly API when 3-D Secure\n * authentication is required for a transaction.\n */\n actionTokenId: _propTypes[\"default\"].string,\n\n /**\n * Called when the user has completed the 3D Secure flow\n * @type {ThreeDSecureAction~onToken}\n */\n\n /**\n * @callback ThreeDSecureAction~onToken\n * @param {ThreeDSecureActionResultToken}\n */\n onToken: _propTypes[\"default\"].func,\n\n /**\n * Called when an error is encountered\n * @type {ThreeDSecureAction~onError}\n */\n\n /**\n * @callback ThreeDSecureAction~onError\n * @param {RecurlyError}\n */\n onError: _propTypes[\"default\"].func\n});\n\n_defineProperty(ThreeDSecureAction, \"defaultProps\", {\n id: undefined,\n className: undefined,\n actionTokenId: '',\n onToken: function onToken() {},\n onError: function onError(e) {\n throw e;\n }\n});\n\n_defineProperty(ThreeDSecureAction, \"contextType\", _provider.RecurlyContext);\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useCheckoutPricing;\nexports.throwError = throwError;\n\nvar _react = require(\"react\");\n\nvar _useRecurly = _interopRequireDefault(require(\"./use-recurly\"));\n\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @typedef {Object} address\n * @property {String} country\n * @property {String} postalCode\n * @property {String} vatNumber\n */\n\n/**\n * useCheckoutPricing interface\n * @typedef {Object} useCheckoutPricingInterface\n * @property {Array} subscriptions\n * @property {Array} adjustments\n * @property {String} currency\n * @property {address} address\n * @property {address} shippingAddress\n * @property {String} coupon\n * @property {String} giftCard\n * @property {Object} tax\n */\n\n/**\n * A custom hook for interfacing with recurly.js' checkoutPricing API meant to mimic the call signature, return\n * type, and behavior of `react.useState`.\n *\n * Accepts an `initialInputs` param (same as useState) and an error handling function.\n *\n * Returns a tuple with an output object and an update function similar to useState.\n *\n * @typedef {Object} output\n * @property {Object} price\n * @property {Object} pricing\n * @property {Boolean} loading\n *\n * @typedef {Function} setPricing\n * @typedef {[output, setPricing]} useCheckoutPricingInstance\n *\n * @param {PricingInput} useCheckoutPricingInterface\n * @param {function} handleError\n * @returns {useCheckoutPricingInstance} useCheckoutPricingInstance\n */\nfunction useCheckoutPricing(initialInputs) {\n var handleError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : throwError;\n var recurly = (0, _useRecurly[\"default\"])();\n\n var _useState = (0, _react.useState)(true),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n var _useState3 = (0, _react.useState)(initialInputs || {}),\n _useState4 = _slicedToArray(_useState3, 2),\n input = _useState4[0],\n setInput = _useState4[1];\n\n var _useState5 = (0, _react.useState)(recurly.Pricing.Checkout()),\n _useState6 = _slicedToArray(_useState5, 2),\n pricing = _useState6[0],\n setPricing = _useState6[1];\n\n (0, _react.useEffect)(function () {\n setLoading(true);\n\n var _input$subscriptions = input.subscriptions,\n subscriptions = _input$subscriptions === void 0 ? [] : _input$subscriptions,\n _input$adjustments = input.adjustments,\n adjustments = _input$adjustments === void 0 ? [] : _input$adjustments,\n restInputs = _objectWithoutProperties(input, [\"subscriptions\", \"adjustments\"]);\n\n var checkoutPricing = recurly.Pricing.Checkout();\n addSubscriptions(subscriptions, checkoutPricing).then(function () {\n checkoutPricing = addAdjustments(adjustments, checkoutPricing);\n checkoutPricing = addRestInputs(restInputs, checkoutPricing);\n checkoutPricing = checkoutPricing.reprice().done(function () {\n setPricing(checkoutPricing);\n setLoading(false);\n });\n });\n\n function addAdjustments(adjustments, checkoutPricing) {\n if (!adjustments.length) return checkoutPricing.reprice();\n return adjustments.reduce(function (checkoutPricing, adjustment) {\n return checkoutPricing.adjustment(adjustment)[\"catch\"](handleError);\n }, checkoutPricing);\n }\n\n ;\n\n function addRestInputs(restInputs, checkoutPricing) {\n var restInputsEntries = Object.entries(restInputs);\n if (!restInputsEntries.length) return checkoutPricing.reprice();\n var PRICING_METHODS = checkoutPricing.pricing.PRICING_METHODS;\n var exclude = ['reset', 'remove', 'reprice', 'subscription', 'adjustment', 'addon', 'plan'];\n var permittedInputs = PRICING_METHODS.filter(function (method) {\n return !exclude.includes(method);\n });\n return restInputsEntries.reduce(function (acc, input) {\n var _input = _slicedToArray(input, 2),\n method = _input[0],\n value = _input[1];\n\n var shouldCallPricingMethod = value && permittedInputs.includes(method);\n return shouldCallPricingMethod ? acc[method](value)[\"catch\"](handleError) : acc;\n }, checkoutPricing);\n }\n\n ;\n\n function addSubscriptions(subscriptions, checkoutPricing) {\n var _subscriptions$reduce = subscriptions.reduce(function (_ref, _ref2) {\n var checkoutPricing = _ref.checkoutPricing,\n subscriptionPricings = _ref.subscriptionPricings;\n var plan = _ref2.plan,\n tax = _ref2.tax,\n _ref2$addons = _ref2.addons,\n addons = _ref2$addons === void 0 ? [] : _ref2$addons,\n quantity = _ref2.quantity;\n var subscriptionPricing;\n\n if (restInputs.currency) {\n subscriptionPricing = recurly.Pricing.Subscription().currency(restInputs.currency).plan(plan, {\n quantity: quantity\n });\n } else {\n subscriptionPricing = recurly.Pricing.Subscription().plan(plan, {\n quantity: quantity\n });\n }\n\n if (addons.length) {\n subscriptionPricing = addAddons(addons, subscriptionPricing);\n }\n\n if (tax) {\n subscriptionPricing = subscriptionPricing.tax(tax);\n }\n\n subscriptionPricing = subscriptionPricing[\"catch\"](handleError);\n return {\n checkoutPricing: checkoutPricing.subscription(subscriptionPricing.done())[\"catch\"](handleError),\n subscriptionPricings: [].concat(_toConsumableArray(subscriptionPricings), [subscriptionPricing])\n };\n }, {\n checkoutPricing: checkoutPricing,\n subscriptionPricings: []\n }),\n subscriptionPricings = _subscriptions$reduce.subscriptionPricings;\n\n return Promise.all(subscriptionPricings);\n }\n\n ;\n\n function addAddons() {\n var addons = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var subscriptionPricing = arguments.length > 1 ? arguments[1] : undefined;\n return addons.reduce(function (subscriptionPricing, _ref3) {\n var code = _ref3.code,\n quantity = _ref3.quantity;\n return subscriptionPricing.addon(code, {\n quantity: quantity\n });\n }, subscriptionPricing)[\"catch\"](handleError);\n }\n\n ;\n }, [input, handleError, recurly.Pricing]);\n var pricingState = {\n price: pricing && (0, _cloneDeep[\"default\"])(pricing.price) || {},\n loading: loading\n };\n return [pricingState, setInput, pricing];\n}\n\n;\n\nfunction throwError(err) {\n throw err;\n}\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useRecurly;\n\nvar _react = require(\"react\");\n\nvar _elements = require(\"./elements\");\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\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 * Provides a recurly instance bound to the provider tree\n */\nfunction useRecurly() {\n var elementsContext = (0, _react.useContext)(_elements.RecurlyElementsContext);\n\n if (!elementsContext || !elementsContext.elements) {\n throw new Error(\"It looks like you are trying to use Recurly outside of an Elements context.\\n Please be sure the component that calls 'useRecurly' is within an component.\");\n }\n\n var elements = elementsContext.elements;\n\n var recurly = _objectSpread(_objectSpread({}, elements.recurly), {}, {\n // Provide a curried token method to bind the elements from the closest context\n token: function token() {\n var _elements$recurly;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_elements$recurly = elements.recurly).token.apply(_elements$recurly, [elements].concat(args));\n }\n });\n\n Object.setPrototypeOf(recurly, elements.recurly);\n return recurly;\n}","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n Session,\n SessionContext,\n Severity,\n SeverityLevel,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport {\n consoleSandbox,\n dateTimestampInSeconds,\n getGlobalSingleton,\n GLOBAL_OBJ,\n isNodeEnv,\n logger,\n uuid4,\n} from '@sentry/utils';\n\nimport { Scope } from './scope';\nimport { closeSession, makeSession, updateSession } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n client?: Client;\n scope?: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: {\n hub?: Hub;\n /**\n * Extra Hub properties injected by various SDKs\n */\n integrations?: Integration[];\n extensions?: {\n /** Hack to prevent bundlers from breaking our usage of the domain package in the cross-platform Hub package */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n domain?: { [key: string]: any };\n } & {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[] = [{}];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope | undefined {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error('Sentry syntheticException');\n this._withClient((client, scope) => {\n client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level?: Severity | SeverityLevel,\n hint?: EventHint,\n ): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error(message);\n this._withClient((client, scope) => {\n client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._withClient((client, scope) => {\n client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n __DEBUG_BUILD__ && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(endSession: boolean = false): void {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const layer = this.getStackTop();\n const scope = layer && layer.scope;\n const session = scope && scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n public shouldSendDefaultPii(): boolean {\n const client = this.getClient();\n const options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n\n /**\n * Sends the current Session on the scope\n */\n private _sendSessionUpdate(): void {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n private _withClient(callback: (client: Client, scope: Scope | undefined) => void): void {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(client, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n __DEBUG_BUILD__ && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return GLOBAL_OBJ;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n try {\n const sentry = getMainCarrier().__SENTRY__;\n const activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n","/* eslint-disable max-lines */\nimport {\n Attachment,\n Breadcrumb,\n CaptureContext,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n Session,\n Severity,\n SeverityLevel,\n Span,\n Transaction,\n User,\n} from '@sentry/types';\nimport {\n arrayify,\n dateTimestampInSeconds,\n getGlobalSingleton,\n isPlainObject,\n isThenable,\n logger,\n SyncPromise,\n} from '@sentry/utils';\n\nimport { updateSession } from './session';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nexport class Scope implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void>;\n\n /** Callback list that will be called after {@link applyToEvent}. */\n protected _eventProcessors: EventProcessor[];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[];\n\n /** User */\n protected _user: User;\n\n /** Tags */\n protected _tags: { [key: string]: Primitive };\n\n /** Extra */\n protected _extra: Extras;\n\n /** Contexts */\n protected _contexts: Contexts;\n\n /** Attachments */\n protected _attachments: Attachment[];\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata: { [key: string]: unknown };\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n // eslint-disable-next-line deprecation/deprecation\n protected _level?: Severity | SeverityLevel;\n\n /** Transaction Name */\n protected _transactionName?: string;\n\n /** Span */\n protected _span?: Span;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n public constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n }\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n public static clone(scope?: Scope): Scope {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n newScope._attachments = [...scope._attachments];\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n this._user = user || {};\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(\n // eslint-disable-next-line deprecation/deprecation\n level: Severity | SeverityLevel,\n ): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSpan(span?: Span): this {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSpan(): Span | undefined {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n public getTransaction(): Transaction | undefined {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext as (scope: T) => T)(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext as ScopeContext;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n this._attachments = [];\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addAttachment(attachment: Attachment): this {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getAttachments(): Attachment[] {\n return this._attachments;\n }\n\n /**\n * @inheritDoc\n */\n public clearAttachments(): this {\n this._attachments = [];\n return this;\n }\n\n /**\n * Applies data from the scope to the event and runs all event processors on it.\n *\n * @param event Event\n * @param hint Object containing additional information about the original exception, for use by the event processors.\n * @hidden\n */\n public applyToEvent(event: Event, hint: EventHint = {}): PromiseLike {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, ...this._sdkProcessingMetadata };\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n protected _notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint: EventHint,\n index: number = 0,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n\n __DEBUG_BUILD__ &&\n processor.id &&\n result === null &&\n logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n private _applyFingerprint(event: Event): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors(): EventProcessor[] {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback: EventProcessor): void {\n getGlobalEventProcessors().push(callback);\n}\n","import { SerializedSession, Session, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nexport function makeSession(context?: Omit): Session {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session: Session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nexport function updateSession(session: Session, context: SessionContext = {}): void {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nexport function closeSession(session: Session, status?: Exclude): void {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session: Session): SerializedSession {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n","import { addInstrumentationHandler, logger } from '@sentry/utils';\n\nimport { SpanStatusType } from './span';\nimport { getActiveTransaction } from './utils';\n\n/**\n * Configures global error listeners\n */\nexport function registerErrorInstrumentation(): void {\n addInstrumentationHandler('error', errorCallback);\n addInstrumentationHandler('unhandledrejection', errorCallback);\n}\n\n/**\n * If an error or unhandled promise occurs, we mark the active transaction as failed\n */\nfunction errorCallback(): void {\n const activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n const status: SpanStatusType = 'internal_error';\n __DEBUG_BUILD__ && logger.log(`[Tracing] Transaction: ${status} -> Global error occured`);\n activeTransaction.setStatus(status);\n }\n}\n","import { getMainCarrier, Hub } from '@sentry/core';\nimport {\n ClientOptions,\n CustomSamplingContext,\n Integration,\n IntegrationClass,\n Options,\n SamplingContext,\n TransactionContext,\n} from '@sentry/types';\nimport { dynamicRequire, isNaN, isNodeEnv, loadModule, logger } from '@sentry/utils';\n\nimport { registerErrorInstrumentation } from './errors';\nimport { IdleTransaction } from './idletransaction';\nimport { Transaction } from './transaction';\nimport { hasTracingEnabled } from './utils';\n\n/** Returns all trace headers that are currently on the top scope. */\nfunction traceHeaders(this: Hub): { [key: string]: string } {\n const scope = this.getScope();\n if (scope) {\n const span = scope.getSpan();\n if (span) {\n return {\n 'sentry-trace': span.toTraceparent(),\n };\n }\n }\n return {};\n}\n\n/**\n * Makes a sampling decision for the given transaction and stores it on the transaction.\n *\n * Called every time a transaction is created. Only transactions which emerge with a `sampled` value of `true` will be\n * sent to Sentry.\n *\n * @param transaction: The transaction needing a sampling decision\n * @param options: The current client's options, so we can access `tracesSampleRate` and/or `tracesSampler`\n * @param samplingContext: Default and user-provided data which may be used to help make the decision\n *\n * @returns The given transaction with its `sampled` value set\n */\nfunction sample(\n transaction: T,\n options: Pick,\n samplingContext: SamplingContext,\n): T {\n // nothing to do if tracing is not enabled\n if (!hasTracingEnabled(options)) {\n transaction.sampled = false;\n return transaction;\n }\n\n // if the user has forced a sampling decision by passing a `sampled` value in their transaction context, go with that\n if (transaction.sampled !== undefined) {\n transaction.setMetadata({\n sampleRate: Number(transaction.sampled),\n });\n return transaction;\n }\n\n // we would have bailed already if neither `tracesSampler` nor `tracesSampleRate` were defined, so one of these should\n // work; prefer the hook if so\n let sampleRate;\n if (typeof options.tracesSampler === 'function') {\n sampleRate = options.tracesSampler(samplingContext);\n transaction.setMetadata({\n sampleRate: Number(sampleRate),\n });\n } else if (samplingContext.parentSampled !== undefined) {\n sampleRate = samplingContext.parentSampled;\n } else {\n sampleRate = options.tracesSampleRate;\n transaction.setMetadata({\n sampleRate: Number(sampleRate),\n });\n }\n\n // Since this is coming from the user (or from a function provided by the user), who knows what we might get. (The\n // only valid values are booleans or numbers between 0 and 1.)\n if (!isValidSampleRate(sampleRate)) {\n __DEBUG_BUILD__ && logger.warn('[Tracing] Discarding transaction because of invalid sample rate.');\n transaction.sampled = false;\n return transaction;\n }\n\n // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n if (!sampleRate) {\n __DEBUG_BUILD__ &&\n logger.log(\n `[Tracing] Discarding transaction because ${\n typeof options.tracesSampler === 'function'\n ? 'tracesSampler returned 0 or false'\n : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'\n }`,\n );\n transaction.sampled = false;\n return transaction;\n }\n\n // Now we roll the dice. Math.random is inclusive of 0, but not of 1, so strict < is safe here. In case sampleRate is\n // a boolean, the < comparison will cause it to be automatically cast to 1 if it's true and 0 if it's false.\n transaction.sampled = Math.random() < (sampleRate as number | boolean);\n\n // if we're not going to keep it, we're done\n if (!transaction.sampled) {\n __DEBUG_BUILD__ &&\n logger.log(\n `[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(\n sampleRate,\n )})`,\n );\n return transaction;\n }\n\n __DEBUG_BUILD__ && logger.log(`[Tracing] starting ${transaction.op} transaction - ${transaction.name}`);\n return transaction;\n}\n\n/**\n * Checks the given sample rate to make sure it is valid type and value (a boolean, or a number between 0 and 1).\n */\nfunction isValidSampleRate(rate: unknown): boolean {\n // we need to check NaN explicitly because it's of type 'number' and therefore wouldn't get caught by this typecheck\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isNaN(rate) || !(typeof rate === 'number' || typeof rate === 'boolean')) {\n __DEBUG_BUILD__ &&\n logger.warn(\n `[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n rate,\n )} of type ${JSON.stringify(typeof rate)}.`,\n );\n return false;\n }\n\n // in case sampleRate is a boolean, it will get automatically cast to 1 if it's true and 0 if it's false\n if (rate < 0 || rate > 1) {\n __DEBUG_BUILD__ &&\n logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${rate}.`);\n return false;\n }\n return true;\n}\n\n/**\n * Creates a new transaction and adds a sampling decision if it doesn't yet have one.\n *\n * The Hub.startTransaction method delegates to this method to do its work, passing the Hub instance in as `this`, as if\n * it had been called on the hub directly. Exists as a separate function so that it can be injected into the class as an\n * \"extension method.\"\n *\n * @param this: The Hub starting the transaction\n * @param transactionContext: Data used to configure the transaction\n * @param CustomSamplingContext: Optional data to be provided to the `tracesSampler` function (if any)\n *\n * @returns The new transaction\n *\n * @see {@link Hub.startTransaction}\n */\nfunction _startTransaction(\n this: Hub,\n transactionContext: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): Transaction {\n const client = this.getClient();\n const options: Partial = (client && client.getOptions()) || {};\n\n let transaction = new Transaction(transactionContext, this);\n transaction = sample(transaction, options, {\n parentSampled: transactionContext.parentSampled,\n transactionContext,\n ...customSamplingContext,\n });\n if (transaction.sampled) {\n transaction.initSpanRecorder(options._experiments && (options._experiments.maxSpans as number));\n }\n return transaction;\n}\n\n/**\n * Create new idle transaction.\n */\nexport function startIdleTransaction(\n hub: Hub,\n transactionContext: TransactionContext,\n idleTimeout: number,\n finalTimeout: number,\n onScope?: boolean,\n customSamplingContext?: CustomSamplingContext,\n heartbeatInterval?: number,\n): IdleTransaction {\n const client = hub.getClient();\n const options: Partial = (client && client.getOptions()) || {};\n\n let transaction = new IdleTransaction(transactionContext, hub, idleTimeout, finalTimeout, heartbeatInterval, onScope);\n transaction = sample(transaction, options, {\n parentSampled: transactionContext.parentSampled,\n transactionContext,\n ...customSamplingContext,\n });\n if (transaction.sampled) {\n transaction.initSpanRecorder(options._experiments && (options._experiments.maxSpans as number));\n }\n return transaction;\n}\n\n/**\n * @private\n */\nexport function _addTracingExtensions(): void {\n const carrier = getMainCarrier();\n if (!carrier.__SENTRY__) {\n return;\n }\n carrier.__SENTRY__.extensions = carrier.__SENTRY__.extensions || {};\n if (!carrier.__SENTRY__.extensions.startTransaction) {\n carrier.__SENTRY__.extensions.startTransaction = _startTransaction;\n }\n if (!carrier.__SENTRY__.extensions.traceHeaders) {\n carrier.__SENTRY__.extensions.traceHeaders = traceHeaders;\n }\n}\n\n/**\n * @private\n */\nfunction _autoloadDatabaseIntegrations(): void {\n const carrier = getMainCarrier();\n if (!carrier.__SENTRY__) {\n return;\n }\n\n const packageToIntegrationMapping: Record Integration> = {\n mongodb() {\n const integration = dynamicRequire(module, './integrations/node/mongo') as {\n Mongo: IntegrationClass;\n };\n return new integration.Mongo();\n },\n mongoose() {\n const integration = dynamicRequire(module, './integrations/node/mongo') as {\n Mongo: IntegrationClass;\n };\n return new integration.Mongo({ mongoose: true });\n },\n mysql() {\n const integration = dynamicRequire(module, './integrations/node/mysql') as {\n Mysql: IntegrationClass;\n };\n return new integration.Mysql();\n },\n pg() {\n const integration = dynamicRequire(module, './integrations/node/postgres') as {\n Postgres: IntegrationClass;\n };\n return new integration.Postgres();\n },\n };\n\n const mappedPackages = Object.keys(packageToIntegrationMapping)\n .filter(moduleName => !!loadModule(moduleName))\n .map(pkg => {\n try {\n return packageToIntegrationMapping[pkg]();\n } catch (e) {\n return undefined;\n }\n })\n .filter(p => p) as Integration[];\n\n if (mappedPackages.length > 0) {\n carrier.__SENTRY__.integrations = [...(carrier.__SENTRY__.integrations || []), ...mappedPackages];\n }\n}\n\n/**\n * This patches the global object and injects the Tracing extensions methods\n */\nexport function addExtensionMethods(): void {\n _addTracingExtensions();\n\n // Detect and automatically load specified integrations.\n if (isNodeEnv()) {\n _autoloadDatabaseIntegrations();\n }\n\n // If an error happens globally, we should make sure transaction status is set to error.\n registerErrorInstrumentation();\n}\n","/* eslint-disable max-lines */\nimport { Hub } from '@sentry/core';\nimport { TransactionContext } from '@sentry/types';\nimport { logger, timestampWithMs } from '@sentry/utils';\n\nimport { Span, SpanRecorder } from './span';\nimport { Transaction } from './transaction';\n\nexport const DEFAULT_IDLE_TIMEOUT = 1000;\nexport const DEFAULT_FINAL_TIMEOUT = 30000;\nexport const DEFAULT_HEARTBEAT_INTERVAL = 5000;\n\n/**\n * @inheritDoc\n */\nexport class IdleTransactionSpanRecorder extends SpanRecorder {\n public constructor(\n private readonly _pushActivity: (id: string) => void,\n private readonly _popActivity: (id: string) => void,\n public transactionSpanId: string,\n maxlen?: number,\n ) {\n super(maxlen);\n }\n\n /**\n * @inheritDoc\n */\n public add(span: Span): void {\n // We should make sure we do not push and pop activities for\n // the transaction that this span recorder belongs to.\n if (span.spanId !== this.transactionSpanId) {\n // We patch span.finish() to pop an activity after setting an endTimestamp.\n span.finish = (endTimestamp?: number) => {\n span.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampWithMs();\n this._popActivity(span.spanId);\n };\n\n // We should only push new activities if the span does not have an end timestamp.\n if (span.endTimestamp === undefined) {\n this._pushActivity(span.spanId);\n }\n }\n\n super.add(span);\n }\n}\n\nexport type BeforeFinishCallback = (transactionSpan: IdleTransaction, endTimestamp: number) => void;\n\n/**\n * An IdleTransaction is a transaction that automatically finishes. It does this by tracking child spans as activities.\n * You can have multiple IdleTransactions active, but if the `onScope` option is specified, the idle transaction will\n * put itself on the scope on creation.\n */\nexport class IdleTransaction extends Transaction {\n // Activities store a list of active spans\n public activities: Record = {};\n\n // Track state of activities in previous heartbeat\n private _prevHeartbeatString: string | undefined;\n\n // Amount of times heartbeat has counted. Will cause transaction to finish after 3 beats.\n private _heartbeatCounter: number = 0;\n\n // We should not use heartbeat if we finished a transaction\n private _finished: boolean = false;\n\n private readonly _beforeFinishCallbacks: BeforeFinishCallback[] = [];\n\n /**\n * Timer that tracks Transaction idleTimeout\n */\n private _idleTimeoutID: ReturnType | undefined;\n\n public constructor(\n transactionContext: TransactionContext,\n private readonly _idleHub: Hub,\n /**\n * The time to wait in ms until the idle transaction will be finished. This timer is started each time\n * there are no active spans on this transaction.\n */\n private readonly _idleTimeout: number = DEFAULT_IDLE_TIMEOUT,\n /**\n * The final value in ms that a transaction cannot exceed\n */\n private readonly _finalTimeout: number = DEFAULT_FINAL_TIMEOUT,\n private readonly _heartbeatInterval: number = DEFAULT_HEARTBEAT_INTERVAL,\n // Whether or not the transaction should put itself on the scope when it starts and pop itself off when it ends\n private readonly _onScope: boolean = false,\n ) {\n super(transactionContext, _idleHub);\n\n if (_onScope) {\n // There should only be one active transaction on the scope\n clearActiveTransaction(_idleHub);\n\n // We set the transaction here on the scope so error events pick up the trace\n // context and attach it to the error.\n __DEBUG_BUILD__ && logger.log(`Setting idle transaction on scope. Span ID: ${this.spanId}`);\n _idleHub.configureScope(scope => scope.setSpan(this));\n }\n\n this._startIdleTimeout();\n setTimeout(() => {\n if (!this._finished) {\n this.setStatus('deadline_exceeded');\n this.finish();\n }\n }, this._finalTimeout);\n }\n\n /** {@inheritDoc} */\n public finish(endTimestamp: number = timestampWithMs()): string | undefined {\n this._finished = true;\n this.activities = {};\n\n if (this.spanRecorder) {\n __DEBUG_BUILD__ &&\n logger.log('[Tracing] finishing IdleTransaction', new Date(endTimestamp * 1000).toISOString(), this.op);\n\n for (const callback of this._beforeFinishCallbacks) {\n callback(this, endTimestamp);\n }\n\n this.spanRecorder.spans = this.spanRecorder.spans.filter((span: Span) => {\n // If we are dealing with the transaction itself, we just return it\n if (span.spanId === this.spanId) {\n return true;\n }\n\n // We cancel all pending spans with status \"cancelled\" to indicate the idle transaction was finished early\n if (!span.endTimestamp) {\n span.endTimestamp = endTimestamp;\n span.setStatus('cancelled');\n __DEBUG_BUILD__ &&\n logger.log('[Tracing] cancelling span since transaction ended early', JSON.stringify(span, undefined, 2));\n }\n\n const keepSpan = span.startTimestamp < endTimestamp;\n if (!keepSpan) {\n __DEBUG_BUILD__ &&\n logger.log(\n '[Tracing] discarding Span since it happened after Transaction was finished',\n JSON.stringify(span, undefined, 2),\n );\n }\n return keepSpan;\n });\n\n __DEBUG_BUILD__ && logger.log('[Tracing] flushing IdleTransaction');\n } else {\n __DEBUG_BUILD__ && logger.log('[Tracing] No active IdleTransaction');\n }\n\n // if `this._onScope` is `true`, the transaction put itself on the scope when it started\n if (this._onScope) {\n clearActiveTransaction(this._idleHub);\n }\n\n return super.finish(endTimestamp);\n }\n\n /**\n * Register a callback function that gets excecuted before the transaction finishes.\n * Useful for cleanup or if you want to add any additional spans based on current context.\n *\n * This is exposed because users have no other way of running something before an idle transaction\n * finishes.\n */\n public registerBeforeFinishCallback(callback: BeforeFinishCallback): void {\n this._beforeFinishCallbacks.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public initSpanRecorder(maxlen?: number): void {\n if (!this.spanRecorder) {\n const pushActivity = (id: string): void => {\n if (this._finished) {\n return;\n }\n this._pushActivity(id);\n };\n const popActivity = (id: string): void => {\n if (this._finished) {\n return;\n }\n this._popActivity(id);\n };\n\n this.spanRecorder = new IdleTransactionSpanRecorder(pushActivity, popActivity, this.spanId, maxlen);\n\n // Start heartbeat so that transactions do not run forever.\n __DEBUG_BUILD__ && logger.log('Starting heartbeat');\n this._pingHeartbeat();\n }\n this.spanRecorder.add(this);\n }\n\n /**\n * Cancels the existing idletimeout, if there is one\n */\n private _cancelIdleTimeout(): void {\n if (this._idleTimeoutID) {\n clearTimeout(this._idleTimeoutID);\n this._idleTimeoutID = undefined;\n }\n }\n\n /**\n * Creates an idletimeout\n */\n private _startIdleTimeout(endTimestamp?: Parameters[0]): void {\n this._cancelIdleTimeout();\n this._idleTimeoutID = setTimeout(() => {\n if (!this._finished && Object.keys(this.activities).length === 0) {\n this.finish(endTimestamp);\n }\n }, this._idleTimeout);\n }\n\n /**\n * Start tracking a specific activity.\n * @param spanId The span id that represents the activity\n */\n private _pushActivity(spanId: string): void {\n this._cancelIdleTimeout();\n __DEBUG_BUILD__ && logger.log(`[Tracing] pushActivity: ${spanId}`);\n this.activities[spanId] = true;\n __DEBUG_BUILD__ && logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n\n /**\n * Remove an activity from usage\n * @param spanId The span id that represents the activity\n */\n private _popActivity(spanId: string): void {\n if (this.activities[spanId]) {\n __DEBUG_BUILD__ && logger.log(`[Tracing] popActivity ${spanId}`);\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.activities[spanId];\n __DEBUG_BUILD__ && logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n\n if (Object.keys(this.activities).length === 0) {\n // We need to add the timeout here to have the real endtimestamp of the transaction\n // Remember timestampWithMs is in seconds, timeout is in ms\n const endTimestamp = timestampWithMs() + this._idleTimeout / 1000;\n this._startIdleTimeout(endTimestamp);\n }\n }\n\n /**\n * Checks when entries of this.activities are not changing for 3 beats.\n * If this occurs we finish the transaction.\n */\n private _beat(): void {\n // We should not be running heartbeat if the idle transaction is finished.\n if (this._finished) {\n return;\n }\n\n const heartbeatString = Object.keys(this.activities).join('');\n\n if (heartbeatString === this._prevHeartbeatString) {\n this._heartbeatCounter += 1;\n } else {\n this._heartbeatCounter = 1;\n }\n\n this._prevHeartbeatString = heartbeatString;\n\n if (this._heartbeatCounter >= 3) {\n __DEBUG_BUILD__ && logger.log('[Tracing] Transaction finished because of no change for 3 heart beats');\n this.setStatus('deadline_exceeded');\n this.finish();\n } else {\n this._pingHeartbeat();\n }\n }\n\n /**\n * Pings the heartbeat\n */\n private _pingHeartbeat(): void {\n __DEBUG_BUILD__ && logger.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`);\n setTimeout(() => {\n this._beat();\n }, this._heartbeatInterval);\n }\n}\n\n/**\n * Reset transaction on scope to `undefined`\n */\nfunction clearActiveTransaction(hub: Hub): void {\n const scope = hub.getScope();\n if (scope) {\n const transaction = scope.getTransaction();\n if (transaction) {\n scope.setSpan(undefined);\n }\n }\n}\n","/* eslint-disable max-lines */\nimport { Primitive, Span as SpanInterface, SpanContext, Transaction } from '@sentry/types';\nimport { dropUndefinedKeys, logger, timestampWithMs, uuid4 } from '@sentry/utils';\n\n/**\n * Keeps track of finished spans for a given transaction\n * @internal\n * @hideconstructor\n * @hidden\n */\nexport class SpanRecorder {\n public spans: Span[] = [];\n\n private readonly _maxlen: number;\n\n public constructor(maxlen: number = 1000) {\n this._maxlen = maxlen;\n }\n\n /**\n * This is just so that we don't run out of memory while recording a lot\n * of spans. At some point we just stop and flush out the start of the\n * trace tree (i.e.the first n spans with the smallest\n * start_timestamp).\n */\n public add(span: Span): void {\n if (this.spans.length > this._maxlen) {\n span.spanRecorder = undefined;\n } else {\n this.spans.push(span);\n }\n }\n}\n\n/**\n * Span contains all data about a span\n */\nexport class Span implements SpanInterface {\n /**\n * @inheritDoc\n */\n public traceId: string = uuid4();\n\n /**\n * @inheritDoc\n */\n public spanId: string = uuid4().substring(16);\n\n /**\n * @inheritDoc\n */\n public parentSpanId?: string;\n\n /**\n * Internal keeper of the status\n */\n public status?: SpanStatusType | string;\n\n /**\n * @inheritDoc\n */\n public sampled?: boolean;\n\n /**\n * Timestamp in seconds when the span was created.\n */\n public startTimestamp: number = timestampWithMs();\n\n /**\n * Timestamp in seconds when the span ended.\n */\n public endTimestamp?: number;\n\n /**\n * @inheritDoc\n */\n public op?: string;\n\n /**\n * @inheritDoc\n */\n public description?: string;\n\n /**\n * @inheritDoc\n */\n public tags: { [key: string]: Primitive } = {};\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public data: { [key: string]: any } = {};\n\n /**\n * List of spans that were finalized\n */\n public spanRecorder?: SpanRecorder;\n\n /**\n * @inheritDoc\n */\n public transaction?: Transaction;\n\n /**\n * You should never call the constructor manually, always use `Sentry.startTransaction()`\n * or call `startChild()` on an existing span.\n * @internal\n * @hideconstructor\n * @hidden\n */\n public constructor(spanContext?: SpanContext) {\n if (!spanContext) {\n return this;\n }\n if (spanContext.traceId) {\n this.traceId = spanContext.traceId;\n }\n if (spanContext.spanId) {\n this.spanId = spanContext.spanId;\n }\n if (spanContext.parentSpanId) {\n this.parentSpanId = spanContext.parentSpanId;\n }\n // We want to include booleans as well here\n if ('sampled' in spanContext) {\n this.sampled = spanContext.sampled;\n }\n if (spanContext.op) {\n this.op = spanContext.op;\n }\n if (spanContext.description) {\n this.description = spanContext.description;\n }\n if (spanContext.data) {\n this.data = spanContext.data;\n }\n if (spanContext.tags) {\n this.tags = spanContext.tags;\n }\n if (spanContext.status) {\n this.status = spanContext.status;\n }\n if (spanContext.startTimestamp) {\n this.startTimestamp = spanContext.startTimestamp;\n }\n if (spanContext.endTimestamp) {\n this.endTimestamp = spanContext.endTimestamp;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startChild(\n spanContext?: Pick>,\n ): Span {\n const childSpan = new Span({\n ...spanContext,\n parentSpanId: this.spanId,\n sampled: this.sampled,\n traceId: this.traceId,\n });\n\n childSpan.spanRecorder = this.spanRecorder;\n if (childSpan.spanRecorder) {\n childSpan.spanRecorder.add(childSpan);\n }\n\n childSpan.transaction = this.transaction;\n\n if (__DEBUG_BUILD__ && childSpan.transaction) {\n const opStr = (spanContext && spanContext.op) || '< unknown op >';\n const nameStr = childSpan.transaction.name || '< unknown name >';\n const idStr = childSpan.transaction.spanId;\n\n const logMessage = `[Tracing] Starting '${opStr}' span on transaction '${nameStr}' (${idStr}).`;\n childSpan.transaction.metadata.spanMetadata[childSpan.spanId] = { logMessage };\n logger.log(logMessage);\n }\n\n return childSpan;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this.tags = { ...this.tags, [key]: value };\n return this;\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public setData(key: string, value: any): this {\n this.data = { ...this.data, [key]: value };\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setStatus(value: SpanStatusType): this {\n this.status = value;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setHttpStatus(httpStatus: number): this {\n this.setTag('http.status_code', String(httpStatus));\n const spanStatus = spanStatusfromHttpCode(httpStatus);\n if (spanStatus !== 'unknown_error') {\n this.setStatus(spanStatus);\n }\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public isSuccess(): boolean {\n return this.status === 'ok';\n }\n\n /**\n * @inheritDoc\n */\n public finish(endTimestamp?: number): void {\n if (\n __DEBUG_BUILD__ &&\n // Don't call this for transactions\n this.transaction &&\n this.transaction.spanId !== this.spanId\n ) {\n const { logMessage } = this.transaction.metadata.spanMetadata[this.spanId];\n if (logMessage) {\n logger.log((logMessage as string).replace('Starting', 'Finishing'));\n }\n }\n\n this.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampWithMs();\n }\n\n /**\n * @inheritDoc\n */\n public toTraceparent(): string {\n let sampledString = '';\n if (this.sampled !== undefined) {\n sampledString = this.sampled ? '-1' : '-0';\n }\n return `${this.traceId}-${this.spanId}${sampledString}`;\n }\n\n /**\n * @inheritDoc\n */\n public toContext(): SpanContext {\n return dropUndefinedKeys({\n data: this.data,\n description: this.description,\n endTimestamp: this.endTimestamp,\n op: this.op,\n parentSpanId: this.parentSpanId,\n sampled: this.sampled,\n spanId: this.spanId,\n startTimestamp: this.startTimestamp,\n status: this.status,\n tags: this.tags,\n traceId: this.traceId,\n });\n }\n\n /**\n * @inheritDoc\n */\n public updateWithContext(spanContext: SpanContext): this {\n this.data = spanContext.data ?? {};\n this.description = spanContext.description;\n this.endTimestamp = spanContext.endTimestamp;\n this.op = spanContext.op;\n this.parentSpanId = spanContext.parentSpanId;\n this.sampled = spanContext.sampled;\n this.spanId = spanContext.spanId ?? this.spanId;\n this.startTimestamp = spanContext.startTimestamp ?? this.startTimestamp;\n this.status = spanContext.status;\n this.tags = spanContext.tags ?? {};\n this.traceId = spanContext.traceId ?? this.traceId;\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getTraceContext(): {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: { [key: string]: any };\n description?: string;\n op?: string;\n parent_span_id?: string;\n span_id: string;\n status?: string;\n tags?: { [key: string]: Primitive };\n trace_id: string;\n } {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n trace_id: this.traceId,\n });\n }\n\n /**\n * @inheritDoc\n */\n public toJSON(): {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: { [key: string]: any };\n description?: string;\n op?: string;\n parent_span_id?: string;\n span_id: string;\n start_timestamp: number;\n status?: string;\n tags?: { [key: string]: Primitive };\n timestamp?: number;\n trace_id: string;\n } {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n start_timestamp: this.startTimestamp,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n timestamp: this.endTimestamp,\n trace_id: this.traceId,\n });\n }\n}\n\nexport type SpanStatusType =\n /** The operation completed successfully. */\n | 'ok'\n /** Deadline expired before operation could complete. */\n | 'deadline_exceeded'\n /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */\n | 'unauthenticated'\n /** 403 Forbidden */\n | 'permission_denied'\n /** 404 Not Found. Some requested entity (file or directory) was not found. */\n | 'not_found'\n /** 429 Too Many Requests */\n | 'resource_exhausted'\n /** Client specified an invalid argument. 4xx. */\n | 'invalid_argument'\n /** 501 Not Implemented */\n | 'unimplemented'\n /** 503 Service Unavailable */\n | 'unavailable'\n /** Other/generic 5xx. */\n | 'internal_error'\n /** Unknown. Any non-standard HTTP status code. */\n | 'unknown_error'\n /** The operation was cancelled (typically by the user). */\n | 'cancelled'\n /** Already exists (409) */\n | 'already_exists'\n /** Operation was rejected because the system is not in a state required for the operation's */\n | 'failed_precondition'\n /** The operation was aborted, typically due to a concurrency issue. */\n | 'aborted'\n /** Operation was attempted past the valid range. */\n | 'out_of_range'\n /** Unrecoverable data loss or corruption */\n | 'data_loss';\n\n/**\n * Converts a HTTP status code into a {@link SpanStatusType}.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\nexport function spanStatusfromHttpCode(httpStatus: number): SpanStatusType {\n if (httpStatus < 400 && httpStatus >= 100) {\n return 'ok';\n }\n\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return 'unauthenticated';\n case 403:\n return 'permission_denied';\n case 404:\n return 'not_found';\n case 409:\n return 'already_exists';\n case 413:\n return 'failed_precondition';\n case 429:\n return 'resource_exhausted';\n default:\n return 'invalid_argument';\n }\n }\n\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return 'unimplemented';\n case 503:\n return 'unavailable';\n case 504:\n return 'deadline_exceeded';\n default:\n return 'internal_error';\n }\n }\n\n return 'unknown_error';\n}\n","import { getCurrentHub, Hub } from '@sentry/core';\nimport {\n DynamicSamplingContext,\n Event,\n Measurements,\n MeasurementUnit,\n Transaction as TransactionInterface,\n TransactionContext,\n TransactionMetadata,\n} from '@sentry/types';\nimport { dropUndefinedKeys, logger, timestampInSeconds } from '@sentry/utils';\n\nimport { Span as SpanClass, SpanRecorder } from './span';\n\n/** JSDoc */\nexport class Transaction extends SpanClass implements TransactionInterface {\n public metadata: TransactionMetadata;\n\n /**\n * The reference to the current hub.\n */\n public readonly _hub: Hub;\n\n private _name: string;\n\n private _measurements: Measurements = {};\n\n private _trimEnd?: boolean;\n\n private _frozenDynamicSamplingContext: Readonly> | undefined = undefined;\n\n /**\n * This constructor should never be called manually. Those instrumenting tracing should use\n * `Sentry.startTransaction()`, and internal methods should use `hub.startTransaction()`.\n * @internal\n * @hideconstructor\n * @hidden\n */\n public constructor(transactionContext: TransactionContext, hub?: Hub) {\n super(transactionContext);\n\n this._hub = hub || getCurrentHub();\n\n this._name = transactionContext.name || '';\n\n this.metadata = {\n source: 'custom',\n ...transactionContext.metadata,\n spanMetadata: {},\n changes: [],\n propagations: 0,\n };\n\n this._trimEnd = transactionContext.trimEnd;\n\n // this is because transactions are also spans, and spans have a transaction pointer\n this.transaction = this;\n\n // If Dynamic Sampling Context is provided during the creation of the transaction, we freeze it as it usually means\n // there is incoming Dynamic Sampling Context. (Either through an incoming request, a baggage meta-tag, or other means)\n const incomingDynamicSamplingContext = this.metadata.dynamicSamplingContext;\n if (incomingDynamicSamplingContext) {\n // We shallow copy this in case anything writes to the original reference of the passed in `dynamicSamplingContext`\n this._frozenDynamicSamplingContext = { ...incomingDynamicSamplingContext };\n }\n }\n\n /** Getter for `name` property */\n public get name(): string {\n return this._name;\n }\n\n /** Setter for `name` property, which also sets `source` as custom */\n public set name(newName: string) {\n this.setName(newName);\n }\n\n /**\n * JSDoc\n */\n public setName(name: string, source: TransactionMetadata['source'] = 'custom'): void {\n // `source` could change without the name changing if we discover that an unparameterized route is actually\n // parameterized by virtue of having no parameters in its path\n if (name !== this.name || source !== this.metadata.source) {\n this.metadata.changes.push({\n // log previous source\n source: this.metadata.source,\n timestamp: timestampInSeconds(),\n propagations: this.metadata.propagations,\n });\n }\n\n this._name = name;\n this.metadata.source = source;\n }\n\n /**\n * Attaches SpanRecorder to the span itself\n * @param maxlen maximum number of spans that can be recorded\n */\n public initSpanRecorder(maxlen: number = 1000): void {\n if (!this.spanRecorder) {\n this.spanRecorder = new SpanRecorder(maxlen);\n }\n this.spanRecorder.add(this);\n }\n\n /**\n * @inheritDoc\n */\n public setMeasurement(name: string, value: number, unit: MeasurementUnit = ''): void {\n this._measurements[name] = { value, unit };\n }\n\n /**\n * @inheritDoc\n */\n public setMetadata(newMetadata: Partial): void {\n this.metadata = { ...this.metadata, ...newMetadata };\n }\n\n /**\n * @inheritDoc\n */\n public finish(endTimestamp?: number): string | undefined {\n // This transaction is already finished, so we should not flush it again.\n if (this.endTimestamp !== undefined) {\n return undefined;\n }\n\n if (!this.name) {\n __DEBUG_BUILD__ && logger.warn('Transaction has no name, falling back to ``.');\n this.name = '';\n }\n\n // just sets the end timestamp\n super.finish(endTimestamp);\n\n if (this.sampled !== true) {\n // At this point if `sampled !== true` we want to discard the transaction.\n __DEBUG_BUILD__ && logger.log('[Tracing] Discarding transaction because its trace was not chosen to be sampled.');\n\n const client = this._hub.getClient();\n if (client) {\n client.recordDroppedEvent('sample_rate', 'transaction');\n }\n\n return undefined;\n }\n\n const finishedSpans = this.spanRecorder ? this.spanRecorder.spans.filter(s => s !== this && s.endTimestamp) : [];\n\n if (this._trimEnd && finishedSpans.length > 0) {\n this.endTimestamp = finishedSpans.reduce((prev: SpanClass, current: SpanClass) => {\n if (prev.endTimestamp && current.endTimestamp) {\n return prev.endTimestamp > current.endTimestamp ? prev : current;\n }\n return prev;\n }).endTimestamp;\n }\n\n const metadata = this.metadata;\n\n const transaction: Event = {\n contexts: {\n trace: this.getTraceContext(),\n },\n spans: finishedSpans,\n start_timestamp: this.startTimestamp,\n tags: this.tags,\n timestamp: this.endTimestamp,\n transaction: this.name,\n type: 'transaction',\n sdkProcessingMetadata: {\n ...metadata,\n dynamicSamplingContext: this.getDynamicSamplingContext(),\n },\n ...(metadata.source && {\n transaction_info: {\n source: metadata.source,\n changes: metadata.changes,\n propagations: metadata.propagations,\n },\n }),\n };\n\n const hasMeasurements = Object.keys(this._measurements).length > 0;\n\n if (hasMeasurements) {\n __DEBUG_BUILD__ &&\n logger.log(\n '[Measurements] Adding measurements to transaction',\n JSON.stringify(this._measurements, undefined, 2),\n );\n transaction.measurements = this._measurements;\n }\n\n __DEBUG_BUILD__ && logger.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`);\n\n return this._hub.captureEvent(transaction);\n }\n\n /**\n * @inheritDoc\n */\n public toContext(): TransactionContext {\n const spanContext = super.toContext();\n\n return dropUndefinedKeys({\n ...spanContext,\n name: this.name,\n trimEnd: this._trimEnd,\n });\n }\n\n /**\n * @inheritDoc\n */\n public updateWithContext(transactionContext: TransactionContext): this {\n super.updateWithContext(transactionContext);\n\n this.name = transactionContext.name ?? '';\n\n this._trimEnd = transactionContext.trimEnd;\n\n return this;\n }\n\n /**\n * @inheritdoc\n *\n * @experimental\n */\n public getDynamicSamplingContext(): Readonly> {\n if (this._frozenDynamicSamplingContext) {\n return this._frozenDynamicSamplingContext;\n }\n\n const hub: Hub = this._hub || getCurrentHub();\n const client = hub && hub.getClient();\n\n if (!client) return {};\n\n const { environment, release } = client.getOptions() || {};\n const { publicKey: public_key } = client.getDsn() || {};\n\n const maybeSampleRate = this.metadata.sampleRate;\n const sample_rate = maybeSampleRate !== undefined ? maybeSampleRate.toString() : undefined;\n\n const scope = hub.getScope();\n const { segment: user_segment } = (scope && scope.getUser()) || {};\n\n const source = this.metadata.source;\n\n // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n const transaction = source && source !== 'url' ? this.name : undefined;\n\n const dsc = dropUndefinedKeys({\n environment,\n release,\n transaction,\n user_segment,\n public_key,\n trace_id: this.traceId,\n sample_rate,\n });\n\n // Uncomment if we want to make DSC immutable\n // this._frozenDynamicSamplingContext = dsc;\n\n return dsc;\n }\n}\n","import { getCurrentHub, Hub } from '@sentry/core';\nimport { Options, Transaction } from '@sentry/types';\n\n/**\n * The `extractTraceparentData` function and `TRACEPARENT_REGEXP` constant used\n * to be declared in this file. It was later moved into `@sentry/utils` as part of a\n * move to remove `@sentry/tracing` dependencies from `@sentry/node` (`extractTraceparentData`\n * is the only tracing function used by `@sentry/node`).\n *\n * These exports are kept here for backwards compatability's sake.\n *\n * TODO(v7): Reorganize these exports\n *\n * See https://github.com/getsentry/sentry-javascript/issues/4642 for more details.\n */\nexport { TRACEPARENT_REGEXP, extractTraceparentData } from '@sentry/utils';\n\n/**\n * Determines if tracing is currently enabled.\n *\n * Tracing is enabled when at least one of `tracesSampleRate` and `tracesSampler` is defined in the SDK config.\n */\nexport function hasTracingEnabled(\n maybeOptions?: Pick | undefined,\n): boolean {\n const client = getCurrentHub().getClient();\n const options = maybeOptions || (client && client.getOptions());\n return !!options && ('tracesSampleRate' in options || 'tracesSampler' in options);\n}\n\n/** Grabs active transaction off scope, if any */\nexport function getActiveTransaction(maybeHub?: Hub): T | undefined {\n const hub = maybeHub || getCurrentHub();\n const scope = hub.getScope();\n return scope && (scope.getTransaction() as T | undefined);\n}\n\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\nexport function msToSec(time: number): number {\n return time / 1000;\n}\n\n/**\n * Converts from seconds to milliseconds\n * @param time time in seconds\n */\nexport function secToMs(time: number): number {\n return time * 1000;\n}\n\n// so it can be used in manual instrumentation without necessitating a hard dependency on @sentry/utils\nexport { stripUrlQueryAndFragment } from '@sentry/utils';\n","import { isString } from './is';\nimport { getGlobalObject } from './worldwide';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem: unknown, keyAttrs?: string[]): string {\n type SimpleNode = {\n parentNode: SimpleNode;\n } | null;\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const MAX_OUTPUT_LEN = 80;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n const allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existance of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getDomElement(selector: string): E | null {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector) as unknown as E;\n }\n return null;\n}\n","/**\n * Polyfill for the nullish coalescing operator (`??`).\n *\n * Note that the RHS is wrapped in a function so that if it's a computed value, that evaluation won't happen unless the\n * LHS evaluates to a nullish value, to mimic the operator's short-circuiting behavior.\n *\n * Adapted from Sucrase (https://github.com/alangpierce/sucrase)\n *\n * @param lhs The value of the expression to the left of the `??`\n * @param rhsFn A function returning the value of the expression to the right of the `??`\n * @returns The LHS value, unless it's `null` or `undefined`, in which case, the RHS value\n */\nexport function _nullishCoalesce(lhs: unknown, rhsFn: () => unknown): unknown {\n // by checking for loose equality to `null`, we catch both `null` and `undefined`\n return lhs != null ? lhs : rhsFn();\n}\n\n// Sucrase version:\n// function _nullishCoalesce(lhs, rhsFn) {\n// if (lhs != null) {\n// return lhs;\n// } else {\n// return rhsFn();\n// }\n// }\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { isInstanceOf, isString } from './is';\nimport { CONSOLE_LEVELS, logger } from './logger';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nimport { getGlobalObject } from './worldwide';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\nexport type InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'history'\n | 'sentry'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\nexport type InstrumentHandlerCallback = (data: any) => void;\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Instruments given API */\nfunction instrument(type: InstrumentHandlerType): void {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n __DEBUG_BUILD__ && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(type: InstrumentHandlerType, callback: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type: InstrumentHandlerType, data: any): void {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (const handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n __DEBUG_BUILD__ &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole(): void {\n if (!('console' in WINDOW)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: string): void {\n if (!(level in WINDOW.console)) {\n return;\n }\n\n fill(WINDOW.console, level, function (originalConsoleMethod: () => any): Function {\n return function (...args: any[]): void {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(WINDOW.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch(): void {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(WINDOW, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(WINDOW, args).then(\n (response: Response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\ntype XHRSendInput = null | Blob | BufferSource | FormData | URLSearchParams | string;\n\n/** JSDoc */\ninterface SentryWrappedXMLHttpRequest extends XMLHttpRequest {\n [key: string]: any;\n __sentry_xhr__?: {\n method?: string;\n url?: string;\n status_code?: number;\n body?: XHRSendInput;\n };\n}\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs: any[] = []): string {\n if ('Request' in WINDOW && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs: any[] = []): string {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in WINDOW && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\nfunction instrumentXHR(): void {\n if (!('XMLHttpRequest' in WINDOW)) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const url = args[1];\n const xhrInfo: SentryWrappedXMLHttpRequest['__sentry_xhr__'] = (xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = function (): void {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original: WrappedFunction): Function {\n return function (...readyStateArgs: any[]): void {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref: string;\n\n/** JSDoc */\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = WINDOW.onpopstate;\n WINDOW.onpopstate = function (this: WindowEventHandlers, ...args: any[]): any {\n const to = WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: any[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n\nconst debounceDuration = 1000;\nlet debounceTimerID: number | undefined;\nlet lastCapturedEvent: Event | undefined;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous: Event | undefined, current: Event): boolean {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event: Event): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n const target = event.target as HTMLElement;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler: Function, globalListener: boolean = false): (event: Event) => void {\n return (event: Event): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = WINDOW.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: Function;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\n/** JSDoc */\nfunction instrumentDOM(): void {\n if (!('document' in WINDOW)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = (WINDOW as any)[target] && (WINDOW as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler: OnErrorEventHandler = null;\n/** JSDoc */\nfunction instrumentError(): void {\n _oldOnErrorHandler = WINDOW.onerror;\n\n WINDOW.onerror = function (msg: any, url: any, line: any, column: any, error: any): boolean {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler: ((e: any) => void) | null = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = WINDOW.onunhandledrejection;\n\n WINDOW.onunhandledrejection = function (e: any): boolean {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { PolymorphicEvent, Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat: unknown, className: string): boolean {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): wat is PolymorphicEvent {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isNaN(wat: unknown): boolean {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n","import { WrappedFunction } from '@sentry/types';\n\nimport { getGlobalSingleton, GLOBAL_OBJ } from './worldwide';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert', 'trace'] as const;\nexport type ConsoleLevel = typeof CONSOLE_LEVELS[number];\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** JSDoc */\ninterface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const originalConsole = GLOBAL_OBJ.console as Console & Record;\n const wrappedLevels: Partial = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] as WrappedFunction).__sentry_original__;\n if (level in originalConsole && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] as LoggerConsoleMethods[typeof level];\n originalConsole[level] = originalWrappedFunc as Console[typeof level];\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level as typeof CONSOLE_LEVELS[number]];\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if (__DEBUG_BUILD__) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger: Logger;\nif (__DEBUG_BUILD__) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { logger };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\nimport { GLOBAL_OBJ } from './worldwide';\n\ninterface CryptoInternal {\n getRandomValues(array: Uint8Array): Uint8Array;\n randomUUID?(): string;\n}\n\n/** An interface for common properties on global */\ninterface CryptoGlobal {\n msCrypto?: CryptoInternal;\n crypto?: CryptoInternal;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const gbl = GLOBAL_OBJ as typeof GLOBAL_OBJ & CryptoGlobal;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n\n const getRandomByte =\n crypto && crypto.getRandomValues ? () => crypto.getRandomValues(new Uint8Array(1))[0] : () => Math.random() * 16;\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] as unknown as string) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c as unknown as number) ^ ((getRandomByte() & 15) >> ((c as unknown as number) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n const lineno = frame.lineno || 0;\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nexport function arrayify(maybeArray: T | T[]): T[] {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n","/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\nimport { isBrowserBundle } from './env';\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv(): boolean {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return (\n !isBrowserBundle() &&\n Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\nexport function dynamicRequire(mod: any, request: string): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nexport function loadModule(moduleName: string): T | undefined {\n let mod: T | undefined;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n\n try {\n const { cwd } = dynamicRequire(module, 'process');\n mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) as T;\n } catch (e) {\n // no-empty\n }\n\n return mod;\n}\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These fags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\ndeclare const __SENTRY_BROWSER_BUNDLE__: boolean | undefined;\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nexport function isBrowserBundle(): boolean {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: { [key: string]: unknown }, name: string, value: unknown): void {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nexport function convertToPlainObject(\n value: V,\n):\n | {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n }\n | {\n [ownProps: string]: unknown;\n message: string;\n name: string;\n stack?: string;\n }\n | V {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj: {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n } = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: unknown): { [key: string]: unknown } {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj as Record)[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception: Record, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nexport function dropUndefinedKeys(inputValue: T): T {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue: T, memoizationMap: Map): T {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: { [key: string]: any } = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue as T;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: unknown[] = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item: unknown) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue as unknown as T;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n","import { StackFrame, StackLineParser, StackLineParserFn, StackParser } from '@sentry/types';\n\nconst STACKTRACE_LIMIT = 50;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirst: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n\n for (const line of stack.split('\\n').slice(skipFirst)) {\n // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n const cleanedLine = line.replace(/\\(error: (.*)\\)/, '$1');\n\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nexport function stackParserFromStackParserOptions(stackParser: StackParser | StackLineParser[]): StackParser {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: StackFrame[]): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n const firstFrameFunction = localStack[0].function || '';\n const lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\ntype GetModuleFn = (filename: string | undefined) => string | undefined;\n\n// eslint-disable-next-line complexity\nfunction node(getModule?: GetModuleFn): StackLineParserFn {\n const FILENAME_MATCH = /^\\s*[-]{4,}$/;\n const FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+):(\\d+):(\\d+)?|([^)]+))\\)?/;\n\n // eslint-disable-next-line complexity\n return (line: string) => {\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n const lineMatch = line.match(FULL_MATCH);\n if (!lineMatch) {\n return undefined;\n }\n\n let object: string | undefined;\n let method: string | undefined;\n let functionName: string | undefined;\n let typeName: string | undefined;\n let methodName: string | undefined;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n // eslint-disable-next-line no-plusplus\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.substr(0, methodStart);\n method = functionName.substr(methodStart + 1);\n const objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.substr(objectEnd + 1);\n object = object.substr(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n const filename = lineMatch[2]?.startsWith('file://') ? lineMatch[2].substr(7) : lineMatch[2];\n const isNative = lineMatch[5] === 'native';\n const isInternal =\n isNative || (filename && !filename.startsWith('/') && !filename.startsWith('.') && filename.indexOf(':\\\\') !== 1);\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n const in_app = !isInternal && filename !== undefined && !filename.includes('node_modules/');\n\n return {\n filename,\n module: getModule?.(filename),\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app,\n };\n };\n}\n\n/**\n * Node.js stack line parser\n *\n * This is in @sentry/utils so it can be used from the Electron SDK in the browser for when `nodeIntegration == true`.\n * This allows it to be used without referencing or importing any node specific code which causes bundlers to complain\n */\nexport function nodeStackLineParser(getModule?: GetModuleFn): StackLineParser {\n return [90, node(getModule)];\n}\n","import { isRegExp, isString } from './is';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value: string, pattern: RegExp | string): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nexport function escapeStringForRegex(regexString: string): string {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n","import { logger } from './logger';\nimport { getGlobalObject } from './worldwide';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in WINDOW)) {\n return false;\n }\n\n try {\n new Headers();\n new Request('http://www.example.com');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFetch(func: Function): boolean {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (!supportsFetch()) {\n return false;\n }\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(WINDOW.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n __DEBUG_BUILD__ &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in WINDOW;\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chrome = (WINDOW as any).chrome;\n const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in WINDOW && !!WINDOW.history.pushState && !!WINDOW.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\nexport function resolvedSyncPromise(): PromiseLike;\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike;\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value?: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States = States.PENDING;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]> = [];\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n","import { dynamicRequire, isNodeEnv } from './node';\nimport { getGlobalObject } from './worldwide';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\ninterface TimestampSource {\n nowSeconds(): number;\n}\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nconst dateTimestampSource: TimestampSource = {\n nowSeconds: () => Date.now() / 1000,\n};\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\ninterface Performance {\n /**\n * The millisecond timestamp at which measurement began, measured in Unix time.\n */\n timeOrigin: number;\n /**\n * Returns the current millisecond timestamp, where 0 represents the start of measurement.\n */\n now(): number;\n}\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance(): Performance | undefined {\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n return undefined;\n }\n\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n const timeOrigin = Date.now() - performance.now();\n\n return {\n now: () => performance.now(),\n timeOrigin,\n };\n}\n\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance(): Performance | undefined {\n try {\n const perfHooks = dynamicRequire(module, 'perf_hooks') as { performance: Performance };\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n\n/**\n * The Performance API implementation for the current platform, if available.\n */\nconst platformPerformance: Performance | undefined = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\n\nconst timestampSource: TimestampSource =\n platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: () => (platformPerformance.timeOrigin + platformPerformance.now()) / 1000,\n };\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nexport const dateTimestampInSeconds: () => number = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nexport const timestampInSeconds: () => number = timestampSource.nowSeconds.bind(timestampSource);\n\n// Re-exported with an old name for backwards-compatibility.\nexport const timestampWithMs = timestampInSeconds;\n\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nexport const usingPerformanceAPI = platformPerformance !== undefined;\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nexport let _browserPerformanceTimeOriginMode: string;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nexport const browserPerformanceTimeOrigin = ((): number | undefined => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n","/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n *\n * Note: This file was originally called `global.ts`, but was changed to unblock users which might be doing\n * string replaces with bundlers like Vite for `global` (would break imports that rely on importing from utils/src/global).\n *\n * Why worldwide?\n *\n * Why not?\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Integration } from '@sentry/types';\n\n/** Internal global with common properties and Sentry extensions */\nexport interface InternalGlobal {\n navigator?: { userAgent?: string };\n console: Console;\n Sentry?: {\n Integrations?: Integration[];\n };\n SENTRY_ENVIRONMENT?: string;\n SENTRY_DSN?: string;\n SENTRY_RELEASE?: {\n id?: string;\n };\n __SENTRY__: {\n globalEventProcessors: any;\n hub: any;\n logger: any;\n extensions?: {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n// The code below for 'isGlobalObj' and 'GLOBAL_OBJ' was copied from core-js before modification\n// https://github.com/zloirock/core-js/blob/1b944df55282cdc99c90db5f49eb0b6eda2cc0a3/packages/core-js/internals/global.js\n// core-js has the following licence:\n//\n// Copyright (c) 2014-2022 Denis Pushkarev\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/** Returns 'obj' if it's the global object, otherwise returns undefined */\nfunction isGlobalObj(obj: { Math?: Math }): any | undefined {\n return obj && obj.Math == Math ? obj : undefined;\n}\n\n/** Get's the global object for the current JavaScript runtime */\nexport const GLOBAL_OBJ: InternalGlobal =\n (typeof globalThis == 'object' && isGlobalObj(globalThis)) ||\n // eslint-disable-next-line no-restricted-globals\n (typeof window == 'object' && isGlobalObj(window)) ||\n (typeof self == 'object' && isGlobalObj(self)) ||\n (typeof global == 'object' && isGlobalObj(global)) ||\n (function (this: any) {\n return this;\n })() ||\n {};\n\n/**\n * @deprecated Use GLOBAL_OBJ instead or WINDOW from @sentry/browser. This will be removed in v8\n */\nexport function getGlobalObject(): T & InternalGlobal {\n return GLOBAL_OBJ as T & InternalGlobal;\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nexport function getGlobalSingleton(name: keyof InternalGlobal['__SENTRY__'], creator: () => T, obj?: unknown): T {\n const gbl = (obj || GLOBAL_OBJ) as InternalGlobal;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n","/*\n * JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/* global define */\n\n/* eslint-disable strict */\n\n;(function ($) {\n 'use strict'\n\n /**\n * Add integers, wrapping at 2^32.\n * This uses 16-bit operations internally to work around bugs in interpreters.\n *\n * @param {number} x First integer\n * @param {number} y Second integer\n * @returns {number} Sum\n */\n function safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff)\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16)\n return (msw << 16) | (lsw & 0xffff)\n }\n\n /**\n * Bitwise rotate a 32-bit number to the left.\n *\n * @param {number} num 32-bit number\n * @param {number} cnt Rotation count\n * @returns {number} Rotated number\n */\n function bitRotateLeft(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt))\n }\n\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} q q\n * @param {number} a a\n * @param {number} b b\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5ff(a, b, c, d, x, s, t) {\n return md5cmn((b & c) | (~b & d), a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5gg(a, b, c, d, x, s, t) {\n return md5cmn((b & d) | (c & ~d), a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t)\n }\n /**\n * Basic operation the algorithm uses.\n *\n * @param {number} a a\n * @param {number} b b\n * @param {number} c c\n * @param {number} d d\n * @param {number} x x\n * @param {number} s s\n * @param {number} t t\n * @returns {number} Result\n */\n function md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t)\n }\n\n /**\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n *\n * @param {Array} x Array of little-endian words\n * @param {number} len Bit length\n * @returns {Array} MD5 Array\n */\n function binlMD5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32\n x[(((len + 64) >>> 9) << 4) + 14] = len\n\n var i\n var olda\n var oldb\n var oldc\n var oldd\n var a = 1732584193\n var b = -271733879\n var c = -1732584194\n var d = 271733878\n\n for (i = 0; i < x.length; i += 16) {\n olda = a\n oldb = b\n oldc = c\n oldd = d\n\n a = md5ff(a, b, c, d, x[i], 7, -680876936)\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897)\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426)\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341)\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983)\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416)\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417)\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063)\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162)\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682)\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101)\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290)\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329)\n\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510)\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632)\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713)\n b = md5gg(b, c, d, a, x[i], 20, -373897302)\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691)\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083)\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335)\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848)\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438)\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690)\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961)\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501)\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467)\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784)\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473)\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734)\n\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558)\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463)\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562)\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556)\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060)\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353)\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632)\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640)\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174)\n d = md5hh(d, a, b, c, x[i], 11, -358537222)\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979)\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189)\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487)\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835)\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520)\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651)\n\n a = md5ii(a, b, c, d, x[i], 6, -198630844)\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415)\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905)\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055)\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571)\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606)\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523)\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799)\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359)\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744)\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380)\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649)\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070)\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379)\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259)\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551)\n\n a = safeAdd(a, olda)\n b = safeAdd(b, oldb)\n c = safeAdd(c, oldc)\n d = safeAdd(d, oldd)\n }\n return [a, b, c, d]\n }\n\n /**\n * Convert an array of little-endian words to a string\n *\n * @param {Array} input MD5 Array\n * @returns {string} MD5 string\n */\n function binl2rstr(input) {\n var i\n var output = ''\n var length32 = input.length * 32\n for (i = 0; i < length32; i += 8) {\n output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff)\n }\n return output\n }\n\n /**\n * Convert a raw string to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n *\n * @param {string} input Raw input string\n * @returns {Array} Array of little-endian words\n */\n function rstr2binl(input) {\n var i\n var output = []\n output[(input.length >> 2) - 1] = undefined\n for (i = 0; i < output.length; i += 1) {\n output[i] = 0\n }\n var length8 = input.length * 8\n for (i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32\n }\n return output\n }\n\n /**\n * Calculate the MD5 of a raw string\n *\n * @param {string} s Input string\n * @returns {string} Raw MD5 string\n */\n function rstrMD5(s) {\n return binl2rstr(binlMD5(rstr2binl(s), s.length * 8))\n }\n\n /**\n * Calculates the HMAC-MD5 of a key and some data (raw strings)\n *\n * @param {string} key HMAC key\n * @param {string} data Raw input string\n * @returns {string} Raw MD5 string\n */\n function rstrHMACMD5(key, data) {\n var i\n var bkey = rstr2binl(key)\n var ipad = []\n var opad = []\n var hash\n ipad[15] = opad[15] = undefined\n if (bkey.length > 16) {\n bkey = binlMD5(bkey, key.length * 8)\n }\n for (i = 0; i < 16; i += 1) {\n ipad[i] = bkey[i] ^ 0x36363636\n opad[i] = bkey[i] ^ 0x5c5c5c5c\n }\n hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8)\n return binl2rstr(binlMD5(opad.concat(hash), 512 + 128))\n }\n\n /**\n * Convert a raw string to a hex string\n *\n * @param {string} input Raw input string\n * @returns {string} Hex encoded string\n */\n function rstr2hex(input) {\n var hexTab = '0123456789abcdef'\n var output = ''\n var x\n var i\n for (i = 0; i < input.length; i += 1) {\n x = input.charCodeAt(i)\n output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f)\n }\n return output\n }\n\n /**\n * Encode a string as UTF-8\n *\n * @param {string} input Input string\n * @returns {string} UTF8 string\n */\n function str2rstrUTF8(input) {\n return unescape(encodeURIComponent(input))\n }\n\n /**\n * Encodes input string as raw MD5 string\n *\n * @param {string} s Input string\n * @returns {string} Raw MD5 string\n */\n function rawMD5(s) {\n return rstrMD5(str2rstrUTF8(s))\n }\n /**\n * Encodes input string as Hex encoded string\n *\n * @param {string} s Input string\n * @returns {string} Hex encoded string\n */\n function hexMD5(s) {\n return rstr2hex(rawMD5(s))\n }\n /**\n * Calculates the raw HMAC-MD5 for the given key and data\n *\n * @param {string} k HMAC key\n * @param {string} d Input string\n * @returns {string} Raw MD5 string\n */\n function rawHMACMD5(k, d) {\n return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d))\n }\n /**\n * Calculates the Hex encoded HMAC-MD5 for the given key and data\n *\n * @param {string} k HMAC key\n * @param {string} d Input string\n * @returns {string} Raw MD5 string\n */\n function hexHMACMD5(k, d) {\n return rstr2hex(rawHMACMD5(k, d))\n }\n\n /**\n * Calculates MD5 value for a given string.\n * If a key is provided, calculates the HMAC-MD5 value.\n * Returns a Hex encoded string unless the raw argument is given.\n *\n * @param {string} string Input string\n * @param {string} [key] HMAC key\n * @param {boolean} [raw] Raw output switch\n * @returns {string} MD5 output\n */\n function md5(string, key, raw) {\n if (!key) {\n if (!raw) {\n return hexMD5(string)\n }\n return rawMD5(string)\n }\n if (!raw) {\n return hexHMACMD5(key, string)\n }\n return rawHMACMD5(key, string)\n }\n\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return md5\n })\n } else if (typeof module === 'object' && module.exports) {\n module.exports = md5\n } else {\n $.md5 = md5\n }\n})(this)\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\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","exports.getEuMembers = function()\n{\n\treturn [\"BE\", \"BG\", \"CZ\", \"DK\", \"DE\", \"EE\", \"IE\", \"EL\", \"ES\", \"FR\", \"HR\", \"IT\", \"CY\", \"LV\", \"LT\", \"LU\", \"HU\", \"MT\", \"NL\", \"AT\", \"PL\", \"PT\", \"RO\", \"SI\", \"SK\", \"FI\", \"SE\"];\n};\nexports.isEuMember = function(code)\n{\n\treturn exports.getEuMembers().indexOf(code.toUpperCase()) != -1;\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\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 genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\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/**\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 to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** 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 return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\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\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\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\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\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\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 this.__data__ = new ListCache(entries);\n}\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}\n\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 return this.__data__['delete'](key);\n}\n\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\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\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 cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\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\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 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.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[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` 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 baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\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 length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * 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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is 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 */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is 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\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\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\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 * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, customizer) : !!result;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a 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\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\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 * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = isEqualWith;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\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 getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\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","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\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","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\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 copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\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 Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\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 genTag = '[object GeneratorFunction]',\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 symbolTag = '[object Symbol]',\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 supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\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 arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\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 getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\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 getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\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 isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\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 `_.keys` 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 baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\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","/**\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 `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\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 copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\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 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 baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\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","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\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","/** 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 * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\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/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\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","/**\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","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\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 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","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","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\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","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 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","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\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 baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\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 baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\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 * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\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","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\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 safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\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","/*\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","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\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","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\nvar decodeComponent = require('decode-uri-component');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nfunction extract(str) {\n\tvar queryStart = str.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\treturn str.slice(queryStart + 1);\n}\n\nfunction parse(str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^[?#&]/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeComponent(val);\n\n\t\tformatter(decodeComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tif (opts.sort === false) {\n\t\topts.sort = function () {};\n\t}\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort(opts.sort).map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\nexports.parseUrl = function (str, opts) {\n\treturn {\n\t\turl: str.split('?')[0] || '',\n\t\tquery: parse(extract(str), opts)\n\t};\n};\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\n * @license React\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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ba=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function t(a,b,c,d,e,f,g){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;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new t(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new t(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new t(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new t(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new t(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new t(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new t(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new t(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new t(a,5,!1,a.toLowerCase(),null,!1,!1)});var qa=/[\\-:]([a-z])/g;function ra(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(qa,\nra);z[b]=new t(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(qa,ra);z[b]=new t(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(qa,ra);z[b]=new t(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new t(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction sa(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Ma=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?La(a):\"\"}\nfunction Oa(a){switch(a.tag){case 5:return La(a.type);case 16:return La(\"Lazy\");case 13:return La(\"Suspense\");case 19:return La(\"SuspenseList\");case 0:case 2:case 15:return a=Na(a.type,!1),a;case 11:return a=Na(a.type.render,!1),a;case 1:return a=Na(a.type,!0),a;default:return\"\"}}\nfunction Pa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case wa:return\"Fragment\";case va:return\"Portal\";case za:return\"Profiler\";case xa:return\"StrictMode\";case Da:return\"Suspense\";case Ea:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ba:return(a.displayName||\"Context\")+\".Consumer\";case Aa:return(a._context.displayName||\"Context\")+\".Provider\";case Ca:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Fa:return b=a.displayName||null,null!==b?b:Pa(a.type)||\"Memo\";case Ga:b=a._payload;a=a._init;try{return Pa(a(b))}catch(c){}}return null}\nfunction Qa(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Pa(b);case 8:return b===xa?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Ra(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Sa(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ta(a){var b=Sa(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Ua(a){a._valueTracker||(a._valueTracker=Ta(a))}function Va(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Sa(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Wa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Xa(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Ya(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ra(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Za(a,b){b=b.checked;null!=b&&sa(a,\"checked\",b,!1)}\nfunction $a(a,b){Za(a,b);var c=Ra(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Ra(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Wa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var db=Array.isArray;\nfunction eb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=lb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction nb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar ob={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ob).forEach(function(a){pb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);ob[b]=ob[a]})});function qb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||ob.hasOwnProperty(a)&&ob[a]?(\"\"+b).trim():b+\"px\"}\nfunction rb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=qb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var sb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction tb(a,b){if(b){if(sb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction ub(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var vb=null;function wb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var xb=null,yb=null,zb=null;\nfunction Ab(a){if(a=Bb(a)){if(\"function\"!==typeof xb)throw Error(p(280));var b=a.stateNode;b&&(b=Cb(b),xb(a.stateNode,a.type,b))}}function Db(a){yb?zb?zb.push(a):zb=[a]:yb=a}function Eb(){if(yb){var a=yb,b=zb;zb=yb=null;Ab(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(oc(a)/pc|0)|0}var qc=64,rc=4194304;\nfunction sc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function tc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=sc(h):(f&=g,0!==f&&(d=sc(f)))}else g=c&~e,0!==g?d=sc(g):0!==f&&(d=sc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction zc(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-nc(b);a[b]=c}function Ac(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=ae),de=String.fromCharCode(32),ee=!1;\nfunction fe(a,b){switch(a){case \"keyup\":return-1!==Zd.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function ge(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var he=!1;function ie(a,b){switch(a){case \"compositionend\":return ge(b);case \"keypress\":if(32!==b.which)return null;ee=!0;return de;case \"textInput\":return a=b.data,a===de&&ee?null:a;default:return null}}\nfunction je(a,b){if(he)return\"compositionend\"===a||!$d&&fe(a,b)?(a=md(),ld=kd=jd=null,he=!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=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=Ie(c)}}function Ke(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Ke(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Le(){for(var a=window,b=Wa();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=Wa(a.document)}return b}function Me(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)}\nfunction Ne(a){var b=Le(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Ke(c.ownerDocument.documentElement,c)){if(null!==d&&Me(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Je(c,f);var g=Je(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Pe=null,Qe=null,Re=null,Se=!1;\nfunction Te(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Se||null==Pe||Pe!==Wa(d)||(d=Pe,\"selectionStart\"in d&&Me(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Re&&He(Re,d)||(Re=d,d=ne(Qe,\"onSelect\"),0Sf||(a.current=Rf[Sf],Rf[Sf]=null,Sf--)}function G(a,b){Sf++;Rf[Sf]=a.current;a.current=b}var Uf={},H=Tf(Uf),Vf=Tf(!1),Wf=Uf;function Xf(a,b){var c=a.type.contextTypes;if(!c)return Uf;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}\nfunction Yf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Zf(){E(Vf);E(H)}function $f(a,b,c){if(H.current!==Uf)throw Error(p(168));G(H,b);G(Vf,c)}function ag(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Qa(a)||\"Unknown\",e));return A({},c,d)}\nfunction bg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Uf;Wf=H.current;G(H,a);G(Vf,Vf.current);return!0}function cg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=ag(a,b,Wf),d.__reactInternalMemoizedMergedChildContext=a,E(Vf),E(H),G(H,a)):E(Vf);G(Vf,c)}var dg=null,eg=!1,fg=!1;function gg(a){null===dg?dg=[a]:dg.push(a)}function hg(a){eg=!0;gg(a)}\nfunction ig(){if(!fg&&null!==dg){fg=!0;var a=0,b=C;try{var c=dg;for(C=1;a>=g;e-=g;Yg=1<<32-nc(b)+e|c<m?(x=r,r=null):x=r.sibling;var v=q(e,r,h[m],k);if(null===v){null===r&&(r=x);break}a&&r&&null===v.alternate&&b(e,r);g=f(v,g,m);null===n?l=v:n.sibling=v;n=v;r=x}if(m===h.length)return c(e,r),I&&$g(e,m),l;if(null===r){for(;mr?(x=m,m=null):x=m.sibling;var w=q(e,m,v.value,k);if(null===w){null===m&&(m=x);break}a&&m&&null===w.alternate&&b(e,m);g=f(w,g,r);null===n?l=w:n.sibling=w;n=w;m=x}if(v.done)return c(e,\nm),I&&$g(e,r),l;if(null===m){for(;!v.done;r++,v=h.next())v=u(e,v.value,k),null!==v&&(g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);I&&$g(e,r);return l}for(m=d(e,m);!v.done;r++,v=h.next())v=y(m,e,r,v.value,k),null!==v&&(a&&null!==v.alternate&&m.delete(null===v.key?r:v.key),g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);a&&m.forEach(function(a){return b(e,a)});I&&$g(e,r);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===wa&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case ua:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===wa){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ga&&rh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=ph(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===wa?(d=xh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=vh(f.type,f.key,f.props,null,a.mode,h),h.ref=ph(a,d,f),h.return=a,a=h)}return g(a);case va:a:{for(l=f.key;null!==\nd;){if(d.key===l)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=d.sibling}d=wh(f,a.mode,h);d.return=a;a=d}return g(a);case Ga:return l=f._init,J(a,d,l(f._payload),h)}if(db(f))return m(a,d,f,h);if(Ja(f))return w(a,d,f,h);qh(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=uh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var yh=sh(!0),zh=sh(!1),Ah={},Bh=Tf(Ah),Ch=Tf(Ah),Dh=Tf(Ah);function Eh(a){if(a===Ah)throw Error(p(174));return a}function Fh(a,b){G(Dh,b);G(Ch,a);G(Bh,Ah);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:kb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=kb(b,a)}E(Bh);G(Bh,b)}function Gh(){E(Bh);E(Ch);E(Dh)}\nfunction Hh(a){Eh(Dh.current);var b=Eh(Bh.current);var c=kb(b,a.type);b!==c&&(G(Ch,a),G(Bh,c))}function Ih(a){Ch.current===a&&(E(Bh),E(Ch))}var K=Tf(0);\nfunction Jh(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||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))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}var Kh=[];\nfunction Lh(){for(var a=0;ac?c:4;a(!0);var d=Nh.transition;Nh.transition={};try{a(!1),b()}finally{C=c,Nh.transition=d}}function Bi(){return ai().memoizedState}\nfunction Ci(a,b,c){var d=Kg(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};Di(a)?Ei(b,c):(Fi(a,b,c),c=Jg(),a=Lg(a,d,c),null!==a&&Gi(a,b,d))}\nfunction ni(a,b,c){var d=Kg(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Di(a))Ei(b,e);else{Fi(a,b,e);var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(Ge(h,g))return}catch(k){}finally{}c=Jg();a=Lg(a,d,c);null!==a&&Gi(a,b,d)}}function Di(a){var b=a.alternate;return a===L||null!==b&&b===L}\nfunction Ei(a,b){Qh=Ph=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Fi(a,b,c){Bg(a)?(a=b.interleaved,null===a?(c.next=c,null===vg?vg=[b]:vg.push(b)):(c.next=a.next,a.next=c),b.interleaved=c):(a=b.pending,null===a?c.next=c:(c.next=a.next,a.next=c),b.pending=c)}function Gi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Bc(a,c)}}\nvar Yh={readContext:ug,useCallback:O,useContext:O,useEffect:O,useImperativeHandle:O,useInsertionEffect:O,useLayoutEffect:O,useMemo:O,useReducer:O,useRef:O,useState:O,useDebugValue:O,useDeferredValue:O,useTransition:O,useMutableSource:O,useSyncExternalStore:O,useId:O,unstable_isNewReconciler:!1},Vh={readContext:ug,useCallback:function(a,b){$h().memoizedState=[a,void 0===b?null:b];return a},useContext:ug,useEffect:ri,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return pi(4194308,\n4,ui.bind(null,b,a),c)},useLayoutEffect:function(a,b){return pi(4194308,4,a,b)},useInsertionEffect:function(a,b){return pi(4,2,a,b)},useMemo:function(a,b){var c=$h();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=$h();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Ci.bind(null,L,a);return[d.memoizedState,a]},useRef:function(a){var b=\n$h();a={current:a};return b.memoizedState=a},useState:mi,useDebugValue:wi,useDeferredValue:function(a){return $h().memoizedState=a},useTransition:function(){var a=mi(!1),b=a[0];a=Ai.bind(null,a[1]);$h().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=L,e=$h();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===P)throw Error(p(349));0!==(Oh&30)||ki(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;ri(hi.bind(null,d,\nf,a),[a]);d.flags|=2048;ii(9,ji.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=$h(),b=P.identifierPrefix;if(I){var c=Zg;var d=Yg;c=(d&~(1<<32-nc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Rh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Nf]=b;a[Of]=d;Ti(a,b,!1,!1);b.stateNode=a;a:{g=ub(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eaj&&(b.flags|=\n128,d=!0,Xi(f,!1),b.lanes=4194304)}else{if(!d)if(a=Jh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Xi(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return Q(b),null}else 2*B()-f.renderingStartTime>aj&&1073741824!==c&&(b.flags|=128,d=!0,Xi(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=\nB(),b.sibling=null,c=K.current,G(K,d?c&1|2:c&1),b;Q(b);return null;case 22:case 23:return bj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(cj&1073741824)&&(Q(b),b.subtreeFlags&6&&(b.flags|=8192)):Q(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}var dj=ta.ReactCurrentOwner,tg=!1;function ej(a,b,c,d){b.child=null===a?zh(b,null,c,d):yh(b,a.child,c,d)}\nfunction fj(a,b,c,d,e){c=c.render;var f=b.ref;sg(b,e);d=Uh(a,b,c,d,f,e);c=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&c&&bh(b);b.flags|=1;ej(a,b,d,e);return b.child}\nfunction hj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!ij(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,jj(a,b,f,d,e);a=vh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:He;if(c(g,d)&&a.ref===b.ref)return gj(a,b,e)}b.flags|=1;a=th(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction jj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(He(f,d)&&a.ref===b.ref)if(tg=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(tg=!0);else return b.lanes=a.lanes,gj(a,b,e)}return kj(a,b,c,d,e)}\nfunction lj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(mj,cj),cj|=c;else if(0!==(c&1073741824))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=null!==f?f.baseLanes:c,G(mj,cj),cj|=d;else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(mj,cj),cj|=a,null;\nelse null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(mj,cj),cj|=d;ej(a,b,e,c);return b.child}function nj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function kj(a,b,c,d,e){var f=Yf(c)?Wf:H.current;f=Xf(b,f);sg(b,e);c=Uh(a,b,c,d,f,e);d=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&d&&bh(b);b.flags|=1;ej(a,b,c,e);return b.child}\nfunction oj(a,b,c,d,e){if(Yf(c)){var f=!0;bg(b)}else f=!1;sg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Og(b,c,d),Qg(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=ug(l):(l=Yf(c)?Wf:H.current,l=Xf(b,l));var n=c.getDerivedStateFromProps,u=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;u||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Pg(b,g,d,l);wg=!1;var q=b.memoizedState;g.state=q;Eg(b,d,g,e);k=b.memoizedState;h!==d||q!==k||Vf.current||wg?(\"function\"===typeof n&&(Ig(b,c,n,d),k=b.memoizedState),(h=wg||Ng(b,c,h,d,q,k,l))?(u||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4194308)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:kg(b.type,h);g.props=l;u=b.pendingProps;q=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=ug(k):(k=Yf(c)?Wf:H.current,k=Xf(b,k));var y=c.getDerivedStateFromProps;(n=\"function\"===\ntypeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==u||q!==k)&&Pg(b,g,d,k);wg=!1;q=b.memoizedState;g.state=q;Eg(b,d,g,e);var m=b.memoizedState;h!==u||q!==m||Vf.current||wg?(\"function\"===typeof y&&(Ig(b,c,y,d),m=b.memoizedState),(l=wg||Ng(b,c,l,d,q,m,k)||!1)?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&\ng.componentWillUpdate(d,m,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,m,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=m),g.props=d,g.state=m,g.context=\nk,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),d=!1)}return pj(a,b,c,d,f,e)}\nfunction pj(a,b,c,d,e,f){nj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&cg(b,c,!1),gj(a,b,f);d=b.stateNode;dj.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=yh(b,a.child,null,f),b.child=yh(b,null,h,f)):ej(a,b,h,f);b.memoizedState=d.state;e&&cg(b,c,!0);return b.child}function qj(a){var b=a.stateNode;b.pendingContext?$f(a,b.pendingContext,b.pendingContext!==b.context):b.context&&$f(a,b.context,!1);Fh(a,b.containerInfo)}\nfunction rj(a,b,c,d,e){nh();oh(e);b.flags|=256;ej(a,b,c,d);return b.child}var sj={dehydrated:null,treeContext:null,retryLane:0};function tj(a){return{baseLanes:a,cachePool:null,transitions:null}}function uj(a,b){return{baseLanes:a.baseLanes|b,cachePool:null,transitions:a.transitions}}\nfunction vj(a,b,c){var d=b.pendingProps,e=K.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(K,e&1);if(null===a){kh(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;e=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,e={mode:\"hidden\",children:e},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ne):f=wj(e,d,0,null),a=xh(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=tj(c),b.memoizedState=sj,a):xj(b,e)}e=a.memoizedState;if(null!==e){h=e.dehydrated;if(null!==h){if(g){if(b.flags&256)return b.flags&=-257,yj(a,b,c,Error(p(422)));if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=wj({mode:\"visible\",children:d.children},e,0,null);f=xh(f,e,c,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&yh(b,a.child,\nnull,c);b.child.memoizedState=tj(c);b.memoizedState=sj;return f}if(0===(b.mode&1))b=yj(a,b,c,null);else if(\"$!\"===h.data)b=yj(a,b,c,Error(p(419)));else if(d=0!==(c&a.childLanes),tg||d){d=P;if(null!==d){switch(c&-c){case 4:f=2;break;case 16:f=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:f=32;break;case 536870912:f=\n268435456;break;default:f=0}d=0!==(f&(d.suspendedLanes|c))?0:f;0!==d&&d!==e.retryLane&&(e.retryLane=d,Lg(a,d,-1))}$i();b=yj(a,b,c,Error(p(421)))}else\"$?\"===h.data?(b.flags|=128,b.child=a.child,b=zj.bind(null,a),h._reactRetry=b,b=null):(c=e.treeContext,eh=Kf(h.nextSibling),dh=b,I=!0,fh=null,null!==c&&(Vg[Wg++]=Yg,Vg[Wg++]=Zg,Vg[Wg++]=Xg,Yg=c.id,Zg=c.overflow,Xg=b),b=xj(b,b.pendingProps.children),b.flags|=4096);return b}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,\nf.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}function xj(a,b){b=wj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}\nfunction Bj(a,b,c,d){var e=a.child;a=e.sibling;c=th(e,{mode:\"visible\",children:c});0===(b.mode&1)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(d=b.deletions,null===d?(b.deletions=[a],b.flags|=16):d.push(a));return b.child=c}\nfunction Aj(a,b,c,d,e){var f=b.mode;a=a.child;var g=a.sibling,h={mode:\"hidden\",children:c};0===(f&1)&&b.child!==a?(c=b.child,c.childLanes=0,c.pendingProps=h,b.deletions=null):(c=th(a,h),c.subtreeFlags=a.subtreeFlags&14680064);null!==g?d=th(g,d):(d=xh(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yj(a,b,c,d){null!==d&&oh(d);yh(b,a.child,null,c);a=xj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction Cj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);rg(a.return,b,c)}function Dj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction Ej(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;ej(a,b,d.children,c);d=K.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Cj(a,c,b);else if(19===a.tag)Cj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(K,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Jh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Dj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Jh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Dj(b,!0,c,null,f);break;case \"together\":Dj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction gj(a,b,c){null!==a&&(b.dependencies=a.dependencies);Fg|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=th(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=th(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction Fj(a,b,c){switch(b.tag){case 3:qj(b);nh();break;case 5:Hh(b);break;case 1:Yf(b.type)&&bg(b);break;case 4:Fh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(lg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(K,K.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return vj(a,b,c);G(K,K.current&1);a=gj(a,b,c);return null!==a?a.sibling:null}G(K,K.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return Ej(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(K,K.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,lj(a,b,c)}return gj(a,b,c)}\nfunction Gj(a,b){ch(b);switch(b.tag){case 1:return Yf(b.type)&&Zf(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Gh(),E(Vf),E(H),Lh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Ih(b),null;case 13:E(K);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));nh()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(K),null;case 4:return Gh(),null;case 10:return qg(b.type._context),null;case 22:case 23:return bj(),\nnull;case 24:return null;default:return null}}var Hj=!1,S=!1,Ij=\"function\"===typeof WeakSet?WeakSet:Set,T=null;function Jj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){U(a,b,d)}else c.current=null}function Kj(a,b,c){try{c()}catch(d){U(a,b,d)}}var Lj=!1;\nfunction Mj(a,b){Bf=cd;a=Le();if(Me(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(Z){c=null;break a}var g=0,h=-1,k=-1,l=0,n=0,u=a,q=null;b:for(;;){for(var y;;){u!==c||0!==e&&3!==u.nodeType||(h=g+e);u!==f||0!==d&&3!==u.nodeType||(k=g+d);3===u.nodeType&&(g+=\nu.nodeValue.length);if(null===(y=u.firstChild))break;q=u;u=y}for(;;){if(u===a)break b;q===c&&++l===e&&(h=g);q===f&&++n===d&&(k=g);if(null!==(y=u.nextSibling))break;u=q;q=u.parentNode}u=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Cf={focusedElem:a,selectionRange:c};cd=!1;for(T=b;null!==T;)if(b=T,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,T=a;else for(;null!==T;){b=T;try{var m=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==m){var w=m.memoizedProps,J=m.memoizedState,v=b.stateNode,x=v.getSnapshotBeforeUpdate(b.elementType===b.type?w:kg(b.type,w),J);v.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var r=b.stateNode.containerInfo;if(1===r.nodeType)r.textContent=\"\";else if(9===r.nodeType){var F=r.body;null!=F&&(F.textContent=\"\")}break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(Z){U(b,b.return,Z)}a=b.sibling;if(null!==a){a.return=b.return;T=a;break}T=b.return}m=Lj;Lj=!1;return m}\nfunction Nj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Kj(b,c,f)}e=e.next}while(e!==d)}}function Oj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Pj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Qj(a){var b=a.alternate;null!==b&&(a.alternate=null,Qj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Nf],delete b[Of],delete b[nf],delete b[Pf],delete b[Qf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Rj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Sj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Rj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Tj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Af));else if(4!==d&&(a=a.child,null!==a))for(Tj(a,b,c),a=a.sibling;null!==a;)Tj(a,b,c),a=a.sibling}\nfunction Uj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Uj(a,b,c),a=a.sibling;null!==a;)Uj(a,b,c),a=a.sibling}var V=null,Vj=!1;function Wj(a,b,c){for(c=c.child;null!==c;)Xj(a,b,c),c=c.sibling}\nfunction Xj(a,b,c){if(kc&&\"function\"===typeof kc.onCommitFiberUnmount)try{kc.onCommitFiberUnmount(jc,c)}catch(h){}switch(c.tag){case 5:S||Jj(c,b);case 6:var d=V,e=Vj;V=null;Wj(a,b,c);V=d;Vj=e;null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):V.removeChild(c.stateNode));break;case 18:null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?Jf(a.parentNode,c):1===a.nodeType&&Jf(a,c),ad(a)):Jf(V,c.stateNode));break;case 4:d=V;e=Vj;V=c.stateNode.containerInfo;Vj=!0;\nWj(a,b,c);V=d;Vj=e;break;case 0:case 11:case 14:case 15:if(!S&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Kj(c,b,g):0!==(f&4)&&Kj(c,b,g));e=e.next}while(e!==d)}Wj(a,b,c);break;case 1:if(!S&&(Jj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){U(c,b,h)}Wj(a,b,c);break;case 21:Wj(a,b,c);break;case 22:c.mode&1?(S=(d=S)||null!==\nc.memoizedState,Wj(a,b,c),S=d):Wj(a,b,c);break;default:Wj(a,b,c)}}function Yj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ij);b.forEach(function(b){var d=Zj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ak(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*jk(d/1960))-d;if(10a?16:a;if(null===uk)var d=!1;else{a=uk;uk=null;vk=0;if(0!==(W&6))throw Error(p(331));var e=W;W|=4;for(T=a.current;null!==T;){var f=T,g=f.child;if(0!==(T.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-dk?Jk(a,0):pk|=c);Ck(a,b)}function Xk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=rc,rc<<=1,0===(rc&130023424)&&(rc=4194304)));var c=Jg();a=Ak(a,b);null!==a&&(zc(a,b,c),Ck(a,c))}function zj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Xk(a,c)}\nfunction Zj(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Xk(a,c)}var Uk;\nUk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Vf.current)tg=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return tg=!1,Fj(a,b,c);tg=0!==(a.flags&131072)?!0:!1}else tg=!1,I&&0!==(b.flags&1048576)&&ah(b,Ug,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;var e=Xf(b,H.current);sg(b,c);e=Uh(null,b,d,a,e,c);var f=Zh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?\n(b.tag=1,b.memoizedState=null,b.updateQueue=null,Yf(d)?(f=!0,bg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,xg(b),e.updater=Mg,b.stateNode=e,e._reactInternals=b,Qg(b,d,a,c),b=pj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&bh(b),ej(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Yk(d);a=kg(d,a);switch(e){case 0:b=kj(null,b,d,a,c);break a;case 1:b=oj(null,b,\nd,a,c);break a;case 11:b=fj(null,b,d,a,c);break a;case 14:b=hj(null,b,d,kg(d.type,a),c);break a}throw Error(p(306,d,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),kj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),oj(a,b,d,e,c);case 3:a:{qj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;yg(a,b);Eg(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,\ncache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Error(p(423));b=rj(a,b,d,c,e);break a}else if(d!==e){e=Error(p(424));b=rj(a,b,d,c,e);break a}else for(eh=Kf(b.stateNode.containerInfo.firstChild),dh=b,I=!0,fh=null,c=zh(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{nh();if(d===e){b=gj(a,b,c);break a}ej(a,b,d,c)}b=b.child}return b;case 5:return Hh(b),null===a&&kh(b),d=b.type,e=\nb.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Df(d,e)?g=null:null!==f&&Df(d,f)&&(b.flags|=32),nj(a,b),ej(a,b,g,c),b.child;case 6:return null===a&&kh(b),null;case 13:return vj(a,b,c);case 4:return Fh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=yh(b,null,d,c):ej(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),fj(a,b,d,e,c);case 7:return ej(a,b,b.pendingProps,c),b.child;case 8:return ej(a,b,b.pendingProps.children,c),b.child;case 12:return ej(a,\nb,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;g=e.value;G(lg,d._currentValue);d._currentValue=g;if(null!==f)if(Ge(f.value,g)){if(f.children===e.children&&!Vf.current){b=gj(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=zg(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var n=l.pending;null===n?k.next=\nk:(k.next=n.next,n.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);rg(f.return,c,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);rg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}ej(a,b,e.children,c);b=b.child}return b;\ncase 9:return e=b.type,d=b.pendingProps.children,sg(b,c),e=ug(e),d=d(e),b.flags|=1,ej(a,b,d,c),b.child;case 14:return d=b.type,e=kg(d,b.pendingProps),e=kg(d.type,e),hj(a,b,d,e,c);case 15:return jj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Yf(d)?(a=!0,bg(b)):a=!1,sg(b,c),Og(b,d,e),Qg(b,d,e,c),pj(null,b,d,!0,a,c);case 19:return Ej(a,b,c);case 22:return lj(a,b,c)}throw Error(p(156,\nb.tag));};function Ek(a,b){return $b(a,b)}function Zk(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function hh(a,b,c,d){return new Zk(a,b,c,d)}\nfunction ij(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Yk(a){if(\"function\"===typeof a)return ij(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Ca)return 11;if(a===Fa)return 14}return 2}\nfunction th(a,b){var c=a.alternate;null===c?(c=hh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction vh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ij(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case wa:return xh(c.children,e,f,b);case xa:g=8;e|=8;break;case za:return a=hh(12,c,b,e|2),a.elementType=za,a.lanes=f,a;case Da:return a=hh(13,c,b,e),a.elementType=Da,a.lanes=f,a;case Ea:return a=hh(19,c,b,e),a.elementType=Ea,a.lanes=f,a;case Ha:return wj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Aa:g=10;break a;case Ba:g=9;break a;case Ca:g=11;\nbreak a;case Fa:g=14;break a;case Ga:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=hh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function xh(a,b,c,d){a=hh(7,a,d,b);a.lanes=c;return a}function wj(a,b,c,d){a=hh(22,a,d,b);a.elementType=Ha;a.lanes=c;a.stateNode={};return a}function uh(a,b,c){a=hh(6,a,null,b);a.lanes=c;return a}\nfunction wh(a,b,c){b=hh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction $k(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=yc(0);this.expirationTimes=yc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=yc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function al(a,b,c,d,e,f,g,h,k){a=new $k(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=hh(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};xg(f);return a}function bl(a,b,c){var d=3=0},m=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),c(t,[{key:\"style\",value:function(){var e=this.constructor.defaultProps.cssClass;return this.props.cssClass===e&&l[\"default\"].createElement(\"style\",{dangerouslySetInnerHTML:{__html:b[\"default\"]}})}},{key:\"containerStyle\",value:function(e){var t=e.isProcessing,o=e.isSdkLoaded,n=e.isDisabled,r={transition:\"opacity 0.5s\"};return(t||!o||n)&&(r.opacity=.6),s(r,this.props.containerStyle)}},{key:\"renderOwnButton\",value:function(e){var t=this.props,o=t.cssClass,n=t.size,r=t.icon,i=t.textButton,a=t.typeButton,c=t.buttonStyle,u=e.onClick,f=e.isDisabled,p=\"string\"==typeof r,d={};return f&&g(this.props.tag)&&(d.disabled=!0),l[\"default\"].createElement(\"span\",{style:this.containerStyle(e)},p&&l[\"default\"].createElement(\"link\",{rel:\"stylesheet\",href:\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\"}),l[\"default\"].createElement(this.props.tag,s({type:a,className:o+\" \"+n,style:c,onClick:u},d),r&&p&&l[\"default\"].createElement(\"i\",{className:\"fa \"+r}),r&&!p&&r,i),this.style())}},{key:\"render\",value:function(){var e=this;return l[\"default\"].createElement(h[\"default\"],s({},this.props,{render:function(t){return e.renderOwnButton(t)}}))}}]),t}(l[\"default\"].Component);m.propTypes={textButton:p[\"default\"].string,typeButton:p[\"default\"].string,size:p[\"default\"].string,cssClass:p[\"default\"].string,icon:p[\"default\"].any,containerStyle:p[\"default\"].object,buttonStyle:p[\"default\"].object,tag:p[\"default\"].oneOfType([p[\"default\"].node,p[\"default\"].func])},m.defaultProps={textButton:\"Login with Facebook\",typeButton:\"button\",size:\"metro\",fields:\"name\",cssClass:\"kep-login-facebook\",tag:\"button\"},t[\"default\"]=m},function(e,t,o){t=e.exports=o(10)(),t.push([e.id,\".kep-login-facebook{font-family:Helvetica,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased;color:#fff;cursor:pointer;display:inline-block;font-size:calc(.27548vw + 12.71074px);text-decoration:none;text-transform:uppercase;transition:background-color .3s,border-color .3s;background-color:#4c69ba;border:calc(.06887vw + .67769px) solid #4c69ba;padding:calc(.34435vw + 13.38843px) calc(.34435vw + 18.38843px)}.kep-login-facebook.small{padding:calc(.34435vw + 3.38843px) calc(.34435vw + 8.38843px)}.kep-login-facebook.medium{padding:calc(.34435vw + 8.38843px) calc(.34435vw + 13.38843px)}.kep-login-facebook.metro{border-radius:0}.kep-login-facebook .fa{margin-right:calc(.34435vw + 3.38843px)}\",\"\"]),t.locals={\"kep-login-facebook\":\"kep-login-facebook\",small:\"small\",medium:\"medium\",metro:\"metro\",fa:\"fa\"}},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\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\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar propTypes = {\n d: _propTypes2.default.string.isRequired,\n fill: _propTypes2.default.string.isRequired,\n transformX: _propTypes2.default.number.isRequired,\n transformY: _propTypes2.default.number.isRequired\n};\n\nvar defaultProps = {};\n\nvar QRCodeCell = function QRCodeCell(_ref) {\n var d = _ref.d,\n fill = _ref.fill,\n transformX = _ref.transformX,\n transformY = _ref.transformY;\n return _react2.default.createElement(\"path\", { d: d, fill: fill, transform: \"matrix(\" + [1, 0, 0, 1, transformX, transformY] + \")\" });\n};\n\nQRCodeCell.propTypes = propTypes;\nQRCodeCell.defaultProps = defaultProps;\n\nexports.default = QRCodeCell;","\"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 _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n children: _propTypes2.default.array.isRequired,\n size: _propTypes2.default.number.isRequired,\n title: _propTypes2.default.string,\n xmlns: _propTypes2.default.string\n};\n\nvar defaultProps = {\n title: undefined,\n xmlns: \"http://www.w3.org/2000/svg\"\n};\n\nvar QRCodeSurface = function QRCodeSurface(_ref) {\n var children = _ref.children,\n size = _ref.size,\n title = _ref.title,\n xmlns = _ref.xmlns,\n props = _objectWithoutProperties(_ref, [\"children\", \"size\", \"title\", \"xmlns\"]);\n\n return _react2.default.createElement(\n \"svg\",\n _extends({}, props, { height: size, width: size, xmlns: xmlns }),\n title ? _react2.default.createElement(\n \"title\",\n null,\n title\n ) : null,\n children\n );\n};\n\nQRCodeSurface.propTypes = propTypes;\nQRCodeSurface.defaultProps = defaultProps;\n\nexports.default = QRCodeSurface;","\"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 _QRCode = require(\"qr.js/lib/QRCode\");\n\nvar _QRCode2 = _interopRequireDefault(_QRCode);\n\nvar _ErrorCorrectLevel = require(\"qr.js/lib/ErrorCorrectLevel\");\n\nvar _ErrorCorrectLevel2 = _interopRequireDefault(_ErrorCorrectLevel);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _QRCodeCell = require(\"./components/QRCodeCell\");\n\nvar _QRCodeCell2 = _interopRequireDefault(_QRCodeCell);\n\nvar _QRCodeSurface = require(\"./components/QRCodeSurface\");\n\nvar _QRCodeSurface2 = _interopRequireDefault(_QRCodeSurface);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } // A `qr.js` doesn't handle error level of zero (M) so we need to do it right, thus the deep require.\n\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n level: _propTypes2.default.oneOf([\"L\", \"M\", \"Q\", \"H\"]),\n size: _propTypes2.default.number,\n value: _propTypes2.default.string.isRequired\n};\n\nvar defaultProps = {\n bgColor: \"#FFFFFF\",\n fgColor: \"#000000\",\n level: \"L\",\n size: 256\n};\n\nvar QRCode = function QRCode(_ref) {\n var bgColor = _ref.bgColor,\n fgColor = _ref.fgColor,\n level = _ref.level,\n size = _ref.size,\n value = _ref.value,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"fgColor\", \"level\", \"size\", \"value\"]);\n\n // We'll use type === -1 to force QRCode to automatically pick the best type.\n var qrcode = new _QRCode2.default(-1, _ErrorCorrectLevel2.default[level]);\n qrcode.addData(value);\n qrcode.make();\n var cells = qrcode.modules;\n var tileSize = size / cells.length;\n return _react2.default.createElement(\n _QRCodeSurface2.default,\n _extends({}, props, { size: size }),\n cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n var transformX = Math.round(cellIndex * tileSize);\n var transformY = Math.round(rowIndex * tileSize);\n var qrItemWidth = Math.round((cellIndex + 1) * tileSize) - transformX;\n var qrItemHeight = Math.round((rowIndex + 1) * tileSize) - transformY;\n return _react2.default.createElement(_QRCodeCell2.default\n /* eslint-disable react/no-array-index-key */\n , { key: \"rectangle-\" + rowIndex + \"-\" + cellIndex\n /* eslint-enable react/no-array-index-key */\n , d: \"M 0 0 L \" + qrItemWidth + \" 0 L \" + qrItemWidth + \" \" + qrItemHeight + \" L 0 \" + qrItemHeight + \" Z\",\n fill: cell ? fgColor : bgColor,\n transformX: transformX,\n transformY: transformY\n });\n });\n })\n );\n};\n\nQRCode.propTypes = propTypes;\nQRCode.defaultProps = defaultProps;\n\nexports.default = (0, _react.memo)(QRCode);","/**\n * @license React\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'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\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","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\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 * @license React\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\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.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:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * @license React\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'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.2\n Copyright © 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.2',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 255;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /yabrowser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n","/**\n * @license React\n * use-sync-external-store-shim.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 e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.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 h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","var map = {\n\t\"./brooklyn.jpg\": 6635,\n\t\"./campfire.jpg\": 3445,\n\t\"./japan_garden.jpg\": 5656,\n\t\"./magic_tree.jpg\": 7372\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6032;","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}","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}","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 unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\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 _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}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 _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}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\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}","export default function _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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","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}","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}","// 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","__webpack_require__.amdO = {};","// 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};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\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};","__webpack_require__.p = \"/\";","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.delete(propOrOldValue)\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// Although the original test case doesn't seem valid anyway, so if this in the way we can turn the next line\n\t\t// back to each(result, ....)\n\t\teach(\n\t\t\tstate.type_ === ProxyType.Set ? new Set(result) : result,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\tif (scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\tstate.copy_![prop] === value &&\n\t\t\t// special case: NaN\n\t\t\ttypeof value !== \"number\" &&\n\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t(value !== undefined || prop in state.copy_)\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (\n\t\targ1: any,\n\t\targ2?: any,\n\t\targ3?: any\n\t): any => {\n\t\tif (typeof arg1 === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => arg1(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(arg1, arg2, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\n\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\treturn result.then(nextState => [nextState, patches!, inversePatches!])\n\t\t}\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (!draft_.hasOwnProperty(i)) {\n\t\t\t\t\tassigned_[i] = true\n\t\t\t\t}\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\t// last descriptor can be not a trap, if the array was extended\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// if we miss a property, it has been deleted, so array probobaly changed\n\t\tfor (let i = 0; i < draft_.length; i++) {\n\t\t\tif (!draft_.hasOwnProperty(i)) return true\n\t\t}\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\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 */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\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\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\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\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\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\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : '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\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\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\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\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\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' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\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 {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\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\n\n dispatch({\n 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}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\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\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\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 \\\"\" + kindOf(inputState) + \"\\\". 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 unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\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, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + 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 if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + 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 * 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 */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\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\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\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\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\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\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _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\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\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 an action creator as the first argument,\n * and get a dispatch wrapped 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 */\n\n\nfunction 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\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 */\nfunction compose() {\n for (var _len = arguments.length, funcs = new 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(void 0, arguments));\n };\n });\n}\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 */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface EnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * See detailed documentation at https://github.com/reduxjs/redux-devtools/blob/%40redux-devtools/extension%403.2.1/extension/docs/API/Arguments.md#serialize\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n options?:\r\n | boolean\r\n | {\r\n date?: boolean\r\n regex?: boolean\r\n undefined?: boolean\r\n error?: boolean\r\n symbol?: boolean\r\n map?: boolean\r\n set?: boolean\r\n function?: boolean | Function\r\n }\r\n replacer?: (key: string, value: unknown) => unknown\r\n reviver?: (key: string, value: unknown) => unknown\r\n immutable?: unknown\r\n refs?: unknown[]\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsBlacklist`/`actionsWhitelist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: EnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: EnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isPlainObject(action) &&\r\n typeof (action as any).type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n promisifyAbortSignal,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (parentAbortSignal: AbortSignalWithReason) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (taskExecutor: ForkedTaskExecutor): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

,
,..\n * where each
is of the form\n * : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories] = limit.split(':', 2);\n const headerDelay = parseInt(retryAfter, 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of categories.split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n","import {\n Envelope,\n EnvelopeItem,\n EventDropReason,\n InternalBaseTransportOptions,\n Transport,\n TransportRequestExecutor,\n} from '@sentry/types';\nimport {\n createEnvelope,\n envelopeItemTypeToDataCategory,\n forEachEnvelopeItem,\n isRateLimited,\n logger,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n resolvedSyncPromise,\n SentryError,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n): Transport {\n let rateLimits: RateLimits = {};\n\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const filteredEnvelopeItems: EnvelopeItem[] = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n const envelopeItemDataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, envelopeItemDataCategory)) {\n options.recordDroppedEvent('ratelimit_backoff', envelopeItemDataCategory);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredEnvelope: Envelope = createEnvelope(envelope[0], filteredEnvelopeItems as any);\n\n // Creates client report for each item in an envelope\n const recordEnvelopeLoss = (reason: EventDropReason): void => {\n forEachEnvelopeItem(filteredEnvelope, (_, type) => {\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n });\n };\n\n const requestTask = (): PromiseLike =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope, options.textEncoder) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n __DEBUG_BUILD__ && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n },\n error => {\n __DEBUG_BUILD__ && logger.error('Failed while sending event:', error);\n recordEnvelopeLoss('network_error');\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n __DEBUG_BUILD__ && logger.error('Skipped sending event because buffer is full.');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise();\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n","import { isNativeFetch, logger } from '@sentry/utils';\n\nimport { WINDOW } from '../helpers';\n\nlet cachedFetchImpl: FetchImpl | undefined = undefined;\n\nexport type FetchImpl = typeof fetch;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n /* eslint-disable @typescript-eslint/unbound-method */\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(WINDOW.fetch)) {\n return (cachedFetchImpl = WINDOW.fetch.bind(WINDOW));\n }\n\n const document = WINDOW.document;\n let fetchImpl = WINDOW.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n __DEBUG_BUILD__ &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(WINDOW));\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n\n/** Clears cached fetch impl */\nexport function clearCachedFetchImplementation(): void {\n cachedFetchImpl = undefined;\n}\n","import { createTransport } from '@sentry/core';\nimport { Transport, TransportMakeRequestResponse, TransportRequest } from '@sentry/types';\nimport { rejectedSyncPromise } from '@sentry/utils';\n\nimport { BrowserTransportOptions } from './types';\nimport { clearCachedFetchImplementation, FetchImpl, getNativeFetchImplementation } from './utils';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeFetchTransport(\n options: BrowserTransportOptions,\n nativeFetch: FetchImpl = getNativeFetchImplementation(),\n): Transport {\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. whenfinishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch), a request with `keepalive: true`\n // and a content length of > 64 kibibytes returns a network error. We will therefore only activate the flag when\n // we're below that limit.\n keepalive: request.body.length <= 65536,\n ...options.fetchOptions,\n };\n\n try {\n return nativeFetch(options.url, requestOptions).then(response => ({\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n }));\n } catch (e) {\n clearCachedFetchImplementation();\n return rejectedSyncPromise(e);\n }\n }\n\n return createTransport(options, makeRequest);\n}\n","import { createTransport } from '@sentry/core';\nimport { Transport, TransportMakeRequestResponse, TransportRequest } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n\nimport { BrowserTransportOptions } from './types';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nconst XHR_READYSTATE_DONE = 4;\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nexport function makeXHRTransport(options: BrowserTransportOptions): Transport {\n function makeRequest(request: TransportRequest): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onerror = reject;\n\n xhr.onreadystatechange = (): void => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n resolve({\n statusCode: xhr.status,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n });\n }\n };\n\n xhr.open('POST', options.url);\n\n for (const header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport(options, makeRequest);\n}\n","import {\n getCurrentHub,\n getIntegrationsToSetup,\n getReportDialogEndpoint,\n Hub,\n initAndBind,\n Integrations as CoreIntegrations,\n} from '@sentry/core';\nimport {\n addInstrumentationHandler,\n logger,\n resolvedSyncPromise,\n stackParserFromStackParserOptions,\n supportsFetch,\n} from '@sentry/utils';\n\nimport { BrowserClient, BrowserClientOptions, BrowserOptions } from './client';\nimport { ReportDialogOptions, WINDOW, wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, Dedupe, GlobalHandlers, HttpContext, LinkedErrors, TryCatch } from './integrations';\nimport { defaultStackParser } from './stack-parsers';\nimport { makeFetchTransport, makeXHRTransport } from './transports';\n\nexport const defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new Dedupe(),\n new HttpContext(),\n];\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options: BrowserOptions = {}): void {\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n // This supports the variable that sentry-webpack-plugin injects\n if (WINDOW.SENTRY_RELEASE && WINDOW.SENTRY_RELEASE.id) {\n options.release = WINDOW.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n if (options.sendClientReports === undefined) {\n options.sendClientReports = true;\n }\n\n const clientOptions: BrowserClientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || (supportsFetch() ? makeFetchTransport : makeXHRTransport),\n };\n\n initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}, hub: Hub = getCurrentHub()): void {\n // doesn't work without a document (React Native)\n if (!WINDOW.document) {\n __DEBUG_BUILD__ && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const { client, scope } = hub.getStackTop();\n const dsn = options.dsn || (client && client.getDsn());\n if (!dsn) {\n __DEBUG_BUILD__ && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n\n const script = WINDOW.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n const injectionPoint = WINDOW.document.head || WINDOW.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n __DEBUG_BUILD__ && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId(): string | undefined {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad(): void {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback: () => void): void {\n callback();\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport function flush(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n __DEBUG_BUILD__ && logger.warn('Cannot flush events. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport function close(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n __DEBUG_BUILD__ && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrap(fn: (...args: any) => any): any {\n return internalWrap(fn)();\n}\n\nfunction startSessionOnHub(hub: Hub): void {\n hub.startSession({ ignoreDuration: true });\n hub.captureSession();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking(): void {\n if (typeof WINDOW.document === 'undefined') {\n __DEBUG_BUILD__ &&\n logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n const hub = getCurrentHub();\n\n // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n if (!hub.captureSession) {\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSessionOnHub(hub);\n\n // We want to create a session for every navigation as well\n addInstrumentationHandler('history', ({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (!(from === undefined || from === to)) {\n startSessionOnHub(getCurrentHub());\n }\n });\n}\n","import { WINDOW } from '@sentry/browser';\nimport { Transaction, TransactionSource } from '@sentry/types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\n\nimport { Action, Location, ReactRouterInstrumentation } from './types';\n\n// We need to disable eslint no-explict-any because any is required for the\n// react-router typings.\n/* eslint-disable @typescript-eslint/no-explicit-any */\ntype Match = { path: string; url: string; params: Record; isExact: boolean };\n\nexport type RouterHistory = {\n location?: Location;\n listen?(cb: (location: Location, action: Action) => void): void;\n} & Record;\n\nexport type RouteConfig = {\n [propName: string]: any;\n path?: string | string[];\n exact?: boolean;\n component?: JSX.Element;\n routes?: RouteConfig[];\n};\n\ntype MatchPath = (pathname: string, props: string | string[] | any, parent?: Match | null) => Match | null;\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nlet activeTransaction: Transaction | undefined;\n\nexport function reactRouterV4Instrumentation(\n history: RouterHistory,\n routes?: RouteConfig[],\n matchPath?: MatchPath,\n): ReactRouterInstrumentation {\n return createReactRouterInstrumentation(history, 'react-router-v4', routes, matchPath);\n}\n\nexport function reactRouterV5Instrumentation(\n history: RouterHistory,\n routes?: RouteConfig[],\n matchPath?: MatchPath,\n): ReactRouterInstrumentation {\n return createReactRouterInstrumentation(history, 'react-router-v5', routes, matchPath);\n}\n\nfunction createReactRouterInstrumentation(\n history: RouterHistory,\n name: string,\n allRoutes: RouteConfig[] = [],\n matchPath?: MatchPath,\n): ReactRouterInstrumentation {\n function getInitPathName(): string | undefined {\n if (history && history.location) {\n return history.location.pathname;\n }\n\n if (WINDOW && WINDOW.location) {\n return WINDOW.location.pathname;\n }\n\n return undefined;\n }\n\n /**\n * Normalizes a transaction name. Returns the new name as well as the\n * source of the transaction.\n *\n * @param pathname The initial pathname we normalize\n */\n function normalizeTransactionName(pathname: string): [string, TransactionSource] {\n if (allRoutes.length === 0 || !matchPath) {\n return [pathname, 'url'];\n }\n\n const branches = matchRoutes(allRoutes, pathname, matchPath);\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let x = 0; x < branches.length; x++) {\n if (branches[x].match.isExact) {\n return [branches[x].match.path, 'route'];\n }\n }\n\n return [pathname, 'url'];\n }\n\n const tags = {\n 'routing.instrumentation': name,\n };\n\n return (customStartTransaction, startTransactionOnPageLoad = true, startTransactionOnLocationChange = true): void => {\n const initPathName = getInitPathName();\n if (startTransactionOnPageLoad && initPathName) {\n const [name, source] = normalizeTransactionName(initPathName);\n activeTransaction = customStartTransaction({\n name,\n op: 'pageload',\n tags,\n metadata: {\n source,\n },\n });\n }\n\n if (startTransactionOnLocationChange && history.listen) {\n history.listen((location, action) => {\n if (action && (action === 'PUSH' || action === 'POP')) {\n if (activeTransaction) {\n activeTransaction.finish();\n }\n\n const [name, source] = normalizeTransactionName(location.pathname);\n activeTransaction = customStartTransaction({\n name,\n op: 'navigation',\n tags,\n metadata: {\n source,\n },\n });\n }\n });\n }\n };\n}\n\n/**\n * Matches a set of routes to a pathname\n * Based on implementation from\n */\nfunction matchRoutes(\n routes: RouteConfig[],\n pathname: string,\n matchPath: MatchPath,\n branch: Array<{ route: RouteConfig; match: Match }> = [],\n): Array<{ route: RouteConfig; match: Match }> {\n routes.some(route => {\n const match = route.path\n ? matchPath(pathname, route)\n : branch.length\n ? branch[branch.length - 1].match // use parent match\n : computeRootMatch(pathname); // use default \"root\" match\n\n if (match) {\n branch.push({ route, match });\n\n if (route.routes) {\n matchRoutes(route.routes, pathname, matchPath, branch);\n }\n }\n\n return !!match;\n });\n\n return branch;\n}\n\nfunction computeRootMatch(pathname: string): Match {\n return { path: '/', url: '/', params: {}, isExact: pathname === '/' };\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\nexport function withSentryRouting

, R extends React.ComponentType

>(Route: R): R {\n const componentDisplayName = (Route as any).displayName || (Route as any).name;\n\n const WrappedRoute: React.FC

= (props: P) => {\n if (activeTransaction && props && props.computedMatch && props.computedMatch.isExact) {\n activeTransaction.setName(props.computedMatch.path, 'route');\n }\n\n // @ts-ignore Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params:\n // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/13dc4235c069e25fe7ee16e11f529d909f9f3ff8/types/react-router/index.d.ts#L154-L164\n return ;\n };\n\n WrappedRoute.displayName = `sentryRoute(${componentDisplayName})`;\n hoistNonReactStatics(WrappedRoute, Route);\n // @ts-ignore Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params:\n // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/13dc4235c069e25fe7ee16e11f529d909f9f3ff8/types/react-router/index.d.ts#L154-L164\n return WrappedRoute;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n","import { captureException, ReportDialogOptions, Scope, showReportDialog, withScope } from '@sentry/browser';\nimport { logger } from '@sentry/utils';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\n\nexport function isAtLeastReact17(version: string): boolean {\n const major = version.match(/^([^.]+)/);\n return major !== null && parseInt(major[0]) >= 17;\n}\n\nexport const UNKNOWN_COMPONENT = 'unknown';\n\nexport type FallbackRender = (errorData: {\n error: Error;\n componentStack: string | null;\n eventId: string | null;\n resetError(): void;\n}) => React.ReactElement;\n\nexport type ErrorBoundaryProps = {\n children?: React.ReactNode | (() => React.ReactNode);\n /** If a Sentry report dialog should be rendered on error */\n showDialog?: boolean;\n /**\n * Options to be passed into the Sentry report dialog.\n * No-op if {@link showDialog} is false.\n */\n dialogOptions?: ReportDialogOptions;\n /**\n * A fallback component that gets rendered when the error boundary encounters an error.\n *\n * Can either provide a React Component, or a function that returns React Component as\n * a valid fallback prop. If a function is provided, the function will be called with\n * the error, the component stack, and an function that resets the error boundary on error.\n *\n */\n fallback?: React.ReactElement | FallbackRender;\n /** Called when the error boundary encounters an error */\n onError?(error: Error, componentStack: string, eventId: string): void;\n /** Called on componentDidMount() */\n onMount?(): void;\n /** Called if resetError() is called from the fallback render props function */\n onReset?(error: Error | null, componentStack: string | null, eventId: string | null): void;\n /** Called on componentWillUnmount() */\n onUnmount?(error: Error | null, componentStack: string | null, eventId: string | null): void;\n /** Called before the error is captured by Sentry, allows for you to add tags or context using the scope */\n beforeCapture?(scope: Scope, error: Error | null, componentStack: string | null): void;\n};\n\ntype ErrorBoundaryState = {\n componentStack: React.ErrorInfo['componentStack'] | null;\n error: Error | null;\n eventId: string | null;\n};\n\nconst INITIAL_STATE = {\n componentStack: null,\n error: null,\n eventId: null,\n};\n\n/**\n * A ErrorBoundary component that logs errors to Sentry. Requires React >= 16.\n * NOTE: If you are a Sentry user, and you are seeing this stack frame, it means the\n * Sentry React SDK ErrorBoundary caught an error invoking your application code. This\n * is expected behavior and NOT indicative of a bug with the Sentry React SDK.\n */\nclass ErrorBoundary extends React.Component {\n public state: ErrorBoundaryState = INITIAL_STATE;\n\n public componentDidCatch(error: Error & { cause?: Error }, { componentStack }: React.ErrorInfo): void {\n const { beforeCapture, onError, showDialog, dialogOptions } = this.props;\n\n withScope(scope => {\n // If on React version >= 17, create stack trace from componentStack param and links\n // to to the original error using `error.cause` otherwise relies on error param for stacktrace.\n // Linking errors requires the `LinkedErrors` integration be enabled.\n if (isAtLeastReact17(React.version)) {\n const errorBoundaryError = new Error(error.message);\n errorBoundaryError.name = `React ErrorBoundary ${errorBoundaryError.name}`;\n errorBoundaryError.stack = componentStack;\n\n // Using the `LinkedErrors` integration to link the errors together.\n error.cause = errorBoundaryError;\n }\n\n if (beforeCapture) {\n beforeCapture(scope, error, componentStack);\n }\n const eventId = captureException(error, { contexts: { react: { componentStack } } });\n if (onError) {\n onError(error, componentStack, eventId);\n }\n if (showDialog) {\n showReportDialog({ ...dialogOptions, eventId });\n }\n\n // componentDidCatch is used over getDerivedStateFromError\n // so that componentStack is accessible through state.\n this.setState({ error, componentStack, eventId });\n });\n }\n\n public componentDidMount(): void {\n const { onMount } = this.props;\n if (onMount) {\n onMount();\n }\n }\n\n public componentWillUnmount(): void {\n const { error, componentStack, eventId } = this.state;\n const { onUnmount } = this.props;\n if (onUnmount) {\n onUnmount(error, componentStack, eventId);\n }\n }\n\n public resetErrorBoundary: () => void = () => {\n const { onReset } = this.props;\n const { error, componentStack, eventId } = this.state;\n if (onReset) {\n onReset(error, componentStack, eventId);\n }\n this.setState(INITIAL_STATE);\n };\n\n public render(): React.ReactNode {\n const { fallback, children } = this.props;\n const { error, componentStack, eventId } = this.state;\n\n if (error) {\n let element: React.ReactElement | undefined = undefined;\n if (typeof fallback === 'function') {\n element = fallback({ error, componentStack, resetError: this.resetErrorBoundary, eventId });\n } else {\n element = fallback;\n }\n\n if (React.isValidElement(element)) {\n return element;\n }\n\n if (fallback) {\n __DEBUG_BUILD__ && logger.warn('fallback did not produce a valid ReactElement');\n }\n\n // Fail gracefully if no fallback provided or is not valid\n return null;\n }\n\n if (typeof children === 'function') {\n return (children as () => React.ReactNode)();\n }\n return children;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction withErrorBoundary

>(\n WrappedComponent: React.ComponentType

,\n errorBoundaryOptions: ErrorBoundaryProps,\n): React.FC

{\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const componentDisplayName = WrappedComponent.displayName || WrappedComponent.name || UNKNOWN_COMPONENT;\n\n const Wrapped: React.FC

= (props: P) => (\n \n \n \n );\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Wrapped.displayName = `errorBoundary(${componentDisplayName})`;\n\n // Copy over static methods from Wrapped component to Profiler HOC\n // See: https://reactjs.org/docs/higher-order-components.html#static-methods-must-be-copied-over\n hoistNonReactStatics(Wrapped, WrappedComponent);\n return Wrapped;\n}\n\nexport { ErrorBoundary, withErrorBoundary };\n","import { TraceparentData } from '@sentry/types';\n\nexport const TRACEPARENT_REGEXP = new RegExp(\n '^[ \\\\t]*' + // whitespace\n '([0-9a-f]{32})?' + // trace_id\n '-?([0-9a-f]{16})?' + // span_id\n '-?([01])?' + // sampled\n '[ \\\\t]*$', // whitespace\n);\n\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\nexport function extractTraceparentData(traceparent: string): TraceparentData | undefined {\n const matches = traceparent.match(TRACEPARENT_REGEXP);\n\n if (!traceparent || !matches) {\n // empty string or no matches is invalid traceparent data\n return undefined;\n }\n\n let parentSampled: boolean | undefined;\n if (matches[3] === '1') {\n parentSampled = true;\n } else if (matches[3] === '0') {\n parentSampled = false;\n }\n\n return {\n traceId: matches[1],\n parentSampled,\n parentSpanId: matches[2],\n };\n}\n","import { DynamicSamplingContext } from '@sentry/types';\n\nimport { isString } from './is';\nimport { logger } from './logger';\n\nexport const BAGGAGE_HEADER_NAME = 'baggage';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nexport const MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nexport function baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader: string | string[] | number | null | undefined | boolean,\n): Partial | undefined {\n if (!isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n return undefined;\n }\n\n // Intermediary object to store baggage key value pairs of incoming baggage headers on.\n // It is later used to read Sentry-DSC-values from.\n let baggageObject: Readonly> = {};\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n baggageObject = baggageHeader.reduce>((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n return {\n ...acc,\n ...currBaggageObject,\n };\n }, {});\n } else {\n // Return undefined if baggage header is an empty string (technically an empty baggage header is not spec conform but\n // this is how we choose to handle it)\n if (!baggageHeader) {\n return undefined;\n }\n\n baggageObject = baggageHeaderToObject(baggageHeader);\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n const dynamicSamplingContext = Object.entries(baggageObject).reduce>((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext as Partial;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nexport function dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext: Partial,\n): string | undefined {\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce>(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader: string): Record {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce>((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object: Record): string | undefined {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n __DEBUG_BUILD__ &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n","import { GLOBAL_OBJ } from '@sentry/utils';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Metric, ReportCallback } from '../types';\n\nexport const bindReporter = (\n callback: ReportCallback,\n metric: Metric,\n reportAllChanges?: boolean,\n): ((forceReport?: boolean) => void) => {\n let prevValue: number;\n let delta: number;\n return (forceReport?: boolean) => {\n if (metric.value >= 0) {\n if (forceReport || reportAllChanges) {\n delta = metric.value - (prevValue || 0);\n\n // Report the metric if there's a non-zero delta or if no previous\n // value exists (which can happen in the case of the document becoming\n // hidden when the metric value is 0).\n // See: https://github.com/GoogleChrome/web-vitals/issues/14\n if (delta || prevValue === undefined) {\n prevValue = metric.value;\n metric.delta = delta;\n callback(metric);\n }\n }\n }\n };\n};\n","/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WINDOW } from '../../types';\nimport { NavigationTimingPolyfillEntry } from '../types';\n\nconst getNavigationEntryFromPerformanceTiming = (): NavigationTimingPolyfillEntry => {\n // eslint-disable-next-line deprecation/deprecation\n const timing = WINDOW.performance.timing;\n // eslint-disable-next-line deprecation/deprecation\n const type = WINDOW.performance.navigation.type;\n\n const navigationEntry: { [key: string]: number | string } = {\n entryType: 'navigation',\n startTime: 0,\n type: type == 2 ? 'back_forward' : type === 1 ? 'reload' : 'navigate',\n };\n\n for (const key in timing) {\n if (key !== 'navigationStart' && key !== 'toJSON') {\n navigationEntry[key] = Math.max((timing[key as keyof PerformanceTiming] as number) - timing.navigationStart, 0);\n }\n }\n return navigationEntry as unknown as NavigationTimingPolyfillEntry;\n};\n\nexport const getNavigationEntry = (): PerformanceNavigationTiming | NavigationTimingPolyfillEntry | undefined => {\n if (WINDOW.__WEB_VITALS_POLYFILL__) {\n return (\n WINDOW.performance &&\n ((performance.getEntriesByType && performance.getEntriesByType('navigation')[0]) ||\n getNavigationEntryFromPerformanceTiming())\n );\n } else {\n return WINDOW.performance && performance.getEntriesByType && performance.getEntriesByType('navigation')[0];\n }\n};\n","/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getNavigationEntry } from './getNavigationEntry';\n\nexport const getActivationStart = (): number => {\n const navEntry = getNavigationEntry();\n return (navEntry && navEntry.activationStart) || 0;\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WINDOW } from '../../types';\nimport { Metric } from '../types';\nimport { generateUniqueID } from './generateUniqueID';\nimport { getActivationStart } from './getActivationStart';\nimport { getNavigationEntry } from './getNavigationEntry';\n\nexport const initMetric = (name: Metric['name'], value?: number): Metric => {\n const navEntry = getNavigationEntry();\n let navigationType: Metric['navigationType'] = 'navigate';\n\n if (navEntry) {\n if (WINDOW.document.prerendering || getActivationStart() > 0) {\n navigationType = 'prerender';\n } else {\n navigationType = navEntry.type.replace(/_/g, '-') as Metric['navigationType'];\n }\n }\n\n return {\n name,\n value: typeof value === 'undefined' ? -1 : value,\n rating: 'good', // Will be updated if the value changes.\n delta: 0,\n entries: [],\n id: generateUniqueID(),\n navigationType,\n };\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Performantly generate a unique, 30-char string by combining a version\n * number, the current timestamp with a 13-digit number integer.\n * @return {string}\n */\nexport const generateUniqueID = (): string => {\n return `v3-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`;\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirstInputPolyfillEntry, NavigationTimingPolyfillEntry, PerformancePaintTiming } from '../types';\n\nexport interface PerformanceEntryHandler {\n (entry: PerformanceEntry): void;\n}\n\ninterface PerformanceEntryMap {\n event: PerformanceEventTiming[];\n paint: PerformancePaintTiming[];\n 'layout-shift': LayoutShift[];\n 'largest-contentful-paint': LargestContentfulPaint[];\n 'first-input': PerformanceEventTiming[] | FirstInputPolyfillEntry[];\n navigation: PerformanceNavigationTiming[] | NavigationTimingPolyfillEntry[];\n resource: PerformanceResourceTiming[];\n longtask: PerformanceEntry[];\n}\n\n/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nexport const observe = (\n type: K,\n callback: (entries: PerformanceEntryMap[K]) => void,\n opts?: PerformanceObserverInit,\n): PerformanceObserver | undefined => {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n const po = new PerformanceObserver(list => {\n callback(list.getEntries() as PerformanceEntryMap[K]);\n });\n po.observe(\n Object.assign(\n {\n type,\n buffered: true,\n },\n opts || {},\n ) as PerformanceObserverInit,\n );\n return po;\n }\n } catch (e) {\n // Do nothing.\n }\n return;\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WINDOW } from '../../types';\n\nexport interface OnHiddenCallback {\n (event: Event): void;\n}\n\nexport const onHidden = (cb: OnHiddenCallback, once?: boolean): void => {\n const onHiddenOrPageHide = (event: Event): void => {\n if (event.type === 'pagehide' || WINDOW.document.visibilityState === 'hidden') {\n cb(event);\n if (once) {\n removeEventListener('visibilitychange', onHiddenOrPageHide, true);\n removeEventListener('pagehide', onHiddenOrPageHide, true);\n }\n }\n };\n addEventListener('visibilitychange', onHiddenOrPageHide, true);\n // Some browsers have buggy implementations of visibilitychange,\n // so we use pagehide in addition, just to be safe.\n addEventListener('pagehide', onHiddenOrPageHide, true);\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WINDOW } from '../../types';\nimport { onHidden } from './onHidden';\n\nlet firstHiddenTime = -1;\n\nconst initHiddenTime = (): number => {\n // If the document is hidden and not prerendering, assume it was always\n // hidden and the page was loaded in the background.\n return WINDOW.document.visibilityState === 'hidden' && !WINDOW.document.prerendering ? 0 : Infinity;\n};\n\nconst trackChanges = (): void => {\n // Update the time if/when the document becomes hidden.\n onHidden(({ timeStamp }) => {\n firstHiddenTime = timeStamp;\n }, true);\n};\n\nexport const getVisibilityWatcher = (): {\n readonly firstHiddenTime: number;\n} => {\n if (firstHiddenTime < 0) {\n // If the document is hidden when this code runs, assume it was hidden\n // since navigation start. This isn't a perfect heuristic, but it's the\n // best we can do until an API is available to support querying past\n // visibilityState.\n firstHiddenTime = initHiddenTime();\n trackChanges();\n }\n return {\n get firstHiddenTime() {\n return firstHiddenTime;\n },\n };\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bindReporter } from './lib/bindReporter';\nimport { getActivationStart } from './lib/getActivationStart';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nimport { LCPMetric, ReportCallback, ReportOpts } from './types';\n\nconst reportedMetricIDs: Record = {};\n\n/**\n * Calculates the [LCP](https://web.dev/lcp/) value for the current page and\n * calls the `callback` function once the value is ready (along with the\n * relevant `largest-contentful-paint` performance entry used to determine the\n * value). The reported value is a `DOMHighResTimeStamp`.\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called any time a new `largest-contentful-paint`\n * performance entry is dispatched, or once the final value of the metric has\n * been determined.\n */\nexport const onLCP = (onReport: ReportCallback, opts: ReportOpts = {}): void => {\n const visibilityWatcher = getVisibilityWatcher();\n const metric = initMetric('LCP');\n let report: ReturnType;\n\n const handleEntries = (entries: LCPMetric['entries']): void => {\n const lastEntry = entries[entries.length - 1] as LargestContentfulPaint;\n if (lastEntry) {\n // The startTime attribute returns the value of the renderTime if it is\n // not 0, and the value of the loadTime otherwise. The activationStart\n // reference is used because LCP should be relative to page activation\n // rather than navigation start if the page was prerendered.\n const value = Math.max(lastEntry.startTime - getActivationStart(), 0);\n\n // Only report if the page wasn't hidden prior to LCP.\n if (value < visibilityWatcher.firstHiddenTime) {\n metric.value = value;\n metric.entries = [lastEntry];\n report();\n }\n }\n };\n\n const po = observe('largest-contentful-paint', handleEntries);\n\n if (po) {\n report = bindReporter(onReport, metric, opts.reportAllChanges);\n\n const stopListening = (): void => {\n if (!reportedMetricIDs[metric.id]) {\n handleEntries(po.takeRecords() as LCPMetric['entries']);\n po.disconnect();\n reportedMetricIDs[metric.id] = true;\n report(true);\n }\n };\n\n // Stop listening after input. Note: while scrolling is an input that\n // stop LCP observation, it's unreliable since it can be programmatically\n // generated. See: https://github.com/GoogleChrome/web-vitals/issues/75\n ['keydown', 'click'].forEach(type => {\n addEventListener(type, stopListening, { once: true, capture: true });\n });\n\n onHidden(stopListening, true);\n }\n};\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}","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}","import { Span, SpanContext } from '@sentry/types';\n\nimport { Transaction } from '../../transaction';\n\n/**\n * Checks if a given value is a valid measurement value.\n */\nexport function isMeasurementValue(value: unknown): value is number {\n return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\nexport function _startChild(transaction: Transaction, { startTimestamp, ...ctx }: SpanContext): Span {\n if (startTimestamp && transaction.startTimestamp > startTimestamp) {\n transaction.startTimestamp = startTimestamp;\n }\n\n return transaction.startChild({\n startTimestamp,\n ...ctx,\n });\n}\n","/* eslint-disable max-lines */\nimport { Measurements } from '@sentry/types';\nimport { browserPerformanceTimeOrigin, htmlTreeAsString, logger } from '@sentry/utils';\n\nimport { IdleTransaction } from '../../idletransaction';\nimport { Transaction } from '../../transaction';\nimport { getActiveTransaction, msToSec } from '../../utils';\nimport { WINDOW } from '../types';\nimport { onCLS } from '../web-vitals/getCLS';\nimport { onFID } from '../web-vitals/getFID';\nimport { onLCP } from '../web-vitals/getLCP';\nimport { getVisibilityWatcher } from '../web-vitals/lib/getVisibilityWatcher';\nimport { observe } from '../web-vitals/lib/observe';\nimport { NavigatorDeviceMemory, NavigatorNetworkInformation } from '../web-vitals/types';\nimport { _startChild, isMeasurementValue } from './utils';\n\nfunction getBrowserPerformanceAPI(): Performance | undefined {\n return WINDOW && WINDOW.addEventListener && WINDOW.performance;\n}\n\nlet _performanceCursor: number = 0;\n\nlet _measurements: Measurements = {};\nlet _lcpEntry: LargestContentfulPaint | undefined;\nlet _clsEntry: LayoutShift | undefined;\n\n/**\n * Start tracking web vitals\n */\nexport function startTrackingWebVitals(reportAllChanges: boolean = false): void {\n const performance = getBrowserPerformanceAPI();\n if (performance && browserPerformanceTimeOrigin) {\n if (performance.mark) {\n WINDOW.performance.mark('sentry-tracing-init');\n }\n _trackCLS();\n _trackLCP(reportAllChanges);\n _trackFID();\n }\n}\n\n/**\n * Start tracking long tasks.\n */\nexport function startTrackingLongTasks(): void {\n const entryHandler = (entries: PerformanceEntry[]): void => {\n for (const entry of entries) {\n const transaction = getActiveTransaction() as IdleTransaction | undefined;\n if (!transaction) {\n return;\n }\n const startTime = msToSec((browserPerformanceTimeOrigin as number) + entry.startTime);\n const duration = msToSec(entry.duration);\n\n transaction.startChild({\n description: 'Main UI thread blocked',\n op: 'ui.long-task',\n startTimestamp: startTime,\n endTimestamp: startTime + duration,\n });\n }\n };\n\n observe('longtask', entryHandler);\n}\n\n/** Starts tracking the Cumulative Layout Shift on the current page. */\nfunction _trackCLS(): void {\n // See:\n // https://web.dev/evolving-cls/\n // https://web.dev/cls-web-tooling/\n onCLS(metric => {\n const entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding CLS');\n _measurements['cls'] = { value: metric.value, unit: '' };\n _clsEntry = entry as LayoutShift;\n });\n}\n\n/** Starts tracking the Largest Contentful Paint on the current page. */\nfunction _trackLCP(reportAllChanges: boolean): void {\n onLCP(\n metric => {\n const entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding LCP');\n _measurements['lcp'] = { value: metric.value, unit: 'millisecond' };\n _lcpEntry = entry as LargestContentfulPaint;\n },\n { reportAllChanges },\n );\n}\n\n/** Starts tracking the First Input Delay on the current page. */\nfunction _trackFID(): void {\n onFID(metric => {\n const entry = metric.entries.pop();\n if (!entry) {\n return;\n }\n\n const timeOrigin = msToSec(browserPerformanceTimeOrigin as number);\n const startTime = msToSec(entry.startTime);\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding FID');\n _measurements['fid'] = { value: metric.value, unit: 'millisecond' };\n _measurements['mark.fid'] = { value: timeOrigin + startTime, unit: 'second' };\n });\n}\n\n/** Add performance related spans to a transaction */\nexport function addPerformanceEntries(transaction: Transaction): void {\n const performance = getBrowserPerformanceAPI();\n if (!performance || !WINDOW.performance.getEntries || !browserPerformanceTimeOrigin) {\n // Gatekeeper if performance API not available\n return;\n }\n\n __DEBUG_BUILD__ && logger.log('[Tracing] Adding & adjusting spans using Performance API');\n const timeOrigin = msToSec(browserPerformanceTimeOrigin);\n\n const performanceEntries = performance.getEntries();\n\n let responseStartTimestamp: number | undefined;\n let requestStartTimestamp: number | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n performanceEntries.slice(_performanceCursor).forEach((entry: Record) => {\n const startTime = msToSec(entry.startTime);\n const duration = msToSec(entry.duration);\n\n if (transaction.op === 'navigation' && timeOrigin + startTime < transaction.startTimestamp) {\n return;\n }\n\n switch (entry.entryType) {\n case 'navigation': {\n _addNavigationSpans(transaction, entry, timeOrigin);\n responseStartTimestamp = timeOrigin + msToSec(entry.responseStart);\n requestStartTimestamp = timeOrigin + msToSec(entry.requestStart);\n break;\n }\n case 'mark':\n case 'paint':\n case 'measure': {\n _addMeasureSpans(transaction, entry, startTime, duration, timeOrigin);\n\n // capture web vitals\n const firstHidden = getVisibilityWatcher();\n // Only report if the page wasn't hidden prior to the web vital.\n const shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n\n if (entry.name === 'first-paint' && shouldRecord) {\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding FP');\n _measurements['fp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding FCP');\n _measurements['fcp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n break;\n }\n case 'resource': {\n const resourceName = (entry.name as string).replace(WINDOW.location.origin, '');\n _addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin);\n break;\n }\n default:\n // Ignore other entry types.\n }\n });\n\n _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n\n _trackNavigator(transaction);\n\n // Measurements are only available for pageload transactions\n if (transaction.op === 'pageload') {\n // Generate TTFB (Time to First Byte), which measured as the time between the beginning of the transaction and the\n // start of the response in milliseconds\n if (typeof responseStartTimestamp === 'number') {\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding TTFB');\n _measurements['ttfb'] = {\n value: (responseStartTimestamp - transaction.startTimestamp) * 1000,\n unit: 'millisecond',\n };\n\n if (typeof requestStartTimestamp === 'number' && requestStartTimestamp <= responseStartTimestamp) {\n // Capture the time spent making the request and receiving the first byte of the response.\n // This is the time between the start of the request and the start of the response in milliseconds.\n _measurements['ttfb.requestTime'] = {\n value: (responseStartTimestamp - requestStartTimestamp) * 1000,\n unit: 'millisecond',\n };\n }\n }\n\n ['fcp', 'fp', 'lcp'].forEach(name => {\n if (!_measurements[name] || timeOrigin >= transaction.startTimestamp) {\n return;\n }\n // The web vitals, fcp, fp, lcp, and ttfb, all measure relative to timeOrigin.\n // Unfortunately, timeOrigin is not captured within the transaction span data, so these web vitals will need\n // to be adjusted to be relative to transaction.startTimestamp.\n const oldValue = _measurements[name].value;\n const measurementTimestamp = timeOrigin + msToSec(oldValue);\n\n // normalizedValue should be in milliseconds\n const normalizedValue = Math.abs((measurementTimestamp - transaction.startTimestamp) * 1000);\n const delta = normalizedValue - oldValue;\n\n __DEBUG_BUILD__ &&\n logger.log(`[Measurements] Normalized ${name} from ${oldValue} to ${normalizedValue} (${delta})`);\n _measurements[name].value = normalizedValue;\n });\n\n const fidMark = _measurements['mark.fid'];\n if (fidMark && _measurements['fid']) {\n // create span for FID\n _startChild(transaction, {\n description: 'first input delay',\n endTimestamp: fidMark.value + msToSec(_measurements['fid'].value),\n op: 'ui.action',\n startTimestamp: fidMark.value,\n });\n\n // Delete mark.fid as we don't want it to be part of final payload\n delete _measurements['mark.fid'];\n }\n\n // If FCP is not recorded we should not record the cls value\n // according to the new definition of CLS.\n if (!('fcp' in _measurements)) {\n delete _measurements.cls;\n }\n\n Object.keys(_measurements).forEach(measurementName => {\n transaction.setMeasurement(\n measurementName,\n _measurements[measurementName].value,\n _measurements[measurementName].unit,\n );\n });\n\n _tagMetricInfo(transaction);\n }\n\n _lcpEntry = undefined;\n _clsEntry = undefined;\n _measurements = {};\n}\n\n/** Create measure related spans */\nexport function _addMeasureSpans(\n transaction: Transaction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n entry: Record,\n startTime: number,\n duration: number,\n timeOrigin: number,\n): number {\n const measureStartTimestamp = timeOrigin + startTime;\n const measureEndTimestamp = measureStartTimestamp + duration;\n\n _startChild(transaction, {\n description: entry.name as string,\n endTimestamp: measureEndTimestamp,\n op: entry.entryType as string,\n startTimestamp: measureStartTimestamp,\n });\n\n return measureStartTimestamp;\n}\n\n/** Instrument navigation entries */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _addNavigationSpans(transaction: Transaction, entry: Record, timeOrigin: number): void {\n ['unloadEvent', 'redirect', 'domContentLoadedEvent', 'loadEvent', 'connect'].forEach(event => {\n _addPerformanceNavigationTiming(transaction, entry, event, timeOrigin);\n });\n _addPerformanceNavigationTiming(transaction, entry, 'secureConnection', timeOrigin, 'TLS/SSL', 'connectEnd');\n _addPerformanceNavigationTiming(transaction, entry, 'fetch', timeOrigin, 'cache', 'domainLookupStart');\n _addPerformanceNavigationTiming(transaction, entry, 'domainLookup', timeOrigin, 'DNS');\n _addRequest(transaction, entry, timeOrigin);\n}\n\n/** Create performance navigation related spans */\nfunction _addPerformanceNavigationTiming(\n transaction: Transaction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n entry: Record,\n event: string,\n timeOrigin: number,\n description?: string,\n eventEnd?: string,\n): void {\n const end = eventEnd ? (entry[eventEnd] as number | undefined) : (entry[`${event}End`] as number | undefined);\n const start = entry[`${event}Start`] as number | undefined;\n if (!start || !end) {\n return;\n }\n _startChild(transaction, {\n op: 'browser',\n description: description ?? event,\n startTimestamp: timeOrigin + msToSec(start),\n endTimestamp: timeOrigin + msToSec(end),\n });\n}\n\n/** Create request and response related spans */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _addRequest(transaction: Transaction, entry: Record, timeOrigin: number): void {\n _startChild(transaction, {\n op: 'browser',\n description: 'request',\n startTimestamp: timeOrigin + msToSec(entry.requestStart as number),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd as number),\n });\n\n _startChild(transaction, {\n op: 'browser',\n description: 'response',\n startTimestamp: timeOrigin + msToSec(entry.responseStart as number),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd as number),\n });\n}\n\nexport interface ResourceEntry extends Record {\n initiatorType?: string;\n transferSize?: number;\n encodedBodySize?: number;\n decodedBodySize?: number;\n}\n\n/** Create resource-related spans */\nexport function _addResourceSpans(\n transaction: Transaction,\n entry: ResourceEntry,\n resourceName: string,\n startTime: number,\n duration: number,\n timeOrigin: number,\n): void {\n // we already instrument based on fetch and xhr, so we don't need to\n // duplicate spans here.\n if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const data: Record = {};\n if ('transferSize' in entry) {\n data['Transfer Size'] = entry.transferSize;\n }\n if ('encodedBodySize' in entry) {\n data['Encoded Body Size'] = entry.encodedBodySize;\n }\n if ('decodedBodySize' in entry) {\n data['Decoded Body Size'] = entry.decodedBodySize;\n }\n\n const startTimestamp = timeOrigin + startTime;\n const endTimestamp = startTimestamp + duration;\n\n _startChild(transaction, {\n description: resourceName,\n endTimestamp,\n op: entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource.other',\n startTimestamp,\n data,\n });\n}\n\n/**\n * Capture the information of the user agent.\n */\nfunction _trackNavigator(transaction: Transaction): void {\n const navigator = WINDOW.navigator as null | (Navigator & NavigatorNetworkInformation & NavigatorDeviceMemory);\n if (!navigator) {\n return;\n }\n\n // track network connectivity\n const connection = navigator.connection;\n if (connection) {\n if (connection.effectiveType) {\n transaction.setTag('effectiveConnectionType', connection.effectiveType);\n }\n\n if (connection.type) {\n transaction.setTag('connectionType', connection.type);\n }\n\n if (isMeasurementValue(connection.rtt)) {\n _measurements['connection.rtt'] = { value: connection.rtt, unit: 'millisecond' };\n }\n }\n\n if (isMeasurementValue(navigator.deviceMemory)) {\n transaction.setTag('deviceMemory', `${navigator.deviceMemory} GB`);\n }\n\n if (isMeasurementValue(navigator.hardwareConcurrency)) {\n transaction.setTag('hardwareConcurrency', String(navigator.hardwareConcurrency));\n }\n}\n\n/** Add LCP / CLS data to transaction to allow debugging */\nfunction _tagMetricInfo(transaction: Transaction): void {\n if (_lcpEntry) {\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding LCP Data');\n\n // Capture Properties of the LCP element that contributes to the LCP.\n\n if (_lcpEntry.element) {\n transaction.setTag('lcp.element', htmlTreeAsString(_lcpEntry.element));\n }\n\n if (_lcpEntry.id) {\n transaction.setTag('lcp.id', _lcpEntry.id);\n }\n\n if (_lcpEntry.url) {\n // Trim URL to the first 200 characters.\n transaction.setTag('lcp.url', _lcpEntry.url.trim().slice(0, 200));\n }\n\n transaction.setTag('lcp.size', _lcpEntry.size);\n }\n\n // See: https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift\n if (_clsEntry && _clsEntry.sources) {\n __DEBUG_BUILD__ && logger.log('[Measurements] Adding CLS Data');\n _clsEntry.sources.forEach((source, index) =>\n transaction.setTag(`cls.source.${index + 1}`, htmlTreeAsString(source.node)),\n );\n }\n}\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bindReporter } from './lib/bindReporter';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nimport { CLSMetric, ReportCallback, ReportOpts } from './types';\n\n/**\n * Calculates the [CLS](https://web.dev/cls/) value for the current page and\n * calls the `callback` function once the value is ready to be reported, along\n * with all `layout-shift` performance entries that were used in the metric\n * value calculation. The reported value is a `double` (corresponding to a\n * [layout shift score](https://web.dev/cls/#layout-shift-score)).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** CLS should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nexport const onCLS = (onReport: ReportCallback, opts: ReportOpts = {}): void => {\n const metric = initMetric('CLS', 0);\n let report: ReturnType;\n\n let sessionValue = 0;\n let sessionEntries: PerformanceEntry[] = [];\n\n // const handleEntries = (entries: Metric['entries']) => {\n const handleEntries = (entries: LayoutShift[]): void => {\n entries.forEach(entry => {\n // Only count layout shifts without recent user input.\n if (!entry.hadRecentInput) {\n const firstSessionEntry = sessionEntries[0];\n const lastSessionEntry = sessionEntries[sessionEntries.length - 1];\n\n // If the entry occurred less than 1 second after the previous entry and\n // less than 5 seconds after the first entry in the session, include the\n // entry in the current session. Otherwise, start a new session.\n if (\n sessionValue &&\n sessionEntries.length !== 0 &&\n entry.startTime - lastSessionEntry.startTime < 1000 &&\n entry.startTime - firstSessionEntry.startTime < 5000\n ) {\n sessionValue += entry.value;\n sessionEntries.push(entry);\n } else {\n sessionValue = entry.value;\n sessionEntries = [entry];\n }\n\n // If the current session value is larger than the current CLS value,\n // update CLS and the entries contributing to it.\n if (sessionValue > metric.value) {\n metric.value = sessionValue;\n metric.entries = sessionEntries;\n if (report) {\n report();\n }\n }\n }\n });\n };\n\n const po = observe('layout-shift', handleEntries);\n if (po) {\n report = bindReporter(onReport, metric, opts.reportAllChanges);\n\n onHidden(() => {\n handleEntries(po.takeRecords() as CLSMetric['entries']);\n report(true);\n });\n }\n};\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bindReporter } from './lib/bindReporter';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher';\nimport { initMetric } from './lib/initMetric';\nimport { observe } from './lib/observe';\nimport { onHidden } from './lib/onHidden';\nimport { FIDMetric, PerformanceEventTiming, ReportCallback, ReportOpts } from './types';\n\n/**\n * Calculates the [FID](https://web.dev/fid/) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `first-input` performance entry used to determine the value. The\n * reported value is a `DOMHighResTimeStamp`.\n *\n * _**Important:** since FID is only reported after the user interacts with the\n * page, it's possible that it will not be reported for some page loads._\n */\nexport const onFID = (onReport: ReportCallback, opts: ReportOpts = {}): void => {\n const visibilityWatcher = getVisibilityWatcher();\n const metric = initMetric('FID');\n // eslint-disable-next-line prefer-const\n let report: ReturnType;\n\n const handleEntry = (entry: PerformanceEventTiming): void => {\n // Only report if the page wasn't hidden prior to the first input.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n metric.value = entry.processingStart - entry.startTime;\n metric.entries.push(entry);\n report(true);\n }\n };\n\n const handleEntries = (entries: FIDMetric['entries']): void => {\n (entries as PerformanceEventTiming[]).forEach(handleEntry);\n };\n\n const po = observe('first-input', handleEntries);\n report = bindReporter(onReport, metric, opts.reportAllChanges);\n\n if (po) {\n onHidden(() => {\n handleEntries(po.takeRecords() as FIDMetric['entries']);\n po.disconnect();\n }, true);\n }\n};\n","/* eslint-disable max-lines */\nimport type { DynamicSamplingContext, Span } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n BAGGAGE_HEADER_NAME,\n dynamicSamplingContextToSentryBaggageHeader,\n isInstanceOf,\n isMatchingPattern,\n} from '@sentry/utils';\n\nimport { getActiveTransaction, hasTracingEnabled } from '../utils';\n\nexport const DEFAULT_TRACING_ORIGINS = ['localhost', /^\\//];\n\n/** Options for Request Instrumentation */\nexport interface RequestInstrumentationOptions {\n /**\n * List of strings / regex where the integration should create Spans out of. Additionally this will be used\n * to define which outgoing requests the `sentry-trace` header will be attached to.\n *\n * Default: ['localhost', /^\\//] {@see DEFAULT_TRACING_ORIGINS}\n */\n tracingOrigins: Array;\n\n /**\n * Flag to disable patching all together for fetch requests.\n *\n * Default: true\n */\n traceFetch: boolean;\n\n /**\n * Flag to disable patching all together for xhr requests.\n *\n * Default: true\n */\n traceXHR: boolean;\n\n /**\n * This function will be called before creating a span for a request with the given url.\n * Return false if you don't want a span for the given url.\n *\n * By default it uses the `tracingOrigins` options as a url match.\n */\n shouldCreateSpanForRequest?(url: string): boolean;\n}\n\n/** Data returned from fetch callback */\nexport interface FetchData {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: any[]; // the arguments passed to the fetch call itself\n fetchData?: {\n method: string;\n url: string;\n // span_id\n __span?: string;\n };\n\n // TODO Should this be unknown instead? If we vendor types, make it a Response\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n response?: any;\n error?: unknown;\n\n startTimestamp: number;\n endTimestamp?: number;\n}\n\n/** Data returned from XHR request */\nexport interface XHRData {\n xhr?: {\n __sentry_xhr__?: {\n method: string;\n url: string;\n status_code: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: Record;\n };\n __sentry_xhr_span_id__?: string;\n setRequestHeader?: (key: string, val: string) => void;\n getRequestHeader?: (key: string) => string;\n __sentry_own_request__?: boolean;\n };\n startTimestamp: number;\n endTimestamp?: number;\n}\n\ntype PolymorphicRequestHeaders =\n | Record\n | Array<[string, string]>\n // the below is not preicsely the Header type used in Request, but it'll pass duck-typing\n | {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n append: (key: string, value: string) => void;\n get: (key: string) => string;\n };\n\nexport const defaultRequestInstrumentationOptions: RequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n tracingOrigins: DEFAULT_TRACING_ORIGINS,\n};\n\n/** Registers span creators for xhr and fetch requests */\nexport function instrumentOutgoingRequests(_options?: Partial): void {\n const { traceFetch, traceXHR, tracingOrigins, shouldCreateSpanForRequest } = {\n ...defaultRequestInstrumentationOptions,\n ..._options,\n };\n\n const shouldCreateSpan =\n typeof shouldCreateSpanForRequest === 'function' ? shouldCreateSpanForRequest : (_: string) => true;\n\n const shouldAttachHeaders = (url: string): boolean => tracingOrigins.some(origin => isMatchingPattern(url, origin));\n\n const spans: Record = {};\n\n if (traceFetch) {\n addInstrumentationHandler('fetch', (handlerData: FetchData) => {\n fetchCallback(handlerData, shouldCreateSpan, shouldAttachHeaders, spans);\n });\n }\n\n if (traceXHR) {\n addInstrumentationHandler('xhr', (handlerData: XHRData) => {\n xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeaders, spans);\n });\n }\n}\n\n/**\n * Create and track fetch request spans\n */\nexport function fetchCallback(\n handlerData: FetchData,\n shouldCreateSpan: (url: string) => boolean,\n shouldAttachHeaders: (url: string) => boolean,\n spans: Record,\n): void {\n if (!hasTracingEnabled() || !(handlerData.fetchData && shouldCreateSpan(handlerData.fetchData.url))) {\n return;\n }\n\n if (handlerData.endTimestamp) {\n const spanId = handlerData.fetchData.__span;\n if (!spanId) return;\n\n const span = spans[spanId];\n if (span) {\n if (handlerData.response) {\n // TODO (kmclb) remove this once types PR goes through\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n span.setHttpStatus(handlerData.response.status);\n } else if (handlerData.error) {\n span.setStatus('internal_error');\n }\n span.finish();\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[spanId];\n }\n return;\n }\n\n const activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n const span = activeTransaction.startChild({\n data: {\n ...handlerData.fetchData,\n type: 'fetch',\n },\n description: `${handlerData.fetchData.method} ${handlerData.fetchData.url}`,\n op: 'http.client',\n });\n\n handlerData.fetchData.__span = span.spanId;\n spans[span.spanId] = span;\n\n const request: string | Request = handlerData.args[0];\n\n // In case the user hasn't set the second argument of a fetch call we default it to `{}`.\n handlerData.args[1] = handlerData.args[1] || {};\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const options: { [key: string]: any } = handlerData.args[1];\n\n if (shouldAttachHeaders(handlerData.fetchData.url)) {\n options.headers = addTracingHeadersToFetchRequest(\n request,\n activeTransaction.getDynamicSamplingContext(),\n span,\n options,\n );\n\n activeTransaction.metadata.propagations += 1;\n }\n }\n}\n\nfunction addTracingHeadersToFetchRequest(\n request: string | Request,\n dynamicSamplingContext: Partial,\n span: Span,\n options: {\n headers?:\n | {\n [key: string]: string[] | string | undefined;\n }\n | Request['headers'];\n },\n): PolymorphicRequestHeaders {\n const sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n const sentryTraceHeader = span.toTraceparent();\n\n const headers =\n typeof Request !== 'undefined' && isInstanceOf(request, Request) ? (request as Request).headers : options.headers;\n\n if (!headers) {\n return { 'sentry-trace': sentryTraceHeader, baggage: sentryBaggageHeader };\n } else if (typeof Headers !== 'undefined' && isInstanceOf(headers, Headers)) {\n const newHeaders = new Headers(headers as Headers);\n\n newHeaders.append('sentry-trace', sentryTraceHeader);\n\n if (sentryBaggageHeader) {\n // If the same header is appended miultiple times the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.append(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n\n return newHeaders as PolymorphicRequestHeaders;\n } else if (Array.isArray(headers)) {\n const newHeaders = [...headers, ['sentry-trace', sentryTraceHeader]];\n\n if (sentryBaggageHeader) {\n // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.push([BAGGAGE_HEADER_NAME, sentryBaggageHeader]);\n }\n\n return newHeaders;\n } else {\n const existingBaggageHeader = 'baggage' in headers ? headers.baggage : undefined;\n const newBaggageHeaders: string[] = [];\n\n if (Array.isArray(existingBaggageHeader)) {\n newBaggageHeaders.push(...existingBaggageHeader);\n } else if (existingBaggageHeader) {\n newBaggageHeaders.push(existingBaggageHeader);\n }\n\n if (sentryBaggageHeader) {\n newBaggageHeaders.push(sentryBaggageHeader);\n }\n\n return {\n ...(headers as Exclude),\n 'sentry-trace': sentryTraceHeader,\n baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined,\n };\n }\n}\n\n/**\n * Create and track xhr request spans\n */\nexport function xhrCallback(\n handlerData: XHRData,\n shouldCreateSpan: (url: string) => boolean,\n shouldAttachHeaders: (url: string) => boolean,\n spans: Record,\n): void {\n if (\n !hasTracingEnabled() ||\n (handlerData.xhr && handlerData.xhr.__sentry_own_request__) ||\n !(handlerData.xhr && handlerData.xhr.__sentry_xhr__ && shouldCreateSpan(handlerData.xhr.__sentry_xhr__.url))\n ) {\n return;\n }\n\n const xhr = handlerData.xhr.__sentry_xhr__;\n\n // check first if the request has finished and is tracked by an existing span which should now end\n if (handlerData.endTimestamp) {\n const spanId = handlerData.xhr.__sentry_xhr_span_id__;\n if (!spanId) return;\n\n const span = spans[spanId];\n if (span) {\n span.setHttpStatus(xhr.status_code);\n span.finish();\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[spanId];\n }\n return;\n }\n\n // if not, create a new span to track it\n const activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n const span = activeTransaction.startChild({\n data: {\n ...xhr.data,\n type: 'xhr',\n method: xhr.method,\n url: xhr.url,\n },\n description: `${xhr.method} ${xhr.url}`,\n op: 'http.client',\n });\n\n handlerData.xhr.__sentry_xhr_span_id__ = span.spanId;\n spans[handlerData.xhr.__sentry_xhr_span_id__] = span;\n\n if (handlerData.xhr.setRequestHeader && shouldAttachHeaders(handlerData.xhr.__sentry_xhr__.url)) {\n try {\n handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());\n\n const dynamicSamplingContext = activeTransaction.getDynamicSamplingContext();\n const sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n\n if (sentryBaggageHeader) {\n // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n // We can therefore simply set a baggage header without checking what was there before\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n handlerData.xhr.setRequestHeader(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n\n activeTransaction.metadata.propagations += 1;\n } catch (_) {\n // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n }\n }\n}\n","/* eslint-disable max-lines */\nimport { Hub } from '@sentry/core';\nimport { EventProcessor, Integration, Transaction, TransactionContext } from '@sentry/types';\nimport { baggageHeaderToDynamicSamplingContext, getDomElement, logger } from '@sentry/utils';\n\nimport { startIdleTransaction } from '../hubextensions';\nimport { DEFAULT_FINAL_TIMEOUT, DEFAULT_HEARTBEAT_INTERVAL, DEFAULT_IDLE_TIMEOUT } from '../idletransaction';\nimport { extractTraceparentData } from '../utils';\nimport { registerBackgroundTabDetection } from './backgroundtab';\nimport { addPerformanceEntries, startTrackingLongTasks, startTrackingWebVitals } from './metrics';\nimport {\n defaultRequestInstrumentationOptions,\n instrumentOutgoingRequests,\n RequestInstrumentationOptions,\n} from './request';\nimport { instrumentRoutingWithDefaults } from './router';\nimport { WINDOW } from './types';\n\nexport const BROWSER_TRACING_INTEGRATION_ID = 'BrowserTracing';\n\n/** Options for Browser Tracing integration */\nexport interface BrowserTracingOptions extends RequestInstrumentationOptions {\n /**\n * The time to wait in ms until the transaction will be finished during an idle state. An idle state is defined\n * by a moment where there are no in-progress spans.\n *\n * The transaction will use the end timestamp of the last finished span as the endtime for the transaction.\n * If there are still active spans when this the `idleTimeout` is set, the `idleTimeout` will get reset.\n * Time is in ms.\n *\n * Default: 1000\n */\n idleTimeout: number;\n\n /**\n * The max duration for a transaction. If a transaction duration hits the `finalTimeout` value, it\n * will be finished.\n * Time is in ms.\n *\n * Default: 30000\n */\n finalTimeout: number;\n\n /**\n * The heartbeat interval. If no new spans are started or open spans are finished within 3 heartbeats,\n * the transaction will be finished.\n * Time is in ms.\n *\n * Default: 5000\n */\n heartbeatInterval: number;\n\n /**\n * Flag to enable/disable creation of `navigation` transaction on history changes.\n *\n * Default: true\n */\n startTransactionOnLocationChange: boolean;\n\n /**\n * Flag to enable/disable creation of `pageload` transaction on first pageload.\n *\n * Default: true\n */\n startTransactionOnPageLoad: boolean;\n\n /**\n * Flag Transactions where tabs moved to background with \"cancelled\". Browser background tab timing is\n * not suited towards doing precise measurements of operations. By default, we recommend that this option\n * be enabled as background transactions can mess up your statistics in nondeterministic ways.\n *\n * Default: true\n */\n markBackgroundTransactions: boolean;\n\n /**\n * _metricOptions allows the user to send options to change how metrics are collected.\n *\n * _metricOptions is currently experimental.\n *\n * Default: undefined\n */\n _metricOptions?: Partial<{ _reportAllChanges: boolean }>;\n\n /**\n * _experiments allows the user to send options to define how this integration works.\n *\n * Default: undefined\n */\n _experiments?: Partial<{ enableLongTask: boolean }>;\n\n /**\n * beforeNavigate is called before a pageload/navigation transaction is created and allows users to modify transaction\n * context data, or drop the transaction entirely (by setting `sampled = false` in the context).\n *\n * Note: For legacy reasons, transactions can also be dropped by returning `undefined`.\n *\n * @param context: The context data which will be passed to `startTransaction` by default\n *\n * @returns A (potentially) modified context object, with `sampled = false` if the transaction should be dropped.\n */\n beforeNavigate?(context: TransactionContext): TransactionContext | undefined;\n\n /**\n * Instrumentation that creates routing change transactions. By default creates\n * pageload and navigation transactions.\n */\n routingInstrumentation(\n customStartTransaction: (context: TransactionContext) => T | undefined,\n startTransactionOnPageLoad?: boolean,\n startTransactionOnLocationChange?: boolean,\n ): void;\n}\n\nconst DEFAULT_BROWSER_TRACING_OPTIONS = {\n idleTimeout: DEFAULT_IDLE_TIMEOUT,\n finalTimeout: DEFAULT_FINAL_TIMEOUT,\n heartbeatInterval: DEFAULT_HEARTBEAT_INTERVAL,\n markBackgroundTransactions: true,\n routingInstrumentation: instrumentRoutingWithDefaults,\n startTransactionOnLocationChange: true,\n startTransactionOnPageLoad: true,\n _experiments: { enableLongTask: true },\n ...defaultRequestInstrumentationOptions,\n};\n\n/**\n * The Browser Tracing integration automatically instruments browser pageload/navigation\n * actions as transactions, and captures requests, metrics and errors as spans.\n *\n * The integration can be configured with a variety of options, and can be extended to use\n * any routing library. This integration uses {@see IdleTransaction} to create transactions.\n */\nexport class BrowserTracing implements Integration {\n // This class currently doesn't have a static `id` field like the other integration classes, because it prevented\n // @sentry/tracing from being treeshaken. Tree shakers do not like static fields, because they behave like side effects.\n // TODO: Come up with a better plan, than using static fields on integration classes, and use that plan on all\n // integrations.\n\n /** Browser Tracing integration options */\n public options: BrowserTracingOptions;\n\n /**\n * @inheritDoc\n */\n public name: string = BROWSER_TRACING_INTEGRATION_ID;\n\n private _getCurrentHub?: () => Hub;\n\n private readonly _emitOptionsWarning?: boolean;\n\n public constructor(_options?: Partial) {\n let tracingOrigins = defaultRequestInstrumentationOptions.tracingOrigins;\n // NOTE: Logger doesn't work in constructors, as it's initialized after integrations instances\n if (_options) {\n if (_options.tracingOrigins && Array.isArray(_options.tracingOrigins)) {\n tracingOrigins = _options.tracingOrigins;\n } else {\n __DEBUG_BUILD__ && (this._emitOptionsWarning = true);\n }\n }\n\n this.options = {\n ...DEFAULT_BROWSER_TRACING_OPTIONS,\n ..._options,\n tracingOrigins,\n };\n\n const { _metricOptions } = this.options;\n startTrackingWebVitals(_metricOptions && _metricOptions._reportAllChanges);\n if (this.options._experiments?.enableLongTask) {\n startTrackingLongTasks();\n }\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(_: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n this._getCurrentHub = getCurrentHub;\n\n if (this._emitOptionsWarning) {\n __DEBUG_BUILD__ &&\n logger.warn(\n '[Tracing] You need to define `tracingOrigins` in the options. Set an array of urls or patterns to trace.',\n );\n __DEBUG_BUILD__ &&\n logger.warn(\n `[Tracing] We added a reasonable default for you: ${defaultRequestInstrumentationOptions.tracingOrigins}`,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const {\n routingInstrumentation: instrumentRouting,\n startTransactionOnLocationChange,\n startTransactionOnPageLoad,\n markBackgroundTransactions,\n traceFetch,\n traceXHR,\n tracingOrigins,\n shouldCreateSpanForRequest,\n } = this.options;\n\n instrumentRouting(\n (context: TransactionContext) => this._createRouteTransaction(context),\n startTransactionOnPageLoad,\n startTransactionOnLocationChange,\n );\n\n if (markBackgroundTransactions) {\n registerBackgroundTabDetection();\n }\n\n instrumentOutgoingRequests({ traceFetch, traceXHR, tracingOrigins, shouldCreateSpanForRequest });\n }\n\n /** Create routing idle transaction. */\n private _createRouteTransaction(context: TransactionContext): Transaction | undefined {\n if (!this._getCurrentHub) {\n __DEBUG_BUILD__ &&\n logger.warn(`[Tracing] Did not create ${context.op} transaction because _getCurrentHub is invalid.`);\n return undefined;\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeNavigate, idleTimeout, finalTimeout, heartbeatInterval } = this.options;\n\n const isPageloadTransaction = context.op === 'pageload';\n\n const sentryTraceMetaTagValue = isPageloadTransaction ? getMetaContent('sentry-trace') : null;\n const baggageMetaTagValue = isPageloadTransaction ? getMetaContent('baggage') : null;\n\n const traceParentData = sentryTraceMetaTagValue ? extractTraceparentData(sentryTraceMetaTagValue) : undefined;\n const dynamicSamplingContext = baggageMetaTagValue\n ? baggageHeaderToDynamicSamplingContext(baggageMetaTagValue)\n : undefined;\n\n const expandedContext: TransactionContext = {\n ...context,\n ...traceParentData,\n metadata: {\n ...context.metadata,\n dynamicSamplingContext: traceParentData && !dynamicSamplingContext ? {} : dynamicSamplingContext,\n },\n trimEnd: true,\n };\n\n const modifiedContext = typeof beforeNavigate === 'function' ? beforeNavigate(expandedContext) : expandedContext;\n\n // For backwards compatibility reasons, beforeNavigate can return undefined to \"drop\" the transaction (prevent it\n // from being sent to Sentry).\n const finalContext = modifiedContext === undefined ? { ...expandedContext, sampled: false } : modifiedContext;\n\n // If `beforeNavigate` set a custom name, record that fact\n finalContext.metadata =\n finalContext.name !== expandedContext.name\n ? { ...finalContext.metadata, source: 'custom' }\n : finalContext.metadata;\n\n if (finalContext.sampled === false) {\n __DEBUG_BUILD__ &&\n logger.log(`[Tracing] Will not send ${finalContext.op} transaction because of beforeNavigate.`);\n }\n\n __DEBUG_BUILD__ && logger.log(`[Tracing] Starting ${finalContext.op} transaction on scope`);\n\n const hub = this._getCurrentHub();\n const { location } = WINDOW;\n\n const idleTransaction = startIdleTransaction(\n hub,\n finalContext,\n idleTimeout,\n finalTimeout,\n true,\n { location }, // for use in the tracesSampler\n heartbeatInterval,\n );\n idleTransaction.registerBeforeFinishCallback(transaction => {\n addPerformanceEntries(transaction);\n transaction.setTag(\n 'sentry_reportAllChanges',\n Boolean(this.options._metricOptions && this.options._metricOptions._reportAllChanges),\n );\n });\n\n return idleTransaction as Transaction;\n }\n}\n\n/** Returns the value of a meta tag */\nexport function getMetaContent(metaName: string): string | null {\n // Can't specify generic to `getDomElement` because tracing can be used\n // in a variety of environments, have to disable `no-unsafe-member-access`\n // as a result.\n const metaTag = getDomElement(`meta[name=${metaName}]`);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return metaTag ? metaTag.getAttribute('content') : null;\n}\n","import { Transaction, TransactionContext } from '@sentry/types';\nimport { addInstrumentationHandler, logger } from '@sentry/utils';\n\nimport { WINDOW } from './types';\n\n/**\n * Default function implementing pageload and navigation transactions\n */\nexport function instrumentRoutingWithDefaults(\n customStartTransaction: (context: TransactionContext) => T | undefined,\n startTransactionOnPageLoad: boolean = true,\n startTransactionOnLocationChange: boolean = true,\n): void {\n if (!WINDOW || !WINDOW.location) {\n __DEBUG_BUILD__ && logger.warn('Could not initialize routing instrumentation due to invalid location');\n return;\n }\n\n let startingUrl: string | undefined = WINDOW.location.href;\n\n let activeTransaction: T | undefined;\n if (startTransactionOnPageLoad) {\n activeTransaction = customStartTransaction({\n name: WINDOW.location.pathname,\n op: 'pageload',\n metadata: { source: 'url' },\n });\n }\n\n if (startTransactionOnLocationChange) {\n addInstrumentationHandler('history', ({ to, from }: { to: string; from?: string }) => {\n /**\n * This early return is there to account for some cases where a navigation transaction starts right after\n * long-running pageload. We make sure that if `from` is undefined and a valid `startingURL` exists, we don't\n * create an uneccessary navigation transaction.\n *\n * This was hard to duplicate, but this behavior stopped as soon as this fix was applied. This issue might also\n * only be caused in certain development environments where the usage of a hot module reloader is causing\n * errors.\n */\n if (from === undefined && startingUrl && startingUrl.indexOf(to) !== -1) {\n startingUrl = undefined;\n return;\n }\n\n if (from !== to) {\n startingUrl = undefined;\n if (activeTransaction) {\n __DEBUG_BUILD__ && logger.log(`[Tracing] Finishing current transaction with op: ${activeTransaction.op}`);\n // If there's an open transaction on the scope, we need to finish it before creating an new one.\n activeTransaction.finish();\n }\n activeTransaction = customStartTransaction({\n name: WINDOW.location.pathname,\n op: 'navigation',\n metadata: { source: 'url' },\n });\n }\n });\n }\n}\n","import { GenericFunction } from './types';\n\n/**\n * Polyfill for the optional chain operator, `?.`, given previous conversion of the expression into an array of values,\n * descriptors, and functions.\n *\n * Adapted from Sucrase (https://github.com/alangpierce/sucrase)\n * See https://github.com/alangpierce/sucrase/blob/265887868966917f3b924ce38dfad01fbab1329f/src/transformers/OptionalChainingNullishTransformer.ts#L15\n *\n * @param ops Array result of expression conversion\n * @returns The value of the expression\n */\nexport function _optionalChain(ops: unknown[]): unknown {\n let lastAccessLHS: unknown = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i] as string;\n const fn = ops[i + 1] as (intermediateValue: unknown) => unknown;\n i += 2;\n // by checking for loose equality to `null`, we catch both `null` and `undefined`\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n // really we're meaning to return `undefined` as an actual value here, but it saves bytes not to write it\n return;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = fn((...args: unknown[]) => (value as GenericFunction).call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n}\n\n// Sucrase version\n// function _optionalChain(ops) {\n// let lastAccessLHS = undefined;\n// let value = ops[0];\n// let i = 1;\n// while (i < ops.length) {\n// const op = ops[i];\n// const fn = ops[i + 1];\n// i += 2;\n// if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n// return undefined;\n// }\n// if (op === 'access' || op === 'optionalAccess') {\n// lastAccessLHS = value;\n// value = fn(value);\n// } else if (op === 'call' || op === 'optionalCall') {\n// value = fn((...args) => value.call(lastAccessLHS, ...args));\n// lastAccessLHS = undefined;\n// }\n// }\n// return value;\n// }\n","import { logger } from '@sentry/utils';\n\nimport { IdleTransaction } from '../idletransaction';\nimport { SpanStatusType } from '../span';\nimport { getActiveTransaction } from '../utils';\nimport { WINDOW } from './types';\n\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\nexport function registerBackgroundTabDetection(): void {\n if (WINDOW && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n const activeTransaction = getActiveTransaction() as IdleTransaction;\n if (WINDOW.document.hidden && activeTransaction) {\n const statusType: SpanStatusType = 'cancelled';\n\n __DEBUG_BUILD__ &&\n logger.log(\n `[Tracing] Transaction: ${statusType} -> since tab moved to the background, op: ${activeTransaction.op}`,\n );\n // We should not set status if it is already set, this prevent important statuses like\n // error or data loss from being overwritten on transaction.\n if (!activeTransaction.status) {\n activeTransaction.setStatus(statusType);\n }\n activeTransaction.setTag('visibilitychange', 'document.hidden');\n activeTransaction.finish();\n }\n });\n } else {\n __DEBUG_BUILD__ &&\n logger.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n }\n}\n","import { addExtensionMethods } from './hubextensions';\nimport * as Integrations from './integrations';\n\nexport type { RequestInstrumentationOptions } from './browser';\nexport type { SpanStatusType } from './span';\n\nexport { Integrations };\n\n// This is already exported as part of `Integrations` above (and for the moment will remain so for\n// backwards compatibility), but that interferes with treeshaking, so we also export it separately\n// here.\n//\n// Previously we expected users to import tracing integrations like\n//\n// import { Integrations } from '@sentry/tracing';\n// const instance = new Integrations.BrowserTracing();\n//\n// This makes the integrations unable to be treeshaken though. To address this, we now have\n// this individual export. We now expect users to consume BrowserTracing like so:\n//\n// import { BrowserTracing } from '@sentry/tracing';\n// const instance = new BrowserTracing();\n//\n// For an example of of the new usage of BrowserTracing, see @sentry/nextjs index.client.ts\nexport { BrowserTracing, BROWSER_TRACING_INTEGRATION_ID } from './browser';\n\nexport { Span, spanStatusfromHttpCode } from './span';\n// eslint-disable-next-line deprecation/deprecation\nexport { SpanStatus } from './spanstatus';\nexport { Transaction } from './transaction';\nexport { instrumentOutgoingRequests, defaultRequestInstrumentationOptions } from './browser';\nexport { IdleTransaction } from './idletransaction';\nexport { startIdleTransaction } from './hubextensions';\n\n// Treeshakable guard to remove all code related to tracing\ndeclare const __SENTRY_TRACING__: boolean;\n\n// Guard for tree\nif (typeof __SENTRY_TRACING__ === 'undefined' || __SENTRY_TRACING__) {\n // We are patching the global object with our hub extension methods\n addExtensionMethods();\n}\n\nexport { addExtensionMethods };\n\nexport {\n extractTraceparentData,\n getActiveTransaction,\n hasTracingEnabled,\n stripUrlQueryAndFragment,\n TRACEPARENT_REGEXP,\n} from './utils';\n","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import React from 'react';\nexport const ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return

{store.getState()}
\r\n * }\r\n */\nexport function useReduxContext() {\n const contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import { useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : () => useContext(context);\n return function useSelector(selector, equalityFn = refEquality) {\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState\n } = useReduxContext();\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, selector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","export default function _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}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let 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 const nextStateProps = mapStateToProps(state, ownProps);\n const 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 const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const 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}\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nexport default function finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\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// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? 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, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\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 let 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}","export function createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(dispatch => // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? wrapMapToPropsConstant(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : createInvalidArgFactory(mapDispatchToProps, 'mapDispatchToProps');\n}","export default function bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : createInvalidArgFactory(mapStateToProps, 'mapStateToProps');\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!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 mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : createInvalidArgFactory(mergeProps, 'mergeProps');\n}","import { getBatch } from './batch'; // 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\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;","function 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 const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription'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 const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = useRef();\n const lastWrapperProps = useRef(wrapperProps);\n const childPropsFromStoreUpdate = useRef();\n const renderIsScheduled = useRef(false);\n const isProcessingDispatch = useRef(false);\n const isMounted = useRef(false);\n const latestSubscriptionCallbackError = useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import React, { useMemo } from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState\n}) {\n const contextValue = useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined\n };\n }, [store, serverState]);\n const previousState = useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : () => useContext(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","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}","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","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","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","// 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, 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 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","/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function onLocationChanged(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n action: action,\n isFirstRendering: isFirstRendering\n }\n };\n};\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\n\nexport var CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nvar updateLocation = function updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: {\n method: method,\n args: args\n }\n };\n };\n};\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\n\n\nexport var push = updateLocation('push');\nexport var replace = updateLocation('replace');\nexport var go = updateLocation('go');\nexport var goBack = updateLocation('goBack');\nexport var goForward = updateLocation('goForward');\nexport var routerActions = {\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward\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\nimport { matchPath } from \"react-router\";\n\nvar createSelectors = function createSelectors(structure) {\n var getIn = structure.getIn,\n toJS = structure.toJS;\n\n var isRouter = function isRouter(value) {\n return value != null && _typeof(value) === 'object' && getIn(value, ['location']) && getIn(value, ['action']);\n };\n\n var getRouter = function getRouter(state) {\n var router = toJS(getIn(state, ['router']));\n\n if (!isRouter(router)) {\n throw 'Could not find router reducer in state tree, it must be mounted under \"router\"';\n }\n\n return router;\n };\n\n var getLocation = function getLocation(state) {\n return toJS(getIn(getRouter(state), ['location']));\n };\n\n var getAction = function getAction(state) {\n return toJS(getIn(getRouter(state), ['action']));\n };\n\n var getSearch = function getSearch(state) {\n return toJS(getIn(getRouter(state), ['location', 'search']));\n };\n\n var getHash = function getHash(state) {\n return toJS(getIn(getRouter(state), ['location', 'hash']));\n }; // It only makes sense to recalculate the `matchPath` whenever the pathname\n // of the location changes. That's why `createMatchSelector` memoizes\n // the latest result based on the location's pathname.\n\n\n var createMatchSelector = function createMatchSelector(path) {\n var lastPathname = null;\n var lastMatch = null;\n return function (state) {\n var _ref = getLocation(state) || {},\n pathname = _ref.pathname;\n\n if (pathname === lastPathname) {\n return lastMatch;\n }\n\n lastPathname = pathname;\n var match = matchPath(pathname, path);\n\n if (!match || !lastMatch || match.url !== lastMatch.url // When URL matched for nested routes, URL is the same but isExact is not.\n || match.isExact !== lastMatch.isExact) {\n lastMatch = match;\n }\n\n return lastMatch;\n };\n };\n\n return {\n getLocation: getLocation,\n getAction: getAction,\n getRouter: getRouter,\n getSearch: getSearch,\n getHash: getHash,\n createMatchSelector: createMatchSelector\n };\n};\n\nexport default createSelectors;","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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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\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\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, ReactReduxContext } from 'react-redux';\nimport { Router } from 'react-router';\nimport isEqualWith from 'lodash.isequalwith';\nimport { onLocationChanged as _onLocationChanged } from './actions';\nimport createSelectors from './selectors';\n\nvar createConnectedRouter = function createConnectedRouter(structure) {\n var _createSelectors = createSelectors(structure),\n getLocation = _createSelectors.getLocation;\n /*\n * ConnectedRouter listens to a history object passed from props.\n * When history is changed, it dispatches action to redux store.\n * Then, store will pass props to component to render.\n * This creates uni-directional flow from history->store->router->components.\n */\n\n\n var ConnectedRouter = /*#__PURE__*/function (_PureComponent) {\n _inherits(ConnectedRouter, _PureComponent);\n\n var _super = _createSuper(ConnectedRouter);\n\n function ConnectedRouter(props) {\n var _this;\n\n _classCallCheck(this, ConnectedRouter);\n\n _this = _super.call(this, props);\n var store = props.store,\n history = props.history,\n onLocationChanged = props.onLocationChanged,\n stateCompareFunction = props.stateCompareFunction;\n _this.inTimeTravelling = false; // Subscribe to store changes to check if we are in time travelling\n\n _this.unsubscribe = store.subscribe(function () {\n // Allow time travel debugging compatibility to be turned off\n // as the detection for this (below) is error prone in apps where the\n // store may be unmounted, a navigation occurs, and then the store is re-mounted\n // during the app's lifetime. Detection could be much improved if Redux DevTools\n // simply set a global variable like `REDUX_DEVTOOLS_IS_TIME_TRAVELLING=true`.\n var isTimeTravelDebuggingAllowed = !props.noTimeTravelDebugging; // Extract store's location\n\n var _getLocation = getLocation(store.getState()),\n pathnameInStore = _getLocation.pathname,\n searchInStore = _getLocation.search,\n hashInStore = _getLocation.hash,\n stateInStore = _getLocation.state; // Extract history's location\n\n\n var _history$location = history.location,\n pathnameInHistory = _history$location.pathname,\n searchInHistory = _history$location.search,\n hashInHistory = _history$location.hash,\n stateInHistory = _history$location.state; // If we do time travelling, the location in store is changed but location in history is not changed\n\n if (isTimeTravelDebuggingAllowed && props.history.action === 'PUSH' && (pathnameInHistory !== pathnameInStore || searchInHistory !== searchInStore || hashInHistory !== hashInStore || !isEqualWith(stateInStore, stateInHistory, stateCompareFunction))) {\n _this.inTimeTravelling = true; // Update history's location to match store's location\n\n history.push({\n pathname: pathnameInStore,\n search: searchInStore,\n hash: hashInStore,\n state: stateInStore\n });\n }\n });\n\n var handleLocationChange = function handleLocationChange(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Dispatch onLocationChanged except when we're in time travelling\n if (!_this.inTimeTravelling) {\n onLocationChanged(location, action, isFirstRendering);\n } else {\n _this.inTimeTravelling = false;\n }\n }; // Listen to history changes\n\n\n _this.unlisten = history.listen(handleLocationChange);\n\n if (!props.noInitialPop) {\n // Dispatch a location change action for the initial location.\n // This makes it backward-compatible with react-router-redux.\n // But, we add `isFirstRendering` to `true` to prevent double-rendering.\n handleLocationChange(history.location, history.action, true);\n }\n\n return _this;\n }\n\n _createClass(ConnectedRouter, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unlisten();\n this.unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n omitRouter = _this$props.omitRouter,\n history = _this$props.history,\n children = _this$props.children; // The `omitRouter` option is available for applications that must\n // have a Router instance higher in the component tree but still desire\n // to use connected-react-router for its Redux integration.\n\n if (omitRouter) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n }\n\n return /*#__PURE__*/React.createElement(Router, {\n history: history\n }, children);\n }\n }]);\n\n return ConnectedRouter;\n }(PureComponent);\n\n ConnectedRouter.propTypes = {\n store: PropTypes.shape({\n getState: PropTypes.func.isRequired,\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n history: PropTypes.shape({\n action: PropTypes.string.isRequired,\n listen: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n push: PropTypes.func.isRequired\n }).isRequired,\n basename: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n onLocationChanged: PropTypes.func.isRequired,\n noInitialPop: PropTypes.bool,\n noTimeTravelDebugging: PropTypes.bool,\n stateCompareFunction: PropTypes.func,\n omitRouter: PropTypes.bool\n };\n\n var mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onLocationChanged: function onLocationChanged(location, action, isFirstRendering) {\n return dispatch(_onLocationChanged(location, action, isFirstRendering));\n }\n };\n };\n\n var ConnectedRouterWithContext = function ConnectedRouterWithContext(props) {\n var Context = props.context || ReactReduxContext;\n\n if (Context == null) {\n throw 'Please upgrade to react-redux v6';\n }\n\n return /*#__PURE__*/React.createElement(Context.Consumer, null, function (_ref) {\n var store = _ref.store;\n return /*#__PURE__*/React.createElement(ConnectedRouter, _extends({\n store: store\n }, props));\n });\n };\n\n ConnectedRouterWithContext.propTypes = {\n context: PropTypes.object\n };\n return connect(null, mapDispatchToProps)(ConnectedRouterWithContext);\n};\n\nexport default createConnectedRouter;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\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\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\nimport { LOCATION_CHANGE } from './actions';\n/**\n * Adds query to location.\n * Utilises the search prop of location to construct query.\n */\n\nvar injectQuery = function injectQuery(location) {\n if (location && location.query) {\n // Don't inject query if it already exists in history\n return location;\n }\n\n var searchQuery = location && location.search;\n\n if (typeof searchQuery !== 'string' || searchQuery.length === 0) {\n return _objectSpread({}, location, {\n query: {}\n });\n } // Ignore the `?` part of the search string e.g. ?username=codejockie\n\n\n var search = searchQuery.substring(1); // Split the query string on `&` e.g. ?username=codejockie&name=Kennedy\n\n var queries = search.split('&'); // Contruct query\n\n var query = queries.reduce(function (acc, currentQuery) {\n // Split on `=`, to get key and value\n var _currentQuery$split = currentQuery.split('='),\n _currentQuery$split2 = _slicedToArray(_currentQuery$split, 2),\n queryKey = _currentQuery$split2[0],\n queryValue = _currentQuery$split2[1];\n\n return _objectSpread({}, acc, _defineProperty({}, queryKey, queryValue));\n }, {});\n return _objectSpread({}, location, {\n query: query\n });\n};\n\nvar createConnectRouter = function createConnectRouter(structure) {\n var fromJS = structure.fromJS,\n merge = structure.merge;\n\n var createRouterReducer = function createRouterReducer(history) {\n var initialRouterState = fromJS({\n location: injectQuery(history.location),\n action: history.action\n });\n /*\n * This reducer will update the state with the most recent location history\n * has transitioned to.\n */\n\n return function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialRouterState;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type,\n payload = _ref.payload;\n\n if (type === LOCATION_CHANGE) {\n var location = payload.location,\n action = payload.action,\n isFirstRendering = payload.isFirstRendering; // Don't update the state ref for the first rendering\n // to prevent the double-rendering issue on initilization\n\n return isFirstRendering ? state : merge(state, {\n location: fromJS(injectQuery(location)),\n action: action\n });\n }\n\n return state;\n };\n };\n\n return createRouterReducer;\n};\n\nexport default createConnectRouter;","/* Code from github.com/erikras/redux-form by Erik Rasmussen */\nvar getIn = function getIn(state, path) {\n if (!state) {\n return state;\n }\n\n var length = path.length;\n\n if (!length) {\n return undefined;\n }\n\n var result = state;\n\n for (var i = 0; i < length && !!result; ++i) {\n result = result[path[i]];\n }\n\n return result;\n};\n\nexport default getIn;","function 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\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\nimport getIn from './getIn';\nvar structure = {\n fromJS: function fromJS(value) {\n return value;\n },\n getIn: getIn,\n merge: function merge(state, payload) {\n return _objectSpread({}, state, {}, payload);\n },\n toJS: function toJS(value) {\n return value;\n }\n};\nexport default structure;","import createConnectedRouter from \"./ConnectedRouter\";\nimport createConnectRouter from \"./reducer\";\nimport createSelectors from \"./selectors\";\nimport plainStructure from \"./structure/plain\";\nexport { LOCATION_CHANGE, CALL_HISTORY_METHOD, onLocationChanged, push, replace, go, goBack, goForward, routerActions } from \"./actions\";\nexport { default as routerMiddleware } from \"./middleware\";\nexport var ConnectedRouter = /*#__PURE__*/createConnectedRouter(plainStructure);\nexport var connectRouter = /*#__PURE__*/createConnectRouter(plainStructure);\n\nvar _createSelectors = /*#__PURE__*/createSelectors(plainStructure),\n getLocation = _createSelectors.getLocation,\n getAction = _createSelectors.getAction,\n getHash = _createSelectors.getHash,\n getRouter = _createSelectors.getRouter,\n getSearch = _createSelectors.getSearch,\n createMatchSelector = _createSelectors.createMatchSelector;\n\nexport { getLocation, getAction, getHash, getRouter, getSearch, createMatchSelector };","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { CALL_HISTORY_METHOD } from './actions';\n/**\n * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n\nvar routerMiddleware = function routerMiddleware(history) {\n return function (store) {\n return function (next) {\n return function (action) {\n // eslint-disable-line no-unused-vars\n if (action.type !== CALL_HISTORY_METHOD) {\n return next(action);\n }\n\n var _action$payload = action.payload,\n method = _action$payload.method,\n args = _action$payload.args;\n history[method].apply(history, _toConsumableArray(args));\n };\n };\n };\n};\n\nexport default routerMiddleware;","export var KEY_PREFIX = 'persist:';\nexport var FLUSH = 'persist/FLUSH';\nexport var REHYDRATE = 'persist/REHYDRATE';\nexport var PAUSE = 'persist/PAUSE';\nexport var PERSIST = 'persist/PERSIST';\nexport var PURGE = 'persist/PURGE';\nexport var REGISTER = 'persist/REGISTER';\nexport var DEFAULT_VERSION = -1;","function _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 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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 autoMergeLevel1: \n - merges 1 level of substate\n - skips substate if already modified\n*/\nexport default function autoMergeLevel1(inboundState, originalState, reducedState, _ref) {\n var debug = _ref.debug;\n\n var newState = _objectSpread({}, reducedState); // only rehydrate if inboundState exists and is an object\n\n\n if (inboundState && _typeof(inboundState) === 'object') {\n Object.keys(inboundState).forEach(function (key) {\n // ignore _persist data\n if (key === '_persist') return; // if reducer modifies substate, skip auto rehydration\n\n if (originalState[key] !== reducedState[key]) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log('redux-persist/stateReconciler: sub state for key `%s` modified, skipping.', key);\n return;\n } // otherwise hard set the new value\n\n\n newState[key] = inboundState[key];\n });\n }\n\n if (process.env.NODE_ENV !== 'production' && debug && inboundState && _typeof(inboundState) === 'object') console.log(\"redux-persist/stateReconciler: rehydrated keys '\".concat(Object.keys(inboundState).join(', '), \"'\"));\n return newState;\n}","import { KEY_PREFIX, REHYDRATE } from './constants';\n// @TODO remove once flow < 0.63 support is no longer required.\nexport default function createPersistoid(config) {\n // defaults\n var blacklist = config.blacklist || null;\n var whitelist = config.whitelist || null;\n var transforms = config.transforms || [];\n var throttle = config.throttle || 0;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var serialize;\n\n if (config.serialize === false) {\n serialize = function serialize(x) {\n return x;\n };\n } else if (typeof config.serialize === 'function') {\n serialize = config.serialize;\n } else {\n serialize = defaultSerialize;\n }\n\n var writeFailHandler = config.writeFailHandler || null; // initialize stateful values\n\n var lastState = {};\n var stagedState = {};\n var keysToProcess = [];\n var timeIterator = null;\n var writePromise = null;\n\n var update = function update(state) {\n // add any changed keys to the queue\n Object.keys(state).forEach(function (key) {\n if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop\n\n if (lastState[key] === state[key]) return; // value unchanged? noop\n\n if (keysToProcess.indexOf(key) !== -1) return; // is key already queued? noop\n\n keysToProcess.push(key); // add key to queue\n }); //if any key is missing in the new state which was present in the lastState,\n //add it for processing too\n\n Object.keys(lastState).forEach(function (key) {\n if (state[key] === undefined && passWhitelistBlacklist(key) && keysToProcess.indexOf(key) === -1 && lastState[key] !== undefined) {\n keysToProcess.push(key);\n }\n }); // start the time iterator if not running (read: throttle)\n\n if (timeIterator === null) {\n timeIterator = setInterval(processNextKey, throttle);\n }\n\n lastState = state;\n };\n\n function processNextKey() {\n if (keysToProcess.length === 0) {\n if (timeIterator) clearInterval(timeIterator);\n timeIterator = null;\n return;\n }\n\n var key = keysToProcess.shift();\n var endState = transforms.reduce(function (subState, transformer) {\n return transformer.in(subState, key, lastState);\n }, lastState[key]);\n\n if (endState !== undefined) {\n try {\n stagedState[key] = serialize(endState);\n } catch (err) {\n console.error('redux-persist/createPersistoid: error serializing state', err);\n }\n } else {\n //if the endState is undefined, no need to persist the existing serialized content\n delete stagedState[key];\n }\n\n if (keysToProcess.length === 0) {\n writeStagedState();\n }\n }\n\n function writeStagedState() {\n // cleanup any removed keys just before write.\n Object.keys(stagedState).forEach(function (key) {\n if (lastState[key] === undefined) {\n delete stagedState[key];\n }\n });\n writePromise = storage.setItem(storageKey, serialize(stagedState)).catch(onWriteFail);\n }\n\n function passWhitelistBlacklist(key) {\n if (whitelist && whitelist.indexOf(key) === -1 && key !== '_persist') return false;\n if (blacklist && blacklist.indexOf(key) !== -1) return false;\n return true;\n }\n\n function onWriteFail(err) {\n // @TODO add fail handlers (typically storage full)\n if (writeFailHandler) writeFailHandler(err);\n\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('Error storing data', err);\n }\n }\n\n var flush = function flush() {\n while (keysToProcess.length !== 0) {\n processNextKey();\n }\n\n return writePromise || Promise.resolve();\n }; // return `persistoid`\n\n\n return {\n update: update,\n flush: flush\n };\n} // @NOTE in the future this may be exposed via config\n\nfunction defaultSerialize(data) {\n return JSON.stringify(data);\n}","import { KEY_PREFIX } from './constants';\nexport default function getStoredState(config) {\n var transforms = config.transforms || [];\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var debug = config.debug;\n var deserialize;\n\n if (config.deserialize === false) {\n deserialize = function deserialize(x) {\n return x;\n };\n } else if (typeof config.deserialize === 'function') {\n deserialize = config.deserialize;\n } else {\n deserialize = defaultDeserialize;\n }\n\n return storage.getItem(storageKey).then(function (serialized) {\n if (!serialized) return undefined;else {\n try {\n var state = {};\n var rawState = deserialize(serialized);\n Object.keys(rawState).forEach(function (key) {\n state[key] = transforms.reduceRight(function (subState, transformer) {\n return transformer.out(subState, key, rawState);\n }, deserialize(rawState[key]));\n });\n return state;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log(\"redux-persist/getStoredState: Error restoring data \".concat(serialized), err);\n throw err;\n }\n }\n });\n}\n\nfunction defaultDeserialize(serial) {\n return JSON.parse(serial);\n}","import { KEY_PREFIX } from './constants';\nexport default function purgeStoredState(config) {\n var storage = config.storage;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n return storage.removeItem(storageKey, warnIfRemoveError);\n}\n\nfunction warnIfRemoveError(err) {\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('redux-persist/purgeStoredState: Error purging data stored state', err);\n }\n}","function 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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { FLUSH, PAUSE, PERSIST, PURGE, REHYDRATE, DEFAULT_VERSION } from './constants';\nimport autoMergeLevel1 from './stateReconciler/autoMergeLevel1';\nimport createPersistoid from './createPersistoid';\nimport defaultGetStoredState from './getStoredState';\nimport purgeStoredState from './purgeStoredState';\nvar DEFAULT_TIMEOUT = 5000;\n/*\n @TODO add validation / handling for:\n - persisting a reducer which has nested _persist\n - handling actions that fire before reydrate is called\n*/\n\nexport default function persistReducer(config, baseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n if (!config) throw new Error('config is required for persistReducer');\n if (!config.key) throw new Error('key is required in persistor config');\n if (!config.storage) throw new Error(\"redux-persist: config.storage is required. Try using one of the provided storage engines `import storage from 'redux-persist/lib/storage'`\");\n }\n\n var version = config.version !== undefined ? config.version : DEFAULT_VERSION;\n var debug = config.debug || false;\n var stateReconciler = config.stateReconciler === undefined ? autoMergeLevel1 : config.stateReconciler;\n var getStoredState = config.getStoredState || defaultGetStoredState;\n var timeout = config.timeout !== undefined ? config.timeout : DEFAULT_TIMEOUT;\n var _persistoid = null;\n var _purge = false;\n var _paused = true;\n\n var conditionalUpdate = function conditionalUpdate(state) {\n // update the persistoid only if we are rehydrated and not paused\n state._persist.rehydrated && _persistoid && !_paused && _persistoid.update(state);\n return state;\n };\n\n return function (state, action) {\n var _ref = state || {},\n _persist = _ref._persist,\n rest = _objectWithoutProperties(_ref, [\"_persist\"]); // $FlowIgnore need to update State type\n\n\n var restState = rest;\n\n if (action.type === PERSIST) {\n var _sealed = false;\n\n var _rehydrate = function _rehydrate(payload, err) {\n // dev warning if we are already sealed\n if (process.env.NODE_ENV !== 'production' && _sealed) console.error(\"redux-persist: rehydrate for \\\"\".concat(config.key, \"\\\" called after timeout.\"), payload, err); // only rehydrate if we are not already sealed\n\n if (!_sealed) {\n action.rehydrate(config.key, payload, err);\n _sealed = true;\n }\n };\n\n timeout && setTimeout(function () {\n !_sealed && _rehydrate(undefined, new Error(\"redux-persist: persist timed out for persist key \\\"\".concat(config.key, \"\\\"\")));\n }, timeout); // @NOTE PERSIST resumes if paused.\n\n _paused = false; // @NOTE only ever create persistoid once, ensure we call it at least once, even if _persist has already been set\n\n if (!_persistoid) _persistoid = createPersistoid(config); // @NOTE PERSIST can be called multiple times, noop after the first\n\n if (_persist) {\n // We still need to call the base reducer because there might be nested\n // uses of persistReducer which need to be aware of the PERSIST action\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n }\n\n if (typeof action.rehydrate !== 'function' || typeof action.register !== 'function') throw new Error('redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.');\n action.register(config.key);\n getStoredState(config).then(function (restoredState) {\n var migrate = config.migrate || function (s, v) {\n return Promise.resolve(s);\n };\n\n migrate(restoredState, version).then(function (migratedState) {\n _rehydrate(migratedState);\n }, function (migrateErr) {\n if (process.env.NODE_ENV !== 'production' && migrateErr) console.error('redux-persist: migration error', migrateErr);\n\n _rehydrate(undefined, migrateErr);\n });\n }, function (err) {\n _rehydrate(undefined, err);\n });\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: {\n version: version,\n rehydrated: false\n }\n });\n } else if (action.type === PURGE) {\n _purge = true;\n action.result(purgeStoredState(config));\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === FLUSH) {\n action.result(_persistoid && _persistoid.flush());\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === PAUSE) {\n _paused = true;\n } else if (action.type === REHYDRATE) {\n // noop on restState if purging\n if (_purge) return _objectSpread({}, restState, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n }) // @NOTE if key does not match, will continue to default else below\n\n });\n\n if (action.key === config.key) {\n var reducedState = baseReducer(restState, action);\n var inboundState = action.payload; // only reconcile state if stateReconciler and inboundState are both defined\n\n var reconciledRest = stateReconciler !== false && inboundState !== undefined ? stateReconciler(inboundState, state, reducedState, config) : reducedState;\n\n var _newState = _objectSpread({}, reconciledRest, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n })\n });\n\n return conditionalUpdate(_newState);\n }\n } // if we have not already handled PERSIST, straight passthrough\n\n\n if (!_persist) return baseReducer(state, action); // run base reducer:\n // is state modified ? return original : return updated\n\n var newState = baseReducer(restState, action);\n if (newState === restState) return state;\n return conditionalUpdate(_objectSpread({}, newState, {\n _persist: _persist\n }));\n };\n}","import $$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 */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\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\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\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 * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\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\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\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\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\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\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\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\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\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; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\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\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' || observer === null) {\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 {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\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\n\n dispatch({\n 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}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", 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 unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\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, {\n type: ActionTypes.INIT\n });\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 if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === '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 * 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 */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\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\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\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\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\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\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\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 an action creator as the first argument,\n * and get a dispatch wrapped 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 */\n\n\nfunction 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 boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _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}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\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 */\nfunction compose() {\n for (var _len = arguments.length, funcs = new 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(void 0, arguments));\n };\n });\n}\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 */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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\nimport { createStore } from 'redux';\nimport { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from './constants';\nvar initialState = {\n registry: [],\n bootstrapped: false\n};\n\nvar persistorReducer = function persistorReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case REGISTER:\n return _objectSpread({}, state, {\n registry: [].concat(_toConsumableArray(state.registry), [action.key])\n });\n\n case REHYDRATE:\n var firstIndex = state.registry.indexOf(action.key);\n\n var registry = _toConsumableArray(state.registry);\n\n registry.splice(firstIndex, 1);\n return _objectSpread({}, state, {\n registry: registry,\n bootstrapped: registry.length === 0\n });\n\n default:\n return state;\n }\n};\n\nexport default function persistStore(store, options, cb) {\n // help catch incorrect usage of passing PersistConfig in as PersistorOptions\n if (process.env.NODE_ENV !== 'production') {\n var optionsToTest = options || {};\n var bannedKeys = ['blacklist', 'whitelist', 'transforms', 'storage', 'keyPrefix', 'migrate'];\n bannedKeys.forEach(function (k) {\n if (!!optionsToTest[k]) console.error(\"redux-persist: invalid option passed to persistStore: \\\"\".concat(k, \"\\\". You may be incorrectly passing persistConfig into persistStore, whereas it should be passed into persistReducer.\"));\n });\n }\n\n var boostrappedCb = cb || false;\n\n var _pStore = createStore(persistorReducer, initialState, options && options.enhancer ? options.enhancer : undefined);\n\n var register = function register(key) {\n _pStore.dispatch({\n type: REGISTER,\n key: key\n });\n };\n\n var rehydrate = function rehydrate(key, payload, err) {\n var rehydrateAction = {\n type: REHYDRATE,\n payload: payload,\n err: err,\n key: key // dispatch to `store` to rehydrate and `persistor` to track result\n\n };\n store.dispatch(rehydrateAction);\n\n _pStore.dispatch(rehydrateAction);\n\n if (boostrappedCb && persistor.getState().bootstrapped) {\n boostrappedCb();\n boostrappedCb = false;\n }\n };\n\n var persistor = _objectSpread({}, _pStore, {\n purge: function purge() {\n var results = [];\n store.dispatch({\n type: PURGE,\n result: function result(purgeResult) {\n results.push(purgeResult);\n }\n });\n return Promise.all(results);\n },\n flush: function flush() {\n var results = [];\n store.dispatch({\n type: FLUSH,\n result: function result(flushResult) {\n results.push(flushResult);\n }\n });\n return Promise.all(results);\n },\n pause: function pause() {\n store.dispatch({\n type: PAUSE\n });\n },\n persist: function persist() {\n store.dispatch({\n type: PERSIST,\n register: register,\n rehydrate: rehydrate\n });\n }\n });\n\n if (!(options && options.manualPersist)) {\n persistor.persist();\n }\n\n return persistor;\n}","function _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 _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 _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\nimport React, { PureComponent } from 'react'; // eslint-disable-line import/no-unresolved\n\nexport var PersistGate =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(PersistGate, _PureComponent);\n\n function PersistGate() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, PersistGate);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(PersistGate)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n bootstrapped: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_unsubscribe\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePersistorState\", function () {\n var persistor = _this.props.persistor;\n\n var _persistor$getState = persistor.getState(),\n bootstrapped = _persistor$getState.bootstrapped;\n\n if (bootstrapped) {\n if (_this.props.onBeforeLift) {\n Promise.resolve(_this.props.onBeforeLift()).finally(function () {\n return _this.setState({\n bootstrapped: true\n });\n });\n } else {\n _this.setState({\n bootstrapped: true\n });\n }\n\n _this._unsubscribe && _this._unsubscribe();\n }\n });\n\n return _this;\n }\n\n _createClass(PersistGate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._unsubscribe = this.props.persistor.subscribe(this.handlePersistorState);\n this.handlePersistorState();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._unsubscribe && this._unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof this.props.children === 'function' && this.props.loading) console.error('redux-persist: PersistGate expects either a function child or loading prop, but not both. The loading prop will be ignored.');\n }\n\n if (typeof this.props.children === 'function') {\n return this.props.children(this.state.bootstrapped);\n }\n\n return this.state.bootstrapped ? this.props.children : this.props.loading;\n }\n }]);\n\n return PersistGate;\n}(PureComponent);\n\n_defineProperty(PersistGate, \"defaultProps\", {\n children: null,\n loading: null\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;","export enum Events {\n ScreenOpened = 'viewOnboardingScreen',\n GoBack = 'goBackOnboardingScreen',\n ContinueWelcome = 'clickContinueBoardingWelcome',\n SignUp = 'signUp',\n SignUpError = 'signUpError',\n SwitchPlan = 'switchPlan',\n SwitchBoardingPrice = 'switchBoardingPrice',\n SwitchAddon = 'switchAddon',\n ViewSwitchPlanPrompt = 'viewSwitchPlanPrompt',\n ViewSkipTrialPopup = 'viewSkipTrialPopup',\n ViewSkipBasicUpsellPopup = 'viewSkipBasicUpsellPopup',\n ViewSkipWeekMonthUpsellPopup = 'viewSkipWeekMonthUpsellPopup',\n ReplySwitchPlanPrompt = 'replySwitchPlanPrompt',\n UnfoldPayment = 'continueUnfoldPaymentMethod',\n ViewWhyNowPrompt = 'viewWhyNowPrompt',\n Subscribe = 'continueSubscribe',\n SubscriptionSuccess = 'subscriptionSuccess',\n SubscriptionStarted = 'subscriptionStarted',\n SubscriptionError = 'subscriptionFail',\n ViewCongrats = 'viewInstallCongratsScreen',\n Install = 'clickContinueInstall',\n InstallQR = 'clickInstallQR',\n ExperimentStarted = 'experimentEntered',\n PageView = 'pageview',\n ViewPIScreen = 'viewPIScreen',\n ViewQPScreen = 'viewQPScreen',\n ViewInstallQRScreen = 'viewInstallQRScreen',\n ContinuePIWelcome = 'clickContinuePIWelcome',\n ContinueQPOffer = 'clickContinueQPOffer',\n RecaptchaError = 'recaptchaError',\n\n ContinueBoardingAboutYouGuided = 'continueBoardingAboutYouGuided',\n ContinueBoardingAboutYouD1 = 'continueBoardingAboutYouD1',\n ContinueBoardingAboutYouGender = 'continueBoardingAboutYouGender',\n ContinueBoardingAboutYouAge = 'continueBoardingAboutYouAge',\n ContinueBoardingAboutYouRoutine = 'continueBoardingAboutYouRoutine',\n ContinueBoardingAboutYouD2 = 'continueBoardingAboutYouD2',\n ContinueBoardingAboutYouKids = 'continueBoardingAboutYouKids',\n ContinueBoardingAboutYouD3 = 'continueBoardingAboutYouD3',\n ContinueBoardingAboutYouActivity = 'continueBoardingAboutYouActivity',\n ContinueBoardingAboutYouD4 = 'continueBoardingAboutYouD4',\n ContinueBoardingAboutYouProof1 = 'continueBoardingAboutYouProof1',\n ContinueBoardingSleepAndActivityQ1 = 'continueBoardingSleepAndActivityQ1',\n ContinueBoardingSleepAndActivityQ2 = 'continueBoardingSleepAndActivityQ2',\n ContinueBoardingSleepAndActivityD1 = 'continueBoardingSleepAndActivityD1',\n ContinueBoardingSleepAndActivityQ3 = 'continueBoardingSleepAndActivityQ3',\n ContinueBoardingSleepAndActivityProof1 = 'continueBoardingSleepAndActivityProof1',\n ContinueBoardingSleepAndActivityProof2 = 'continueBoardingSleepAndActivityProof2',\n ContinueBoardingSleepAndActivityCoffee = 'continueBoardingSleepAndActivityCoffee',\n ContinueBoardingSleepAndActivityDinner = 'continueBoardingSleepAndActivityDinner',\n ContinueBoardingSleepAndActivityAfterMidnight = 'continueBoardingSleepAndActivityAfterMidnight',\n ContinueBoardingSleepAndActivityLessThanEightHours = 'continueBoardingSleepAndActivityLessThanEightHours',\n ContinueBoardingSleepAndActivityExtraMotivation = 'continueBoardingSleepAndActivityExtraMotivation',\n ContinueBoardingSleepAndActivityD2 = 'continueBoardingSleepAndActivityD2',\n ContinueBoardingSleepAndActivityLoader = 'continueBoardingSleepAndActivityLoader',\n\n ContinueBoardingPersonalizationD1 = 'continueBoardingPersonalizationD1',\n ContinueBoardingPersonalizationColors1 = 'continueBoardingPersonalizationColors1',\n ContinueBoardingPersonalizationColors2 = 'continueBoardingPersonalizationColors2',\n ContinueBoardingPersonalizationColors3 = 'continueBoardingPersonalizationColors3',\n ContinueBoardingPersonalizationColors4 = 'continueBoardingPersonalizationColors4',\n ContinueBoardingPersonalizationProof1 = 'continueBoardingPersonalizationProof1',\n ContinueBoardingPersonalizationArtwork1 = 'continueBoardingPersonalizationArtwork1',\n ContinueBoardingPersonalizationArtwork2 = 'continueBoardingPersonalizationArtwork2',\n ContinueBoardingPersonalizationArtwork3 = 'continueBoardingPersonalizationArtwork3',\n ContinueBoardingPersonalizationArtwork4 = 'continueBoardingPersonalizationArtwork4',\n ContinueBoardingPersonalizationNarrative = 'continueBoardingPersonalizationNarrative',\n ContinueBoardingPersonalizationLoader = 'continueBoardingPersonalizationLoader',\n ContinueBoardingPersonalizationD2 = 'continueBoardingPersonalizationD2',\n ContinueBoardingPersonalizationGoal = 'continueBoardingPersonalizationGoal',\n ContinueBoardingPersonalizationPlaces = 'continueBoardingPersonalizationPlaces',\n ContinueBoardingPersonalizationLength = 'continueBoardingPersonalizationLength',\n ContinueBoardingPersonalizationFrequency = 'continueBoardingPersonalizationFrequency',\n ContinueBoardingPersonalizationFeelingHoping = 'continueBoardingPersonalizationFeelingHoping',\n ContinueBoardingPersonalizationSounds = 'continueBoardingPersonalizationSounds',\n ContinueBoardingPersonalizationFeeling = 'continueBoardingPersonalizationFeeling',\n ContinueBoardingPersonalizationD3 = 'continueBoardingPersonalizationD3',\n\n ContinueBoardingRMeqQ1 = 'continueBoardingRMeqQ1',\n ContinueBoardingRMeqQ2 = 'continueBoardingRMeqQ2',\n ContinueBoardingRMeqQ3 = 'continueBoardingRMeqQ3',\n ContinueBoardingRMeqQ4 = 'continueBoardingRMeqQ4',\n ContinueBoardingRMeqQ5 = 'continueBoardingRMeqQ5',\n\n ContinueBoardingEduD1 = 'continueBoardingEduD1',\n ContinueBoardingEduQ1 = 'continueBoardingEduQ1',\n ContinueBoardingEduQ2 = 'continueBoardingEduQ2',\n ContinueBoardingEduQ3 = 'continueBoardingEduQ3',\n ContinueBoardingEduQ4 = 'continueBoardingEduQ4',\n ContinueBoardingEduQ5 = 'continueBoardingEduQ5',\n\n ContinueBoardingIsiD1 = 'continueBoardingIsiD1',\n ContinueBoardingIsiQ1 = 'continueBoardingIsiQ1',\n ContinueBoardingIsiQ2 = 'continueBoardingIsiQ2',\n ContinueBoardingIsiQ3 = 'continueBoardingIsiQ3',\n ContinueBoardingIsiQ4 = 'continueBoardingIsiQ4',\n ContinueBoardingIsiQ5 = 'continueBoardingIsiQ5',\n\n ContinueBoardingEduQ1Answer = 'continueBoardingEduQ1Answer',\n ContinueBoardingEduQ2Answer = 'continueBoardingEduQ2Answer',\n ContinueBoardingEduQ3Answer = 'continueBoardingEduQ3Answer',\n ContinueBoardingEduQ4Answer = 'continueBoardingEduQ4Answer',\n ContinueBoardingEduQ5Answer = 'continueBoardingEduQ5Answer',\n\n ContinueBoardingGadQ1 = 'continueBoardingGadQ1',\n ContinueBoardingGadQ2 = 'continueBoardingGadQ2',\n ContinueBoardingGadQ3 = 'continueBoardingGadQ3',\n ContinueBoardingGadQ4 = 'continueBoardingGadQ4',\n ContinueBoardingGadQ5 = 'continueBoardingGadQ5',\n ContinueBoardingGadQ6 = 'continueBoardingGadQ6',\n ContinueBoardingGadQ7 = 'continueBoardingGadQ7',\n\n ContinueBoardingBlitzArt = 'continueBoardingBlitzArt',\n ContinueBoardingBlitzDaydream = 'continueBoardingBlitzDaydream',\n ContinueBoardingBlitzTinnitus = 'continueBoardingBlitzTinnitus',\n ContinueBoardingBlitzRead = 'continueBoardingBlitzRead',\n ContinueBoardingBlitzShiftWork = 'continueBoardingBlitzShiftWork',\n ContinueBoardingBlitzADHD = 'continueBoardingBlitzADHD',\n\n BlitzAlertViewed = 'viewBlitzPopUp',\n ContinueBoardingSkipTrial = 'continueBoardingSkipTrial',\n ProductSelected = 'continueBoardingPrice',\n ContinueBoardingPricePopUp = 'continueBoardingPricePopUp',\n\n ContinueUnfoldPaymentMethod = 'continueUnfoldPaymentMethod',\n PayPalClicked = 'clickPayPalButton',\n ApplePayClicked = 'clickApplePayButton',\n VenmoClicked = 'clickVenmoButton',\n CardFormInputStarted = 'clickCreditCardInput',\n UnfoldFaq = 'unfoldFaq',\n\n ViewPopup = 'viewPopup',\n ClickPreventGoBack = 'clickPreventGoBack',\n\n GiftScreenOpened = 'viewGiftScreen',\n GiftProductSelected = 'continueGiftWelcome',\n GiftAmountSelected = 'continueGiftPlanSettings',\n GiftPurchaseSuccess = 'giftPurchase',\n\n RedeemScreenOpened = 'viewRedeemScreen',\n RedeemWelcomeContinue = 'continueRedeemWelcome',\n RedeemSignUp = 'signUp',\n RedeemGiftCodeActivated = 'ContinueGiftCode',\n RedeemAppContinue = 'ContinueRedeemCongratsScreen',\n\n SubscriptionCancelScreenOpened = 'viewCancelScreen',\n ContinueSubscriptionCancel = 'clickContinueCancel',\n ContinueSubscriptionCancelReason = 'clickContinueCancelReason',\n ContinueSubscriptionCancelHowLikely = 'clickContinueCancelHowLikely',\n SubscriptionProlongSuccess = 'subscriptionProlongSuccess',\n SubscriptionSwitchSuccess = 'subscriptionSwitchSuccess',\n BuyAddonPlan = 'buyAddonPlan',\n}\n","import { Events } from './Events';\nimport { Event } from './Event';\n\nexport class Analytics {\n supportedEvents: Events[] = Object.values(Events);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n trackEvent(event: Event) {\n throw new Error('trackEvent should be implemented');\n }\n}\n","/**\n * Checks whether we're in a Node.js environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv(): boolean {\n return typeof process === 'object' && process?.versions?.node !== undefined;\n}\n\n/**\n * Checks whether we're in a browser environment\n *\n * @returns Answer to given question\n */\nexport function isBrowserEnv(): boolean {\n return typeof window === 'object' && window?.document !== undefined;\n}\n\nconst fallbackGlobalObject = {};\n\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport const getGlobalObject = (): any => {\n if (isNodeEnv()) {\n return global;\n } else if (typeof window !== 'undefined') {\n return window;\n } else if (typeof self !== 'undefined') {\n return self;\n } else {\n return fallbackGlobalObject;\n }\n};\n\nexport const getGlobalAmplitudeNamespace = (): any => {\n const global = getGlobalObject();\n if (global.__AMPLITUDE__ === undefined) {\n global.__AMPLITUDE__ = {};\n }\n\n return global.__AMPLITUDE__;\n};\n\n/**\n * A promise-based way to sleep for x millseconds, then queue ourselves back to the\n * JS event loop.\n *\n * @param milliseconds The number of milliseconds to wait for\n */\nexport const asyncSleep = async (milliseconds: number): Promise => {\n return await new Promise(resolve => setTimeout(resolve, milliseconds));\n};\n\n/**\n * Fixes browser edge case where Prototype.js injects Array.prototype.toJSON and breaks the built-in JSON.stringify()\n *\n * @returns true if Array.prototype.toJSON was deleted, false if not\n */\nexport const prototypeJsFix = (): boolean => {\n // Augment and cast built-ins to represent Prototype.js injection\n interface Window {\n Prototype?: Record;\n }\n interface ArrayConstructor {\n prototype?: { toJSON?: Function };\n }\n if (isBrowserEnv()) {\n const augmentedWindow = window as Window;\n const augmentedArray = Array as ArrayConstructor;\n if (augmentedWindow.Prototype !== undefined && augmentedArray.prototype?.toJSON !== undefined) {\n delete augmentedArray.prototype.toJSON;\n return true;\n }\n }\n return false;\n};\n","import { isBrowserEnv, prototypeJsFix } from '@amplitude/utils';\nimport md5 from 'blueimp-md5';\nimport queryString from 'query-string';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { AnalyticsConnector } from '@amplitude/analytics-connector';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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 _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}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(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}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar Constants = {\n DEFAULT_INSTANCE: '$default_instance',\n API_VERSION: 2,\n MAX_STRING_LENGTH: 4096,\n MAX_PROPERTY_KEYS: 1000,\n IDENTIFY_EVENT: '$identify',\n GROUP_IDENTIFY_EVENT: '$groupidentify',\n EVENT_LOG_URL: 'api.amplitude.com',\n EVENT_LOG_EU_URL: 'api.eu.amplitude.com',\n DYNAMIC_CONFIG_URL: 'regionconfig.amplitude.com',\n DYNAMIC_CONFIG_EU_URL: 'regionconfig.eu.amplitude.com',\n // localStorageKeys\n LAST_EVENT_ID: 'amplitude_lastEventId',\n LAST_EVENT_TIME: 'amplitude_lastEventTime',\n LAST_IDENTIFY_ID: 'amplitude_lastIdentifyId',\n LAST_SEQUENCE_NUMBER: 'amplitude_lastSequenceNumber',\n SESSION_ID: 'amplitude_sessionId',\n // Used in cookie as well\n DEVICE_ID: 'amplitude_deviceId',\n OPT_OUT: 'amplitude_optOut',\n USER_ID: 'amplitude_userId',\n // indexes of properties in cookie v2 storage format\n DEVICE_ID_INDEX: 0,\n USER_ID_INDEX: 1,\n OPT_OUT_INDEX: 2,\n SESSION_ID_INDEX: 3,\n LAST_EVENT_TIME_INDEX: 4,\n EVENT_ID_INDEX: 5,\n IDENTIFY_ID_INDEX: 6,\n SEQUENCE_NUMBER_INDEX: 7,\n COOKIE_TEST_PREFIX: 'amp_cookie_test',\n COOKIE_PREFIX: 'amp',\n // Storage options\n STORAGE_DEFAULT: '',\n STORAGE_COOKIES: 'cookies',\n STORAGE_NONE: 'none',\n STORAGE_LOCAL: 'localStorage',\n STORAGE_SESSION: 'sessionStorage',\n // revenue keys\n REVENUE_EVENT: 'revenue_amount',\n REVENUE_PRODUCT_ID: '$productId',\n REVENUE_QUANTITY: '$quantity',\n REVENUE_PRICE: '$price',\n REVENUE_REVENUE_TYPE: '$revenueType',\n AMP_DEVICE_ID_PARAM: 'amp_device_id',\n // url param\n REFERRER: 'referrer',\n // UTM Params\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_TERM: 'utm_term',\n UTM_CONTENT: 'utm_content',\n ATTRIBUTION_EVENT: '[Amplitude] Attribution Captured',\n TRANSPORT_HTTP: 'http',\n TRANSPORT_BEACON: 'beacon'\n};\n\n/*\n * UTF-8 encoder/decoder\n * http://www.webtoolkit.info/\n */\nvar UTF8 = {\n encode: function encode(s) {\n var utftext = '';\n\n for (var n = 0; n < s.length; n++) {\n var c = s.charCodeAt(n);\n\n if (c < 128) {\n utftext += String.fromCharCode(c);\n } else if (c > 127 && c < 2048) {\n utftext += String.fromCharCode(c >> 6 | 192);\n utftext += String.fromCharCode(c & 63 | 128);\n } else {\n utftext += String.fromCharCode(c >> 12 | 224);\n utftext += String.fromCharCode(c >> 6 & 63 | 128);\n utftext += String.fromCharCode(c & 63 | 128);\n }\n }\n\n return utftext;\n },\n decode: function decode(utftext) {\n var s = '';\n var i = 0;\n var c = 0,\n c1 = 0,\n c2 = 0;\n\n while (i < utftext.length) {\n c = utftext.charCodeAt(i);\n\n if (c < 128) {\n s += String.fromCharCode(c);\n i++;\n } else if (c > 191 && c < 224) {\n c1 = utftext.charCodeAt(i + 1);\n s += String.fromCharCode((c & 31) << 6 | c1 & 63);\n i += 2;\n } else {\n c1 = utftext.charCodeAt(i + 1);\n c2 = utftext.charCodeAt(i + 2);\n s += String.fromCharCode((c & 15) << 12 | (c1 & 63) << 6 | c2 & 63);\n i += 3;\n }\n }\n\n return s;\n }\n};\n\n/* global globalThis */\nvar GlobalScope = function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n}();\n\n/*\n * Base64 encoder/decoder\n * http://www.webtoolkit.info/\n */\n\nvar Base64 = {\n _keyStr: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n encode: function encode(input) {\n try {\n if (GlobalScope.btoa && GlobalScope.atob) {\n return GlobalScope.btoa(unescape(encodeURIComponent(input)));\n }\n } catch (e) {//log(e);\n }\n\n return Base64._encode(input);\n },\n _encode: function _encode(input) {\n var output = '';\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0;\n input = UTF8.encode(input);\n\n while (i < input.length) {\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n enc1 = chr1 >> 2;\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + Base64._keyStr.charAt(enc1) + Base64._keyStr.charAt(enc2) + Base64._keyStr.charAt(enc3) + Base64._keyStr.charAt(enc4);\n }\n\n return output;\n },\n decode: function decode(input) {\n try {\n if (GlobalScope.btoa && GlobalScope.atob) {\n return decodeURIComponent(escape(GlobalScope.atob(input)));\n }\n } catch (e) {//log(e);\n }\n\n return Base64._decode(input);\n },\n _decode: function _decode(input) {\n var output = '';\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n input = input.replace(/[^A-Za-z0-9+/=]/g, '');\n\n while (i < input.length) {\n enc1 = Base64._keyStr.indexOf(input.charAt(i++));\n enc2 = Base64._keyStr.indexOf(input.charAt(i++));\n enc3 = Base64._keyStr.indexOf(input.charAt(i++));\n enc4 = Base64._keyStr.indexOf(input.charAt(i++));\n chr1 = enc1 << 2 | enc2 >> 4;\n chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n chr3 = (enc3 & 3) << 6 | enc4;\n output = output + String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n }\n\n output = UTF8.decode(output);\n return output;\n }\n};\n\n/**\n * toString ref.\n * @private\n */\nvar toString = Object.prototype.toString;\n/**\n * Return the type of `val`.\n * @private\n * @param {Mixed} val\n * @return {String}\n * @api public\n */\n\nfunction type (val) {\n switch (toString.call(val)) {\n case '[object Date]':\n return 'date';\n\n case '[object RegExp]':\n return 'regexp';\n\n case '[object Arguments]':\n return 'arguments';\n\n case '[object Array]':\n return 'array';\n\n case '[object Error]':\n return 'error';\n }\n\n if (val === null) {\n return 'null';\n }\n\n if (val === undefined) {\n return 'undefined';\n }\n\n if (val !== val) {\n return 'nan';\n }\n\n if (val && val.nodeType === 1) {\n return 'element';\n }\n\n if (typeof Buffer !== 'undefined' && typeof Buffer.isBuffer === 'function' && Buffer.isBuffer(val)) {\n return 'buffer';\n }\n\n val = val.valueOf ? val.valueOf() : Object.prototype.valueOf.apply(val);\n return _typeof(val);\n}\n\nvar logLevels = {\n DISABLE: 0,\n ERROR: 1,\n WARN: 2,\n INFO: 3\n};\nvar logLevel = logLevels.WARN;\n\nvar setLogLevel = function setLogLevel(logLevelName) {\n if (Object.prototype.hasOwnProperty.call(logLevels, logLevelName)) {\n logLevel = logLevels[logLevelName];\n }\n};\n\nvar getLogLevel = function getLogLevel() {\n return logLevel;\n};\n\nvar log = {\n error: function error(s) {\n if (logLevel >= logLevels.ERROR) {\n _log(s);\n }\n },\n warn: function warn(s) {\n if (logLevel >= logLevels.WARN) {\n _log(s);\n }\n },\n info: function info(s) {\n if (logLevel >= logLevels.INFO) {\n _log(s);\n }\n }\n};\n\nvar _log = function _log(s) {\n try {\n console.log('[Amplitude] ' + s);\n } catch (e) {// console logging not available\n }\n};\n\nvar isEmptyString = function isEmptyString(str) {\n return !str || str.length === 0;\n};\n\nvar sessionStorageEnabled = function sessionStorageEnabled() {\n try {\n if (GlobalScope.sessionStorage) {\n return true;\n }\n } catch (e) {// sessionStorage disabled\n }\n\n return false;\n}; // truncate string values in event and user properties so that request size does not get too large\n\n\nvar truncate = function truncate(value) {\n if (type(value) === 'array') {\n for (var i = 0; i < value.length; i++) {\n value[i] = truncate(value[i]);\n }\n } else if (type(value) === 'object') {\n for (var key in value) {\n if (key in value) {\n value[key] = truncate(value[key]);\n }\n }\n } else {\n value = _truncateValue(value);\n }\n\n return value;\n};\n\nvar _truncateValue = function _truncateValue(value) {\n if (type(value) === 'string') {\n return value.length > Constants.MAX_STRING_LENGTH ? value.substring(0, Constants.MAX_STRING_LENGTH) : value;\n }\n\n return value;\n};\n\nvar validateInput = function validateInput(input, name, expectedType) {\n if (type(input) !== expectedType) {\n log.error('Invalid ' + name + ' input type. Expected ' + expectedType + ' but received ' + type(input));\n return false;\n }\n\n return true;\n};\n\nvar validateDeviceId = function validateDeviceId(deviceId) {\n if (!validateInput(deviceId, 'deviceId', 'string')) {\n return false;\n }\n\n if (deviceId.indexOf('.') >= 0) {\n log.error(\"Device IDs may not contain '.' characters. Value will be ignored: \\\"\".concat(deviceId, \"\\\"\"));\n return false;\n }\n\n return true;\n};\n\nvar validateTransport = function validateTransport(transport) {\n if (!validateInput(transport, 'transport', 'string')) {\n return false;\n }\n\n if (transport !== Constants.TRANSPORT_HTTP && transport !== Constants.TRANSPORT_BEACON) {\n log.error(\"transport value must be one of '\".concat(Constants.TRANSPORT_BEACON, \"' or '\").concat(Constants.TRANSPORT_HTTP, \"'\"));\n return false;\n }\n\n if (transport !== Constants.TRANSPORT_HTTP && typeof navigator !== 'undefined' && !navigator.sendBeacon) {\n log.error(\"browser does not support sendBeacon, so transport must be HTTP\");\n return false;\n }\n\n return true;\n}; // do some basic sanitization and type checking, also catch property dicts with more than 1000 key/value pairs\n\n\nvar validateProperties = function validateProperties(properties) {\n var propsType = type(properties);\n\n if (propsType !== 'object') {\n log.error('Error: invalid properties format. Expecting Javascript object, received ' + propsType + ', ignoring');\n return {};\n }\n\n if (Object.keys(properties).length > Constants.MAX_PROPERTY_KEYS) {\n log.error('Error: too many properties (more than 1000), ignoring');\n return {};\n }\n\n var copy = {}; // create a copy with all of the valid properties\n\n for (var property in properties) {\n if (!Object.prototype.hasOwnProperty.call(properties, property)) {\n continue;\n } // validate key\n\n\n var key = property;\n var keyType = type(key);\n\n if (keyType !== 'string') {\n key = String(key);\n log.warn('WARNING: Non-string property key, received type ' + keyType + ', coercing to string \"' + key + '\"');\n } // validate value\n\n\n var value = validatePropertyValue(key, properties[property]);\n\n if (value === null) {\n continue;\n }\n\n copy[key] = value;\n }\n\n return copy;\n};\n\nvar invalidValueTypes = ['nan', 'function', 'arguments', 'regexp', 'element'];\n\nvar validatePropertyValue = function validatePropertyValue(key, value) {\n var valueType = type(value);\n\n if (invalidValueTypes.indexOf(valueType) !== -1) {\n log.warn('WARNING: Property key \"' + key + '\" with invalid value type ' + valueType + ', ignoring');\n value = null;\n } else if (valueType === 'undefined') {\n value = null;\n } else if (valueType === 'error') {\n value = String(value);\n log.warn('WARNING: Property key \"' + key + '\" with value type error, coercing to ' + value);\n } else if (valueType === 'array') {\n // check for nested arrays or objects\n var arrayCopy = [];\n\n for (var i = 0; i < value.length; i++) {\n var element = value[i];\n var elemType = type(element);\n\n if (elemType === 'array') {\n log.warn('WARNING: Cannot have ' + elemType + ' nested in an array property value, skipping');\n continue;\n } else if (elemType === 'object') {\n arrayCopy.push(validateProperties(element));\n } else {\n arrayCopy.push(validatePropertyValue(key, element));\n }\n }\n\n value = arrayCopy;\n } else if (valueType === 'object') {\n value = validateProperties(value);\n }\n\n return value;\n};\n\nvar validateGroups = function validateGroups(groups) {\n var groupsType = type(groups);\n\n if (groupsType !== 'object') {\n log.error('Error: invalid groups format. Expecting Javascript object, received ' + groupsType + ', ignoring');\n return {};\n }\n\n var copy = {}; // create a copy with all of the valid properties\n\n for (var group in groups) {\n if (!Object.prototype.hasOwnProperty.call(groups, group)) {\n continue;\n } // validate key\n\n\n var key = group;\n var keyType = type(key);\n\n if (keyType !== 'string') {\n key = String(key);\n log.warn('WARNING: Non-string groupType, received type ' + keyType + ', coercing to string \"' + key + '\"');\n } // validate value\n\n\n var value = validateGroupName(key, groups[group]);\n\n if (value === null) {\n continue;\n }\n\n copy[key] = value;\n }\n\n return copy;\n};\n\nvar validateGroupName = function validateGroupName(key, groupName) {\n var groupNameType = type(groupName);\n\n if (groupNameType === 'string') {\n return groupName;\n }\n\n if (groupNameType === 'date' || groupNameType === 'number' || groupNameType === 'boolean') {\n groupName = String(groupName);\n log.warn('WARNING: Non-string groupName, received type ' + groupNameType + ', coercing to string \"' + groupName + '\"');\n return groupName;\n }\n\n if (groupNameType === 'array') {\n // check for nested arrays or objects\n var arrayCopy = [];\n\n for (var i = 0; i < groupName.length; i++) {\n var element = groupName[i];\n var elemType = type(element);\n\n if (elemType === 'array' || elemType === 'object') {\n log.warn('WARNING: Skipping nested ' + elemType + ' in array groupName');\n continue;\n } else if (elemType === 'string') {\n arrayCopy.push(element);\n } else if (elemType === 'date' || elemType === 'number' || elemType === 'boolean') {\n element = String(element);\n log.warn('WARNING: Non-string groupName, received type ' + elemType + ', coercing to string \"' + element + '\"');\n arrayCopy.push(element);\n }\n }\n\n return arrayCopy;\n }\n\n log.warn('WARNING: Non-string groupName, received type ' + groupNameType + '. Please use strings or array of strings for groupName');\n}; // parses the value of a url param (for example ?gclid=1234&...)\n\n\nvar getQueryParam = function getQueryParam(name, query) {\n name = name.replace(/[[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n var results = regex.exec(query);\n return results === null ? undefined : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n};\n\nvar isWebWorkerEnvironment = function isWebWorkerEnvironment() {\n return typeof WorkerGlobalScope !== 'undefined';\n};\n\nvar validateSessionId = function validateSessionId(sessionId) {\n if (validateInput(sessionId, 'sessionId', 'number') && new Date(sessionId).getTime() > 0) {\n return true;\n }\n\n log.error(\"sessionId value must in milliseconds since epoch (Unix Timestamp)\");\n return false;\n};\n\nvar utils = {\n setLogLevel: setLogLevel,\n getLogLevel: getLogLevel,\n logLevels: logLevels,\n log: log,\n isEmptyString: isEmptyString,\n isWebWorkerEnvironment: isWebWorkerEnvironment,\n getQueryParam: getQueryParam,\n sessionStorageEnabled: sessionStorageEnabled,\n truncate: truncate,\n validateGroups: validateGroups,\n validateInput: validateInput,\n validateProperties: validateProperties,\n validateDeviceId: validateDeviceId,\n validateTransport: validateTransport,\n validateSessionId: validateSessionId\n};\n\nvar getLocation = function getLocation() {\n return GlobalScope.location;\n};\n\n// A URL safe variation on the the list of Base64 characters\nvar base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';\n\nvar base64Id = function base64Id() {\n var str = '';\n\n for (var i = 0; i < 22; ++i) {\n str += base64Chars.charAt(Math.floor(Math.random() * 64));\n }\n\n return str;\n};\n\nvar get$1 = function get(name) {\n try {\n var ca = document.cookie.split(';');\n var value = null;\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n\n if (c.indexOf(name) === 0) {\n value = c.substring(name.length, c.length);\n break;\n }\n }\n\n return value;\n } catch (e) {\n return null;\n }\n};\n\nvar getAll = function getAll(name) {\n try {\n var cookieArray = document.cookie.split(';').map(function (c) {\n return c.trimStart();\n });\n var values = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = cookieArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var cookie = _step.value;\n\n while (cookie.charAt(0) === ' ') {\n cookie = cookie.substring(1);\n }\n\n if (cookie.indexOf(name) === 0) {\n values.push(cookie.substring(name.length));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return values;\n } catch (e) {\n return [];\n }\n};\n\nvar set$1 = function set(name, value, opts) {\n var expires = value !== null ? opts.expirationDays : -1;\n\n if (expires) {\n var date = new Date();\n date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);\n expires = date;\n }\n\n var str = name + '=' + value;\n\n if (expires) {\n str += '; expires=' + expires.toUTCString();\n }\n\n str += '; path=/';\n\n if (opts.domain) {\n str += '; domain=' + opts.domain;\n }\n\n if (opts.secure) {\n str += '; Secure';\n }\n\n if (opts.sameSite) {\n str += '; SameSite=' + opts.sameSite;\n }\n\n document.cookie = str;\n};\n\nvar getLastEventTime = function getLastEventTime() {\n var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var strValue = cookie.split('.')[Constants.LAST_EVENT_TIME_INDEX];\n var parsedValue;\n\n if (strValue) {\n parsedValue = parseInt(strValue, 32);\n }\n\n if (parsedValue) {\n return parsedValue;\n } else {\n utils.log.warn(\"unable to parse malformed cookie: \".concat(cookie));\n return 0;\n }\n};\n\nvar sortByEventTime = function sortByEventTime(cookies) {\n return _toConsumableArray(cookies).sort(function (c1, c2) {\n var t1 = getLastEventTime(c1);\n var t2 = getLastEventTime(c2); // sort c1 first if its last event time is more recent\n // i.e its event time integer is larger that c2's\n\n return t2 - t1;\n });\n}; // test that cookies are enabled - navigator.cookiesEnabled yields false positives in IE, need to test directly\n\n\nvar areCookiesEnabled = function areCookiesEnabled() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var cookieName = Constants.COOKIE_TEST_PREFIX + base64Id();\n\n if (typeof document === 'undefined') {\n return false;\n }\n\n var _areCookiesEnabled = false;\n\n try {\n var uid = String(Date.now());\n set$1(cookieName, uid, opts);\n utils.log.info(\"Testing if cookies available\");\n _areCookiesEnabled = get$1(cookieName + '=') === uid;\n } catch (e) {\n utils.log.warn(\"Error thrown when checking for cookies. Reason: \\\"\".concat(e, \"\\\"\"));\n } finally {\n utils.log.info(\"Cleaning up cookies availability test\");\n set$1(cookieName, null, opts);\n }\n\n return _areCookiesEnabled;\n};\n\nvar baseCookie = {\n set: set$1,\n get: get$1,\n getAll: getAll,\n getLastEventTime: getLastEventTime,\n sortByEventTime: sortByEventTime,\n areCookiesEnabled: areCookiesEnabled\n};\n\nvar getHost = function getHost(url) {\n var defaultHostname = GlobalScope.location ? GlobalScope.location.hostname : '';\n\n if (url) {\n if (typeof document !== 'undefined') {\n var a = document.createElement('a');\n a.href = url;\n return a.hostname || defaultHostname;\n }\n\n if (typeof URL === 'function') {\n var u = new URL(url);\n return u.hostname || defaultHostname;\n }\n }\n\n return defaultHostname;\n};\n\nvar topDomain = function topDomain(url) {\n var host = getHost(url);\n var parts = host.split('.');\n var levels = [];\n var cname = '_tldtest_' + base64Id();\n if (utils.isWebWorkerEnvironment()) return '';\n\n for (var i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n\n for (var _i = 0; _i < levels.length; ++_i) {\n var domain = levels[_i];\n var opts = {\n domain: '.' + domain\n };\n baseCookie.set(cname, 1, opts);\n\n if (baseCookie.get(cname)) {\n baseCookie.set(cname, null, opts);\n return domain;\n }\n }\n\n return '';\n};\n\n/*\n * Cookie data\n */\nvar _options = {\n expirationDays: undefined,\n domain: undefined\n};\n\nvar reset = function reset() {\n _options = {\n expirationDays: undefined,\n domain: undefined\n };\n};\n\nvar options = function options(opts) {\n if (arguments.length === 0) {\n return _options;\n }\n\n opts = opts || {};\n _options.expirationDays = opts.expirationDays;\n _options.secure = opts.secure;\n _options.sameSite = opts.sameSite;\n var domain = !utils.isEmptyString(opts.domain) ? opts.domain : '.' + topDomain(getLocation().href);\n var token = Math.random();\n _options.domain = domain;\n set('amplitude_test', token);\n var stored = get('amplitude_test');\n\n if (!stored || stored !== token) {\n domain = null;\n }\n\n remove('amplitude_test');\n _options.domain = domain;\n return _options;\n};\n\nvar _domainSpecific = function _domainSpecific(name) {\n // differentiate between cookies on different domains\n var suffix = '';\n\n if (_options.domain) {\n suffix = _options.domain.charAt(0) === '.' ? _options.domain.substring(1) : _options.domain;\n }\n\n return name + suffix;\n};\n\nvar get = function get(name) {\n var nameEq = _domainSpecific(name) + '=';\n var value = baseCookie.get(nameEq);\n\n try {\n if (value) {\n return JSON.parse(Base64.decode(value));\n }\n } catch (e) {\n return null;\n }\n\n return null;\n};\n\nvar set = function set(name, value) {\n try {\n baseCookie.set(_domainSpecific(name), Base64.encode(JSON.stringify(value)), _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar setRaw = function setRaw(name, value) {\n try {\n baseCookie.set(_domainSpecific(name), value, _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar getRaw = function getRaw(name) {\n var nameEq = _domainSpecific(name) + '=';\n return baseCookie.get(nameEq);\n};\n\nvar remove = function remove(name) {\n try {\n baseCookie.set(_domainSpecific(name), null, _options);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar Cookie = {\n reset: reset,\n options: options,\n get: get,\n set: set,\n remove: remove,\n setRaw: setRaw,\n getRaw: getRaw\n};\n\nvar WorkerStorage =\n/*#__PURE__*/\nfunction () {\n function WorkerStorage() {\n _classCallCheck(this, WorkerStorage);\n\n this.map = new Map();\n this.length = 0;\n }\n\n _createClass(WorkerStorage, [{\n key: \"key\",\n value: function key(index) {\n var keys = Array.from(this.map.keys());\n var key = keys[index];\n return this.map.get(key);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.map.get(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n if (!this.map.has(key)) {\n this.length += 1;\n }\n\n this.map.set(key, value);\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n if (this.map.has(key)) {\n this.length -= 1;\n this.map.delete(key);\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.map.clear();\n this.length = 0;\n }\n }]);\n\n return WorkerStorage;\n}();\n\n/*\n * Implement localStorage to support Firefox 2-3 and IE 5-7\n */\nvar localStorage;\n\n{\n // test that Window.localStorage is available and works\n var windowLocalStorageAvailable = function windowLocalStorageAvailable() {\n var uid = new Date();\n var result;\n\n try {\n GlobalScope.localStorage.setItem(uid, uid);\n result = GlobalScope.localStorage.getItem(uid) === String(uid);\n GlobalScope.localStorage.removeItem(uid);\n return result;\n } catch (e) {// localStorage not available\n }\n\n return false;\n };\n\n if (windowLocalStorageAvailable()) {\n localStorage = GlobalScope.localStorage;\n } else if (typeof GlobalScope !== 'undefined' && GlobalScope.globalStorage) {\n // Firefox 2-3 use globalStorage\n // See https://developer.mozilla.org/en/dom/storage#globalStorage\n try {\n localStorage = GlobalScope.globalStorage[GlobalScope.location.hostname];\n } catch (e) {// Something bad happened...\n }\n } else if (typeof document !== 'undefined') {\n // IE 5-7 use userData\n // See http://msdn.microsoft.com/en-us/library/ms531424(v=vs.85).aspx\n var div = document.createElement('div'),\n attrKey = 'localStorage';\n div.style.display = 'none';\n document.getElementsByTagName('head')[0].appendChild(div);\n\n if (div.addBehavior) {\n div.addBehavior('#default#userdata');\n localStorage = {\n length: 0,\n setItem: function setItem(k, v) {\n div.load(attrKey);\n\n if (!div.getAttribute(k)) {\n this.length++;\n }\n\n div.setAttribute(k, v);\n div.save(attrKey);\n },\n getItem: function getItem(k) {\n div.load(attrKey);\n return div.getAttribute(k);\n },\n removeItem: function removeItem(k) {\n div.load(attrKey);\n\n if (div.getAttribute(k)) {\n this.length--;\n }\n\n div.removeAttribute(k);\n div.save(attrKey);\n },\n clear: function clear() {\n div.load(attrKey);\n var i = 0;\n var attr;\n\n while (attr = div.XMLDocument.documentElement.attributes[i++]) {\n div.removeAttribute(attr.name);\n }\n\n div.save(attrKey);\n this.length = 0;\n },\n key: function key(k) {\n div.load(attrKey);\n return div.XMLDocument.documentElement.attributes[k];\n }\n };\n div.load(attrKey);\n localStorage.length = div.XMLDocument.documentElement.attributes.length;\n }\n } else if (utils.isWebWorkerEnvironment()) {\n // Web worker\n localStorage = new WorkerStorage();\n }\n\n if (!localStorage) {\n /* eslint-disable no-unused-vars */\n localStorage = {\n length: 0,\n setItem: function setItem(k, v) {},\n getItem: function getItem(k) {},\n removeItem: function removeItem(k) {},\n clear: function clear() {},\n key: function key(k) {}\n };\n /* eslint-enable no-unused-vars */\n }\n}\n\nvar localStorage$1 = localStorage;\n\n/*\n * Abstraction layer for cookie storage.\n * Uses cookie if available, otherwise fallback to localstorage.\n */\n\nvar cookieStorage = function cookieStorage() {\n this.storage = null;\n};\n\ncookieStorage.prototype.getStorage = function () {\n if (this.storage !== null) {\n return this.storage;\n }\n\n if (baseCookie.areCookiesEnabled()) {\n this.storage = Cookie;\n } else {\n // if cookies disabled, fallback to localstorage\n // note: localstorage does not persist across subdomains\n var keyPrefix = 'amp_cookiestore_';\n this.storage = {\n _options: {\n expirationDays: undefined,\n domain: undefined,\n secure: false\n },\n reset: function reset() {\n this._options = {\n expirationDays: undefined,\n domain: undefined,\n secure: false\n };\n },\n options: function options(opts) {\n if (arguments.length === 0) {\n return this._options;\n }\n\n opts = opts || {};\n this._options.expirationDays = opts.expirationDays || this._options.expirationDays; // localStorage is specific to subdomains\n\n this._options.domain = opts.domain || this._options.domain || GlobalScope && GlobalScope.location && GlobalScope.location.hostname;\n return this._options.secure = opts.secure || false;\n },\n get: function get(name) {\n try {\n return JSON.parse(localStorage$1.getItem(keyPrefix + name));\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n return null;\n },\n set: function set(name, value) {\n try {\n localStorage$1.setItem(keyPrefix + name, JSON.stringify(value));\n return true;\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n return false;\n },\n remove: function remove(name) {\n try {\n localStorage$1.removeItem(keyPrefix + name);\n } catch (e) {\n return false;\n }\n }\n };\n }\n\n return this.storage;\n};\n\nvar _storageOptionExists;\nvar storageOptionExists = (_storageOptionExists = {}, _defineProperty(_storageOptionExists, Constants.STORAGE_COOKIES, true), _defineProperty(_storageOptionExists, Constants.STORAGE_NONE, true), _defineProperty(_storageOptionExists, Constants.STORAGE_LOCAL, true), _defineProperty(_storageOptionExists, Constants.STORAGE_SESSION, true), _storageOptionExists);\n/**\n * MetadataStorage involves SDK data persistance\n * storage priority: cookies -> localStorage -> in memory\n * This priority can be overriden by setting the storage options.\n * if in localStorage, unable track users between subdomains\n * if in memory, then memory can't be shared between different tabs\n */\n\nvar MetadataStorage =\n/*#__PURE__*/\nfunction () {\n function MetadataStorage(_ref) {\n var storageKey = _ref.storageKey,\n disableCookies = _ref.disableCookies,\n domain = _ref.domain,\n secure = _ref.secure,\n sameSite = _ref.sameSite,\n expirationDays = _ref.expirationDays,\n storage = _ref.storage;\n\n _classCallCheck(this, MetadataStorage);\n\n this.storageKey = storageKey;\n this.domain = domain;\n this.secure = secure;\n this.sameSite = sameSite;\n this.expirationDays = expirationDays;\n this.cookieDomain = '';\n var loc = getLocation() ? getLocation().href : undefined;\n var writableTopDomain = topDomain(loc);\n this.cookieDomain = domain || (writableTopDomain ? '.' + writableTopDomain : null);\n\n if (storageOptionExists[storage]) {\n this.storage = storage;\n } else {\n var disableCookieStorage = disableCookies || !baseCookie.areCookiesEnabled({\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: this.expirationDays\n });\n\n if (disableCookieStorage) {\n this.storage = Constants.STORAGE_LOCAL;\n } else {\n this.storage = Constants.STORAGE_COOKIES;\n }\n }\n }\n\n _createClass(MetadataStorage, [{\n key: \"getCookieStorageKey\",\n value: function getCookieStorageKey() {\n if (!this.domain) {\n return this.storageKey;\n }\n\n var suffix = this.domain.charAt(0) === '.' ? this.domain.substring(1) : this.domain;\n return \"\".concat(this.storageKey).concat(suffix ? \"_\".concat(suffix) : '');\n }\n /*\n * Data is saved as delimited values rather than JSO to minimize cookie space\n * Should not change order of the items\n */\n\n }, {\n key: \"save\",\n value: function save(_ref2) {\n var deviceId = _ref2.deviceId,\n userId = _ref2.userId,\n optOut = _ref2.optOut,\n sessionId = _ref2.sessionId,\n lastEventTime = _ref2.lastEventTime,\n eventId = _ref2.eventId,\n identifyId = _ref2.identifyId,\n sequenceNumber = _ref2.sequenceNumber;\n\n if (this.storage === Constants.STORAGE_NONE) {\n return;\n }\n\n var value = [deviceId, Base64.encode(userId || ''), // used to convert not unicode to alphanumeric since cookies only use alphanumeric\n optOut ? '1' : '', sessionId ? sessionId.toString(32) : '0', // generated when instantiated, timestamp (but re-uses session id in cookie if not expired) @TODO clients may want custom session id\n lastEventTime ? lastEventTime.toString(32) : '0', // last time an event was set\n eventId ? eventId.toString(32) : '0', identifyId ? identifyId.toString(32) : '0', sequenceNumber ? sequenceNumber.toString(32) : '0'].join('.');\n\n switch (this.storage) {\n case Constants.STORAGE_SESSION:\n if (GlobalScope.sessionStorage) {\n GlobalScope.sessionStorage.setItem(this.storageKey, value);\n }\n\n break;\n\n case Constants.STORAGE_LOCAL:\n localStorage$1.setItem(this.storageKey, value);\n break;\n\n case Constants.STORAGE_COOKIES:\n this.saveCookie(value);\n break;\n }\n }\n }, {\n key: \"saveCookie\",\n value: function saveCookie(value) {\n baseCookie.set(this.getCookieStorageKey(), value, {\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: this.expirationDays\n });\n }\n }, {\n key: \"load\",\n value: function load() {\n var _this = this;\n\n var str;\n\n if (this.storage === Constants.STORAGE_COOKIES) {\n var cookieKey = this.getCookieStorageKey() + '=';\n var allCookies = baseCookie.getAll(cookieKey);\n\n if (allCookies.length === 0 || allCookies.length === 1) {\n str = allCookies[0];\n } else {\n // dedup cookies by deleting them all and restoring\n // the one with the most recent event time\n var latestCookie = baseCookie.sortByEventTime(allCookies)[0];\n allCookies.forEach(function () {\n return baseCookie.set(_this.getCookieStorageKey(), null, {});\n });\n this.saveCookie(latestCookie);\n str = baseCookie.get(cookieKey);\n }\n }\n\n if (!str) {\n str = localStorage$1.getItem(this.storageKey);\n }\n\n if (!str) {\n try {\n str = GlobalScope.sessionStorage && GlobalScope.sessionStorage.getItem(this.storageKey);\n } catch (e) {\n utils.log.info(\"window.sessionStorage unavailable. Reason: \\\"\".concat(e, \"\\\"\"));\n }\n }\n\n if (!str) {\n return null;\n }\n\n var values = str.split('.');\n var userId = null;\n\n if (values[Constants.USER_ID_INDEX]) {\n try {\n userId = Base64.decode(values[Constants.USER_ID_INDEX]);\n } catch (e) {\n userId = null;\n }\n }\n\n return {\n deviceId: values[Constants.DEVICE_ID_INDEX],\n userId: userId,\n optOut: values[Constants.OPT_OUT_INDEX] === '1',\n sessionId: parseInt(values[Constants.SESSION_ID_INDEX], 32),\n lastEventTime: parseInt(values[Constants.LAST_EVENT_TIME_INDEX], 32),\n eventId: parseInt(values[Constants.EVENT_ID_INDEX], 32),\n identifyId: parseInt(values[Constants.IDENTIFY_ID_INDEX], 32),\n sequenceNumber: parseInt(values[Constants.SEQUENCE_NUMBER_INDEX], 32)\n };\n }\n /**\n * Clears any saved metadata storage\n * @constructor AmplitudeClient\n * @public\n * @return {boolean} True if metadata was cleared, false if none existed\n */\n\n }, {\n key: \"clear\",\n value: function clear() {\n var str;\n\n if (this.storage === Constants.STORAGE_COOKIES) {\n str = baseCookie.get(this.getCookieStorageKey() + '=');\n baseCookie.set(this.getCookieStorageKey(), null, {\n domain: this.cookieDomain,\n secure: this.secure,\n sameSite: this.sameSite,\n expirationDays: 0\n });\n }\n\n if (!str) {\n str = localStorage$1.getItem(this.storageKey);\n localStorage$1.clear();\n }\n\n if (!str) {\n try {\n str = GlobalScope.sessionStorage && GlobalScope.sessionStorage.getItem(this.storageKey);\n GlobalScope.sessionStorage.clear();\n } catch (e) {\n utils.log.info(\"window.sessionStorage unavailable. Reason: \\\"\".concat(e, \"\\\"\"));\n }\n }\n\n return !!str;\n }\n }]);\n\n return MetadataStorage;\n}();\n\nvar getUtmData = function getUtmData(rawCookie, query) {\n // Translate the utmz cookie format into url query string format.\n var cookie = rawCookie ? '?' + rawCookie.split('.').slice(-1)[0].replace(/\\|/g, '&') : '';\n\n var fetchParam = function fetchParam(queryName, query, cookieName, cookie) {\n return utils.getQueryParam(queryName, query) || utils.getQueryParam(cookieName, cookie);\n };\n\n var utmSource = fetchParam(Constants.UTM_SOURCE, query, 'utmcsr', cookie);\n var utmMedium = fetchParam(Constants.UTM_MEDIUM, query, 'utmcmd', cookie);\n var utmCampaign = fetchParam(Constants.UTM_CAMPAIGN, query, 'utmccn', cookie);\n var utmTerm = fetchParam(Constants.UTM_TERM, query, 'utmctr', cookie);\n var utmContent = fetchParam(Constants.UTM_CONTENT, query, 'utmcct', cookie);\n var utmData = {};\n\n var addIfNotNull = function addIfNotNull(key, value) {\n if (!utils.isEmptyString(value)) {\n utmData[key] = value;\n }\n };\n\n addIfNotNull(Constants.UTM_SOURCE, utmSource);\n addIfNotNull(Constants.UTM_MEDIUM, utmMedium);\n addIfNotNull(Constants.UTM_CAMPAIGN, utmCampaign);\n addIfNotNull(Constants.UTM_TERM, utmTerm);\n addIfNotNull(Constants.UTM_CONTENT, utmContent);\n return utmData;\n};\n\n/*\n * Wrapper for a user properties JSON object that supports operations.\n * Note: if a user property is used in multiple operations on the same Identify object,\n * only the first operation will be saved, and the rest will be ignored.\n */\n\nvar AMP_OP_ADD = '$add';\nvar AMP_OP_APPEND = '$append';\nvar AMP_OP_CLEAR_ALL = '$clearAll';\nvar AMP_OP_PREPEND = '$prepend';\nvar AMP_OP_SET = '$set';\nvar AMP_OP_SET_ONCE = '$setOnce';\nvar AMP_OP_UNSET = '$unset';\nvar AMP_OP_PREINSERT = '$preInsert';\nvar AMP_OP_POSTINSERT = '$postInsert';\nvar AMP_OP_REMOVE = '$remove';\n/**\n * Identify API - instance constructor. Identify objects are a wrapper for user property operations.\n * Each method adds a user property operation to the Identify object, and returns the same Identify object,\n * allowing you to chain multiple method calls together.\n * Note: if the same user property is used in multiple operations on a single Identify object,\n * only the first operation on that property will be saved, and the rest will be ignored.\n * @constructor Identify\n * @public\n * @example var identify = new amplitude.Identify();\n */\n\nvar Identify = function Identify() {\n this.userPropertiesOperations = {};\n this.properties = []; // keep track of keys that have been added\n};\n/**\n * Increment a user property by a given value (can also be negative to decrement).\n * If the user property does not have a value set yet, it will be initialized to 0 before being incremented.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string} value - The amount by which to increment the user property. Allows numbers as strings (ex: '123').\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().add('karma', 1).add('friends', 1);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.add = function (property, value) {\n if (type(value) === 'number' || type(value) === 'string') {\n this._addOperation(AMP_OP_ADD, property, value);\n } else {\n utils.log.error('Unsupported type for value: ' + type(value) + ', expecting number or string');\n }\n\n return this;\n};\n/**\n * Append a value or values to a user property.\n * If the user property does not have a value set yet,\n * it will be initialized to an empty list before the new values are appended.\n * If the user property has an existing value and it is not a list,\n * the existing value will be converted into a list with the new values appended.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to append.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().append('ab-tests', 'new-user-tests');\n * identify.append('some_list', [1, 2, 3, 4, 'values']);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.append = function (property, value) {\n this._addOperation(AMP_OP_APPEND, property, value);\n\n return this;\n};\n/**\n * Clear all user properties for the current user.\n * SDK user should instead call amplitude.clearUserProperties() instead of using this.\n * $clearAll needs to be sent on its own Identify object. If there are already other operations, then don't add $clearAll.\n * If $clearAll already in an Identify object, don't allow other operations to be added.\n * @private\n */\n\n\nIdentify.prototype.clearAll = function () {\n if (Object.keys(this.userPropertiesOperations).length > 0) {\n if (!Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, AMP_OP_CLEAR_ALL)) {\n utils.log.error('Need to send $clearAll on its own Identify object without any other operations, skipping $clearAll');\n }\n\n return this;\n }\n\n this.userPropertiesOperations[AMP_OP_CLEAR_ALL] = '-';\n return this;\n};\n/**\n * Prepend a value or values to a user property.\n * Prepend means inserting the value or values at the front of a list.\n * If the user property does not have a value set yet,\n * it will be initialized to an empty list before the new values are prepended.\n * If the user property has an existing value and it is not a list,\n * the existing value will be converted into a list with the new values prepended.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to prepend.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().prepend('ab-tests', 'new-user-tests');\n * identify.prepend('some_list', [1, 2, 3, 4, 'values']);\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.prepend = function (property, value) {\n this._addOperation(AMP_OP_PREPEND, property, value);\n\n return this;\n};\n/**\n * Sets the value of a given user property. If a value already exists, it will be overwriten with the new value.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|boolean|object} value - A value or values to set.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().set('user_type', 'beta');\n * identify.set('name', {'first': 'John', 'last': 'Doe'}); // dict is flattened and becomes name.first: John, name.last: Doe\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.set = function (property, value) {\n this._addOperation(AMP_OP_SET, property, value);\n\n return this;\n};\n/**\n * Sets the value of a given user property only once. Subsequent setOnce operations on that user property will be ignored;\n * however, that user property can still be modified through any of the other operations.\n * Useful for capturing properties such as 'initial_signup_date', 'initial_referrer', etc.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|boolean|object} value - A value or values to set once.\n * Values can be numbers, strings, lists, or object (key:value dict will be flattened).\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().setOnce('sign_up_date', '2016-04-01');\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.setOnce = function (property, value) {\n this._addOperation(AMP_OP_SET_ONCE, property, value);\n\n return this;\n};\n/**\n * Unset and remove a user property. This user property will no longer show up in a user's profile.\n * @public\n * @param {string} property - The user property key.\n * @return {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n * @example var identify = new amplitude.Identify().unset('user_type').unset('age');\n * amplitude.identify(identify); // send the Identify call\n */\n\n\nIdentify.prototype.unset = function (property) {\n this._addOperation(AMP_OP_UNSET, property, '-');\n\n return this;\n};\n/**\n * Preinsert a value or values to a user property, if it does not exist in the user property already.\n * Preinsert means inserting the value or values to the beginning of the specified user property.\n * If the item already exists in the user property, it will be a no-op.\n * @public\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to insert.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.preInsert = function (property, value) {\n this._addOperation(AMP_OP_PREINSERT, property, value);\n\n return this;\n};\n/**\n * Postinsert a value or values to a user property, if it does not exist in the user property already.\n * Postinsert means inserting the value or values to the beginning of the specified user property.\n * If the item already exists in the user property, it will be a no-op.\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to insert.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.postInsert = function (property, value) {\n this._addOperation(AMP_OP_POSTINSERT, property, value);\n\n return this;\n};\n/**\n * Remove a value or values to a user property, if it does exist in the user property.\n * If the item does not exist in the user property, it will be a no-op.\n * @param {string} property - The user property key.\n * @param {number|string|list|object} value - A value or values to remove.\n * @returns {Identify} Returns the same Identify object, allowing you to chain multiple method calls together.\n */\n\n\nIdentify.prototype.remove = function (property, value) {\n this._addOperation(AMP_OP_REMOVE, property, value);\n\n return this;\n};\n/**\n * Helper function that adds operation to the Identify's object\n * Handle's filtering of duplicate user property keys, and filtering for clearAll.\n * @private\n */\n\n\nIdentify.prototype._addOperation = function (operation, property, value) {\n // check that the identify doesn't already contain a clearAll\n if (Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, AMP_OP_CLEAR_ALL)) {\n utils.log.error('This identify already contains a $clearAll operation, skipping operation ' + operation);\n return;\n } // check that property wasn't already used in this Identify\n\n\n if (this.properties.indexOf(property) !== -1) {\n utils.log.error('User property \"' + property + '\" already used in this identify, skipping operation ' + operation);\n return;\n }\n\n if (!Object.prototype.hasOwnProperty.call(this.userPropertiesOperations, operation)) {\n this.userPropertiesOperations[operation] = {};\n }\n\n this.userPropertiesOperations[operation][property] = value;\n this.properties.push(property);\n};\n\n/*\n * Simple AJAX request object\n */\n\nvar Request = function Request(url, data, headers) {\n this.url = url;\n this.data = data || {};\n this.headers = headers;\n};\n\nvar CORS_HEADER = 'Cross-Origin-Resource-Policy';\n\nfunction setHeaders(xhr, headers) {\n for (var header in headers) {\n if (header === CORS_HEADER && !headers[header]) {\n continue;\n }\n\n xhr.setRequestHeader(header, headers[header]);\n }\n}\n\nRequest.prototype.send = function (callback) {\n var isIE = GlobalScope.XDomainRequest ? true : false;\n\n if (isIE) {\n var xdr = new GlobalScope.XDomainRequest();\n xdr.open('POST', this.url, true);\n\n xdr.onload = function () {\n callback(200, xdr.responseText);\n };\n\n xdr.onerror = function () {\n // status code not available from xdr, try string matching on responseText\n if (xdr.responseText === 'Request Entity Too Large') {\n callback(413, xdr.responseText);\n } else {\n callback(500, xdr.responseText);\n }\n };\n\n xdr.ontimeout = function () {};\n\n xdr.onprogress = function () {};\n\n xdr.send(queryString.stringify(this.data));\n } else if (typeof XMLHttpRequest !== 'undefined') {\n var xhr = new XMLHttpRequest();\n xhr.open('POST', this.url, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n callback(xhr.status, xhr.responseText);\n }\n };\n\n setHeaders(xhr, this.headers);\n xhr.send(queryString.stringify(this.data));\n } else {\n var responseStatus = undefined;\n fetch(this.url, {\n method: 'POST',\n headers: this.headers,\n body: queryString.stringify(this.data)\n }).then(function (response) {\n responseStatus = response.status;\n return response.text();\n }).then(function (responseText) {\n callback(responseStatus, responseText);\n });\n } //log('sent request to ' + this.url + ' with data ' + decodeURIComponent(queryString(this.data)));\n\n};\n\n/**\n * Revenue API - instance constructor. Wrapper for logging Revenue data. Revenue objects get passed to amplitude.logRevenueV2 to send to Amplitude servers.\n * Each method updates a revenue property in the Revenue object, and returns the same Revenue object,\n * allowing you to chain multiple method calls together.\n *\n * Note: price is a required field to log revenue events.\n * If quantity is not specified then defaults to 1.\n * @constructor Revenue\n * @public\n * @example var revenue = new amplitude.Revenue();\n */\n\nvar Revenue = function Revenue() {\n // required fields\n this._price = null; // optional fields\n\n this._productId = null;\n this._quantity = 1;\n this._revenueType = null;\n this._properties = null;\n};\n/**\n * Set a value for the product identifer.\n * @public\n * @param {string} productId - The value for the product identifier. Empty and invalid strings are ignored.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setProductId = function setProductId(productId) {\n if (type(productId) !== 'string') {\n utils.log.error('Unsupported type for productId: ' + type(productId) + ', expecting string');\n } else if (utils.isEmptyString(productId)) {\n utils.log.error('Invalid empty productId');\n } else {\n this._productId = productId;\n }\n\n return this;\n};\n/**\n * Set a value for the quantity. Note revenue amount is calculated as price * quantity.\n * @public\n * @param {number} quantity - Integer value for the quantity. If not set, quantity defaults to 1.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setQuantity(5);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setQuantity = function setQuantity(quantity) {\n if (type(quantity) !== 'number') {\n utils.log.error('Unsupported type for quantity: ' + type(quantity) + ', expecting number');\n } else {\n this._quantity = parseInt(quantity);\n }\n\n return this;\n};\n/**\n * Set a value for the price. This field is required for all revenue being logged.\n *\n * Note: revenue amount is calculated as price * quantity.\n * @public\n * @param {number} price - Double value for the quantity.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setPrice = function setPrice(price) {\n if (type(price) !== 'number') {\n utils.log.error('Unsupported type for price: ' + type(price) + ', expecting number');\n } else {\n this._price = price;\n }\n\n return this;\n};\n/**\n * Set a value for the revenueType (for example purchase, cost, tax, refund, etc).\n * @public\n * @param {string} revenueType - RevenueType to designate.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setRevenueType('purchase');\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setRevenueType = function setRevenueType(revenueType) {\n if (type(revenueType) !== 'string') {\n utils.log.error('Unsupported type for revenueType: ' + type(revenueType) + ', expecting string');\n } else {\n this._revenueType = revenueType;\n }\n\n return this;\n};\n/**\n * Set event properties for the revenue event.\n * @public\n * @param {object} eventProperties - Revenue event properties to set.\n * @return {Revenue} Returns the same Revenue object, allowing you to chain multiple method calls together.\n * @example var event_properties = {'city': 'San Francisco'};\n * var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99).setEventProperties(event_properties);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nRevenue.prototype.setEventProperties = function setEventProperties(eventProperties) {\n if (type(eventProperties) !== 'object') {\n utils.log.error('Unsupported type for eventProperties: ' + type(eventProperties) + ', expecting object');\n } else {\n this._properties = utils.validateProperties(eventProperties);\n }\n\n return this;\n};\n/**\n * @private\n */\n\n\nRevenue.prototype._isValidRevenue = function _isValidRevenue() {\n if (type(this._price) !== 'number') {\n utils.log.error('Invalid revenue, need to set price field');\n return false;\n }\n\n return true;\n};\n/**\n * @private\n */\n\n\nRevenue.prototype._toJSONObject = function _toJSONObject() {\n var obj = type(this._properties) === 'object' ? this._properties : {};\n\n if (this._productId !== null) {\n obj[Constants.REVENUE_PRODUCT_ID] = this._productId;\n }\n\n if (this._quantity !== null) {\n obj[Constants.REVENUE_QUANTITY] = this._quantity;\n }\n\n if (this._price !== null) {\n obj[Constants.REVENUE_PRICE] = this._price;\n }\n\n if (this._revenueType !== null) {\n obj[Constants.REVENUE_REVENUE_TYPE] = this._revenueType;\n }\n\n return obj;\n};\n\n/**\n * Source: [jed's gist]{@link https://gist.github.com/982883}.\n * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,\n * where each x is replaced with a random hexadecimal digit from 0 to f, and\n * y is replaced with a random hexadecimal digit from 8 to b.\n * Used to generate UUIDs for deviceIds.\n * @private\n */\nvar uuid = function uuid(a) {\n return a // if the placeholder was passed, return\n ? // a random number from 0 to 15\n (a ^ // unless b is 8,\n Math.random() * // in which case\n 16 >> // a random number from\n a / 4). // 8 to 11\n toString(16) // in hexadecimal\n : // or otherwise a concatenated string:\n ([1e7] + // 10000000 +\n -1e3 + // -1000 +\n -4e3 + // -4000 +\n -8e3 + // -80000000 +\n -1e11). // -100000000000,\n replace( // replacing\n /[018]/g, // zeroes, ones, and eights with\n uuid // random hex digits\n );\n};\n\nvar getLanguage = function getLanguage() {\n return typeof navigator !== 'undefined' && (navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage) || '';\n};\n\nvar language = {\n getLanguage: getLanguage\n};\n\n/**\n * AmplitudeServerZone is for Data Residency and handling server zone related properties.\n * The server zones now are US and EU.\n *\n * For usage like sending data to Amplitude's EU servers, you need to configure the serverZone during nitializing.\n */\n\nvar AmplitudeServerZone = {\n US: 'US',\n EU: 'EU'\n};\n\nvar getEventLogApi = function getEventLogApi(serverZone) {\n var eventLogUrl = Constants.EVENT_LOG_URL;\n\n switch (serverZone) {\n case AmplitudeServerZone.EU:\n eventLogUrl = Constants.EVENT_LOG_EU_URL;\n break;\n\n case AmplitudeServerZone.US:\n eventLogUrl = Constants.EVENT_LOG_URL;\n break;\n }\n\n return eventLogUrl;\n};\n\nvar getDynamicConfigApi = function getDynamicConfigApi(serverZone) {\n var dynamicConfigUrl = Constants.DYNAMIC_CONFIG_URL;\n\n switch (serverZone) {\n case AmplitudeServerZone.EU:\n dynamicConfigUrl = Constants.DYNAMIC_CONFIG_EU_URL;\n break;\n\n case AmplitudeServerZone.US:\n dynamicConfigUrl = Constants.DYNAMIC_CONFIG_URL;\n break;\n }\n\n return dynamicConfigUrl;\n};\n\nvar version = \"8.19.0\";\n\n/**\n * Options used when initializing Amplitude\n * @typedef {Object} Options\n * @property {string} [apiEndpoint=`api.amplitude.com`] - Endpoint to send amplitude event requests to.\n * @property {boolean} [batchEvents=`false`] - If `true`, then events are batched together and uploaded only when the number of unsent events is greater than or equal to eventUploadThreshold or after eventUploadPeriodMillis milliseconds have passed since the first unsent event was logged.\n * @property {number} [cookieExpiration=`365`] - The number of days after which the Amplitude cookie will expire. 12 months is for GDPR compliance.\n * @property {string} [cookieName=`amplitude_id`] - *DEPRECATED*\n * @property {string} [sameSiteCookie='None'] - Sets the SameSite flag on the amplitude cookie. Decides cookie privacy policy.\n * @property {boolean} [cookieForceUpgrade=`false`] - Forces pre-v6.0.0 instances to adopt post-v6.0.0 compat cookie formats.\n * @property {boolean} [deferInitialization=`null`] - If `true`, disables the core functionality of the sdk, including saving a cookie and all logging, until explicitly enabled. To enable tracking, please call `amplitude.getInstance().enableTracking()` *Note: This will not affect users who already have an amplitude cookie. The decision to track events is determined by whether or not a user has an amplitude analytics cookie. If the `cookieExpiration is manually defined to be a short lifespan, you may need to run `amplitude.getInstance().enableTracking()` upon the cookie expiring or upon logging in.*\n * @property {boolean} [disableCookies=`false`] - Disable Ampllitude cookies altogether.\n * @property {string} [deviceId=A randomly generated UUID.] - The custom Device ID to set. *Note: This is not recommended unless you know what you are doing (e.g. you have your own system for tracking user devices).*\n * @property {boolean} [deviceIdFromUrlParam=`false`] - If `true`, then the SDK will parse Device ID values from the URL parameter amp_device_id if available. Device IDs defined in the configuration options during init will take priority over Device IDs from URL parameters.\n * @property {string} [domain=The top domain of the current page's URL. ('https://amplitude.com')] - Set a custom domain for the Amplitude cookie. To include subdomains, add a preceding period, eg: `.amplitude.com`.\n * @property {number} [eventUploadPeriodMillis=`30000` (30 sec)] - Amount of time in milliseconds that the SDK waits before uploading events if batchEvents is true.\n * @property {number} [eventUploadThreshold=`30`] - Minimum number of events to batch together per request if batchEvents is true.\n * @property {boolean} [forceHttps=`true`] - If `true`, the events will always be uploaded to HTTPS endpoint. Otherwise, it will use the embedding site's protocol.\n * @property {boolean} [includeFbclid=`false`] - If `true`, captures the fbclid URL parameter as well as the user's initial_fbclid via a setOnce operation.\n * @property {boolean} [includeGclid=`false`] - If `true`, captures the gclid URL parameter as well as the user's initial_gclid via a setOnce operation.\n * @property {boolean} [includeReferrer=`false`] - If `true`, captures the referrer and referring_domain for each session, as well as the user's initial_referrer and initial_referring_domain via a setOnce operation.\n * @property {boolean} [includeUtm=`false`] - If `true`, finds UTM parameters in the query string or the _utmz cookie, parses, and includes them as user properties on all events uploaded. This also captures initial UTM parameters for each session via a setOnce operation.\n * @property {string} [language=The language determined by the browser] - Custom language to set.\n * @property {Object} [library=`{ name: 'amplitude-js', version: packageJsonVersion }`] - Values for the library version\n * @property {string} [logLevel=`WARN`] - Level of logs to be printed in the developer console. Valid values are 'DISABLE', 'ERROR', 'WARN', 'INFO'. To learn more about the different options, see below.\n * @property {boolean} [logAttributionCapturedEvent=`false`] - If `true`, the SDK will log an Amplitude event anytime new attribution values are captured from the user. **Note: These events count towards your event volume.** Event name being logged: [Amplitude] Attribution Captured. Event Properties that can be logged: `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`, `referrer`, `referring_domain`, `gclid`, `fbclid`. For UTM properties to be logged, `includeUtm` must be set to `true`. For the `referrer` and `referring_domain` properties to be logged, `includeReferrer` must be set to `true`. For the `gclid` property to be logged, `includeGclid` must be set to `true`. For the `fbclid` property to be logged, `includeFbclid` must be set to `true`.\n * @property {boolean} [optOut=`false`] - Whether or not to disable tracking for the current user.\n * @property {function} [onError=`() => {}`] - Function to call on error.\n * @property {function} [onExitPage=`() => {}`] - Function called when the user exits the browser. Useful logging on page exit.\n * @property {Object} [plan] Tracking plan properties\n * @property {string} [plan.branch] The tracking plan branch name e.g. \"main\"\n * @property {string} [plan.source] The tracking plan source e.g. \"web\"\n * @property {string} [plan.version] The tracking plan version e.g. \"1\", \"15\"\n * @property {string} [plan.versionId] The tracking plan version Id e.g. \"9ec23ba0-275f-468f-80d1-66b88bff9529\"\n * @property {string} [platform=`Web`] - Platform device is running on. Defaults to `Web` (browser, including mobile browsers).\n * @property {number} [savedMaxCount=`1000`] - Maximum number of events to save in localStorage. If more events are logged while offline, then old events are removed.\n * @property {boolean} [saveEvents=`true`] - If `true`, saves events to localStorage and removes them upon successful upload. *Note: Without saving events, events may be lost if the user navigates to another page before the events are uploaded.*\n * @property {boolean} [saveParamsReferrerOncePerSession=`true`] - If `true`, then includeGclid, includeFbclid, includeReferrer, and includeUtm will only track their respective properties once per session. New values that come in during the middle of the user's session will be ignored. Set to false to always capture new values.\n * @property {boolean} [secureCookie=`false`] - If `true`, the amplitude cookie will be set with the Secure flag.\n * @property {number} [sessionTimeout=`30*60*1000` (30 min)] - The time between logged events before a new session starts in milliseconds.\n * @property {string[]} [storage=`''`] - Sets storage strategy. Options are 'cookies', 'localStorage', 'sessionStorage', or `none`. Will override `disableCookies` option\n * @property {Object} [trackingOptions=`{ city: true, country: true, carrier: true, device_manufacturer: true, device_model: true, dma: true, ip_address: true, language: true, os_name: true, os_version: true, platform: true, region: true, version_name: true}`] - Type of data associated with a user.\n * @property {string} [transport=`http`] - Network transport mechanism used to send events. Options are 'http' and 'beacon'.\n * @property {boolean} [unsetParamsReferrerOnNewSession=`false`] - If `false`, the existing `referrer` and `utm_parameter` values will be carried through each new session. If set to `true`, the `referrer` and `utm_parameter` user properties, which include `referrer`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, and `utm_content`, will be set to `null` upon instantiating a new session. Note: This only works if `includeReferrer` or `includeUtm` is set to `true`.\n * @property {string} [unsentKey=`amplitude_unsent`] - localStorage key that stores unsent events.\n * @property {string} [unsentIdentifyKey=`amplitude_unsent_identify`] - localStorage key that stores unsent identifies.\n * @property {number} [uploadBatchSize=`100`] - The maximum number of events to send to the server per request.\n * @property {Object} [headers=`{ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }`] - Headers attached to an event(s) upload network request. Custom header properties are merged with this object.\n * @property {string} [serverZone] - For server zone related configuration, used for server api endpoint and dynamic configuration.\n * @property {boolean} [useDynamicConfig] - Enable dynamic configuration to find best server url for user.\n * @property {boolean} [serverZoneBasedApi] - To update api endpoint with serverZone change or not. For data residency, recommend to enable it unless using own proxy server.\n * @property {number} [sessionId=`null`] - The custom Session ID for the current session. *Note: This is not recommended unless you know what you are doing because the Session ID of a session is utilized for all session metrics in Amplitude.\n * @property {string} [partnerId=`null`] - The partner id value\n */\n\nvar DEFAULT_OPTIONS = {\n apiEndpoint: Constants.EVENT_LOG_URL,\n batchEvents: false,\n cookieExpiration: 365,\n // 12 months is for GDPR compliance\n cookieName: 'amplitude_id',\n // this is a deprecated option\n sameSiteCookie: 'Lax',\n // cookie privacy policy\n cookieForceUpgrade: false,\n deferInitialization: false,\n disableCookies: false,\n // this is a deprecated option\n deviceIdFromUrlParam: false,\n domain: '',\n eventUploadPeriodMillis: 30 * 1000,\n // 30s\n eventUploadThreshold: 30,\n forceHttps: true,\n includeFbclid: false,\n includeGclid: false,\n includeReferrer: false,\n includeUtm: false,\n language: language.getLanguage(),\n library: {\n name: 'amplitude-js',\n version: version\n },\n logLevel: 'WARN',\n logAttributionCapturedEvent: false,\n optOut: false,\n onError: function onError() {},\n onExitPage: function onExitPage() {},\n onNewSessionStart: function onNewSessionStart() {},\n plan: {\n branch: '',\n source: '',\n version: '',\n versionId: ''\n },\n platform: 'Web',\n savedMaxCount: 1000,\n saveEvents: true,\n saveParamsReferrerOncePerSession: true,\n secureCookie: false,\n sessionTimeout: 30 * 60 * 1000,\n storage: Constants.STORAGE_DEFAULT,\n trackingOptions: {\n city: true,\n country: true,\n carrier: true,\n device_manufacturer: true,\n device_model: true,\n dma: true,\n ip_address: true,\n language: true,\n os_name: true,\n os_version: true,\n platform: true,\n region: true,\n version_name: true\n },\n transport: Constants.TRANSPORT_HTTP,\n unsetParamsReferrerOnNewSession: false,\n unsentKey: 'amplitude_unsent',\n unsentIdentifyKey: 'amplitude_unsent_identify',\n uploadBatchSize: 100,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n 'Cross-Origin-Resource-Policy': 'cross-origin'\n },\n serverZone: AmplitudeServerZone.US,\n useDynamicConfig: false,\n serverZoneBasedApi: false,\n sessionId: null,\n partnerId: ''\n};\n\n/**\n * Dynamic Configuration\n * Find the best server url automatically based on app users' geo location.\n */\n\nvar ConfigManager =\n/*#__PURE__*/\nfunction () {\n function ConfigManager() {\n _classCallCheck(this, ConfigManager);\n\n if (!ConfigManager.instance) {\n this.ingestionEndpoint = Constants.EVENT_LOG_URL;\n ConfigManager.instance = this;\n }\n\n return ConfigManager.instance;\n }\n\n _createClass(ConfigManager, [{\n key: \"refresh\",\n value: function refresh(serverZone, forceHttps, callback) {\n var protocol = 'https';\n\n if (!forceHttps && 'https:' !== GlobalScope.location.protocol) {\n protocol = 'http';\n }\n\n var dynamicConfigUrl = protocol + '://' + getDynamicConfigApi(serverZone);\n var self = this;\n var isIE = GlobalScope.XDomainRequest ? true : false;\n\n if (isIE) {\n var xdr = new GlobalScope.XDomainRequest();\n xdr.open('GET', dynamicConfigUrl, true);\n\n xdr.onload = function () {\n var response = JSON.parse(xdr.responseText);\n self.ingestionEndpoint = response['ingestionEndpoint'];\n\n if (callback) {\n callback();\n }\n };\n\n xdr.onerror = function () {};\n\n xdr.ontimeout = function () {};\n\n xdr.onprogress = function () {};\n\n xdr.send();\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', dynamicConfigUrl, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n var response = JSON.parse(xhr.responseText);\n self.ingestionEndpoint = response['ingestionEndpoint'];\n\n if (callback) {\n callback();\n }\n }\n };\n\n xhr.send();\n }\n }\n }]);\n\n return ConfigManager;\n}();\n\nvar instance$1 = new ConfigManager();\n\n/**\n * AmplitudeClient SDK API - instance constructor.\n * The Amplitude class handles creation of client instances, all you need to do is call amplitude.getInstance()\n * @constructor AmplitudeClient\n * @public\n * @example var amplitudeClient = new AmplitudeClient();\n */\n\nvar AmplitudeClient = function AmplitudeClient(instanceName) {\n if (!isBrowserEnv() && !utils.isWebWorkerEnvironment()) {\n utils.log.warn('amplitude-js will not work in a non-browser environment. If you are planning to add Amplitude to a node environment, please use @amplitude/node');\n }\n\n this._instanceName = utils.isEmptyString(instanceName) ? Constants.DEFAULT_INSTANCE : instanceName.toLowerCase();\n this._unsentEvents = [];\n this._unsentIdentifys = [];\n this.options = _objectSpread({}, DEFAULT_OPTIONS, {\n trackingOptions: _objectSpread({}, DEFAULT_OPTIONS.trackingOptions)\n });\n this.cookieStorage = new cookieStorage().getStorage();\n this._q = []; // queue for proxied functions before script load\n\n this._sending = false;\n this._updateScheduled = false;\n this._onInitCallbacks = [];\n this._onNewSessionStartCallbacks = []; // event meta data\n\n this._eventId = 0;\n this._identifyId = 0;\n this._lastEventTime = null;\n this._newSession = false; // sequence used for by frontend for prioritizing event send retries\n\n this._sequenceNumber = 0;\n this._sessionId = null;\n this._isInitialized = false; // used to integrate with experiment SDK (client-side exposure tracking & real-time user properties)\n\n this._connector = null;\n this._userAgent = typeof navigator !== 'undefined' && navigator && navigator.userAgent || null;\n this._ua = new UAParser(this._userAgent).getResult();\n};\n\nAmplitudeClient.prototype.Identify = Identify;\nAmplitudeClient.prototype.Revenue = Revenue;\n/**\n * Initializes the Amplitude Javascript SDK with your apiKey and any optional configurations.\n * This is required before any other methods can be called.\n * @public\n * @param {string} apiKey - The API key for your app.\n * @param {string} opt_userId - (optional) An identifier for this user.\n * @param {object} opt_config - (optional) Configuration options.\n * See [options.js](https://amplitude.github.io/Amplitude-JavaScript/Options) for a list of options and default values.\n * @param {function} opt_callback - (optional) Provide a callback function to run after initialization is complete.\n * @example amplitudeClient.init('API_KEY', 'USER_ID', {includeReferrer: true, includeUtm: true}, function() { alert('init complete'); });\n */\n\nAmplitudeClient.prototype.init = function init(apiKey, opt_userId, opt_config, opt_callback) {\n var _this = this;\n\n if (type(apiKey) !== 'string' || utils.isEmptyString(apiKey)) {\n utils.log.error('Invalid apiKey. Please re-initialize with a valid apiKey');\n return;\n }\n\n try {\n // used to integrate with experiment SDK (client-side exposure tracking & real-time user properties)\n this._connector = AnalyticsConnector.getInstance(this._instanceName);\n\n _parseConfig(this.options, opt_config);\n\n if ((isBrowserEnv() || utils.isWebWorkerEnvironment()) && GlobalScope.Prototype !== undefined && Array.prototype.toJSON) {\n prototypeJsFix();\n utils.log.warn('Prototype.js injected Array.prototype.toJSON. Deleting Array.prototype.toJSON to prevent double-stringify');\n }\n\n if (this.options.cookieName !== DEFAULT_OPTIONS.cookieName) {\n utils.log.warn('The cookieName option is deprecated. We will be ignoring it for newer cookies');\n }\n\n if (this.options.serverZoneBasedApi) {\n this.options.apiEndpoint = getEventLogApi(this.options.serverZone);\n }\n\n this._refreshDynamicConfig();\n\n this.options.apiKey = apiKey;\n this._storageSuffix = '_' + apiKey + (this._instanceName === Constants.DEFAULT_INSTANCE ? '' : '_' + this._instanceName);\n this._storageSuffixV5 = apiKey.slice(0, 6);\n this._oldCookiename = this.options.cookieName + this._storageSuffix;\n this._unsentKey = this.options.unsentKey + this._storageSuffix;\n this._unsentIdentifyKey = this.options.unsentIdentifyKey + this._storageSuffix;\n this._cookieName = Constants.COOKIE_PREFIX + '_' + this._storageSuffixV5;\n this.cookieStorage.options({\n expirationDays: this.options.cookieExpiration,\n domain: this.options.domain,\n secure: this.options.secureCookie,\n sameSite: this.options.sameSiteCookie\n });\n this._metadataStorage = new MetadataStorage({\n storageKey: this._cookieName,\n disableCookies: this.options.disableCookies,\n expirationDays: this.options.cookieExpiration,\n domain: this.options.domain,\n secure: this.options.secureCookie,\n sameSite: this.options.sameSiteCookie,\n storage: this.options.storage\n });\n var hasOldCookie = !!this.cookieStorage.get(this._oldCookiename);\n var hasNewCookie = !!this._metadataStorage.load();\n this._useOldCookie = !hasNewCookie && hasOldCookie && !this.options.cookieForceUpgrade;\n var hasCookie = hasNewCookie || hasOldCookie;\n\n if (this.options.deferInitialization && !hasCookie) {\n this._deferInitialization(apiKey, opt_userId, opt_config, opt_callback);\n\n return;\n }\n\n this.options.domain = this.cookieStorage.options().domain;\n\n if (type(this.options.logLevel) === 'string') {\n utils.setLogLevel(this.options.logLevel);\n }\n\n var trackingOptions = _generateApiPropertiesTrackingConfig(this);\n\n this._apiPropertiesTrackingOptions = Object.keys(trackingOptions).length > 0 ? {\n tracking_options: trackingOptions\n } : {};\n\n if (this.options.cookieForceUpgrade && hasOldCookie) {\n if (!hasNewCookie) {\n _upgradeCookieData(this);\n }\n\n this.cookieStorage.remove(this._oldCookiename);\n }\n\n _loadCookieData(this);\n\n this._pendingReadStorage = true;\n\n var initFromStorage = function initFromStorage(storedDeviceId) {\n if (opt_config && opt_config.deviceId && !utils.validateDeviceId(opt_config.deviceId)) {\n utils.log.error(\"Invalid device ID rejected. Randomly generated UUID will be used instead of \\\"\".concat(opt_config.deviceId, \"\\\"\"));\n delete opt_config.deviceId;\n }\n\n _this.options.deviceId = _this._getInitialDeviceId(opt_config && opt_config.deviceId, storedDeviceId);\n _this.options.userId = type(opt_userId) === 'string' && !utils.isEmptyString(opt_userId) && opt_userId || type(opt_userId) === 'number' && opt_userId.toString() || _this.options.userId || null;\n var now = new Date().getTime();\n var startNewSession = !_this._sessionId || !_this._lastEventTime || now - _this._lastEventTime > _this.options.sessionTimeout || _this.options.sessionId;\n\n if (startNewSession) {\n if (_this.options.unsetParamsReferrerOnNewSession) {\n _this._unsetUTMParams();\n }\n\n _this._newSession = true;\n _this._sessionId = _this.options.sessionId || now; // reset this.options.sessionId to avoid re-usage\n // use instance.getSessionId() to get session id\n\n _this.options.sessionId = undefined; // only capture UTM params and referrer if new session\n\n if (_this.options.saveParamsReferrerOncePerSession) {\n _this._trackParamsAndReferrer();\n }\n }\n\n if (!_this.options.saveParamsReferrerOncePerSession) {\n _this._trackParamsAndReferrer();\n } // load unsent events and identifies before any attempt to log new ones\n\n\n if (_this.options.saveEvents) {\n _validateUnsentEventQueue(_this._unsentEvents);\n\n _validateUnsentEventQueue(_this._unsentIdentifys);\n }\n\n _this._lastEventTime = now;\n\n _saveCookieData(_this);\n\n _this._pendingReadStorage = false;\n\n _this._sendEventsIfReady(); // try sending unsent events\n\n\n for (var i = 0; i < _this._onInitCallbacks.length; i++) {\n _this._onInitCallbacks[i](_this);\n }\n\n _this._onInitCallbacks = [];\n _this._isInitialized = true;\n\n if (startNewSession) {\n _this._runNewSessionStartCallbacks();\n }\n };\n\n if (this.options.saveEvents) {\n this._unsentEvents = this._loadSavedUnsentEvents(this.options.unsentKey).map(function (event) {\n return {\n event: event\n };\n }).concat(this._unsentEvents);\n this._unsentIdentifys = this._loadSavedUnsentEvents(this.options.unsentIdentifyKey).map(function (event) {\n return {\n event: event\n };\n }).concat(this._unsentIdentifys);\n }\n\n if (opt_config && opt_config.onNewSessionStart) {\n this.onNewSessionStart(this.options.onNewSessionStart);\n }\n\n initFromStorage();\n this.runQueuedFunctions();\n\n if (type(opt_callback) === 'function') {\n opt_callback(this);\n }\n\n var onExitPage = this.options.onExitPage;\n\n if (type(onExitPage) === 'function' && GlobalScope.addEventListener) {\n if (!this.pageHandlersAdded) {\n this.pageHandlersAdded = true;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n var prevTransport = _this.options.transport;\n\n _this.setTransport(Constants.TRANSPORT_BEACON);\n\n onExitPage();\n\n _this.setTransport(prevTransport);\n }; // Monitoring just page exits because that is the most requested feature for now\n // \"If you're specifically trying to detect page unload events, the pagehide event is the best option.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event\n\n\n GlobalScope.addEventListener('pagehide', function () {\n handleVisibilityChange();\n }, false);\n }\n } // Sets an event receiver to receive and forward exposure events from the experiment SDK.\n\n\n this._connector.eventBridge.setEventReceiver(function (event) {\n _this._logEvent(event.eventType, event.eventProperties, event.userProperties);\n }); // Set the user ID and device ID in the core identity store to enable fetching variants.\n\n\n var editor = this._connector.identityStore.editIdentity();\n\n if (this.options.deviceId) {\n editor.setDeviceId(this.options.deviceId);\n }\n\n if (this.options.userId) {\n editor.setUserId(this.options.userId);\n }\n\n editor.commit();\n } catch (err) {\n utils.log.error(err);\n\n if (opt_config && type(opt_config.onError) === 'function') {\n opt_config.onError(err);\n }\n }\n};\n\nAmplitudeClient.prototype._runNewSessionStartCallbacks = function () {\n for (var i = 0; i < this._onNewSessionStartCallbacks.length; i++) {\n this._onNewSessionStartCallbacks[i](this);\n }\n};\n\nAmplitudeClient.prototype.deleteLowerLevelDomainCookies = function () {\n var host = getHost();\n var cookieHost = this.options.domain && this.options.domain[0] === '.' ? this.options.domain.slice(1) : this.options.domain;\n\n if (!cookieHost || !utils.isWebWorkerEnvironment()) {\n return;\n }\n\n if (host !== cookieHost) {\n if (new RegExp(cookieHost + '$').test(host)) {\n var hostParts = host.split('.');\n var cookieHostParts = cookieHost.split('.');\n\n for (var i = hostParts.length; i > cookieHostParts.length; --i) {\n var deleteDomain = hostParts.slice(hostParts.length - i).join('.');\n baseCookie.set(this._cookieName, null, {\n domain: '.' + deleteDomain\n });\n }\n\n baseCookie.set(this._cookieName, null, {});\n }\n }\n};\n\nAmplitudeClient.prototype._getInitialDeviceId = function (configDeviceId, storedDeviceId) {\n if (configDeviceId) {\n return configDeviceId;\n }\n\n if (this.options.deviceIdFromUrlParam) {\n var deviceIdFromUrlParam = this._getDeviceIdFromUrlParam(this._getUrlParams());\n\n if (deviceIdFromUrlParam) {\n return deviceIdFromUrlParam;\n }\n }\n\n if (this.options.deviceId) {\n return this.options.deviceId;\n }\n\n if (storedDeviceId) {\n return storedDeviceId;\n }\n\n return base64Id();\n}; // validate properties for unsent events\n\n\nvar _validateUnsentEventQueue = function _validateUnsentEventQueue(queue) {\n for (var i = 0; i < queue.length; i++) {\n var userProperties = queue[i].event.user_properties;\n var eventProperties = queue[i].event.event_properties;\n var groups = queue[i].event.groups;\n queue[i].event.user_properties = utils.validateProperties(userProperties);\n queue[i].event.event_properties = utils.validateProperties(eventProperties);\n queue[i].event.groups = utils.validateGroups(groups);\n }\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._trackParamsAndReferrer = function _trackParamsAndReferrer() {\n var utmProperties;\n var referrerProperties;\n var gclidProperties;\n var fbclidProperties;\n\n if (this.options.includeUtm) {\n utmProperties = this._initUtmData();\n }\n\n if (this.options.includeReferrer) {\n referrerProperties = this._saveReferrer(this._getReferrer());\n }\n\n if (this.options.includeGclid) {\n gclidProperties = this._saveGclid(this._getUrlParams());\n }\n\n if (this.options.includeFbclid) {\n fbclidProperties = this._saveFbclid(this._getUrlParams());\n }\n\n if (this.options.logAttributionCapturedEvent) {\n var attributionProperties = _objectSpread({}, utmProperties, referrerProperties, gclidProperties, fbclidProperties);\n\n if (Object.keys(attributionProperties).length > 0) {\n this.logEvent(Constants.ATTRIBUTION_EVENT, attributionProperties);\n }\n }\n};\n/**\n * Parse and validate user specified config values and overwrite existing option value\n * DEFAULT_OPTIONS provides list of all config keys that are modifiable, as well as expected types for values\n * @private\n */\n\n\nvar _parseConfig = function _parseConfig(options, config) {\n if (type(config) !== 'object') {\n return;\n } // Add exception in headers\n\n\n var freeFormObjectKeys = new Set(['headers']); // validates config value is defined, is the correct type, and some additional value sanity checks\n\n var parseValidateAndLoad = function parseValidateAndLoad(key) {\n if (!Object.prototype.hasOwnProperty.call(options, key)) {\n return; // skip bogus config values\n }\n\n var inputValue = config[key];\n var expectedType = type(options[key]);\n\n if (key === 'transport' && !utils.validateTransport(inputValue)) {\n return;\n } else if (key === 'sessionId' && inputValue !== null) {\n options[key] = utils.validateSessionId(inputValue) ? inputValue : null;\n return;\n } else if (!utils.validateInput(inputValue, key + ' option', expectedType)) {\n return;\n }\n\n if (expectedType === 'boolean') {\n options[key] = !!inputValue;\n } else if (expectedType === 'string' && !utils.isEmptyString(inputValue) || expectedType === 'number' && inputValue > 0 || expectedType === 'function') {\n options[key] = inputValue;\n } else if (expectedType === 'object') {\n _parseConfig(options[key], inputValue);\n }\n };\n\n for (var key in config) {\n if (freeFormObjectKeys.has(key)) {\n options[key] = _objectSpread({}, options[key], config[key]);\n } else if (Object.prototype.hasOwnProperty.call(config, key)) {\n parseValidateAndLoad(key);\n }\n }\n};\n/**\n * Run functions queued up by proxy loading snippet\n * @private\n */\n\n\nAmplitudeClient.prototype.runQueuedFunctions = function () {\n var queue = this._q;\n this._q = [];\n\n for (var i = 0; i < queue.length; i++) {\n var fn = this[queue[i][0]];\n\n if (type(fn) === 'function') {\n fn.apply(this, queue[i].slice(1));\n }\n }\n};\n/**\n * Check that the apiKey is set before calling a function. Logs a warning message if not set.\n * @private\n */\n\n\nAmplitudeClient.prototype._apiKeySet = function _apiKeySet(methodName) {\n if (utils.isEmptyString(this.options.apiKey)) {\n utils.log.error('Invalid apiKey. Please set a valid apiKey with init() before calling ' + methodName);\n return false;\n }\n\n return true;\n};\n/**\n * Load saved events from localStorage. JSON deserializes event array. Handles case where string is corrupted.\n * @private\n */\n\n\nAmplitudeClient.prototype._loadSavedUnsentEvents = function _loadSavedUnsentEvents(unsentKey) {\n var savedUnsentEventsString = this._getFromStorage(localStorage$1, unsentKey);\n\n var unsentEvents = this._parseSavedUnsentEventsString(savedUnsentEventsString, unsentKey);\n\n this._setInStorage(localStorage$1, unsentKey, JSON.stringify(unsentEvents));\n\n return unsentEvents;\n};\n/**\n * Load saved events from localStorage. JSON deserializes event array. Handles case where string is corrupted.\n * @private\n */\n\n\nAmplitudeClient.prototype._parseSavedUnsentEventsString = function _parseSavedUnsentEventsString(savedUnsentEventsString, unsentKey) {\n if (utils.isEmptyString(savedUnsentEventsString)) {\n return []; // new app, does not have any saved events\n }\n\n if (type(savedUnsentEventsString) === 'string') {\n try {\n var events = JSON.parse(savedUnsentEventsString);\n\n if (type(events) === 'array') {\n // handle case where JSON dumping of unsent events is corrupted\n return events;\n }\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n }\n\n utils.log.error('Unable to load ' + unsentKey + ' events. Restart with a new empty queue.');\n return [];\n};\n/**\n * Returns true if a new session was created during initialization, otherwise false.\n * @public\n * @return {boolean} Whether a new session was created during initialization.\n */\n\n\nAmplitudeClient.prototype.isNewSession = function isNewSession() {\n return this._newSession;\n};\n/**\n * Add callbacks to call after init. Useful for users who load Amplitude through a snippet.\n * @public\n */\n\n\nAmplitudeClient.prototype.onInit = function onInit(callback) {\n if (this._isInitialized) {\n callback(this);\n } else {\n this._onInitCallbacks.push(callback);\n }\n};\n/**\n * Add callbacks to call after new session start.\n * @public\n */\n\n\nAmplitudeClient.prototype.onNewSessionStart = function onNewSessionStart(callback) {\n this._onNewSessionStartCallbacks.push(callback);\n};\n/**\n * Returns the id of the current session.\n * @public\n * @return {number} Id of the current session.\n */\n\n\nAmplitudeClient.prototype.getSessionId = function getSessionId() {\n return this._sessionId;\n};\n/**\n * Increments the eventId and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextEventId = function nextEventId() {\n this._eventId++;\n return this._eventId;\n};\n/**\n * Increments the identifyId and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextIdentifyId = function nextIdentifyId() {\n this._identifyId++;\n return this._identifyId;\n};\n/**\n * Increments the sequenceNumber and returns it.\n * @private\n */\n\n\nAmplitudeClient.prototype.nextSequenceNumber = function nextSequenceNumber() {\n this._sequenceNumber++;\n return this._sequenceNumber;\n};\n/**\n * Returns the total count of unsent events and identifys\n * @private\n */\n\n\nAmplitudeClient.prototype._unsentCount = function _unsentCount() {\n return this._unsentEvents.length + this._unsentIdentifys.length;\n};\n/**\n * Send events if ready. Returns true if events are sent.\n * @private\n */\n\n\nAmplitudeClient.prototype._sendEventsIfReady = function _sendEventsIfReady() {\n if (this._unsentCount() === 0) {\n return false;\n } // if batching disabled, send any unsent events immediately\n\n\n if (!this.options.batchEvents) {\n this.sendEvents();\n return true;\n } // if batching enabled, check if min threshold met for batch size\n\n\n if (this._unsentCount() >= this.options.eventUploadThreshold) {\n this.sendEvents();\n return true;\n } // if beacon transport is activated, send events immediately\n // because there is no way to retry them later\n\n\n if (this.options.transport === Constants.TRANSPORT_BEACON) {\n this.sendEvents();\n return true;\n } // otherwise schedule an upload after 30s\n\n\n if (!this._updateScheduled) {\n // make sure we only schedule 1 upload\n this._updateScheduled = true;\n setTimeout(function () {\n this._updateScheduled = false;\n this.sendEvents();\n }.bind(this), this.options.eventUploadPeriodMillis);\n }\n\n return false; // an upload was scheduled, no events were uploaded\n};\n/**\n * Clears any stored events and metadata. Storage is then re-created on next event sending.\n * @public\n * @return {boolean} True if metadata was cleared, false if none existed\n */\n\n\nAmplitudeClient.prototype.clearStorage = function clearStorage() {\n return this._metadataStorage.clear();\n};\n/**\n * Helper function to fetch values from storage\n * Storage argument allows for localStoraoge and sessionStoraoge\n * @private\n */\n\n\nAmplitudeClient.prototype._getFromStorage = function _getFromStorage(storage, key) {\n return storage.getItem(key + this._storageSuffix);\n};\n/**\n * Helper function to set values in storage\n * Storage argument allows for localStoraoge and sessionStoraoge\n * @private\n */\n\n\nAmplitudeClient.prototype._setInStorage = function _setInStorage(storage, key, value) {\n storage.setItem(key + this._storageSuffix, value);\n};\n/**\n * Fetches deviceId, userId, event meta data from amplitude cookie\n * @private\n */\n\n\nvar _loadCookieData = function _loadCookieData(scope) {\n if (!scope._useOldCookie) {\n var props = scope._metadataStorage.load();\n\n if (type(props) === 'object') {\n _loadCookieDataProps(scope, props);\n }\n\n return;\n }\n\n var cookieData = scope.cookieStorage.get(scope._oldCookiename);\n\n if (type(cookieData) === 'object') {\n _loadCookieDataProps(scope, cookieData);\n\n return;\n }\n};\n\nvar _upgradeCookieData = function _upgradeCookieData(scope) {\n var cookieData = scope.cookieStorage.get(scope._oldCookiename);\n\n if (type(cookieData) === 'object') {\n _loadCookieDataProps(scope, cookieData);\n\n _saveCookieData(scope);\n }\n};\n\nvar _loadCookieDataProps = function _loadCookieDataProps(scope, cookieData) {\n if (cookieData.deviceId) {\n scope.options.deviceId = cookieData.deviceId;\n }\n\n if (cookieData.userId) {\n scope.options.userId = cookieData.userId;\n }\n\n if (cookieData.optOut !== null && cookieData.optOut !== undefined) {\n // Do not clobber config opt out value if cookieData has optOut as false\n if (cookieData.optOut !== false) {\n scope.options.optOut = cookieData.optOut;\n }\n }\n\n if (cookieData.sessionId) {\n scope._sessionId = parseInt(cookieData.sessionId, 10);\n }\n\n if (cookieData.lastEventTime) {\n scope._lastEventTime = parseInt(cookieData.lastEventTime, 10);\n }\n\n if (cookieData.eventId) {\n scope._eventId = parseInt(cookieData.eventId, 10);\n }\n\n if (cookieData.identifyId) {\n scope._identifyId = parseInt(cookieData.identifyId, 10);\n }\n\n if (cookieData.sequenceNumber) {\n scope._sequenceNumber = parseInt(cookieData.sequenceNumber, 10);\n }\n};\n/**\n * Saves deviceId, userId, event meta data to amplitude cookie\n * @private\n */\n\n\nvar _saveCookieData = function _saveCookieData(scope) {\n var cookieData = {\n deviceId: scope.options.deviceId,\n userId: scope.options.userId,\n optOut: scope.options.optOut,\n sessionId: scope._sessionId,\n lastEventTime: scope._lastEventTime,\n eventId: scope._eventId,\n identifyId: scope._identifyId,\n sequenceNumber: scope._sequenceNumber\n };\n\n if (scope._useOldCookie) {\n scope.cookieStorage.set(scope.options.cookieName + scope._storageSuffix, cookieData);\n } else {\n scope._metadataStorage.save(cookieData);\n }\n};\n/**\n * Parse the utm properties out of cookies and query for adding to user properties.\n * @private\n */\n\n\nAmplitudeClient.prototype._initUtmData = function _initUtmData(queryParams, cookieParams) {\n queryParams = queryParams || this._getUrlParams();\n cookieParams = cookieParams || this.cookieStorage.get('__utmz');\n var utmProperties = getUtmData(cookieParams, queryParams);\n\n _sendParamsReferrerUserProperties(this, utmProperties);\n\n return utmProperties;\n};\n/**\n * Unset the utm params from the Amplitude instance and update the identify.\n * @private\n */\n\n\nAmplitudeClient.prototype._unsetUTMParams = function _unsetUTMParams() {\n var identify = new Identify();\n identify.unset(Constants.REFERRER);\n identify.unset(Constants.UTM_SOURCE);\n identify.unset(Constants.UTM_MEDIUM);\n identify.unset(Constants.UTM_CAMPAIGN);\n identify.unset(Constants.UTM_TERM);\n identify.unset(Constants.UTM_CONTENT);\n this.identify(identify);\n};\n/**\n * The calling function should determine when it is appropriate to send these user properties. This function\n * will no longer contain any session storage checking logic.\n * @private\n */\n\n\nvar _sendParamsReferrerUserProperties = function _sendParamsReferrerUserProperties(scope, userProperties) {\n if (type(userProperties) !== 'object' || Object.keys(userProperties).length === 0) {\n return;\n } // setOnce the initial user properties\n\n\n var identify = new Identify();\n\n for (var key in userProperties) {\n if (Object.prototype.hasOwnProperty.call(userProperties, key)) {\n identify.setOnce('initial_' + key, userProperties[key]);\n identify.set(key, userProperties[key]);\n }\n }\n\n scope.identify(identify);\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._getReferrer = function _getReferrer() {\n return typeof document !== 'undefined' ? document.referrer : '';\n};\n/**\n * @private\n */\n\n\nAmplitudeClient.prototype._getUrlParams = function _getUrlParams() {\n return GlobalScope.location.search;\n};\n/**\n * Try to fetch Google Gclid from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._saveGclid = function _saveGclid(urlParams) {\n var gclid = utils.getQueryParam('gclid', urlParams);\n\n if (utils.isEmptyString(gclid)) {\n return;\n }\n\n var gclidProperties = {\n gclid: gclid\n };\n\n _sendParamsReferrerUserProperties(this, gclidProperties);\n\n return gclidProperties;\n};\n/**\n * Try to fetch Facebook Fbclid from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._saveFbclid = function _saveFbclid(urlParams) {\n var fbclid = utils.getQueryParam('fbclid', urlParams);\n\n if (utils.isEmptyString(fbclid)) {\n return;\n }\n\n var fbclidProperties = {\n fbclid: fbclid\n };\n\n _sendParamsReferrerUserProperties(this, fbclidProperties);\n\n return fbclidProperties;\n};\n/**\n * Try to fetch Amplitude device id from url params.\n * @private\n */\n\n\nAmplitudeClient.prototype._getDeviceIdFromUrlParam = function _getDeviceIdFromUrlParam(urlParams) {\n return utils.getQueryParam(Constants.AMP_DEVICE_ID_PARAM, urlParams);\n};\n/**\n * Parse the domain from referrer info\n * @private\n */\n\n\nAmplitudeClient.prototype._getReferringDomain = function _getReferringDomain(referrer) {\n if (utils.isEmptyString(referrer)) {\n return null;\n }\n\n var parts = referrer.split('/');\n\n if (parts.length >= 3) {\n return parts[2];\n }\n\n return null;\n};\n/**\n * Fetch the referrer information, parse the domain and send.\n * Since user properties are propagated on the server, only send once per session, don't need to send with every event\n * @private\n */\n\n\nAmplitudeClient.prototype._saveReferrer = function _saveReferrer(referrer) {\n if (utils.isEmptyString(referrer)) {\n return;\n }\n\n var referrerInfo = {\n referrer: referrer,\n referring_domain: this._getReferringDomain(referrer)\n };\n\n _sendParamsReferrerUserProperties(this, referrerInfo);\n\n return referrerInfo;\n};\n/**\n * Saves unsent events and identifies to localStorage. JSON stringifies event queues before saving.\n * Note: this is called automatically every time events are logged, unless you explicitly set option saveEvents to false.\n * @private\n */\n\n\nAmplitudeClient.prototype.saveEvents = function saveEvents() {\n try {\n var serializedUnsentEvents = JSON.stringify(this._unsentEvents.map(function (_ref) {\n var event = _ref.event;\n return event;\n }));\n\n this._setInStorage(localStorage$1, this.options.unsentKey, serializedUnsentEvents);\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n\n try {\n var serializedIdentifys = JSON.stringify(this._unsentIdentifys.map(function (unsentIdentify) {\n return unsentIdentify.event;\n }));\n\n this._setInStorage(localStorage$1, this.options.unsentIdentifyKey, serializedIdentifys);\n } catch (e) {}\n /* eslint-disable-line no-empty */\n\n};\n/**\n * Sets a customer domain for the amplitude cookie. Useful if you want to support cross-subdomain tracking.\n * @public\n * @param {string} domain to set.\n * @example amplitudeClient.setDomain('.amplitude.com');\n */\n\n\nAmplitudeClient.prototype.setDomain = function setDomain(domain) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setDomain'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(domain, 'domain', 'string')) {\n return;\n }\n\n try {\n this.cookieStorage.options({\n expirationDays: this.options.cookieExpiration,\n secure: this.options.secureCookie,\n domain: domain,\n sameSite: this.options.sameSiteCookie\n });\n this.options.domain = this.cookieStorage.options().domain;\n\n _loadCookieData(this);\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets an identifier for the current user.\n * @public\n * @param {string} userId - identifier to set. Can be null.\n * @param {boolean} startNewSession - (optional) if start a new session or not\n * @example amplitudeClient.setUserId('joe@gmail.com');\n */\n\n\nAmplitudeClient.prototype.setUserId = function setUserId(userId) {\n var startNewSession = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!utils.validateInput(startNewSession, 'startNewSession', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setUserId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.userId = userId !== undefined && userId !== null && '' + userId || null;\n\n if (startNewSession) {\n if (this.options.unsetParamsReferrerOnNewSession) {\n this._unsetUTMParams();\n }\n\n this._newSession = true;\n this._sessionId = new Date().getTime();\n\n this._runNewSessionStartCallbacks(); // only capture UTM params and referrer if new session\n\n\n if (this.options.saveParamsReferrerOncePerSession) {\n this._trackParamsAndReferrer();\n }\n }\n\n _saveCookieData(this); // Update core identity store to propagate new user info\n // to experiment SDK and trigger a fetch if the ID has changed.\n\n\n if (this._connector) {\n this._connector.identityStore.editIdentity().setUserId(this.options.userId).commit();\n }\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Add user to a group or groups. You need to specify a groupType and groupName(s).\n *\n * For example you can group people by their organization.\n * In that case, groupType is \"orgId\" and groupName would be the actual ID(s).\n * groupName can be a string or an array of strings to indicate a user in multiple gruups.\n * You can also call setGroup multiple times with different groupTypes to track multiple types of groups (up to 5 per app).\n *\n * Note: this will also set groupType: groupName as a user property.\n * See the [advanced topics article](https://developers.amplitude.com/docs/javascript#user-groups) for more information.\n * @public\n * @param {string} groupType - the group type (ex: orgId)\n * @param {string|list} groupName - the name of the group (ex: 15), or a list of names of the groups\n * @example amplitudeClient.setGroup('orgId', 15); // this adds the current user to orgId 15.\n */\n\n\nAmplitudeClient.prototype.setGroup = function (groupType, groupName) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setGroup'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('setGroup()') || !utils.validateInput(groupType, 'groupType', 'string') || utils.isEmptyString(groupType)) {\n return;\n }\n\n var groups = {};\n groups[groupType] = groupName;\n var identify = new Identify().set(groupType, groupName);\n\n this._logEvent(Constants.IDENTIFY_EVENT, null, null, identify.userPropertiesOperations, groups, null, null, null);\n};\n/**\n * Sets whether to opt current user out of tracking.\n * @public\n * @param {boolean} enable - if true then no events will be logged or sent.\n * @example: amplitude.setOptOut(true);\n */\n\n\nAmplitudeClient.prototype.setOptOut = function setOptOut(enable) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setOptOut'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(enable, 'enable', 'boolean')) {\n return;\n }\n\n try {\n this.options.optOut = enable;\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Set a custom Session ID for the current session.\n * Note: This is not recommended unless you know what you are doing because the Session ID of a session is utilized for all session metrics in Amplitude.\n * The Session ID to set for the current session must be in milliseconds since epoch (Unix Timestamp).\n * @public\n * @param {int} sessionId to set.\n * @example amplitudeClient.setSessionId(1622158968000);\n */\n\n\nAmplitudeClient.prototype.setSessionId = function setSessionId(sessionId) {\n if (!utils.validateInput(sessionId, 'sessionId', 'number')) {\n return;\n }\n\n try {\n this._sessionId = sessionId;\n\n _saveCookieData(this);\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the current Unix timestamp as the new Session ID for the instance.\n * @public\n * @example amplitudeClient.resetSessionId();\n */\n\n\nAmplitudeClient.prototype.resetSessionId = function resetSessionId() {\n this.setSessionId(new Date().getTime());\n};\n/**\n * Regenerates a new random deviceId for current user. Note: this is not recommended unless you know what you\n * are doing. This can be used in conjunction with `setUserId(null)` to anonymize users after they log out.\n * With a null userId and a completely new deviceId, the current user would appear as a brand new user in dashboard.\n * This uses src/uuid.js to regenerate the deviceId.\n * @public\n */\n\n\nAmplitudeClient.prototype.regenerateDeviceId = function regenerateDeviceId() {\n if (this._shouldDeferCall()) {\n return this._q.push(['regenerateDeviceId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n this.setDeviceId(base64Id());\n};\n/**\n * Sets a custom deviceId for current user. **Values may not have `.` inside them**\n * Note: this is not recommended unless you know what you are doing (like if you have your own system for managing deviceIds).\n * Make sure the deviceId you set is sufficiently unique\n * (we recommend something like a UUID - see src/uuid.js for an example of how to generate) to prevent conflicts with other devices in our system.\n * @public\n * @param {string} deviceId - custom deviceId for current user.\n * @example amplitudeClient.setDeviceId('45f0954f-eb79-4463-ac8a-233a6f45a8f0');\n */\n\n\nAmplitudeClient.prototype.setDeviceId = function setDeviceId(deviceId) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setDeviceId'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateDeviceId(deviceId)) {\n return;\n }\n\n try {\n if (!utils.isEmptyString(deviceId)) {\n this.options.deviceId = '' + deviceId;\n\n _saveCookieData(this); // Update core identity store to propagate new user info\n // to experiment SDK and trigger a fetch if the ID has changed.\n\n\n if (this._connector) {\n this._connector.identityStore.editIdentity().setDeviceId(this.options.deviceId).commit();\n }\n }\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the network transport type for events. Typically used to set to 'beacon'\n * on an end-of-lifecycle event handler such as `onpagehide` or `onvisibilitychange`\n * @public\n * @param {string} transport - transport mechanism to use for events. Must be one of `http` or `beacon`.\n * @example amplitudeClient.setTransport('beacon');\n */\n\n\nAmplitudeClient.prototype.setTransport = function setTransport(transport) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setTransport'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateTransport(transport)) {\n return;\n }\n\n this.options.transport = transport;\n};\n/**\n * Sets user properties for the current user.\n * @public\n * @param {object} - object with string keys and values for the user properties to set.\n * @param {boolean} - DEPRECATED opt_replace: in earlier versions of the JS SDK the user properties object was kept in\n * memory and replace = true would replace the object in memory. Now the properties are no longer stored in memory, so replace is deprecated.\n * @example amplitudeClient.setUserProperties({'gender': 'female', 'sign_up_complete': true})\n */\n\n\nAmplitudeClient.prototype.setUserProperties = function setUserProperties(userProperties) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setUserProperties'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('setUserProperties()') || !utils.validateInput(userProperties, 'userProperties', 'object')) {\n return;\n } // sanitize the userProperties dict before converting into identify\n\n\n var sanitized = utils.truncate(utils.validateProperties(userProperties));\n\n if (Object.keys(sanitized).length === 0) {\n return;\n } // convert userProperties into an identify call\n\n\n var identify = new Identify();\n\n for (var property in sanitized) {\n if (Object.prototype.hasOwnProperty.call(sanitized, property)) {\n identify.set(property, sanitized[property]);\n }\n }\n\n this.identify(identify);\n};\n/**\n * Clear all of the user properties for the current user. Note: clearing user properties is irreversible!\n * @public\n * @example amplitudeClient.clearUserProperties();\n */\n\n\nAmplitudeClient.prototype.clearUserProperties = function clearUserProperties() {\n if (this._shouldDeferCall()) {\n return this._q.push(['clearUserProperties'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('clearUserProperties()')) {\n return;\n }\n\n var identify = new Identify();\n identify.clearAll();\n this.identify(identify);\n};\n/**\n * Applies the proxied functions on the proxied object to an instance of the real object.\n * Used to convert proxied Identify and Revenue objects.\n * @private\n */\n\n\nvar _convertProxyObjectToRealObject = function _convertProxyObjectToRealObject(instance, proxy) {\n for (var i = 0; i < proxy._q.length; i++) {\n var fn = instance[proxy._q[i][0]];\n\n if (type(fn) === 'function') {\n fn.apply(instance, proxy._q[i].slice(1));\n }\n }\n\n return instance;\n};\n/**\n * Send an identify call containing user property operations to Amplitude servers.\n * See the [Identify](https://amplitude.github.io/Amplitude-JavaScript/Identify/)\n * reference page for more information on the Identify API and user property operations.\n * @param {Identify} identify_obj - the Identify object containing the user property operations to send.\n * @param {Amplitude~eventCallback} opt_callback - (optional) callback function to run when the identify event has been sent.\n * Note: the server response code and response body from the identify event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @example\n * var identify = new amplitude.Identify().set('colors', ['rose', 'gold']).add('karma', 1).setOnce('sign_up_date', '2016-03-31');\n * amplitude.identify(identify);\n */\n\n\nAmplitudeClient.prototype.identify = function (identify_obj, opt_callback, opt_error_callback, outOfSession) {\n if (this._shouldDeferCall()) {\n return this._q.push(['identify'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('identify()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key is not set'\n });\n\n return;\n } // if identify input is a proxied object created by the async loading snippet, convert it into an identify object\n\n\n if (type(identify_obj) === 'object' && Object.prototype.hasOwnProperty.call(identify_obj, '_q')) {\n identify_obj = _convertProxyObjectToRealObject(new Identify(), identify_obj);\n }\n\n if (identify_obj instanceof Identify) {\n // only send if there are operations\n if (Object.keys(identify_obj.userPropertiesOperations).length > 0) {\n return this._logEvent(Constants.IDENTIFY_EVENT, null, null, identify_obj.userPropertiesOperations, null, null, null, opt_callback, opt_error_callback, outOfSession);\n } else {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'No user property operations'\n });\n }\n } else {\n utils.log.error('Invalid identify input type. Expected Identify object but saw ' + type(identify_obj));\n\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid identify input type'\n });\n }\n};\n\nAmplitudeClient.prototype.groupIdentify = function (group_type, group_name, identify_obj, opt_callback, opt_error_callback, outOfSession) {\n if (this._shouldDeferCall()) {\n return this._q.push(['groupIdentify'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('groupIdentify()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key is not set'\n });\n\n return;\n }\n\n if (!utils.validateInput(group_type, 'group_type', 'string') || utils.isEmptyString(group_type)) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid group type'\n });\n\n return;\n }\n\n if (group_name === null || group_name === undefined) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid group name'\n });\n\n return;\n } // if identify input is a proxied object created by the async loading snippet, convert it into an identify object\n\n\n if (type(identify_obj) === 'object' && Object.prototype.hasOwnProperty.call(identify_obj, '_q')) {\n identify_obj = _convertProxyObjectToRealObject(new Identify(), identify_obj);\n }\n\n if (identify_obj instanceof Identify) {\n // only send if there are operations\n if (Object.keys(identify_obj.userPropertiesOperations).length > 0) {\n return this._logEvent(Constants.GROUP_IDENTIFY_EVENT, null, null, null, _defineProperty({}, group_type, group_name), identify_obj.userPropertiesOperations, null, opt_callback, opt_error_callback, outOfSession);\n } else {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'No group property operations'\n });\n }\n } else {\n utils.log.error('Invalid identify input type. Expected Identify object but saw ' + type(identify_obj));\n\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid identify input type'\n });\n }\n};\n/**\n * Set a versionName for your application.\n * @public\n * @param {string} versionName - The version to set for your application.\n * @example amplitudeClient.setVersionName('1.12.3');\n */\n\n\nAmplitudeClient.prototype.setVersionName = function setVersionName(versionName) {\n if (this._shouldDeferCall()) {\n return this._q.push(['setVersionName'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!utils.validateInput(versionName, 'versionName', 'string')) {\n return;\n }\n\n this.options.versionName = versionName;\n};\n/**\n * Private logEvent method. Keeps apiProperties from being publicly exposed.\n * @private\n */\n\n\nAmplitudeClient.prototype._logEvent = function _logEvent(eventType, eventProperties, apiProperties, userProperties, groups, groupProperties, timestamp, callback, errorCallback, outOfSession) {\n _loadCookieData(this); // reload cookie before each log event to sync event meta-data between windows and tabs\n\n\n if (!eventType) {\n _logErrorsWithCallbacks(callback, errorCallback, 0, 'No request sent', {\n reason: 'Missing eventType'\n });\n\n return;\n }\n\n if (this.options.optOut) {\n _logErrorsWithCallbacks(callback, errorCallback, 0, 'No request sent', {\n reason: 'optOut is set to true'\n });\n\n return;\n }\n\n try {\n var eventId;\n\n if (eventType === Constants.IDENTIFY_EVENT || eventType === Constants.GROUP_IDENTIFY_EVENT) {\n eventId = this.nextIdentifyId();\n } else {\n eventId = this.nextEventId();\n }\n\n var sequenceNumber = this.nextSequenceNumber();\n var eventTime = type(timestamp) === 'number' ? timestamp : new Date().getTime();\n\n if (outOfSession) {\n this._sessionId = -1;\n } else if (!this._sessionId || !this._lastEventTime || eventTime - this._lastEventTime > this.options.sessionTimeout) {\n this._sessionId = eventTime;\n\n this._runNewSessionStartCallbacks();\n }\n\n this._lastEventTime = eventTime;\n\n _saveCookieData(this);\n\n var osName = this._ua.browser.name;\n var osVersion = this._ua.browser.major;\n var deviceModel = this._ua.device.model || this._ua.os.name;\n var deviceVendor = this._ua.device.vendor;\n userProperties = userProperties || {};\n\n var trackingOptions = _objectSpread({}, this._apiPropertiesTrackingOptions);\n\n apiProperties = _objectSpread({}, apiProperties || {}, trackingOptions);\n eventProperties = eventProperties || {};\n groups = groups || {};\n groupProperties = groupProperties || {};\n var event = {\n device_id: this.options.deviceId,\n user_id: this.options.userId,\n timestamp: eventTime,\n event_id: eventId,\n session_id: this._sessionId || -1,\n event_type: eventType,\n version_name: this.options.versionName || null,\n platform: _shouldTrackField(this, 'platform') ? this.options.platform : null,\n os_name: _shouldTrackField(this, 'os_name') ? osName || null : null,\n os_version: _shouldTrackField(this, 'os_version') ? osVersion || null : null,\n device_model: _shouldTrackField(this, 'device_model') ? deviceModel || null : null,\n device_manufacturer: _shouldTrackField(this, 'device_manufacturer') ? deviceVendor || null : null,\n language: _shouldTrackField(this, 'language') ? this.options.language : null,\n api_properties: apiProperties,\n event_properties: utils.truncate(utils.validateProperties(eventProperties)),\n user_properties: utils.truncate(utils.validateProperties(userProperties)),\n uuid: uuid(),\n library: this.options.library,\n sequence_number: sequenceNumber,\n // for ordering events and identifys\n groups: utils.truncate(utils.validateGroups(groups)),\n group_properties: utils.truncate(utils.validateProperties(groupProperties)),\n user_agent: this._userAgent,\n partner_id: this.options.partnerId || null\n };\n\n if (_isObservePlanSet(this)) {\n event.plan = {\n branch: this.options.plan.branch || undefined,\n source: this.options.plan.source || undefined,\n version: this.options.plan.version || undefined,\n versionId: this.options.plan.versionId || undefined\n };\n }\n\n if (eventType === Constants.IDENTIFY_EVENT || eventType === Constants.GROUP_IDENTIFY_EVENT) {\n this._unsentIdentifys.push({\n event: event,\n callback: callback,\n errorCallback: errorCallback\n });\n\n this._limitEventsQueued(this._unsentIdentifys);\n } else {\n this._unsentEvents.push({\n event: event,\n callback: callback,\n errorCallback: errorCallback\n });\n\n this._limitEventsQueued(this._unsentEvents);\n }\n\n if (this.options.saveEvents) {\n this.saveEvents();\n }\n\n this._sendEventsIfReady(); // In the case of an identify event, update the core user store so the experiment SDK can fetch new variants and\n // utilize user properties in real time.\n\n\n if (eventType === Constants.IDENTIFY_EVENT && this._connector) {\n this._connector.identityStore.editIdentity().updateUserProperties(utils.truncate(utils.validateProperties(userProperties))).commit();\n }\n\n return eventId;\n } catch (e) {\n utils.log.error(e);\n }\n};\n\nvar _isObservePlanSet = function _isObservePlanSet(scope) {\n return scope.options.plan && (scope.options.plan.source || scope.options.plan.branch || scope.options.plan.version || scope.options.plan.versionId);\n};\n\nvar _shouldTrackField = function _shouldTrackField(scope, field) {\n return !!scope.options.trackingOptions[field];\n};\n\nvar _generateApiPropertiesTrackingConfig = function _generateApiPropertiesTrackingConfig(scope) {\n // to limit size of config payload, only send fields that have been disabled\n var fields = ['city', 'country', 'dma', 'ip_address', 'region'];\n var config = {};\n\n for (var i = 0; i < fields.length; i++) {\n var field = fields[i];\n\n if (!_shouldTrackField(scope, field)) {\n config[field] = false;\n }\n }\n\n return config;\n};\n/**\n * Remove old events from the beginning of the array if too many have accumulated. Default limit is 1000 events.\n * @private\n */\n\n\nAmplitudeClient.prototype._limitEventsQueued = function _limitEventsQueued(queue) {\n if (queue.length > this.options.savedMaxCount) {\n var deletedEvents = queue.splice(0, queue.length - this.options.savedMaxCount);\n deletedEvents.forEach(function (event) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Event dropped because options.savedMaxCount exceeded. User may be offline or have a content blocker'\n });\n });\n }\n};\n/**\n * This is the callback for logEvent and identify calls. It gets called after the event/identify is uploaded,\n * and the server response code and response body from the upload request are passed to the callback function.\n * @callback Amplitude~eventCallback\n * @param {number} responseCode - Server response code for the event / identify upload request.\n * @param {string} responseBody - Server response body for the event / identify upload request.\n * @param {object} details - (optional) Additional information associated with sending event.\n */\n\n/**\n * Log an event with eventType and eventProperties\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {boolean} outOfSession - (optional) if this event is out of session or not\n * @example amplitudeClient.logEvent('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15});\n */\n\n\nAmplitudeClient.prototype.logEvent = function logEvent(eventType, eventProperties, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEvent'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n return this.logEventWithTimestamp(eventType, eventProperties, null, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Log an event with eventType and eventProperties and a custom timestamp\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {number} timestamp - (optional) the custom timestamp as milliseconds since epoch.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {boolean} outOfSession - (optional) if out of the sessioin or not\n * @example amplitudeClient.logEventWithTimestamp('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15}, Date.now());\n */\n\n\nAmplitudeClient.prototype.logEventWithTimestamp = function logEvent(eventType, eventProperties, timestamp, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEventWithTimestamp'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logEvent()')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'API key not set'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(eventType, 'eventType', 'string')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid type for eventType'\n });\n\n return -1;\n }\n\n if (utils.isEmptyString(eventType)) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Missing eventType'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(outOfSession, 'outOfSession', 'boolean')) {\n _logErrorsWithCallbacks(opt_callback, opt_error_callback, 0, 'No request sent', {\n reason: 'Invalid outOfSession value'\n });\n }\n\n return this._logEvent(eventType, eventProperties, null, null, null, null, timestamp, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Log an event with eventType, eventProperties, and groups. Use this to set event-level groups.\n * Note: the group(s) set only apply for the specific event type being logged and does not persist on the user\n * (unless you explicitly set it with setGroup).\n *\n * See the [advanced topics article](https://developers.amplitude.com/docs/javascript#user-groups) for more information\n * about groups and Count by Distinct on the Amplitude platform.\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {object} groups - (optional) an object with string groupType: groupName values for the event being logged.\n * groupName can be a string or an array of strings.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @param {Amplitude~eventCallback} opt_error_callback - (optional) a callback function to run after the event logging\n * fails. The failure can be from the request being malformed or from a network failure\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @example amplitudeClient.logEventWithGroups('Clicked Button', null, {'orgId': 24});\n */\n\n\nAmplitudeClient.prototype.logEventWithGroups = function (eventType, eventProperties, groups, opt_callback, opt_error_callback) {\n var outOfSession = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n if (this._shouldDeferCall()) {\n return this._q.push(['logEventWithGroups'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logEventWithGroups()')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'API key not set'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(eventType, 'eventType', 'string')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Invalid type for eventType'\n });\n\n return -1;\n }\n\n if (!utils.validateInput(outOfSession, 'outOfSession', 'boolean')) {\n _logErrorsWithCallbacks(event.callback, event.errorCallback, 0, 'No request sent', {\n reason: 'Invalid outOfSession value'\n });\n }\n\n return this._logEvent(eventType, eventProperties, null, null, groups, null, null, opt_callback, opt_error_callback, outOfSession);\n};\n/**\n * Test that n is a number or a numeric value.\n * @private\n */\n\n\nvar _isNumber = function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n/**\n * Handles errors that are sent to both callbacks\n * @private\n */\n\n\nvar _logErrorsWithCallbacks = function _logErrorsWithCallbacks(opt_callback, opt_error_callback, status, response, details) {\n if (type(opt_callback) === 'function') {\n opt_callback(status, response, details);\n }\n\n if (type(opt_error_callback) === 'function') {\n opt_error_callback(status, response, details);\n }\n};\n/**\n * Log revenue with Revenue interface. The new revenue interface allows for more revenue fields like\n * revenueType and event properties.\n *\n * See the [Revenue](https://amplitude.github.io/Amplitude-JavaScript/Revenue/)\n * reference page for more information on the Revenue interface and logging revenue.\n * @public\n * @param {Revenue} revenue_obj - the revenue object containing the revenue data being logged.\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\nAmplitudeClient.prototype.logRevenueV2 = function logRevenueV2(revenue_obj) {\n if (this._shouldDeferCall()) {\n return this._q.push(['logRevenueV2'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n if (!this._apiKeySet('logRevenueV2()')) {\n return;\n } // if revenue input is a proxied object created by the async loading snippet, convert it into an revenue object\n\n\n if (type(revenue_obj) === 'object' && Object.prototype.hasOwnProperty.call(revenue_obj, '_q')) {\n revenue_obj = _convertProxyObjectToRealObject(new Revenue(), revenue_obj);\n }\n\n if (revenue_obj instanceof Revenue) {\n // only send if revenue is valid\n if (revenue_obj && revenue_obj._isValidRevenue()) {\n return this.logEvent(Constants.REVENUE_EVENT, revenue_obj._toJSONObject());\n }\n } else {\n utils.log.error('Invalid revenue input type. Expected Revenue object but saw ' + type(revenue_obj));\n }\n};\n\n{\n /**\n * Log revenue event with a price, quantity, and product identifier. DEPRECATED - use logRevenueV2\n * @public\n * @deprecated\n * @param {number} price - price of revenue event\n * @param {number} quantity - (optional) quantity of products in revenue event. If no quantity specified default to 1.\n * @param {string} product - (optional) product identifier\n * @example amplitudeClient.logRevenue(3.99, 1, 'product_1234');\n */\n AmplitudeClient.prototype.logRevenue = function logRevenue(price, quantity, product) {\n if (this._shouldDeferCall()) {\n return this._q.push(['logRevenue'].concat(Array.prototype.slice.call(arguments, 0)));\n } // Test that the parameters are of the right type.\n\n\n if (!this._apiKeySet('logRevenue()') || !_isNumber(price) || quantity !== undefined && !_isNumber(quantity)) {\n // utils.log('Price and quantity arguments to logRevenue must be numbers');\n return -1;\n }\n\n return this._logEvent(Constants.REVENUE_EVENT, {}, {\n productId: product,\n special: 'revenue_amount',\n quantity: quantity || 1,\n price: price\n }, null, null, null, null, null);\n };\n}\n/**\n * Calls error callback on unsent events\n * @private\n */\n\n\nAmplitudeClient.prototype._logErrorsOnEvents = function _logErrorsOnEvents(maxEventId, maxIdentifyId, status, response) {\n var queues = ['_unsentEvents', '_unsentIdentifys'];\n\n for (var j = 0; j < queues.length; j++) {\n var queue = queues[j];\n var maxId = queue === '_unsentEvents' ? maxEventId : maxIdentifyId;\n\n for (var i = 0; i < this[queue].length || 0; i++) {\n var unsentEvent = this[queue][i];\n\n if (unsentEvent.event.event_id <= maxId) {\n if (unsentEvent.errorCallback) {\n unsentEvent.errorCallback(status, response);\n }\n }\n }\n }\n};\n/**\n * Remove events in storage with event ids up to and including maxEventId.\n * @private\n */\n\n\nAmplitudeClient.prototype.removeEvents = function removeEvents(maxEventId, maxIdentifyId, status, response) {\n _removeEvents(this, '_unsentEvents', maxEventId, status, response);\n\n _removeEvents(this, '_unsentIdentifys', maxIdentifyId, status, response);\n};\n/**\n * Helper function to remove events up to maxId from a single queue.\n * Does a true filter in case events get out of order or old events are removed.\n * @private\n */\n\n\nvar _removeEvents = function _removeEvents(scope, eventQueue, maxId, status, response) {\n if (maxId < 0) {\n return;\n }\n\n var filteredEvents = [];\n\n for (var i = 0; i < scope[eventQueue].length || 0; i++) {\n var unsentEvent = scope[eventQueue][i];\n\n if (unsentEvent.event.event_id > maxId) {\n filteredEvents.push(unsentEvent);\n } else {\n if (unsentEvent.callback) {\n unsentEvent.callback(status, response);\n }\n }\n }\n\n scope[eventQueue] = filteredEvents;\n};\n/**\n * Send unsent events. Note: this is called automatically after events are logged if option batchEvents is false.\n * If batchEvents is true, then events are only sent when batch criterias are met.\n * @private\n */\n\n\nAmplitudeClient.prototype.sendEvents = function sendEvents() {\n if (!this._apiKeySet('sendEvents()')) {\n this.removeEvents(Infinity, Infinity, 0, 'No request sent', {\n reason: 'API key not set'\n });\n return;\n }\n\n if (this.options.optOut) {\n this.removeEvents(Infinity, Infinity, 0, 'No request sent', {\n reason: 'Opt out is set to true'\n });\n return;\n } // How is it possible to get into this state?\n\n\n if (this._unsentCount() === 0) {\n return;\n } // We only make one request at a time. sendEvents will be invoked again once\n // the last request completes.\n // beacon data is sent synchronously, so don't pause for it\n\n\n if (this.options.transport !== Constants.TRANSPORT_BEACON) {\n if (this._sending) {\n return;\n }\n\n this._sending = true;\n }\n\n var protocol = this.options.forceHttps ? 'https' : 'https:' === GlobalScope.location.protocol ? 'https' : 'http';\n var url = protocol + '://' + this.options.apiEndpoint; // fetch events to send\n\n var numEvents = Math.min(this._unsentCount(), this.options.uploadBatchSize);\n\n var mergedEvents = this._mergeEventsAndIdentifys(numEvents);\n\n var maxEventId = mergedEvents.maxEventId;\n var maxIdentifyId = mergedEvents.maxIdentifyId;\n var events = JSON.stringify(mergedEvents.eventsToSend.map(function (_ref2) {\n var event = _ref2.event;\n return event;\n }));\n var uploadTime = new Date().getTime();\n var data = {\n client: this.options.apiKey,\n e: events,\n v: Constants.API_VERSION,\n upload_time: uploadTime,\n checksum: md5(Constants.API_VERSION + this.options.apiKey + events + uploadTime)\n };\n\n if (this.options.transport === Constants.TRANSPORT_BEACON && typeof navigator !== 'undefined') {\n var success = navigator.sendBeacon(url, new URLSearchParams(data));\n\n if (success) {\n this.removeEvents(maxEventId, maxIdentifyId, 200, 'success');\n\n if (this.options.saveEvents) {\n this.saveEvents();\n }\n } else {\n this._logErrorsOnEvents(maxEventId, maxIdentifyId, 0, '');\n }\n\n return;\n }\n\n var scope = this;\n\n try {\n new Request(url, data, this.options.headers).send(function (status, response) {\n scope._sending = false;\n\n try {\n if (status === 200 && response === 'success') {\n scope.removeEvents(maxEventId, maxIdentifyId, status, response); // Update the event cache after the removal of sent events.\n\n if (scope.options.saveEvents) {\n scope.saveEvents();\n } // Send more events if any queued during previous send.\n\n\n scope._sendEventsIfReady(); // handle payload too large\n\n } else {\n scope._logErrorsOnEvents(maxEventId, maxIdentifyId, status, response);\n\n if (status === 413) {\n // utils.log('request too large');\n // Can't even get this one massive event through. Drop it, even if it is an identify.\n if (scope.options.uploadBatchSize === 1) {\n scope.removeEvents(maxEventId, maxIdentifyId, status, response);\n } // The server complained about the length of the request. Backoff and try again.\n\n\n scope.options.uploadBatchSize = Math.ceil(numEvents / 2);\n scope.sendEvents();\n }\n } // else {\n // all the events are still queued, and will be retried when the next\n // event is sent In the interest of debugging, it would be nice to have\n // something like an event emitter for a better debugging experince\n // here.\n // }\n\n } catch (e) {// utils.log.error('failed upload');\n }\n });\n } catch (e) {\n var status = 0,\n response = 'Request failed to send';\n utils.log.error(response);\n\n scope._logErrorsOnEvents(maxEventId, maxIdentifyId, status, response);\n\n scope.removeEvents(maxEventId, maxIdentifyId, status, response, {\n reason: e.message\n });\n }\n};\n/**\n * Merge unsent events and identifys together in sequential order based on their sequence number, for uploading.\n * Identifys given higher priority than Events. Also earlier sequence given priority\n * @private\n */\n\n\nAmplitudeClient.prototype._mergeEventsAndIdentifys = function _mergeEventsAndIdentifys(numEvents) {\n // coalesce events from both queues\n var eventsToSend = [];\n var eventIndex = 0;\n var maxEventId = -1;\n var identifyIndex = 0;\n var maxIdentifyId = -1;\n\n while (eventsToSend.length < numEvents) {\n var unsentEvent = void 0;\n var noIdentifys = identifyIndex >= this._unsentIdentifys.length;\n var noEvents = eventIndex >= this._unsentEvents.length; // case 0: no events or identifys left\n // note this should not happen, this means we have less events and identifys than expected\n\n if (noEvents && noIdentifys) {\n utils.log.error('Merging Events and Identifys, less events and identifys than expected');\n break;\n } // case 1: no identifys - grab from events\n else if (noIdentifys) {\n unsentEvent = this._unsentEvents[eventIndex++];\n maxEventId = unsentEvent.event.event_id; // case 2: no events - grab from identifys\n } else if (noEvents) {\n unsentEvent = this._unsentIdentifys[identifyIndex++];\n maxIdentifyId = unsentEvent.event.event_id; // case 3: need to compare sequence numbers\n } else {\n // events logged before v2.5.0 won't have a sequence number, put those first\n if (!('sequence_number' in this._unsentEvents[eventIndex].event) || this._unsentEvents[eventIndex].event.sequence_number < this._unsentIdentifys[identifyIndex].event.sequence_number) {\n unsentEvent = this._unsentEvents[eventIndex++];\n maxEventId = unsentEvent.event.event_id;\n } else {\n unsentEvent = this._unsentIdentifys[identifyIndex++];\n maxIdentifyId = unsentEvent.event.event_id;\n }\n }\n\n eventsToSend.push(unsentEvent);\n }\n\n return {\n eventsToSend: eventsToSend,\n maxEventId: maxEventId,\n maxIdentifyId: maxIdentifyId\n };\n};\n\n{\n /**\n * Set global user properties. Note this is deprecated, and we recommend using setUserProperties\n * @public\n * @deprecated\n */\n AmplitudeClient.prototype.setGlobalUserProperties = function setGlobalUserProperties(userProperties) {\n this.setUserProperties(userProperties);\n };\n}\n/**\n * Get the current version of Amplitude's Javascript SDK.\n * @public\n * @returns {number} version number\n * @example var amplitudeVersion = amplitude.__VERSION__;\n */\n\n\nAmplitudeClient.prototype.__VERSION__ = function getVersion() {\n return this.options.library.version;\n};\n/**\n * Sets the library name and version. Default is `amplitude-js` and the version defined in package.json. Used if you're building another library on top of amplitude-js and want a custom data source value\n * @public\n * @param {string} name - Custom library name\n * @param {string} version - Custom library version\n */\n\n\nAmplitudeClient.prototype.setLibrary = function setLibrary(name, version) {\n if (name !== null && typeof name !== 'undefined') {\n this.options.library.name = name;\n }\n\n if (version !== null && typeof version !== 'undefined') {\n this.options.library.version = version;\n }\n};\n/**\n * Determines whether or not to push call to this._q or invoke it\n * @private\n */\n\n\nAmplitudeClient.prototype._shouldDeferCall = function _shouldDeferCall() {\n return this._pendingReadStorage || this._initializationDeferred;\n};\n/**\n * Defers Initialization by putting all functions into storage until users\n * have accepted terms for tracking\n * @private\n */\n\n\nAmplitudeClient.prototype._deferInitialization = function _deferInitialization() {\n this._initializationDeferred = true;\n\n this._q.push(['init'].concat(Array.prototype.slice.call(arguments, 0)));\n};\n/**\n * Enable tracking via logging events and dropping a cookie\n * Intended to be used with the deferInitialization configuration flag\n * This will drop a cookie and reset initialization deferred\n * @public\n */\n\n\nAmplitudeClient.prototype.enableTracking = function enableTracking() {\n // This will call init (which drops the cookie) and will run any pending tasks\n this._initializationDeferred = false;\n\n _saveCookieData(this);\n\n this.runQueuedFunctions();\n};\n/**\n * Find best server url if choose to enable dynamic configuration.\n */\n\n\nAmplitudeClient.prototype._refreshDynamicConfig = function _refreshDynamicConfig() {\n if (this.options.useDynamicConfig) {\n instance$1.refresh(this.options.serverZone, this.options.forceHttps, function () {\n this.options.apiEndpoint = instance$1.ingestionEndpoint;\n }.bind(this));\n }\n};\n/**\n * Returns the deviceId value.\n * @public\n * @return {string} Id of current device.\n */\n\n\nAmplitudeClient.prototype.getDeviceId = function getDeviceId() {\n return this.options.deviceId;\n};\n/**\n * Returns the userId.\n * @public\n * @return {string} Id of current user.\n */\n\n\nAmplitudeClient.prototype.getUserId = function getUserId() {\n return this.options.userId;\n};\n/**\n * Set a custom session expiration time.\n * @public\n * @param {number} timeInMillis - session expireation time in milliseconds.\n */\n\n\nAmplitudeClient.prototype.setMinTimeBetweenSessionsMillis = function setMinTimeBetweenSessionsMillis(timeInMillis) {\n if (!utils.validateInput(timeInMillis, 'timeInMillis', 'number')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setMinTimeBetweenSessionsMillis'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.sessionTimeout = timeInMillis;\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets minimum number of events to batch together per request if batchEvents is true.\n * @public\n * @param {number} eventUploadThreshold - The number of the event upload threshold. Default value is 30.\n * @example amplitudeClient.setEventUploadThreshold(10);\n */\n\n\nAmplitudeClient.prototype.setEventUploadThreshold = function setEventUploadThreshold(eventUploadThreshold) {\n if (!utils.validateInput(eventUploadThreshold, 'eventUploadThreshold', 'number')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setEventUploadThreshold'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.eventUploadThreshold = eventUploadThreshold;\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Dynamically adjust server URL\n * @public\n * @param {bool} useDynamicConfig - if enable dynamic config or not.\n * @example amplitudeClient.setUseDynamicConfig(true);\n */\n\n\nAmplitudeClient.prototype.setUseDynamicConfig = function setUseDynamicConfig(useDynamicConfig) {\n if (!utils.validateInput(useDynamicConfig, 'useDynamicConfig', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setUseDynamicConfig'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.useDynamicConfig = useDynamicConfig;\n\n this._refreshDynamicConfig();\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the server zone, used for server api endpoint and dynamic configuration.\n * @public\n * @param {string} serverZone - the server zone value. AmplitudeServerZone.US or AmplitudeServerZone.EU.\n * @param {bool} serverZoneBasedApi - (optional) update api endpoint with serverZone change or not. For data residency, recommend to enable it unless using own proxy server.\n * @example amplitudeClient.setServerZone(AmplitudeServerZone.EU, true);\n */\n\n\nAmplitudeClient.prototype.setServerZone = function setServerZone(serverZone) {\n var serverZoneBasedApi = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (serverZone !== AmplitudeServerZone.EU && serverZone !== AmplitudeServerZone.US || !utils.validateInput(serverZoneBasedApi, 'serverZoneBasedApi', 'boolean')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setServerZone'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.serverZone = serverZone;\n this.options.serverZoneBasedApi = serverZoneBasedApi;\n\n if (serverZoneBasedApi) {\n this.options.apiEndpoint = getEventLogApi(this.options.serverZone);\n }\n } catch (e) {\n utils.log.error(e);\n }\n};\n/**\n * Sets the server URL for the request.\n * @public\n * @param {string} serverUrl - The value of the server URL.\n * @example amplitudeClient.setServerUrl('api.amplitude.com');\n */\n\n\nAmplitudeClient.prototype.setServerUrl = function setServerUrl(serverUrl) {\n if (!utils.validateInput(serverUrl, 'serverUrl', 'string')) {\n return;\n }\n\n if (this._shouldDeferCall()) {\n return this._q.push(['setServerUrl'].concat(Array.prototype.slice.call(arguments, 0)));\n }\n\n try {\n this.options.apiEndpoint = serverUrl;\n } catch (e) {\n utils.log.error(e);\n }\n};\n\n/**\n * Deprecated legacy API of the Amplitude JS SDK - instance manager.\n *\n * Wraps around the current [AmplitudeClient](https://amplitude.github.io/Amplitude-JavaScript/) which provides more features\n * Function calls directly on amplitude have been deprecated. Please call methods on the default shared instance: amplitude.getInstance() instead.\n *\n * See the [3.0.0 changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/ed405afb5f06d5cf5b72539a5d09179abcf7e1fe/README.md#300-update-and-logging-events-to-multiple-amplitude-apps) for more information about this change.\n * @constructor Amplitude\n * @public\n * @deprecated\n * @example var amplitude = new Amplitude();\n */\n\nvar Amplitude = function Amplitude() {\n this.options = _objectSpread({}, DEFAULT_OPTIONS);\n this._q = [];\n this._instances = {}; // mapping of instance names to instances\n};\n\nAmplitude.prototype.Identify = Identify;\nAmplitude.prototype.Revenue = Revenue;\n\nAmplitude.prototype.getInstance = function getInstance(instance) {\n instance = utils.isEmptyString(instance) ? Constants.DEFAULT_INSTANCE : instance.toLowerCase();\n var client = this._instances[instance];\n\n if (client === undefined) {\n client = new AmplitudeClient(instance);\n this._instances[instance] = client;\n }\n\n return client;\n};\n\n{\n /**\n * Initializes the Amplitude Javascript SDK with your apiKey and any optional configurations.\n * This is required before any other methods can be called.\n * @public\n * @param {string} apiKey - The API key for your app.\n * @param {string} opt_userId - (optional) An identifier for this user.\n * @param {object} opt_config - (optional) Configuration options.\n * See [options.js](https://github.com/amplitude/Amplitude-JavaScript/blob/master/src/options.js#L14) for list of options and default values.\n * @param {function} opt_callback - (optional) Provide a callback function to run after initialization is complete.\n * @deprecated Please use amplitude.getInstance().init(apiKey, opt_userId, opt_config, opt_callback);\n * @example amplitude.init('API_KEY', 'USER_ID', {includeReferrer: true, includeUtm: true}, function() { alert('init complete'); });\n */\n Amplitude.prototype.init = function init(apiKey, opt_userId, opt_config, opt_callback) {\n this.getInstance().init(apiKey, opt_userId, opt_config, function (instance) {\n // make options such as deviceId available for callback functions\n this.options = instance.options;\n\n if (type(opt_callback) === 'function') {\n opt_callback(instance);\n }\n }.bind(this));\n };\n /**\n * Returns true if a new session was created during initialization, otherwise false.\n * @public\n * @return {boolean} Whether a new session was created during initialization.\n * @deprecated Please use amplitude.getInstance().isNewSession();\n */\n\n\n Amplitude.prototype.isNewSession = function isNewSession() {\n return this.getInstance().isNewSession();\n };\n /**\n * Returns the id of the current session.\n * @public\n * @return {number} Id of the current session.\n * @deprecated Please use amplitude.getInstance().getSessionId();\n */\n\n\n Amplitude.prototype.getSessionId = function getSessionId() {\n return this.getInstance().getSessionId();\n };\n /**\n * Increments the eventId and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextEventId = function nextEventId() {\n return this.getInstance().nextEventId();\n };\n /**\n * Increments the identifyId and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextIdentifyId = function nextIdentifyId() {\n return this.getInstance().nextIdentifyId();\n };\n /**\n * Increments the sequenceNumber and returns it.\n * @private\n */\n\n\n Amplitude.prototype.nextSequenceNumber = function nextSequenceNumber() {\n return this.getInstance().nextSequenceNumber();\n };\n /**\n * Saves unsent events and identifies to localStorage. JSON stringifies event queues before saving.\n * Note: this is called automatically every time events are logged, unless you explicitly set option saveEvents to false.\n * @private\n */\n\n\n Amplitude.prototype.saveEvents = function saveEvents() {\n this.getInstance().saveEvents();\n };\n /**\n * Sets a customer domain for the amplitude cookie. Useful if you want to support cross-subdomain tracking.\n * @public\n * @param {string} domain to set.\n * @deprecated Please use amplitude.getInstance().setDomain(domain);\n * @example amplitude.setDomain('.amplitude.com');\n */\n\n\n Amplitude.prototype.setDomain = function setDomain(domain) {\n this.getInstance().setDomain(domain);\n };\n /**\n * Sets an identifier for the current user.\n * @public\n * @param {string} userId - identifier to set. Can be null.\n * @deprecated Please use amplitude.getInstance().setUserId(userId);\n * @example amplitude.setUserId('joe@gmail.com');\n */\n\n\n Amplitude.prototype.setUserId = function setUserId(userId) {\n this.getInstance().setUserId(userId);\n };\n /**\n * Add user to a group or groups. You need to specify a groupType and groupName(s).\n * For example you can group people by their organization.\n * In that case groupType is \"orgId\" and groupName would be the actual ID(s).\n * groupName can be a string or an array of strings to indicate a user in multiple gruups.\n * You can also call setGroup multiple times with different groupTypes to track multiple types of groups (up to 5 per app).\n * Note: this will also set groupType: groupName as a user property.\n * See the [advanced topics article](https://developers.amplitude.com/docs/javascript#user-groups) for more information.\n * @public\n * @param {string} groupType - the group type (ex: orgId)\n * @param {string|list} groupName - the name of the group (ex: 15), or a list of names of the groups\n * @deprecated Please use amplitude.getInstance().setGroup(groupType, groupName);\n * @example amplitude.setGroup('orgId', 15); // this adds the current user to orgId 15.\n */\n\n\n Amplitude.prototype.setGroup = function (groupType, groupName) {\n this.getInstance().setGroup(groupType, groupName);\n };\n /**\n * Sets whether to opt current user out of tracking.\n * @public\n * @param {boolean} enable - if true then no events will be logged or sent.\n * @deprecated Please use amplitude.getInstance().setOptOut(enable);\n * @example: amplitude.setOptOut(true);\n */\n\n\n Amplitude.prototype.setOptOut = function setOptOut(enable) {\n this.getInstance().setOptOut(enable);\n };\n /**\n * Regenerates a new random deviceId for current user. Note: this is not recommended unless you know what you\n * are doing. This can be used in conjunction with `setUserId(null)` to anonymize users after they log out.\n * With a null userId and a completely new deviceId, the current user would appear as a brand new user in dashboard.\n * This uses src/uuid.js to regenerate the deviceId.\n * @public\n * @deprecated Please use amplitude.getInstance().regenerateDeviceId();\n */\n\n\n Amplitude.prototype.regenerateDeviceId = function regenerateDeviceId() {\n this.getInstance().regenerateDeviceId();\n };\n /**\n * Sets a custom deviceId for current user. Note: this is not recommended unless you know what you are doing\n * (like if you have your own system for managing deviceIds).\n *\n * Make sure the deviceId you set is sufficiently unique\n * (we recommend something like a UUID - see src/uuid.js for an example of how to generate) to prevent conflicts with other devices in our system.\n * @public\n * @param {string} deviceId - custom deviceId for current user.\n * @deprecated Please use amplitude.getInstance().setDeviceId(deviceId);\n * @example amplitude.setDeviceId('45f0954f-eb79-4463-ac8a-233a6f45a8f0');\n */\n\n\n Amplitude.prototype.setDeviceId = function setDeviceId(deviceId) {\n this.getInstance().setDeviceId(deviceId);\n };\n /**\n * Sets user properties for the current user.\n * @public\n * @param {object} userProperties - object with string keys and values for the user properties to set.\n * @param {boolean} opt_replace - Deprecated. In earlier versions of the JS SDK the user properties object was kept in\n * memory and replace = true would replace the object in memory. Now the properties are no longer stored in memory, so replace is deprecated.\n * @deprecated Please use amplitude.getInstance().setUserProperties(userProperties);\n * @example amplitude.setUserProperties({'gender': 'female', 'sign_up_complete': true})\n */\n\n\n Amplitude.prototype.setUserProperties = function setUserProperties(userProperties) {\n this.getInstance().setUserProperties(userProperties);\n };\n /**\n * Clear all of the user properties for the current user. Note: clearing user properties is irreversible!\n * @public\n * @deprecated Please use amplitude.getInstance().clearUserProperties();\n * @example amplitude.clearUserProperties();\n */\n\n\n Amplitude.prototype.clearUserProperties = function clearUserProperties() {\n this.getInstance().clearUserProperties();\n };\n /**\n * Send an identify call containing user property operations to Amplitude servers.\n * See the [Identify](https://amplitude.github.io/Amplitude-JavaScript/Identify/)\n * reference page for more information on the Identify API and user property operations.\n * @param {Identify} identify_obj - the Identify object containing the user property operations to send.\n * @param {Amplitude~eventCallback} opt_callback - (optional) callback function to run when the identify event has been sent.\n * Note: the server response code and response body from the identify event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().identify(identify);\n * @example\n * var identify = new amplitude.Identify().set('colors', ['rose', 'gold']).add('karma', 1).setOnce('sign_up_date', '2016-03-31');\n * amplitude.identify(identify);\n */\n\n\n Amplitude.prototype.identify = function (identify_obj, opt_callback) {\n this.getInstance().identify(identify_obj, opt_callback);\n };\n /**\n * Set a versionName for your application.\n * @public\n * @param {string} versionName - The version to set for your application.\n * @deprecated Please use amplitude.getInstance().setVersionName(versionName);\n * @example amplitude.setVersionName('1.12.3');\n */\n\n\n Amplitude.prototype.setVersionName = function setVersionName(versionName) {\n this.getInstance().setVersionName(versionName);\n };\n /**\n * This is the callback for logEvent and identify calls. It gets called after the event/identify is uploaded,\n * and the server response code and response body from the upload request are passed to the callback function.\n * @callback Amplitude~eventCallback\n * @param {number} responseCode - Server response code for the event / identify upload request.\n * @param {string} responseBody - Server response body for the event / identify upload request.\n */\n\n /**\n * Log an event with eventType and eventProperties\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().logEvent(eventType, eventProperties, opt_callback);\n * @example amplitude.logEvent('Clicked Homepage Button', {'finished_flow': false, 'clicks': 15});\n */\n\n\n Amplitude.prototype.logEvent = function logEvent(eventType, eventProperties, opt_callback) {\n return this.getInstance().logEvent(eventType, eventProperties, opt_callback);\n };\n /**\n * Log an event with eventType, eventProperties, and groups. Use this to set event-level groups.\n *\n * Note: the group(s) set only apply for the specific event type being logged and does not persist on the user\n * (unless you explicitly set it with setGroup).\n *\n * See the [advanced topics article](https://developers.amplitude.com/docs/javascript#user-groups) for more information\n * about groups and Count by Distinct on the Amplitude platform.\n * @public\n * @param {string} eventType - name of event\n * @param {object} eventProperties - (optional) an object with string keys and values for the event properties.\n * @param {object} groups - (optional) an object with string groupType: groupName values for the event being logged.\n * groupName can be a string or an array of strings.\n * @param {Amplitude~eventCallback} opt_callback - (optional) a callback function to run after the event is logged.\n * Note: the server response code and response body from the event upload are passed to the callback function.\n * @deprecated Please use amplitude.getInstance().logEventWithGroups(eventType, eventProperties, groups, opt_callback);\n * @example amplitude.logEventWithGroups('Clicked Button', null, {'orgId': 24});\n */\n\n\n Amplitude.prototype.logEventWithGroups = function (eventType, eventProperties, groups, opt_callback) {\n return this.getInstance().logEventWithGroups(eventType, eventProperties, groups, opt_callback);\n };\n /**\n * Log revenue with Revenue interface. The new revenue interface allows for more revenue fields like\n * revenueType and event properties.\n *\n * See the [Revenue](https://amplitude.github.io/Amplitude-JavaScript/Revenue/)\n * reference page for more information on the Revenue interface and logging revenue.\n * @public\n * @param {Revenue} revenue_obj - the revenue object containing the revenue data being logged.\n * @deprecated Please use amplitude.getInstance().logRevenueV2(revenue_obj);\n * @example var revenue = new amplitude.Revenue().setProductId('productIdentifier').setPrice(10.99);\n * amplitude.logRevenueV2(revenue);\n */\n\n\n Amplitude.prototype.logRevenueV2 = function logRevenueV2(revenue_obj) {\n return this.getInstance().logRevenueV2(revenue_obj);\n };\n /**\n * Log revenue event with a price, quantity, and product identifier.\n * @public\n * @param {number} price - price of revenue event\n * @param {number} quantity - (optional) quantity of products in revenue event. If no quantity specified default to 1.\n * @param {string} product - (optional) product identifier\n * @deprecated Please use amplitude.getInstance().logRevenueV2(revenue_obj);\n * @example amplitude.logRevenue(3.99, 1, 'product_1234');\n */\n\n\n Amplitude.prototype.logRevenue = function logRevenue(price, quantity, product) {\n return this.getInstance().logRevenue(price, quantity, product);\n };\n /**\n * Remove events in storage with event ids up to and including maxEventId.\n * @private\n */\n\n\n Amplitude.prototype.removeEvents = function removeEvents(maxEventId, maxIdentifyId) {\n this.getInstance().removeEvents(maxEventId, maxIdentifyId);\n };\n /**\n * Send unsent events. Note: this is called automatically after events are logged if option batchEvents is false.\n * If batchEvents is true, then events are only sent when batch criterias are met.\n * @private\n * @param {Amplitude~eventCallback} callback - (optional) callback to run after events are sent.\n * Note the server response code and response body are passed to the callback as input arguments.\n */\n\n\n Amplitude.prototype.sendEvents = function sendEvents(callback) {\n this.getInstance().sendEvents(callback);\n };\n /**\n * Set global user properties.\n * @public\n * @deprecated Please use amplitudeClient.setUserProperties\n */\n\n\n Amplitude.prototype.setGlobalUserProperties = function setGlobalUserProperties(userProperties) {\n this.getInstance().setUserProperties(userProperties);\n };\n}\n/**\n * Get the current version of Amplitude's Javascript SDK.\n * @public\n * @returns {number} version number\n * @example var amplitudeVersion = amplitude.__VERSION__;\n */\n\n\nAmplitude.prototype.__VERSION__ = version;\n\n// Entry point\nvar old = typeof GlobalScope !== 'undefined' && GlobalScope.amplitude || {};\nvar newInstance = new Amplitude();\nnewInstance._q = old._q || [];\n/**\n * Instantiates Amplitude object and runs all queued function logged by stubbed methods provided by snippets\n * Event queue allows async loading of SDK to not blocking client's app\n */\n\nfor (var instance in old._iq) {\n // migrate each instance's queue\n if (Object.prototype.hasOwnProperty.call(old._iq, instance)) {\n newInstance.getInstance(instance)._q = old._iq[instance]._q || [];\n }\n} // If SDK is enabled as snippet, process the events queued by stubbed function\n\nexport { newInstance as default };\n","import { Analytics } from './Analytics';\nimport amplitude from 'amplitude-js';\nimport { Event } from './Event';\nimport { Events } from './Events';\n\nconst AMPLITUDE_API_KEY = process.env.REACT_APP_AMPLITUDE_API_KEY || '';\n\nexport class Amplitude extends Analytics {\n unsupportedEvents = [Events.PageView];\n\n supportedEvents = Object.values(Events).filter(\n (event) => !this.unsupportedEvents.includes(event),\n );\n\n constructor() {\n super();\n amplitude.getInstance().init(AMPLITUDE_API_KEY, undefined, {\n includeUtm: true,\n includeReferrer: true,\n includeGclid: true,\n });\n }\n\n static amplitudeId = amplitude.options.userId;\n\n static setUserProperty(name: string, value: any) {\n amplitude.getInstance().setUserProperties({\n [name]: value,\n });\n }\n\n static setUserId(id: string) {\n amplitude.getInstance().setUserId(id);\n }\n\n trackEvent(event: Event) {\n amplitude.getInstance().logEvent(event.name, event.params);\n }\n}\n","import { Analytics } from './Analytics';\nimport { Event } from './Event';\n\nexport class DummyAnalytics extends Analytics {\n trackEvent(event: Event) {\n console.log(\n 'Tracking event',\n event.name,\n event.params,\n event.optionalParams,\n );\n }\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst stringToByteArray = function (str: string): number[] {\n // TODO(user): Use native implementations if/when available\n const out: number[] = [];\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n } else if (\n (c & 0xfc00) === 0xd800 &&\n i + 1 < str.length &&\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00\n ) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n } else {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return out;\n};\n\n/**\n * Turns an array of numbers into the string given by the concatenation of the\n * characters to which the numbers correspond.\n * @param bytes Array of numbers representing characters.\n * @return Stringification of the array.\n */\nconst byteArrayToString = function (bytes: number[]): string {\n // TODO(user): Use native implementations if/when available\n const out: string[] = [];\n let pos = 0,\n c = 0;\n while (pos < bytes.length) {\n const c1 = bytes[pos++];\n if (c1 < 128) {\n out[c++] = String.fromCharCode(c1);\n } else if (c1 > 191 && c1 < 224) {\n const c2 = bytes[pos++];\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\n } else if (c1 > 239 && c1 < 365) {\n // Surrogate Pair\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n const c4 = bytes[pos++];\n const u =\n (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\n 0x10000;\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\n } else {\n const c2 = bytes[pos++];\n const c3 = bytes[pos++];\n out[c++] = String.fromCharCode(\n ((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)\n );\n }\n }\n return out.join('');\n};\n\ninterface Base64 {\n byteToCharMap_: { [key: number]: string } | null;\n charToByteMap_: { [key: string]: number } | null;\n byteToCharMapWebSafe_: { [key: number]: string } | null;\n charToByteMapWebSafe_: { [key: string]: number } | null;\n ENCODED_VALS_BASE: string;\n readonly ENCODED_VALS: string;\n readonly ENCODED_VALS_WEBSAFE: string;\n HAS_NATIVE_SUPPORT: boolean;\n encodeByteArray(input: number[] | Uint8Array, webSafe?: boolean): string;\n encodeString(input: string, webSafe?: boolean): string;\n decodeString(input: string, webSafe: boolean): string;\n decodeStringToByteArray(input: string, webSafe: boolean): number[];\n init_(): void;\n}\n\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\n// Static lookup maps, lazily populated by init_()\nexport const base64: Base64 = {\n /**\n * Maps bytes to characters.\n */\n byteToCharMap_: null,\n\n /**\n * Maps characters to bytes.\n */\n charToByteMap_: null,\n\n /**\n * Maps bytes to websafe characters.\n * @private\n */\n byteToCharMapWebSafe_: null,\n\n /**\n * Maps websafe characters to bytes.\n * @private\n */\n charToByteMapWebSafe_: null,\n\n /**\n * Our default alphabet, shared between\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\n */\n ENCODED_VALS_BASE:\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\n\n /**\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\n */\n get ENCODED_VALS() {\n return this.ENCODED_VALS_BASE + '+/=';\n },\n\n /**\n * Our websafe alphabet.\n */\n get ENCODED_VALS_WEBSAFE() {\n return this.ENCODED_VALS_BASE + '-_.';\n },\n\n /**\n * Whether this browser supports the atob and btoa functions. This extension\n * started at Mozilla but is now implemented by many browsers. We use the\n * ASSUME_* variables to avoid pulling in the full useragent detection library\n * but still allowing the standard per-browser compilations.\n *\n */\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\n\n /**\n * Base64-encode an array of bytes.\n *\n * @param input An array of bytes (numbers with\n * value in [0, 255]) to encode.\n * @param webSafe Boolean indicating we should use the\n * alternative alphabet.\n * @return The base64 encoded string.\n */\n encodeByteArray(input: number[] | Uint8Array, webSafe?: boolean): string {\n if (!Array.isArray(input)) {\n throw Error('encodeByteArray takes an array as a parameter');\n }\n\n this.init_();\n\n const byteToCharMap = webSafe\n ? this.byteToCharMapWebSafe_!\n : this.byteToCharMap_!;\n\n const output = [];\n\n for (let i = 0; i < input.length; i += 3) {\n const byte1 = input[i];\n const haveByte2 = i + 1 < input.length;\n const byte2 = haveByte2 ? input[i + 1] : 0;\n const haveByte3 = i + 2 < input.length;\n const byte3 = haveByte3 ? input[i + 2] : 0;\n\n const outByte1 = byte1 >> 2;\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\n let outByte4 = byte3 & 0x3f;\n\n if (!haveByte3) {\n outByte4 = 64;\n\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n\n output.push(\n byteToCharMap[outByte1],\n byteToCharMap[outByte2],\n byteToCharMap[outByte3],\n byteToCharMap[outByte4]\n );\n }\n\n return output.join('');\n },\n\n /**\n * Base64-encode a string.\n *\n * @param input A string to encode.\n * @param webSafe If true, we should use the\n * alternative alphabet.\n * @return The base64 encoded string.\n */\n encodeString(input: string, webSafe?: boolean): string {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return btoa(input);\n }\n return this.encodeByteArray(stringToByteArray(input), webSafe);\n },\n\n /**\n * Base64-decode a string.\n *\n * @param input to decode.\n * @param webSafe True if we should use the\n * alternative alphabet.\n * @return string representing the decoded value.\n */\n decodeString(input: string, webSafe: boolean): string {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return atob(input);\n }\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\n },\n\n /**\n * Base64-decode a string.\n *\n * In base-64 decoding, groups of four characters are converted into three\n * bytes. If the encoder did not apply padding, the input length may not\n * be a multiple of 4.\n *\n * In this case, the last group will have fewer than 4 characters, and\n * padding will be inferred. If the group has one or two characters, it decodes\n * to one byte. If the group has three characters, it decodes to two bytes.\n *\n * @param input Input to decode.\n * @param webSafe True if we should use the web-safe alphabet.\n * @return bytes representing the decoded value.\n */\n decodeStringToByteArray(input: string, webSafe: boolean): number[] {\n this.init_();\n\n const charToByteMap = webSafe\n ? this.charToByteMapWebSafe_!\n : this.charToByteMap_!;\n\n const output: number[] = [];\n\n for (let i = 0; i < input.length; ) {\n const byte1 = charToByteMap[input.charAt(i++)];\n\n const haveByte2 = i < input.length;\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n\n const haveByte3 = i < input.length;\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n\n const haveByte4 = i < input.length;\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\n throw Error();\n }\n\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\n output.push(outByte1);\n\n if (byte3 !== 64) {\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\n output.push(outByte2);\n\n if (byte4 !== 64) {\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\n output.push(outByte3);\n }\n }\n }\n\n return output;\n },\n\n /**\n * Lazy static initialization function. Called before\n * accessing any of the static map variables.\n * @private\n */\n init_() {\n if (!this.byteToCharMap_) {\n this.byteToCharMap_ = {};\n this.charToByteMap_ = {};\n this.byteToCharMapWebSafe_ = {};\n this.charToByteMapWebSafe_ = {};\n\n // We want quick mappings back and forth, so we precompute two maps.\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\n\n // Be forgiving when decoding and correctly decode both encodings.\n if (i >= this.ENCODED_VALS_BASE.length) {\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\n }\n }\n }\n }\n};\n\n/**\n * URL-safe base64 encoding\n */\nexport const base64Encode = function (str: string): string {\n const utf8Bytes = stringToByteArray(str);\n return base64.encodeByteArray(utf8Bytes, true);\n};\n\n/**\n * URL-safe base64 encoding (without \".\" padding in the end).\n * e.g. Used in JSON Web Token (JWT) parts.\n */\nexport const base64urlEncodeWithoutPadding = function (str: string): string {\n // Use base64url encoding and remove padding in the end (dot characters).\n return base64Encode(str).replace(/\\./g, '');\n};\n\n/**\n * URL-safe base64 decoding\n *\n * NOTE: DO NOT use the global atob() function - it does NOT support the\n * base64Url variant encoding.\n *\n * @param str To be decoded\n * @return Decoded result, if possible\n */\nexport const base64Decode = function (str: string): string | null {\n try {\n return base64.decodeString(str, true);\n } catch (e) {\n console.error('base64Decode failed: ', e);\n }\n return null;\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Do a deep-copy of basic JavaScript Objects or Arrays.\n */\nexport function deepCopy(value: T): T {\n return deepExtend(undefined, value) as T;\n}\n\n/**\n * Copy properties from source to target (recursively allows extension\n * of Objects and Arrays). Scalar values in the target are over-written.\n * If target is undefined, an object of the appropriate type will be created\n * (and returned).\n *\n * We recursively copy all child properties of plain Objects in the source- so\n * that namespace- like dictionaries are merged.\n *\n * Note that the target can be a function, in which case the properties in\n * the source Object are copied onto it as static properties of the Function.\n *\n * Note: we don't merge __proto__ to prevent prototype pollution\n */\nexport function deepExtend(target: unknown, source: unknown): unknown {\n if (!(source instanceof Object)) {\n return source;\n }\n\n switch (source.constructor) {\n case Date:\n // Treat Dates like scalars; if the target date object had any child\n // properties - they will be lost!\n const dateValue = source as Date;\n return new Date(dateValue.getTime());\n\n case Object:\n if (target === undefined) {\n target = {};\n }\n break;\n case Array:\n // Always copy the array source and overwrite the target.\n target = [];\n break;\n\n default:\n // Not a plain Object - treat it as a scalar.\n return source;\n }\n\n for (const prop in source) {\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\n continue;\n }\n (target as Record)[prop] = deepExtend(\n (target as Record)[prop],\n (source as Record)[prop]\n );\n }\n\n return target;\n}\n\nfunction isValidKey(key: string): boolean {\n return key !== '__proto__';\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class Deferred {\n promise: Promise;\n reject: (value?: unknown) => void = () => {};\n resolve: (value?: unknown) => void = () => {};\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve as (value?: unknown) => void;\n this.reject = reject as (value?: unknown) => void;\n });\n }\n\n /**\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\n */\n wrapCallback(\n callback?: (error?: unknown, value?: unknown) => void\n ): (error: unknown, value?: unknown) => void {\n return (error, value?) => {\n if (error) {\n this.reject(error);\n } else {\n this.resolve(value);\n }\n if (typeof callback === 'function') {\n // Attaching noop handler just in case developer wasn't expecting\n // promises\n this.promise.catch(() => {});\n\n // Some of our callbacks don't expect a value and our own tests\n // assert that the parameter length is 1\n if (callback.length === 1) {\n callback(error);\n } else {\n callback(error, value);\n }\n }\n };\n }\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { CONSTANTS } from './constants';\n\n/**\n * Returns navigator.userAgent string or '' if it's not defined.\n * @return user agent string\n */\nexport function getUA(): string {\n if (\n typeof navigator !== 'undefined' &&\n typeof navigator['userAgent'] === 'string'\n ) {\n return navigator['userAgent'];\n } else {\n return '';\n }\n}\n\n/**\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\n *\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\n * wait for a callback.\n */\nexport function isMobileCordova(): boolean {\n return (\n typeof window !== 'undefined' &&\n // @ts-ignore Setting up an broadly applicable index signature for Window\n // just to deal with this case would probably be a bad idea.\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA())\n );\n}\n\n/**\n * Detect Node.js.\n *\n * @return true if Node.js environment is detected.\n */\n// Node detection logic from: https://github.com/iliakan/detect-node/\nexport function isNode(): boolean {\n try {\n return (\n Object.prototype.toString.call(global.process) === '[object process]'\n );\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Detect Browser Environment\n */\nexport function isBrowser(): boolean {\n return typeof self === 'object' && self.self === self;\n}\n\n/**\n * Detect browser extensions (Chrome and Firefox at least).\n */\ninterface BrowserRuntime {\n id?: unknown;\n}\ndeclare const chrome: { runtime?: BrowserRuntime };\ndeclare const browser: { runtime?: BrowserRuntime };\nexport function isBrowserExtension(): boolean {\n const runtime =\n typeof chrome === 'object'\n ? chrome.runtime\n : typeof browser === 'object'\n ? browser.runtime\n : undefined;\n return typeof runtime === 'object' && runtime.id !== undefined;\n}\n\n/**\n * Detect React Native.\n *\n * @return true if ReactNative environment is detected.\n */\nexport function isReactNative(): boolean {\n return (\n typeof navigator === 'object' && navigator['product'] === 'ReactNative'\n );\n}\n\n/** Detects Electron apps. */\nexport function isElectron(): boolean {\n return getUA().indexOf('Electron/') >= 0;\n}\n\n/** Detects Internet Explorer. */\nexport function isIE(): boolean {\n const ua = getUA();\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n}\n\n/** Detects Universal Windows Platform apps. */\nexport function isUWP(): boolean {\n return getUA().indexOf('MSAppHost/') >= 0;\n}\n\n/**\n * Detect whether the current SDK build is the Node version.\n *\n * @return true if it's the Node SDK build.\n */\nexport function isNodeSdk(): boolean {\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\n}\n\n/** Returns true if we are running in Safari. */\nexport function isSafari(): boolean {\n return (\n !isNode() &&\n navigator.userAgent.includes('Safari') &&\n !navigator.userAgent.includes('Chrome')\n );\n}\n\n/**\n * This method checks if indexedDB is supported by current browser/service worker context\n * @return true if indexedDB is supported by current browser/service worker context\n */\nexport function isIndexedDBAvailable(): boolean {\n return typeof indexedDB === 'object';\n}\n\n/**\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\n * if errors occur during the database open operation.\n *\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\n * private browsing)\n */\nexport function validateIndexedDBOpenable(): Promise {\n return new Promise((resolve, reject) => {\n try {\n let preExist: boolean = true;\n const DB_CHECK_NAME =\n 'validate-browser-context-for-indexeddb-analytics-module';\n const request = self.indexedDB.open(DB_CHECK_NAME);\n request.onsuccess = () => {\n request.result.close();\n // delete database only when it doesn't pre-exist\n if (!preExist) {\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\n }\n resolve(true);\n };\n request.onupgradeneeded = () => {\n preExist = false;\n };\n\n request.onerror = () => {\n reject(request.error?.message || '');\n };\n } catch (error) {\n reject(error);\n }\n });\n}\n\n/**\n *\n * This method checks whether cookie is enabled within current browser\n * @return true if cookie is enabled within current browser\n */\nexport function areCookiesEnabled(): boolean {\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\n return false;\n }\n return true;\n}\n\n/**\n * Polyfill for `globalThis` object.\n * @returns the `globalThis` object for the given environment.\n */\nexport function getGlobal(): typeof globalThis {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('Unable to locate global object.');\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Standardized Firebase Error.\n *\n * Usage:\n *\n * // Typescript string literals for type-safe codes\n * type Err =\n * 'unknown' |\n * 'object-not-found'\n * ;\n *\n * // Closure enum for type-safe error codes\n * // at-enum {string}\n * var Err = {\n * UNKNOWN: 'unknown',\n * OBJECT_NOT_FOUND: 'object-not-found',\n * }\n *\n * let errors: Map = {\n * 'generic-error': \"Unknown error\",\n * 'file-not-found': \"Could not find file: {$file}\",\n * };\n *\n * // Type-safe function - must pass a valid error code as param.\n * let error = new ErrorFactory('service', 'Service', errors);\n *\n * ...\n * throw error.create(Err.GENERIC);\n * ...\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\n * ...\n * // Service: Could not file file: foo.txt (service/file-not-found).\n *\n * catch (e) {\n * assert(e.message === \"Could not find file: foo.txt.\");\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\n * console.log(\"Could not read file: \" + e['file']);\n * }\n * }\n */\n\nexport type ErrorMap = {\n readonly [K in ErrorCode]: string;\n};\n\nconst ERROR_NAME = 'FirebaseError';\n\nexport interface StringLike {\n toString(): string;\n}\n\nexport interface ErrorData {\n [key: string]: unknown;\n}\n\n// Based on code from:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\nexport class FirebaseError extends Error {\n /** The custom name for all FirebaseErrors. */\n readonly name: string = ERROR_NAME;\n\n constructor(\n /** The error code for this error. */\n readonly code: string,\n message: string,\n /** Custom data for this error. */\n public customData?: Record\n ) {\n super(message);\n\n // Fix For ES5\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, FirebaseError.prototype);\n\n // Maintains proper stack trace for where our error was thrown.\n // Only available on V8.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\n }\n }\n}\n\nexport class ErrorFactory<\n ErrorCode extends string,\n ErrorParams extends { readonly [K in ErrorCode]?: ErrorData } = {}\n> {\n constructor(\n private readonly service: string,\n private readonly serviceName: string,\n private readonly errors: ErrorMap\n ) {}\n\n create(\n code: K,\n ...data: K extends keyof ErrorParams ? [ErrorParams[K]] : []\n ): FirebaseError {\n const customData = (data[0] as ErrorData) || {};\n const fullCode = `${this.service}/${code}`;\n const template = this.errors[code];\n\n const message = template ? replaceTemplate(template, customData) : 'Error';\n // Service Name: Error message (service/code).\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\n\n const error = new FirebaseError(fullCode, fullMessage, customData);\n\n return error;\n }\n}\n\nfunction replaceTemplate(template: string, data: ErrorData): string {\n return template.replace(PATTERN, (_, key) => {\n const value = data[key];\n return value != null ? String(value) : `<${key}?>`;\n });\n}\n\nconst PATTERN = /\\{\\$([^}]+)}/g;\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function contains(obj: T, key: string): boolean {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexport function safeGet(\n obj: T,\n key: K\n): T[K] | undefined {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key];\n } else {\n return undefined;\n }\n}\n\nexport function isEmpty(obj: object): obj is {} {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport function map(\n obj: { [key in K]: V },\n fn: (value: V, key: K, obj: { [key in K]: V }) => U,\n contextObj?: unknown\n): { [key in K]: U } {\n const res: Partial<{ [key in K]: U }> = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n res[key] = fn.call(contextObj, obj[key], key, obj);\n }\n }\n return res as { [key in K]: U };\n}\n\n/**\n * Deep equal two objects. Support Arrays and Objects.\n */\nexport function deepEqual(a: object, b: object): boolean {\n if (a === b) {\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n for (const k of aKeys) {\n if (!bKeys.includes(k)) {\n return false;\n }\n\n const aProp = (a as Record)[k];\n const bProp = (b as Record)[k];\n if (isObject(aProp) && isObject(bProp)) {\n if (!deepEqual(aProp, bProp)) {\n return false;\n }\n } else if (aProp !== bProp) {\n return false;\n }\n }\n\n for (const k of bKeys) {\n if (!aKeys.includes(k)) {\n return false;\n }\n }\n return true;\n}\n\nfunction isObject(thing: unknown): thing is object {\n return thing !== null && typeof thing === 'object';\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\n * params object (e.g. {arg: 'val', arg2: 'val2'})\n * Note: You must prepend it with ? when adding it to a URL.\n */\nexport function querystring(querystringParams: {\n [key: string]: string | number;\n}): string {\n const params = [];\n for (const [key, value] of Object.entries(querystringParams)) {\n if (Array.isArray(value)) {\n value.forEach(arrayVal => {\n params.push(\n encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal)\n );\n });\n } else {\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n return params.length ? '&' + params.join('&') : '';\n}\n\n/**\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\n * (e.g. {arg: 'val', arg2: 'val2'})\n */\nexport function querystringDecode(querystring: string): Record {\n const obj: Record = {};\n const tokens = querystring.replace(/^\\?/, '').split('&');\n\n tokens.forEach(token => {\n if (token) {\n const [key, value] = token.split('=');\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n });\n return obj;\n}\n\n/**\n * Extract the query string part of a URL, including the leading question mark (if present).\n */\nexport function extractQuerystring(url: string): string {\n const queryStart = url.indexOf('?');\n if (!queryStart) {\n return '';\n }\n const fragmentStart = url.indexOf('#', queryStart);\n return url.substring(\n queryStart,\n fragmentStart > 0 ? fragmentStart : undefined\n );\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport type NextFn = (value: T) => void;\nexport type ErrorFn = (error: Error) => void;\nexport type CompleteFn = () => void;\n\nexport interface Observer {\n // Called once for each value in a stream of values.\n next: NextFn;\n\n // A stream terminates by a single call to EITHER error() or complete().\n error: ErrorFn;\n\n // No events will be sent to next() once complete() is called.\n complete: CompleteFn;\n}\n\nexport type PartialObserver = Partial>;\n\n// TODO: Support also Unsubscribe.unsubscribe?\nexport type Unsubscribe = () => void;\n\n/**\n * The Subscribe interface has two forms - passing the inline function\n * callbacks, or a object interface with callback properties.\n */\nexport interface Subscribe {\n (next?: NextFn, error?: ErrorFn, complete?: CompleteFn): Unsubscribe;\n (observer: PartialObserver): Unsubscribe;\n}\n\nexport interface Observable {\n // Subscribe method\n subscribe: Subscribe;\n}\n\nexport type Executor = (observer: Observer) => void;\n\n/**\n * Helper to make a Subscribe function (just like Promise helps make a\n * Thenable).\n *\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\nexport function createSubscribe(\n executor: Executor,\n onNoObservers?: Executor\n): Subscribe {\n const proxy = new ObserverProxy(executor, onNoObservers);\n return proxy.subscribe.bind(proxy);\n}\n\n/**\n * Implement fan-out for any number of Observers attached via a subscribe\n * function.\n */\nclass ObserverProxy implements Observer {\n private observers: Array> | undefined = [];\n private unsubscribes: Unsubscribe[] = [];\n private onNoObservers: Executor | undefined;\n private observerCount = 0;\n // Micro-task scheduling by calling task.then().\n private task = Promise.resolve();\n private finalized = false;\n private finalError?: Error;\n\n /**\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\n constructor(executor: Executor, onNoObservers?: Executor) {\n this.onNoObservers = onNoObservers;\n // Call the executor asynchronously so subscribers that are called\n // synchronously after the creation of the subscribe function\n // can still receive the very first value generated in the executor.\n this.task\n .then(() => {\n executor(this);\n })\n .catch(e => {\n this.error(e);\n });\n }\n\n next(value: T): void {\n this.forEachObserver((observer: Observer) => {\n observer.next(value);\n });\n }\n\n error(error: Error): void {\n this.forEachObserver((observer: Observer) => {\n observer.error(error);\n });\n this.close(error);\n }\n\n complete(): void {\n this.forEachObserver((observer: Observer) => {\n observer.complete();\n });\n this.close();\n }\n\n /**\n * Subscribe function that can be used to add an Observer to the fan-out list.\n *\n * - We require that no event is sent to a subscriber sychronously to their\n * call to subscribe().\n */\n subscribe(\n nextOrObserver?: NextFn | PartialObserver,\n error?: ErrorFn,\n complete?: CompleteFn\n ): Unsubscribe {\n let observer: Observer;\n\n if (\n nextOrObserver === undefined &&\n error === undefined &&\n complete === undefined\n ) {\n throw new Error('Missing Observer.');\n }\n\n // Assemble an Observer object when passed as callback functions.\n if (\n implementsAnyMethods(nextOrObserver as { [key: string]: unknown }, [\n 'next',\n 'error',\n 'complete'\n ])\n ) {\n observer = nextOrObserver as Observer;\n } else {\n observer = {\n next: nextOrObserver as NextFn,\n error,\n complete\n } as Observer;\n }\n\n if (observer.next === undefined) {\n observer.next = noop as NextFn;\n }\n if (observer.error === undefined) {\n observer.error = noop as ErrorFn;\n }\n if (observer.complete === undefined) {\n observer.complete = noop as CompleteFn;\n }\n\n const unsub = this.unsubscribeOne.bind(this, this.observers!.length);\n\n // Attempt to subscribe to a terminated Observable - we\n // just respond to the Observer with the final error or complete\n // event.\n if (this.finalized) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n try {\n if (this.finalError) {\n observer.error(this.finalError);\n } else {\n observer.complete();\n }\n } catch (e) {\n // nothing\n }\n return;\n });\n }\n\n this.observers!.push(observer as Observer);\n\n return unsub;\n }\n\n // Unsubscribe is synchronous - we guarantee that no events are sent to\n // any unsubscribed Observer.\n private unsubscribeOne(i: number): void {\n if (this.observers === undefined || this.observers[i] === undefined) {\n return;\n }\n\n delete this.observers[i];\n\n this.observerCount -= 1;\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\n this.onNoObservers(this);\n }\n }\n\n private forEachObserver(fn: (observer: Observer) => void): void {\n if (this.finalized) {\n // Already closed by previous event....just eat the additional values.\n return;\n }\n\n // Since sendOne calls asynchronously - there is no chance that\n // this.observers will become undefined.\n for (let i = 0; i < this.observers!.length; i++) {\n this.sendOne(i, fn);\n }\n }\n\n // Call the Observer via one of it's callback function. We are careful to\n // confirm that the observe has not been unsubscribed since this asynchronous\n // function had been queued.\n private sendOne(i: number, fn: (observer: Observer) => void): void {\n // Execute the callback asynchronously\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n if (this.observers !== undefined && this.observers[i] !== undefined) {\n try {\n fn(this.observers[i]);\n } catch (e) {\n // Ignore exceptions raised in Observers or missing methods of an\n // Observer.\n // Log error to console. b/31404806\n if (typeof console !== 'undefined' && console.error) {\n console.error(e);\n }\n }\n }\n });\n }\n\n private close(err?: Error): void {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n if (err !== undefined) {\n this.finalError = err;\n }\n // Proxy is no longer needed - garbage collect references\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(() => {\n this.observers = undefined;\n this.onNoObservers = undefined;\n });\n }\n}\n\n/** Turn synchronous function into one called asynchronously. */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function async(fn: Function, onError?: ErrorFn): Function {\n return (...args: unknown[]) => {\n Promise.resolve(true)\n .then(() => {\n fn(...args);\n })\n .catch((error: Error) => {\n if (onError) {\n onError(error);\n }\n });\n };\n}\n\n/**\n * Return true if the object passed in implements any of the named methods.\n */\nfunction implementsAnyMethods(\n obj: { [key: string]: unknown },\n methods: string[]\n): boolean {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n for (const method of methods) {\n if (method in obj && typeof obj[method] === 'function') {\n return true;\n }\n }\n\n return false;\n}\n\nfunction noop(): void {\n // do nothing\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { assert } from './assert';\n\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\n// so it's been modified.\n\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\n// pair).\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\n\n/**\n * @param {string} str\n * @return {Array}\n */\nexport const stringToByteArray = function (str: string): number[] {\n const out: number[] = [];\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n\n // Is this the lead surrogate in a surrogate pair?\n if (c >= 0xd800 && c <= 0xdbff) {\n const high = c - 0xd800; // the high 10 bits.\n i++;\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\n c = 0x10000 + (high << 10) + low;\n }\n\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n } else if (c < 65536) {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n } else {\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return out;\n};\n\n/**\n * Calculate length without actually converting; useful for doing cheaper validation.\n * @param {string} str\n * @return {number}\n */\nexport const stringLength = function (str: string): number {\n let p = 0;\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 128) {\n p++;\n } else if (c < 2048) {\n p += 2;\n } else if (c >= 0xd800 && c <= 0xdbff) {\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\n p += 4;\n i++; // skip trail surrogate.\n } else {\n p += 3;\n }\n }\n return p;\n};\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The amount of milliseconds to exponentially increase.\n */\nconst DEFAULT_INTERVAL_MILLIS = 1000;\n\n/**\n * The factor to backoff by.\n * Should be a number greater than 1.\n */\nconst DEFAULT_BACKOFF_FACTOR = 2;\n\n/**\n * The maximum milliseconds to increase to.\n *\n *

Visible for testing\n */\nexport const MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\n\n/**\n * The percentage of backoff time to randomize by.\n * See\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\n * for context.\n *\n *

Visible for testing\n */\nexport const RANDOM_FACTOR = 0.5;\n\n/**\n * Based on the backoff method from\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\n */\nexport function calculateBackoffMillis(\n backoffCount: number,\n intervalMillis: number = DEFAULT_INTERVAL_MILLIS,\n backoffFactor: number = DEFAULT_BACKOFF_FACTOR\n): number {\n // Calculates an exponentially increasing value.\n // Deviation: calculates value from count and a constant interval, so we only need to save value\n // and count to restore state.\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\n\n // A random \"fuzz\" to avoid waves of retries.\n // Deviation: randomFactor is required.\n const randomWait = Math.round(\n // A fraction of the backoff value to add/subtract.\n // Deviation: changes multiplication order to improve readability.\n RANDOM_FACTOR *\n currBaseValue *\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\n // if we add or subtract.\n (Math.random() - 0.5) *\n 2\n );\n\n // Limits backoff to max to avoid effectively permanent backoff.\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface Compat {\n _delegate: T;\n}\n\nexport function getModularInstance(\n service: Compat | ExpService\n): ExpService {\n if (service && (service as Compat)._delegate) {\n return (service as Compat)._delegate;\n } else {\n return service as ExpService;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n InstantiationMode,\n InstanceFactory,\n ComponentType,\n Dictionary,\n Name,\n onInstanceCreatedCallback\n} from './types';\n\n/**\n * Component for service name T, e.g. `auth`, `auth-internal`\n */\nexport class Component {\n multipleInstances = false;\n /**\n * Properties to be added to the service namespace\n */\n serviceProps: Dictionary = {};\n\n instantiationMode = InstantiationMode.LAZY;\n\n onInstanceCreated: onInstanceCreatedCallback | null = null;\n\n /**\n *\n * @param name The public service name, e.g. app, auth, firestore, database\n * @param instanceFactory Service factory responsible for creating the public interface\n * @param type whether the service provided by the component is public or private\n */\n constructor(\n readonly name: T,\n readonly instanceFactory: InstanceFactory,\n readonly type: ComponentType\n ) {}\n\n setInstantiationMode(mode: InstantiationMode): this {\n this.instantiationMode = mode;\n return this;\n }\n\n setMultipleInstances(multipleInstances: boolean): this {\n this.multipleInstances = multipleInstances;\n return this;\n }\n\n setServiceProps(props: Dictionary): this {\n this.serviceProps = props;\n return this;\n }\n\n setInstanceCreatedCallback(callback: onInstanceCreatedCallback): this {\n this.onInstanceCreated = callback;\n return this;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Deferred } from '@firebase/util';\nimport { ComponentContainer } from './component_container';\nimport { DEFAULT_ENTRY_NAME } from './constants';\nimport {\n InitializeOptions,\n InstantiationMode,\n Name,\n NameServiceMapping,\n OnInitCallBack\n} from './types';\nimport { Component } from './component';\n\n/**\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\n * NameServiceMapping[T] is an alias for the type of the instance\n */\nexport class Provider {\n private component: Component | null = null;\n private readonly instances: Map = new Map();\n private readonly instancesDeferred: Map<\n string,\n Deferred\n > = new Map();\n private readonly instancesOptions: Map> =\n new Map();\n private onInitCallbacks: Map>> = new Map();\n\n constructor(\n private readonly name: T,\n private readonly container: ComponentContainer\n ) {}\n\n /**\n * @param identifier A provider can provide mulitple instances of a service\n * if this.component.multipleInstances is true.\n */\n get(identifier?: string): Promise {\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\n const deferred = new Deferred();\n this.instancesDeferred.set(normalizedIdentifier, deferred);\n\n if (\n this.isInitialized(normalizedIdentifier) ||\n this.shouldAutoInitialize()\n ) {\n // initialize the service if it can be auto-initialized\n try {\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n if (instance) {\n deferred.resolve(instance);\n }\n } catch (e) {\n // when the instance factory throws an exception during get(), it should not cause\n // a fatal error. We just return the unresolved promise in this case.\n }\n }\n }\n\n return this.instancesDeferred.get(normalizedIdentifier)!.promise;\n }\n\n /**\n *\n * @param options.identifier A provider can provide mulitple instances of a service\n * if this.component.multipleInstances is true.\n * @param options.optional If optional is false or not provided, the method throws an error when\n * the service is not immediately available.\n * If optional is true, the method returns null if the service is not immediately available.\n */\n getImmediate(options: {\n identifier?: string;\n optional: true;\n }): NameServiceMapping[T] | null;\n getImmediate(options?: {\n identifier?: string;\n optional?: false;\n }): NameServiceMapping[T];\n getImmediate(options?: {\n identifier?: string;\n optional?: boolean;\n }): NameServiceMapping[T] | null {\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(\n options?.identifier\n );\n const optional = options?.optional ?? false;\n\n if (\n this.isInitialized(normalizedIdentifier) ||\n this.shouldAutoInitialize()\n ) {\n try {\n return this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n } catch (e) {\n if (optional) {\n return null;\n } else {\n throw e;\n }\n }\n } else {\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\n if (optional) {\n return null;\n } else {\n throw Error(`Service ${this.name} is not available`);\n }\n }\n }\n\n getComponent(): Component | null {\n return this.component;\n }\n\n setComponent(component: Component): void {\n if (component.name !== this.name) {\n throw Error(\n `Mismatching Component ${component.name} for Provider ${this.name}.`\n );\n }\n\n if (this.component) {\n throw Error(`Component for ${this.name} has already been provided`);\n }\n\n this.component = component;\n\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\n if (!this.shouldAutoInitialize()) {\n return;\n }\n\n // if the service is eager, initialize the default instance\n if (isComponentEager(component)) {\n try {\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\n } catch (e) {\n // when the instance factory for an eager Component throws an exception during the eager\n // initialization, it should not cause a fatal error.\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\n // a fatal error in this case?\n }\n }\n\n // Create service instances for the pending promises and resolve them\n // NOTE: if this.multipleInstances is false, only the default instance will be created\n // and all promises with resolve with it regardless of the identifier.\n for (const [\n instanceIdentifier,\n instanceDeferred\n ] of this.instancesDeferred.entries()) {\n const normalizedIdentifier =\n this.normalizeInstanceIdentifier(instanceIdentifier);\n\n try {\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n })!;\n instanceDeferred.resolve(instance);\n } catch (e) {\n // when the instance factory throws an exception, it should not cause\n // a fatal error. We just leave the promise unresolved.\n }\n }\n }\n\n clearInstance(identifier: string = DEFAULT_ENTRY_NAME): void {\n this.instancesDeferred.delete(identifier);\n this.instancesOptions.delete(identifier);\n this.instances.delete(identifier);\n }\n\n // app.delete() will call this method on every provider to delete the services\n // TODO: should we mark the provider as deleted?\n async delete(): Promise {\n const services = Array.from(this.instances.values());\n\n await Promise.all([\n ...services\n .filter(service => 'INTERNAL' in service) // legacy services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => (service as any).INTERNAL!.delete()),\n ...services\n .filter(service => '_delete' in service) // modularized services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => (service as any)._delete())\n ]);\n }\n\n isComponentSet(): boolean {\n return this.component != null;\n }\n\n isInitialized(identifier: string = DEFAULT_ENTRY_NAME): boolean {\n return this.instances.has(identifier);\n }\n\n getOptions(identifier: string = DEFAULT_ENTRY_NAME): Record {\n return this.instancesOptions.get(identifier) || {};\n }\n\n initialize(opts: InitializeOptions = {}): NameServiceMapping[T] {\n const { options = {} } = opts;\n const normalizedIdentifier = this.normalizeInstanceIdentifier(\n opts.instanceIdentifier\n );\n if (this.isInitialized(normalizedIdentifier)) {\n throw Error(\n `${this.name}(${normalizedIdentifier}) has already been initialized`\n );\n }\n\n if (!this.isComponentSet()) {\n throw Error(`Component ${this.name} has not been registered yet`);\n }\n\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier,\n options\n })!;\n\n // resolve any pending promise waiting for the service instance\n for (const [\n instanceIdentifier,\n instanceDeferred\n ] of this.instancesDeferred.entries()) {\n const normalizedDeferredIdentifier =\n this.normalizeInstanceIdentifier(instanceIdentifier);\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\n instanceDeferred.resolve(instance);\n }\n }\n\n return instance;\n }\n\n /**\n *\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\n *\n * @param identifier An optional instance identifier\n * @returns a function to unregister the callback\n */\n onInit(callback: OnInitCallBack, identifier?: string): () => void {\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n const existingCallbacks =\n this.onInitCallbacks.get(normalizedIdentifier) ??\n new Set>();\n existingCallbacks.add(callback);\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\n\n const existingInstance = this.instances.get(normalizedIdentifier);\n if (existingInstance) {\n callback(existingInstance, normalizedIdentifier);\n }\n\n return () => {\n existingCallbacks.delete(callback);\n };\n }\n\n /**\n * Invoke onInit callbacks synchronously\n * @param instance the service instance`\n */\n private invokeOnInitCallbacks(\n instance: NameServiceMapping[T],\n identifier: string\n ): void {\n const callbacks = this.onInitCallbacks.get(identifier);\n if (!callbacks) {\n return;\n }\n for (const callback of callbacks) {\n try {\n callback(instance, identifier);\n } catch {\n // ignore errors in the onInit callback\n }\n }\n }\n\n private getOrInitializeService({\n instanceIdentifier,\n options = {}\n }: {\n instanceIdentifier: string;\n options?: Record;\n }): NameServiceMapping[T] | null {\n let instance = this.instances.get(instanceIdentifier);\n if (!instance && this.component) {\n instance = this.component.instanceFactory(this.container, {\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\n options\n });\n this.instances.set(instanceIdentifier, instance);\n this.instancesOptions.set(instanceIdentifier, options);\n\n /**\n * Invoke onInit listeners.\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\n * while onInit listeners are registered by consumers of the provider.\n */\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\n\n /**\n * Order is important\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\n * makes `isInitialized()` return true.\n */\n if (this.component.onInstanceCreated) {\n try {\n this.component.onInstanceCreated(\n this.container,\n instanceIdentifier,\n instance\n );\n } catch {\n // ignore errors in the onInstanceCreatedCallback\n }\n }\n }\n\n return instance || null;\n }\n\n private normalizeInstanceIdentifier(\n identifier: string = DEFAULT_ENTRY_NAME\n ): string {\n if (this.component) {\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\n } else {\n return identifier; // assume multiple instances are supported before the component is provided.\n }\n }\n\n private shouldAutoInitialize(): boolean {\n return (\n !!this.component &&\n this.component.instantiationMode !== InstantiationMode.EXPLICIT\n );\n }\n}\n\n// undefined should be passed to the service factory for the default instance\nfunction normalizeIdentifierForFactory(identifier: string): string | undefined {\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\n}\n\nfunction isComponentEager(component: Component): boolean {\n return component.instantiationMode === InstantiationMode.EAGER;\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type LogLevelString =\n | 'debug'\n | 'verbose'\n | 'info'\n | 'warn'\n | 'error'\n | 'silent';\n\nexport interface LogOptions {\n level: LogLevelString;\n}\n\nexport type LogCallback = (callbackParams: LogCallbackParams) => void;\n\nexport interface LogCallbackParams {\n level: LogLevelString;\n message: string;\n args: unknown[];\n type: string;\n}\n\n/**\n * A container for all of the Logger instances\n */\nexport const instances: Logger[] = [];\n\n/**\n * The JS SDK supports 5 log levels and also allows a user the ability to\n * silence the logs altogether.\n *\n * The order is a follows:\n * DEBUG < VERBOSE < INFO < WARN < ERROR\n *\n * All of the log types above the current log level will be captured (i.e. if\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\n * `VERBOSE` logs will not)\n */\nexport enum LogLevel {\n DEBUG,\n VERBOSE,\n INFO,\n WARN,\n ERROR,\n SILENT\n}\n\nconst levelStringToEnum: { [key in LogLevelString]: LogLevel } = {\n 'debug': LogLevel.DEBUG,\n 'verbose': LogLevel.VERBOSE,\n 'info': LogLevel.INFO,\n 'warn': LogLevel.WARN,\n 'error': LogLevel.ERROR,\n 'silent': LogLevel.SILENT\n};\n\n/**\n * The default log level\n */\nconst defaultLogLevel: LogLevel = LogLevel.INFO;\n\n/**\n * We allow users the ability to pass their own log handler. We will pass the\n * type of log, the current log level, and any other arguments passed (i.e. the\n * messages that the user wants to log) to this function.\n */\nexport type LogHandler = (\n loggerInstance: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\n/**\n * By default, `console.debug` is not displayed in the developer console (in\n * chrome). To avoid forcing users to have to opt-in to these logs twice\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\n * logs to the `console.log` function.\n */\nconst ConsoleMethod = {\n [LogLevel.DEBUG]: 'log',\n [LogLevel.VERBOSE]: 'log',\n [LogLevel.INFO]: 'info',\n [LogLevel.WARN]: 'warn',\n [LogLevel.ERROR]: 'error'\n};\n\n/**\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\n * messages on to their corresponding console counterparts (if the log method\n * is supported by the current log level)\n */\nconst defaultLogHandler: LogHandler = (instance, logType, ...args): void => {\n if (logType < instance.logLevel) {\n return;\n }\n const now = new Date().toISOString();\n const method = ConsoleMethod[logType as keyof typeof ConsoleMethod];\n if (method) {\n console[method as 'log' | 'info' | 'warn' | 'error'](\n `[${now}] ${instance.name}:`,\n ...args\n );\n } else {\n throw new Error(\n `Attempted to log a message with an invalid logType (value: ${logType})`\n );\n }\n};\n\nexport class Logger {\n /**\n * Gives you an instance of a Logger to capture messages according to\n * Firebase's logging scheme.\n *\n * @param name The name that the logs will be associated with\n */\n constructor(public name: string) {\n /**\n * Capture the current instance for later use\n */\n instances.push(this);\n }\n\n /**\n * The log level of the given Logger instance.\n */\n private _logLevel = defaultLogLevel;\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(val: LogLevel) {\n if (!(val in LogLevel)) {\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\n }\n this._logLevel = val;\n }\n\n // Workaround for setter/getter having to be the same type.\n setLogLevel(val: LogLevel | LogLevelString): void {\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\n }\n\n /**\n * The main (internal) log handler for the Logger instance.\n * Can be set to a new function in internal package code but not by user.\n */\n private _logHandler: LogHandler = defaultLogHandler;\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n set logHandler(val: LogHandler) {\n if (typeof val !== 'function') {\n throw new TypeError('Value assigned to `logHandler` must be a function');\n }\n this._logHandler = val;\n }\n\n /**\n * The optional, additional, user-defined log handler for the Logger instance.\n */\n private _userLogHandler: LogHandler | null = null;\n get userLogHandler(): LogHandler | null {\n return this._userLogHandler;\n }\n set userLogHandler(val: LogHandler | null) {\n this._userLogHandler = val;\n }\n\n /**\n * The functions below are all based on the `console` interface\n */\n\n debug(...args: unknown[]): void {\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\n this._logHandler(this, LogLevel.DEBUG, ...args);\n }\n log(...args: unknown[]): void {\n this._userLogHandler &&\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\n this._logHandler(this, LogLevel.VERBOSE, ...args);\n }\n info(...args: unknown[]): void {\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\n this._logHandler(this, LogLevel.INFO, ...args);\n }\n warn(...args: unknown[]): void {\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\n this._logHandler(this, LogLevel.WARN, ...args);\n }\n error(...args: unknown[]): void {\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\n this._logHandler(this, LogLevel.ERROR, ...args);\n }\n}\n\nexport function setLogLevel(level: LogLevelString | LogLevel): void {\n instances.forEach(inst => {\n inst.setLogLevel(level);\n });\n}\n\nexport function setUserLogHandler(\n logCallback: LogCallback | null,\n options?: LogOptions\n): void {\n for (const instance of instances) {\n let customLogLevel: LogLevel | null = null;\n if (options && options.level) {\n customLogLevel = levelStringToEnum[options.level];\n }\n if (logCallback === null) {\n instance.userLogHandler = null;\n } else {\n instance.userLogHandler = (\n instance: Logger,\n level: LogLevel,\n ...args: unknown[]\n ) => {\n const message = args\n .map(arg => {\n if (arg == null) {\n return null;\n } else if (typeof arg === 'string') {\n return arg;\n } else if (typeof arg === 'number' || typeof arg === 'boolean') {\n return arg.toString();\n } else if (arg instanceof Error) {\n return arg.message;\n } else {\n try {\n return JSON.stringify(arg);\n } catch (ignored) {\n return null;\n }\n }\n })\n .filter(arg => arg)\n .join(' ');\n if (level >= (customLogLevel ?? instance.logLevel)) {\n logCallback({\n level: LogLevel[level].toLowerCase() as LogLevelString,\n message,\n args,\n type: instance.name\n });\n }\n };\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Provider } from './provider';\nimport { Component } from './component';\nimport { Name } from './types';\n\n/**\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\n */\nexport class ComponentContainer {\n private readonly providers = new Map>();\n\n constructor(private readonly name: string) {}\n\n /**\n *\n * @param component Component being added\n * @param overwrite When a component with the same name has already been registered,\n * if overwrite is true: overwrite the existing component with the new component and create a new\n * provider with the new component. It can be useful in tests where you want to use different mocks\n * for different tests.\n * if overwrite is false: throw an exception\n */\n addComponent(component: Component): void {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n throw new Error(\n `Component ${component.name} has already been registered with ${this.name}`\n );\n }\n\n provider.setComponent(component);\n }\n\n addOrOverwriteComponent(component: Component): void {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n // delete the existing provider from the container, so we can register the new component\n this.providers.delete(component.name);\n }\n\n this.addComponent(component);\n }\n\n /**\n * getProvider provides a type safe interface where it can only be called with a field name\n * present in NameServiceMapping interface.\n *\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\n * themselves.\n */\n getProvider(name: T): Provider {\n if (this.providers.has(name)) {\n return this.providers.get(name) as unknown as Provider;\n }\n\n // create a Provider for a service that hasn't registered with Firebase\n const provider = new Provider(name, this);\n this.providers.set(name, provider as unknown as Provider);\n\n return provider as Provider;\n }\n\n getProviders(): Array> {\n return Array.from(this.providers.values());\n }\n}\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction));\n });\n }\n if (blocked)\n request.addEventListener('blocked', () => blocked());\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking)\n db.addEventListener('versionchange', () => blocking());\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked)\n request.addEventListener('blocked', () => blocked());\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentContainer,\n ComponentType,\n Provider,\n Name\n} from '@firebase/component';\nimport { PlatformLoggerService, VersionService } from './types';\n\nexport class PlatformLoggerServiceImpl implements PlatformLoggerService {\n constructor(private readonly container: ComponentContainer) {}\n // In initial implementation, this will be called by installations on\n // auth token refresh, and installations will send this string.\n getPlatformInfoString(): string {\n const providers = this.container.getProviders();\n // Loop through providers and get library/version pairs from any that are\n // version components.\n return providers\n .map(provider => {\n if (isVersionServiceProvider(provider)) {\n const service = provider.getImmediate() as VersionService;\n return `${service.library}/${service.version}`;\n } else {\n return null;\n }\n })\n .filter(logString => logString)\n .join(' ');\n }\n}\n/**\n *\n * @param provider check if this provider provides a VersionService\n *\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\n * provides VersionService. The provider is not necessarily a 'app-version'\n * provider.\n */\nfunction isVersionServiceProvider(provider: Provider): boolean {\n const component = provider.getComponent();\n return component?.type === ComponentType.VERSION;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app');\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { name as appName } from '../package.json';\nimport { name as appCompatName } from '../../app-compat/package.json';\nimport { name as analyticsCompatName } from '../../../packages/analytics-compat/package.json';\nimport { name as analyticsName } from '../../../packages/analytics/package.json';\nimport { name as appCheckCompatName } from '../../../packages/app-check-compat/package.json';\nimport { name as appCheckName } from '../../../packages/app-check/package.json';\nimport { name as authName } from '../../../packages/auth/package.json';\nimport { name as authCompatName } from '../../../packages/auth-compat/package.json';\nimport { name as databaseName } from '../../../packages/database/package.json';\nimport { name as databaseCompatName } from '../../../packages/database-compat/package.json';\nimport { name as functionsName } from '../../../packages/functions/package.json';\nimport { name as functionsCompatName } from '../../../packages/functions-compat/package.json';\nimport { name as installationsName } from '../../../packages/installations/package.json';\nimport { name as installationsCompatName } from '../../../packages/installations-compat/package.json';\nimport { name as messagingName } from '../../../packages/messaging/package.json';\nimport { name as messagingCompatName } from '../../../packages/messaging-compat/package.json';\nimport { name as performanceName } from '../../../packages/performance/package.json';\nimport { name as performanceCompatName } from '../../../packages/performance-compat/package.json';\nimport { name as remoteConfigName } from '../../../packages/remote-config/package.json';\nimport { name as remoteConfigCompatName } from '../../../packages/remote-config-compat/package.json';\nimport { name as storageName } from '../../../packages/storage/package.json';\nimport { name as storageCompatName } from '../../../packages/storage-compat/package.json';\nimport { name as firestoreName } from '../../../packages/firestore/package.json';\nimport { name as firestoreCompatName } from '../../../packages/firestore-compat/package.json';\nimport { name as packageName } from '../../../packages/firebase/package.json';\n\n/**\n * The default app name\n *\n * @internal\n */\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\nexport const PLATFORM_LOG_STRING = {\n [appName]: 'fire-core',\n [appCompatName]: 'fire-core-compat',\n [analyticsName]: 'fire-analytics',\n [analyticsCompatName]: 'fire-analytics-compat',\n [appCheckName]: 'fire-app-check',\n [appCheckCompatName]: 'fire-app-check-compat',\n [authName]: 'fire-auth',\n [authCompatName]: 'fire-auth-compat',\n [databaseName]: 'fire-rtdb',\n [databaseCompatName]: 'fire-rtdb-compat',\n [functionsName]: 'fire-fn',\n [functionsCompatName]: 'fire-fn-compat',\n [installationsName]: 'fire-iid',\n [installationsCompatName]: 'fire-iid-compat',\n [messagingName]: 'fire-fcm',\n [messagingCompatName]: 'fire-fcm-compat',\n [performanceName]: 'fire-perf',\n [performanceCompatName]: 'fire-perf-compat',\n [remoteConfigName]: 'fire-rc',\n [remoteConfigCompatName]: 'fire-rc-compat',\n [storageName]: 'fire-gcs',\n [storageCompatName]: 'fire-gcs-compat',\n [firestoreName]: 'fire-fst',\n [firestoreCompatName]: 'fire-fst-compat',\n 'fire-js': 'fire-js', // Platform identifier for JS SDK.\n [packageName]: 'fire-js-all'\n} as const;\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp } from './public-types';\nimport { Component, Provider, Name } from '@firebase/component';\nimport { logger } from './logger';\nimport { DEFAULT_ENTRY_NAME } from './constants';\nimport { FirebaseAppImpl } from './firebaseApp';\n\n/**\n * @internal\n */\nexport const _apps = new Map();\n\n/**\n * Registered components.\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const _components = new Map>();\n\n/**\n * @param component - the component being added to this app's container\n *\n * @internal\n */\nexport function _addComponent(\n app: FirebaseApp,\n component: Component\n): void {\n try {\n (app as FirebaseAppImpl).container.addComponent(component);\n } catch (e) {\n logger.debug(\n `Component ${component.name} failed to register with FirebaseApp ${app.name}`,\n e\n );\n }\n}\n\n/**\n *\n * @internal\n */\nexport function _addOrOverwriteComponent(\n app: FirebaseApp,\n component: Component\n): void {\n (app as FirebaseAppImpl).container.addOrOverwriteComponent(component);\n}\n\n/**\n *\n * @param component - the component to register\n * @returns whether or not the component is registered successfully\n *\n * @internal\n */\nexport function _registerComponent(\n component: Component\n): boolean {\n const componentName = component.name;\n if (_components.has(componentName)) {\n logger.debug(\n `There were multiple attempts to register component ${componentName}.`\n );\n\n return false;\n }\n\n _components.set(componentName, component);\n\n // add the component to existing app instances\n for (const app of _apps.values()) {\n _addComponent(app as FirebaseAppImpl, component);\n }\n\n return true;\n}\n\n/**\n *\n * @param app - FirebaseApp instance\n * @param name - service name\n *\n * @returns the provider for the service with the matching name\n *\n * @internal\n */\nexport function _getProvider(\n app: FirebaseApp,\n name: T\n): Provider {\n const heartbeatController = (app as FirebaseAppImpl).container\n .getProvider('heartbeat')\n .getImmediate({ optional: true });\n if (heartbeatController) {\n void heartbeatController.triggerHeartbeat();\n }\n return (app as FirebaseAppImpl).container.getProvider(name);\n}\n\n/**\n *\n * @param app - FirebaseApp instance\n * @param name - service name\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\n *\n * @internal\n */\nexport function _removeServiceInstance(\n app: FirebaseApp,\n name: T,\n instanceIdentifier: string = DEFAULT_ENTRY_NAME\n): void {\n _getProvider(app, name).clearInstance(instanceIdentifier);\n}\n\n/**\n * Test only\n *\n * @internal\n */\nexport function _clearComponents(): void {\n _components.clear();\n}\n\n/**\n * Exported in order to be used in app-compat package\n */\nexport { DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME };\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n INVALID_APP_ARGUMENT = 'invalid-app-argument',\n INVALID_LOG_ARGUMENT = 'invalid-log-argument',\n STORAGE_OPEN = 'storage-open',\n STORAGE_GET = 'storage-get',\n STORAGE_WRITE = 'storage-set',\n STORAGE_DELETE = 'storage-delete'\n}\n\nconst ERRORS: ErrorMap = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$appName}\",\n [AppError.DUPLICATE_APP]:\n \"Firebase App named '{$appName}' already exists with different options or config\",\n [AppError.APP_DELETED]: \"Firebase App named '{$appName}' already deleted\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.',\n [AppError.INVALID_LOG_ARGUMENT]:\n 'First argument to `onLog` must be null or a function.',\n [AppError.STORAGE_OPEN]:\n 'Error thrown when opening storage. Original error: {$originalErrorMessage}.',\n [AppError.STORAGE_GET]:\n 'Error thrown when reading from storage. Original error: {$originalErrorMessage}.',\n [AppError.STORAGE_WRITE]:\n 'Error thrown when writing to storage. Original error: {$originalErrorMessage}.',\n [AppError.STORAGE_DELETE]:\n 'Error thrown when deleting from storage. Original error: {$originalErrorMessage}.'\n};\n\ninterface ErrorParams {\n [AppError.NO_APP]: { appName: string };\n [AppError.BAD_APP_NAME]: { appName: string };\n [AppError.DUPLICATE_APP]: { appName: string };\n [AppError.APP_DELETED]: { appName: string };\n [AppError.INVALID_APP_ARGUMENT]: { appName: string };\n [AppError.STORAGE_OPEN]: { originalErrorMessage?: string };\n [AppError.STORAGE_GET]: { originalErrorMessage?: string };\n [AppError.STORAGE_WRITE]: { originalErrorMessage?: string };\n [AppError.STORAGE_DELETE]: { originalErrorMessage?: string };\n}\n\nexport const ERROR_FACTORY = new ErrorFactory(\n 'app',\n 'Firebase',\n ERRORS\n);\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppSettings\n} from './public-types';\nimport {\n ComponentContainer,\n Component,\n ComponentType\n} from '@firebase/component';\nimport { ERROR_FACTORY, AppError } from './errors';\n\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly _options: FirebaseOptions;\n private readonly _name: string;\n /**\n * Original config values passed in as a constructor parameter.\n * It is only used to compare with another config object to support idempotent initializeApp().\n *\n * Updating automaticDataCollectionEnabled on the App instance will not change its value in _config.\n */\n private readonly _config: Required;\n private _automaticDataCollectionEnabled: boolean;\n private _isDeleted = false;\n private readonly _container: ComponentContainer;\n\n constructor(\n options: FirebaseOptions,\n config: Required,\n container: ComponentContainer\n ) {\n this._options = { ...options };\n this._config = { ...config };\n this._name = config.name;\n this._automaticDataCollectionEnabled =\n config.automaticDataCollectionEnabled;\n this._container = container;\n this.container.addComponent(\n new Component('app', () => this, ComponentType.PUBLIC)\n );\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed();\n return this._automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val: boolean) {\n this.checkDestroyed();\n this._automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get config(): Required {\n this.checkDestroyed();\n return this._config;\n }\n\n get container(): ComponentContainer {\n return this._container;\n }\n\n get isDeleted(): boolean {\n return this._isDeleted;\n }\n\n set isDeleted(val: boolean) {\n this._isDeleted = val;\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed(): void {\n if (this.isDeleted) {\n throw ERROR_FACTORY.create(AppError.APP_DELETED, { appName: this._name });\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppSettings\n} from './public-types';\nimport { DEFAULT_ENTRY_NAME, PLATFORM_LOG_STRING } from './constants';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport {\n ComponentContainer,\n Component,\n Name,\n ComponentType\n} from '@firebase/component';\nimport { version } from '../../firebase/package.json';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { _apps, _components, _registerComponent } from './internal';\nimport { logger } from './logger';\nimport {\n LogLevelString,\n setLogLevel as setLogLevelImpl,\n LogCallback,\n LogOptions,\n setUserLogHandler\n} from '@firebase/logger';\nimport { deepEqual } from '@firebase/util';\n\nexport { FirebaseError } from '@firebase/util';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const SDK_VERSION = version;\n\n/**\n * Creates and initializes a {@link @firebase/app#FirebaseApp} instance.\n *\n * See\n * {@link\n * https://firebase.google.com/docs/web/setup#add_firebase_to_your_app\n * | Add Firebase to your app} and\n * {@link\n * https://firebase.google.com/docs/web/setup#multiple-projects\n * | Initialize multiple projects} for detailed documentation.\n *\n * @example\n * ```javascript\n *\n * // Initialize default app\n * // Retrieve your own options values by adding a web app on\n * // https://console.firebase.google.com\n * initializeApp({\n * apiKey: \"AIza....\", // Auth / General Use\n * authDomain: \"YOUR_APP.firebaseapp.com\", // Auth with popup/redirect\n * databaseURL: \"https://YOUR_APP.firebaseio.com\", // Realtime Database\n * storageBucket: \"YOUR_APP.appspot.com\", // Storage\n * messagingSenderId: \"123456789\" // Cloud Messaging\n * });\n * ```\n *\n * @example\n * ```javascript\n *\n * // Initialize another app\n * const otherApp = initializeApp({\n * databaseURL: \"https://.firebaseio.com\",\n * storageBucket: \".appspot.com\"\n * }, \"otherApp\");\n * ```\n *\n * @param options - Options to configure the app's services.\n * @param name - Optional name of the app to initialize. If no name\n * is provided, the default is `\"[DEFAULT]\"`.\n *\n * @returns The initialized app.\n *\n * @public\n */\nexport function initializeApp(\n options: FirebaseOptions,\n name?: string\n): FirebaseApp;\n/**\n * Creates and initializes a FirebaseApp instance.\n *\n * @param options - Options to configure the app's services.\n * @param config - FirebaseApp Configuration\n *\n * @public\n */\nexport function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppSettings\n): FirebaseApp;\nexport function initializeApp(\n options: FirebaseOptions,\n rawConfig = {}\n): FirebaseApp {\n if (typeof rawConfig !== 'object') {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config: Required = {\n name: DEFAULT_ENTRY_NAME,\n automaticDataCollectionEnabled: false,\n ...rawConfig\n };\n const name = config.name;\n\n if (typeof name !== 'string' || !name) {\n throw ERROR_FACTORY.create(AppError.BAD_APP_NAME, {\n appName: String(name)\n });\n }\n\n const existingApp = _apps.get(name) as FirebaseAppImpl;\n if (existingApp) {\n // return the existing app if options and config deep equal the ones in the existing app.\n if (\n deepEqual(options, existingApp.options) &&\n deepEqual(config, existingApp.config)\n ) {\n return existingApp;\n } else {\n throw ERROR_FACTORY.create(AppError.DUPLICATE_APP, { appName: name });\n }\n }\n\n const container = new ComponentContainer(name);\n for (const component of _components.values()) {\n container.addComponent(component);\n }\n\n const newApp = new FirebaseAppImpl(options, config, container);\n\n _apps.set(name, newApp);\n\n return newApp;\n}\n\n/**\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\n *\n * When called with no arguments, the default app is returned. When an app name\n * is provided, the app corresponding to that name is returned.\n *\n * An exception is thrown if the app being retrieved has not yet been\n * initialized.\n *\n * @example\n * ```javascript\n * // Return the default app\n * const app = getApp();\n * ```\n *\n * @example\n * ```javascript\n * // Return a named app\n * const otherApp = getApp(\"otherApp\");\n * ```\n *\n * @param name - Optional name of the app to return. If no name is\n * provided, the default is `\"[DEFAULT]\"`.\n *\n * @returns The app corresponding to the provided app name.\n * If no app name is provided, the default app is returned.\n *\n * @public\n */\nexport function getApp(name: string = DEFAULT_ENTRY_NAME): FirebaseApp {\n const app = _apps.get(name);\n if (!app) {\n throw ERROR_FACTORY.create(AppError.NO_APP, { appName: name });\n }\n\n return app;\n}\n\n/**\n * A (read-only) array of all initialized apps.\n * @public\n */\nexport function getApps(): FirebaseApp[] {\n return Array.from(_apps.values());\n}\n\n/**\n * Renders this app unusable and frees the resources of all associated\n * services.\n *\n * @example\n * ```javascript\n * deleteApp(app)\n * .then(function() {\n * console.log(\"App deleted successfully\");\n * })\n * .catch(function(error) {\n * console.log(\"Error deleting app:\", error);\n * });\n * ```\n *\n * @public\n */\nexport async function deleteApp(app: FirebaseApp): Promise {\n const name = app.name;\n if (_apps.has(name)) {\n _apps.delete(name);\n await Promise.all(\n (app as FirebaseAppImpl).container\n .getProviders()\n .map(provider => provider.delete())\n );\n (app as FirebaseAppImpl).isDeleted = true;\n }\n}\n\n/**\n * Registers a library's name and version for platform logging purposes.\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\n * @param version - Current version of that library.\n * @param variant - Bundle variant, e.g., node, rn, etc.\n *\n * @public\n */\nexport function registerVersion(\n libraryKeyOrName: string,\n version: string,\n variant?: string\n): void {\n // TODO: We can use this check to whitelist strings when/if we set up\n // a good whitelist system.\n let library = PLATFORM_LOG_STRING[libraryKeyOrName] ?? libraryKeyOrName;\n if (variant) {\n library += `-${variant}`;\n }\n const libraryMismatch = library.match(/\\s|\\//);\n const versionMismatch = version.match(/\\s|\\//);\n if (libraryMismatch || versionMismatch) {\n const warning = [\n `Unable to register library \"${library}\" with version \"${version}\":`\n ];\n if (libraryMismatch) {\n warning.push(\n `library name \"${library}\" contains illegal characters (whitespace or \"/\")`\n );\n }\n if (libraryMismatch && versionMismatch) {\n warning.push('and');\n }\n if (versionMismatch) {\n warning.push(\n `version name \"${version}\" contains illegal characters (whitespace or \"/\")`\n );\n }\n logger.warn(warning.join(' '));\n return;\n }\n _registerComponent(\n new Component(\n `${library}-version` as Name,\n () => ({ library, version }),\n ComponentType.VERSION\n )\n );\n}\n\n/**\n * Sets log handler for all Firebase SDKs.\n * @param logCallback - An optional custom log handler that executes user code whenever\n * the Firebase SDK makes a logging call.\n *\n * @public\n */\nexport function onLog(\n logCallback: LogCallback | null,\n options?: LogOptions\n): void {\n if (logCallback !== null && typeof logCallback !== 'function') {\n throw ERROR_FACTORY.create(AppError.INVALID_LOG_ARGUMENT);\n }\n setUserLogHandler(logCallback, options);\n}\n\n/**\n * Sets log level for all Firebase SDKs.\n *\n * All of the log types above the current log level are captured (i.e. if\n * you set the log level to `info`, errors are logged, but `debug` and\n * `verbose` logs are not).\n *\n * @public\n */\nexport function setLogLevel(logLevel: LogLevelString): void {\n setLogLevelImpl(logLevel);\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DBSchema, openDB, IDBPDatabase } from 'idb';\nimport { AppError, ERROR_FACTORY } from './errors';\nimport { FirebaseApp } from './public-types';\nimport { HeartbeatsInIndexedDB } from './types';\n\nconst DB_NAME = 'firebase-heartbeat-database';\nconst DB_VERSION = 1;\nconst STORE_NAME = 'firebase-heartbeat-store';\n\ninterface AppDB extends DBSchema {\n 'firebase-heartbeat-store': {\n key: string;\n value: HeartbeatsInIndexedDB;\n };\n}\n\nlet dbPromise: Promise> | null = null;\nfunction getDbPromise(): Promise> {\n if (!dbPromise) {\n dbPromise = openDB(DB_NAME, DB_VERSION, {\n upgrade: (db, oldVersion) => {\n // We don't use 'break' in this switch statement, the fall-through\n // behavior is what we want, because if there are multiple versions between\n // the old version and the current version, we want ALL the migrations\n // that correspond to those versions to run, not only the last one.\n // eslint-disable-next-line default-case\n switch (oldVersion) {\n case 0:\n db.createObjectStore(STORE_NAME);\n }\n }\n }).catch(e => {\n throw ERROR_FACTORY.create(AppError.STORAGE_OPEN, {\n originalErrorMessage: e.message\n });\n });\n }\n return dbPromise;\n}\n\nexport async function readHeartbeatsFromIndexedDB(\n app: FirebaseApp\n): Promise {\n try {\n const db = await getDbPromise();\n return db\n .transaction(STORE_NAME)\n .objectStore(STORE_NAME)\n .get(computeKey(app)) as Promise;\n } catch (e) {\n throw ERROR_FACTORY.create(AppError.STORAGE_GET, {\n originalErrorMessage: (e as Error)?.message\n });\n }\n}\n\nexport async function writeHeartbeatsToIndexedDB(\n app: FirebaseApp,\n heartbeatObject: HeartbeatsInIndexedDB\n): Promise {\n try {\n const db = await getDbPromise();\n const tx = db.transaction(STORE_NAME, 'readwrite');\n const objectStore = tx.objectStore(STORE_NAME);\n await objectStore.put(heartbeatObject, computeKey(app));\n return tx.done;\n } catch (e) {\n throw ERROR_FACTORY.create(AppError.STORAGE_WRITE, {\n originalErrorMessage: (e as Error)?.message\n });\n }\n}\n\nfunction computeKey(app: FirebaseApp): string {\n return `${app.name}!${app.options.appId}`;\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ComponentContainer } from '@firebase/component';\nimport {\n base64urlEncodeWithoutPadding,\n isIndexedDBAvailable,\n validateIndexedDBOpenable\n} from '@firebase/util';\nimport {\n readHeartbeatsFromIndexedDB,\n writeHeartbeatsToIndexedDB\n} from './indexeddb';\nimport { FirebaseApp } from './public-types';\nimport {\n HeartbeatsByUserAgent,\n HeartbeatService,\n HeartbeatsInIndexedDB,\n HeartbeatStorage,\n SingleDateHeartbeat\n} from './types';\n\nconst MAX_HEADER_BYTES = 1024;\n// 30 days\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\n\nexport class HeartbeatServiceImpl implements HeartbeatService {\n /**\n * The persistence layer for heartbeats\n * Leave public for easier testing.\n */\n _storage: HeartbeatStorageImpl;\n\n /**\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\n * the header string.\n * Stores one record per date. This will be consolidated into the standard\n * format of one record per user agent string before being sent as a header.\n * Populated from indexedDB when the controller is instantiated and should\n * be kept in sync with indexedDB.\n * Leave public for easier testing.\n */\n _heartbeatsCache: HeartbeatsInIndexedDB | null = null;\n\n /**\n * the initialization promise for populating heartbeatCache.\n * If getHeartbeatsHeader() is called before the promise resolves\n * (hearbeatsCache == null), it should wait for this promise\n * Leave public for easier testing.\n */\n _heartbeatsCachePromise: Promise;\n constructor(private readonly container: ComponentContainer) {\n const app = this.container.getProvider('app').getImmediate();\n this._storage = new HeartbeatStorageImpl(app);\n this._heartbeatsCachePromise = this._storage.read().then(result => {\n this._heartbeatsCache = result;\n return result;\n });\n }\n\n /**\n * Called to report a heartbeat. The function will generate\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\n * to IndexedDB.\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\n * already logged, subsequent calls to this function in the same day will be ignored.\n */\n async triggerHeartbeat(): Promise {\n const platformLogger = this.container\n .getProvider('platform-logger')\n .getImmediate();\n\n // This is the \"Firebase user agent\" string from the platform logger\n // service, not the browser user agent.\n const agent = platformLogger.getPlatformInfoString();\n const date = getUTCDateString();\n if (this._heartbeatsCache === null) {\n this._heartbeatsCache = await this._heartbeatsCachePromise;\n }\n // Do not store a heartbeat if one is already stored for this day\n // or if a header has already been sent today.\n if (\n this._heartbeatsCache.lastSentHeartbeatDate === date ||\n this._heartbeatsCache.heartbeats.some(\n singleDateHeartbeat => singleDateHeartbeat.date === date\n )\n ) {\n return;\n } else {\n // There is no entry for this date. Create one.\n this._heartbeatsCache.heartbeats.push({ date, agent });\n }\n // Remove entries older than 30 days.\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(\n singleDateHeartbeat => {\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\n const now = Date.now();\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\n }\n );\n return this._storage.overwrite(this._heartbeatsCache);\n }\n\n /**\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\n * It also clears all heartbeats from memory as well as in IndexedDB.\n *\n * NOTE: Consuming product SDKs should not send the header if this method\n * returns an empty string.\n */\n async getHeartbeatsHeader(): Promise {\n if (this._heartbeatsCache === null) {\n await this._heartbeatsCachePromise;\n }\n // If it's still null or the array is empty, there is no data to send.\n if (\n this._heartbeatsCache === null ||\n this._heartbeatsCache.heartbeats.length === 0\n ) {\n return '';\n }\n const date = getUTCDateString();\n // Extract as many heartbeats from the cache as will fit under the size limit.\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(\n this._heartbeatsCache.heartbeats\n );\n const headerString = base64urlEncodeWithoutPadding(\n JSON.stringify({ version: 2, heartbeats: heartbeatsToSend })\n );\n // Store last sent date to prevent another being logged/sent for the same day.\n this._heartbeatsCache.lastSentHeartbeatDate = date;\n if (unsentEntries.length > 0) {\n // Store any unsent entries if they exist.\n this._heartbeatsCache.heartbeats = unsentEntries;\n // This seems more likely than emptying the array (below) to lead to some odd state\n // since the cache isn't empty and this will be called again on the next request,\n // and is probably safest if we await it.\n await this._storage.overwrite(this._heartbeatsCache);\n } else {\n this._heartbeatsCache.heartbeats = [];\n // Do not wait for this, to reduce latency.\n void this._storage.overwrite(this._heartbeatsCache);\n }\n return headerString;\n }\n}\n\nfunction getUTCDateString(): string {\n const today = new Date();\n // Returns date format 'YYYY-MM-DD'\n return today.toISOString().substring(0, 10);\n}\n\nexport function extractHeartbeatsForHeader(\n heartbeatsCache: SingleDateHeartbeat[],\n maxSize = MAX_HEADER_BYTES\n): {\n heartbeatsToSend: HeartbeatsByUserAgent[];\n unsentEntries: SingleDateHeartbeat[];\n} {\n // Heartbeats grouped by user agent in the standard format to be sent in\n // the header.\n const heartbeatsToSend: HeartbeatsByUserAgent[] = [];\n // Single date format heartbeats that are not sent.\n let unsentEntries = heartbeatsCache.slice();\n for (const singleDateHeartbeat of heartbeatsCache) {\n // Look for an existing entry with the same user agent.\n const heartbeatEntry = heartbeatsToSend.find(\n hb => hb.agent === singleDateHeartbeat.agent\n );\n if (!heartbeatEntry) {\n // If no entry for this user agent exists, create one.\n heartbeatsToSend.push({\n agent: singleDateHeartbeat.agent,\n dates: [singleDateHeartbeat.date]\n });\n if (countBytes(heartbeatsToSend) > maxSize) {\n // If the header would exceed max size, remove the added heartbeat\n // entry and stop adding to the header.\n heartbeatsToSend.pop();\n break;\n }\n } else {\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\n // If the header would exceed max size, remove the added date\n // and stop adding to the header.\n if (countBytes(heartbeatsToSend) > maxSize) {\n heartbeatEntry.dates.pop();\n break;\n }\n }\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\n // quota and the loop breaks early.)\n unsentEntries = unsentEntries.slice(1);\n }\n return {\n heartbeatsToSend,\n unsentEntries\n };\n}\n\nexport class HeartbeatStorageImpl implements HeartbeatStorage {\n private _canUseIndexedDBPromise: Promise;\n constructor(public app: FirebaseApp) {\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\n }\n async runIndexedDBEnvironmentCheck(): Promise {\n if (!isIndexedDBAvailable()) {\n return false;\n } else {\n return validateIndexedDBOpenable()\n .then(() => true)\n .catch(() => false);\n }\n }\n /**\n * Read all heartbeats.\n */\n async read(): Promise {\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return { heartbeats: [] };\n } else {\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\n return idbHeartbeatObject || { heartbeats: [] };\n }\n }\n // overwrite the storage with the provided heartbeats\n async overwrite(heartbeatsObject: HeartbeatsInIndexedDB): Promise {\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return;\n } else {\n const existingHeartbeatsObject = await this.read();\n return writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate:\n heartbeatsObject.lastSentHeartbeatDate ??\n existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: heartbeatsObject.heartbeats\n });\n }\n }\n // add heartbeats\n async add(heartbeatsObject: HeartbeatsInIndexedDB): Promise {\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\n if (!canUseIndexedDB) {\n return;\n } else {\n const existingHeartbeatsObject = await this.read();\n return writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate:\n heartbeatsObject.lastSentHeartbeatDate ??\n existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: [\n ...existingHeartbeatsObject.heartbeats,\n ...heartbeatsObject.heartbeats\n ]\n });\n }\n }\n}\n\n/**\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\n * in a platform logging header JSON object, stringified, and converted\n * to base 64.\n */\nexport function countBytes(heartbeatsCache: HeartbeatsByUserAgent[]): number {\n // base64 has a restricted set of characters, all of which should be 1 byte.\n return base64urlEncodeWithoutPadding(\n // heartbeatsCache wrapper properties\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })\n ).length;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, ComponentType } from '@firebase/component';\nimport { PlatformLoggerServiceImpl } from './platformLoggerService';\nimport { name, version } from '../package.json';\nimport { _registerComponent } from './internal';\nimport { registerVersion } from './api';\nimport { HeartbeatServiceImpl } from './heartbeatService';\n\nexport function registerCoreComponents(variant?: string): void {\n _registerComponent(\n new Component(\n 'platform-logger',\n container => new PlatformLoggerServiceImpl(container),\n ComponentType.PRIVATE\n )\n );\n _registerComponent(\n new Component(\n 'heartbeat',\n container => new HeartbeatServiceImpl(container),\n ComponentType.PRIVATE\n )\n );\n\n // Register `app` package.\n registerVersion(name, version, variant);\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n registerVersion(name, version, '__BUILD_TARGET__');\n // Register platform SDK identifier (no version).\n registerVersion('fire-js', '');\n}\n","/**\n * Firebase App\n *\n * @remarks This package coordinates the communication between the different Firebase components\n * @packageDocumentation\n */\n\n/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { registerCoreComponents } from './registerCoreComponents';\n\nexport * from './api';\nexport * from './internal';\nexport * from './public-types';\n\nregisterCoreComponents('__RUNTIME_ENV__');\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise {\n return new Promise(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\n });\n }\n\n /**\n * Return a service instance associated with this app (creating it\n * on demand), identified by the passed instanceIdentifier.\n *\n * NOTE: Currently storage and functions are the only ones that are leveraging this\n * functionality. They invoke it by calling:\n *\n * ```javascript\n * firebase.app().storage('STORAGE BUCKET ID')\n * ```\n *\n * The service name is passed to this already\n * @internal\n */\n _getService(\n name: string,\n instanceIdentifier: string = _DEFAULT_ENTRY_NAME\n ): _FirebaseService {\n this._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\n\n /**\n * Remove a service instance from the cache, so we will create a new instance for this service\n * when people try to get it again.\n *\n * NOTE: currently only firestore uses this functionality to support firestore shutdown.\n *\n * @param name The service name\n * @param instanceIdentifier instance identifier in case multiple instances are allowed\n * @internal\n */\n _removeServiceInstance(\n name: string,\n instanceIdentifier: string = _DEFAULT_ENTRY_NAME\n ): void {\n this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n// (FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n// FirebaseAppImpl.prototype.delete ||\n// console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory(\n 'app-compat',\n 'Firebase',\n ERRORS\n);\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from './public-types';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n namespace.INTERNAL = {\n ...namespace.INTERNAL,\n createFirebaseNamespace,\n extendNamespace,\n createSubscribe,\n ErrorFactory,\n deepExtend\n };\n\n /**\n * Patch the top-level firebase namespace with additional properties.\n *\n * firebase.INTERNAL.extendNamespace()\n */\n function extendNamespace(props: { [prop: string]: unknown }): void {\n deepExtend(namespace, props);\n }\n\n return namespace;\n}\n\nexport const firebase = createFirebaseNamespace();\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\n\n/**\n * Because auth can't share code with other components, we attach the utility functions\n * in an internal namespace to share code.\n * This function return a firebase namespace object without\n * any utility functions, so it can be shared between the regular firebaseNamespace and\n * the lite version.\n */\nexport function createFirebaseNamespaceCore(\n firebaseAppImpl: typeof FirebaseAppImpl | typeof FirebaseAppLiteImpl\n): _FirebaseNamespace {\n const apps: { [name: string]: FirebaseApp } = {};\n // // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // const components = new Map>();\n\n // A namespace is a plain JavaScript Object.\n const namespace: _FirebaseNamespace = {\n // Hack to prevent Babel from modifying the object returned\n // as the firebase namespace.\n // @ts-ignore\n __esModule: true,\n initializeApp: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)['default'] = namespace;\n\n // firebase.apps is a read-only getter.\n Object.defineProperty(namespace, 'apps', {\n get: getApps\n });\n\n /**\n * Called by App.delete() - but before any services associated with the App\n * are deleted.\n */\n function removeApp(name: string): void {\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || modularAPIs._DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n throw ERROR_FACTORY.create(AppError.NO_APP, { appName: name });\n }\n return apps[name];\n }\n\n // @ts-ignore\n app['App'] = firebaseAppImpl;\n\n /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n function registerComponentCompat(\n component: Component\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\n // The Service namespace is an accessor function ...\n const serviceNamespace = (\n appArg: FirebaseApp = app()\n ): _FirebaseService => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof (appArg as any)[componentNameWithoutCompat] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n throw ERROR_FACTORY.create(AppError.INVALID_APP_ARGUMENT, {\n appName: componentName\n });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (appArg as any)[componentNameWithoutCompat]();\n };\n\n // ... and a container for service-level properties.\n if (component.serviceProps !== undefined) {\n deepExtend(serviceNamespace, component.serviceProps);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\n // TODO: The eslint disable can be removed and the 'ignoreRestArgs'\n // option added to the no-explicit-any rule when ESlint releases it.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function (...args: any) {\n const serviceFxn = this._getService.bind(this, componentName);\n return serviceFxn.apply(\n this,\n component.multipleInstances ? args : []\n );\n };\n }\n\n return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\n }\n\n // Map the requested service to a registered service name\n // (used to map auth to serverAuth service when needed).\n function useAsService(app: FirebaseApp, name: string): string | null {\n if (name === 'serverAuth') {\n return null;\n }\n\n const useService = name;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport firebase from '@firebase/app-compat';\nimport { name, version } from '../../package.json';\n\nfirebase.registerVersion(name, version, 'app-compat');\n\nexport default firebase;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthErrorMap, User } from '../model/public_types';\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nimport { IdTokenMfaResponse } from '../api/authentication/mfa';\nimport { AppName } from '../model/auth';\nimport { AuthCredential } from './credentials';\n\n/**\n * Enumeration of Firebase Auth error codes.\n * \n * @internal\n */\nexport const enum AuthErrorCode {\n ADMIN_ONLY_OPERATION = 'admin-restricted-operation',\n ARGUMENT_ERROR = 'argument-error',\n APP_NOT_AUTHORIZED = 'app-not-authorized',\n APP_NOT_INSTALLED = 'app-not-installed',\n CAPTCHA_CHECK_FAILED = 'captcha-check-failed',\n CODE_EXPIRED = 'code-expired',\n CORDOVA_NOT_READY = 'cordova-not-ready',\n CORS_UNSUPPORTED = 'cors-unsupported',\n CREDENTIAL_ALREADY_IN_USE = 'credential-already-in-use',\n CREDENTIAL_MISMATCH = 'custom-token-mismatch',\n CREDENTIAL_TOO_OLD_LOGIN_AGAIN = 'requires-recent-login',\n DEPENDENT_SDK_INIT_BEFORE_AUTH = 'dependent-sdk-initialized-before-auth',\n DYNAMIC_LINK_NOT_ACTIVATED = 'dynamic-link-not-activated',\n EMAIL_CHANGE_NEEDS_VERIFICATION = 'email-change-needs-verification',\n EMAIL_EXISTS = 'email-already-in-use',\n EMULATOR_CONFIG_FAILED = 'emulator-config-failed',\n EXPIRED_OOB_CODE = 'expired-action-code',\n EXPIRED_POPUP_REQUEST = 'cancelled-popup-request',\n INTERNAL_ERROR = 'internal-error',\n INVALID_API_KEY = 'invalid-api-key',\n INVALID_APP_CREDENTIAL = 'invalid-app-credential',\n INVALID_APP_ID = 'invalid-app-id',\n INVALID_AUTH = 'invalid-user-token',\n INVALID_AUTH_EVENT = 'invalid-auth-event',\n INVALID_CERT_HASH = 'invalid-cert-hash',\n INVALID_CODE = 'invalid-verification-code',\n INVALID_CONTINUE_URI = 'invalid-continue-uri',\n INVALID_CORDOVA_CONFIGURATION = 'invalid-cordova-configuration',\n INVALID_CUSTOM_TOKEN = 'invalid-custom-token',\n INVALID_DYNAMIC_LINK_DOMAIN = 'invalid-dynamic-link-domain',\n INVALID_EMAIL = 'invalid-email',\n INVALID_EMULATOR_SCHEME = 'invalid-emulator-scheme',\n INVALID_IDP_RESPONSE = 'invalid-credential',\n INVALID_MESSAGE_PAYLOAD = 'invalid-message-payload',\n INVALID_MFA_SESSION = 'invalid-multi-factor-session',\n INVALID_OAUTH_CLIENT_ID = 'invalid-oauth-client-id',\n INVALID_OAUTH_PROVIDER = 'invalid-oauth-provider',\n INVALID_OOB_CODE = 'invalid-action-code',\n INVALID_ORIGIN = 'unauthorized-domain',\n INVALID_PASSWORD = 'wrong-password',\n INVALID_PERSISTENCE = 'invalid-persistence-type',\n INVALID_PHONE_NUMBER = 'invalid-phone-number',\n INVALID_PROVIDER_ID = 'invalid-provider-id',\n INVALID_RECIPIENT_EMAIL = 'invalid-recipient-email',\n INVALID_SENDER = 'invalid-sender',\n INVALID_SESSION_INFO = 'invalid-verification-id',\n INVALID_TENANT_ID = 'invalid-tenant-id',\n LOGIN_BLOCKED = 'login-blocked',\n MFA_INFO_NOT_FOUND = 'multi-factor-info-not-found',\n MFA_REQUIRED = 'multi-factor-auth-required',\n MISSING_ANDROID_PACKAGE_NAME = 'missing-android-pkg-name',\n MISSING_APP_CREDENTIAL = 'missing-app-credential',\n MISSING_AUTH_DOMAIN = 'auth-domain-config-required',\n MISSING_CODE = 'missing-verification-code',\n MISSING_CONTINUE_URI = 'missing-continue-uri',\n MISSING_IFRAME_START = 'missing-iframe-start',\n MISSING_IOS_BUNDLE_ID = 'missing-ios-bundle-id',\n MISSING_OR_INVALID_NONCE = 'missing-or-invalid-nonce',\n MISSING_MFA_INFO = 'missing-multi-factor-info',\n MISSING_MFA_SESSION = 'missing-multi-factor-session',\n MISSING_PHONE_NUMBER = 'missing-phone-number',\n MISSING_SESSION_INFO = 'missing-verification-id',\n MODULE_DESTROYED = 'app-deleted',\n NEED_CONFIRMATION = 'account-exists-with-different-credential',\n NETWORK_REQUEST_FAILED = 'network-request-failed',\n NULL_USER = 'null-user',\n NO_AUTH_EVENT = 'no-auth-event',\n NO_SUCH_PROVIDER = 'no-such-provider',\n OPERATION_NOT_ALLOWED = 'operation-not-allowed',\n OPERATION_NOT_SUPPORTED = 'operation-not-supported-in-this-environment',\n POPUP_BLOCKED = 'popup-blocked',\n POPUP_CLOSED_BY_USER = 'popup-closed-by-user',\n PROVIDER_ALREADY_LINKED = 'provider-already-linked',\n QUOTA_EXCEEDED = 'quota-exceeded',\n REDIRECT_CANCELLED_BY_USER = 'redirect-cancelled-by-user',\n REDIRECT_OPERATION_PENDING = 'redirect-operation-pending',\n REJECTED_CREDENTIAL = 'rejected-credential',\n SECOND_FACTOR_ALREADY_ENROLLED = 'second-factor-already-in-use',\n SECOND_FACTOR_LIMIT_EXCEEDED = 'maximum-second-factor-count-exceeded',\n TENANT_ID_MISMATCH = 'tenant-id-mismatch',\n TIMEOUT = 'timeout',\n TOKEN_EXPIRED = 'user-token-expired',\n TOO_MANY_ATTEMPTS_TRY_LATER = 'too-many-requests',\n UNAUTHORIZED_DOMAIN = 'unauthorized-continue-uri',\n UNSUPPORTED_FIRST_FACTOR = 'unsupported-first-factor',\n UNSUPPORTED_PERSISTENCE = 'unsupported-persistence-type',\n UNSUPPORTED_TENANT_OPERATION = 'unsupported-tenant-operation',\n UNVERIFIED_EMAIL = 'unverified-email',\n USER_CANCELLED = 'user-cancelled',\n USER_DELETED = 'user-not-found',\n USER_DISABLED = 'user-disabled',\n USER_MISMATCH = 'user-mismatch',\n USER_SIGNED_OUT = 'user-signed-out',\n WEAK_PASSWORD = 'weak-password',\n WEB_STORAGE_UNSUPPORTED = 'web-storage-unsupported',\n ALREADY_INITIALIZED = 'already-initialized'\n}\n\nfunction _debugErrorMap(): ErrorMap {\n return {\n [AuthErrorCode.ADMIN_ONLY_OPERATION]:\n 'This operation is restricted to administrators only.',\n [AuthErrorCode.ARGUMENT_ERROR]: '',\n [AuthErrorCode.APP_NOT_AUTHORIZED]:\n \"This app, identified by the domain where it's hosted, is not \" +\n 'authorized to use Firebase Authentication with the provided API key. ' +\n 'Review your key configuration in the Google API console.',\n [AuthErrorCode.APP_NOT_INSTALLED]:\n 'The requested mobile application corresponding to the identifier (' +\n 'Android package name or iOS bundle ID) provided is not installed on ' +\n 'this device.',\n [AuthErrorCode.CAPTCHA_CHECK_FAILED]:\n 'The reCAPTCHA response token provided is either invalid, expired, ' +\n 'already used or the domain associated with it does not match the list ' +\n 'of whitelisted domains.',\n [AuthErrorCode.CODE_EXPIRED]:\n 'The SMS code has expired. Please re-send the verification code to try ' +\n 'again.',\n [AuthErrorCode.CORDOVA_NOT_READY]: 'Cordova framework is not ready.',\n [AuthErrorCode.CORS_UNSUPPORTED]: 'This browser is not supported.',\n [AuthErrorCode.CREDENTIAL_ALREADY_IN_USE]:\n 'This credential is already associated with a different user account.',\n [AuthErrorCode.CREDENTIAL_MISMATCH]:\n 'The custom token corresponds to a different audience.',\n [AuthErrorCode.CREDENTIAL_TOO_OLD_LOGIN_AGAIN]:\n 'This operation is sensitive and requires recent authentication. Log in ' +\n 'again before retrying this request.',\n [AuthErrorCode.DEPENDENT_SDK_INIT_BEFORE_AUTH]:\n 'Another Firebase SDK was initialized and is trying to use Auth before Auth is ' +\n 'initialized. Please be sure to call `initializeAuth` or `getAuth` before ' +\n 'starting any other Firebase SDK.',\n [AuthErrorCode.DYNAMIC_LINK_NOT_ACTIVATED]:\n 'Please activate Dynamic Links in the Firebase Console and agree to the terms and ' +\n 'conditions.',\n [AuthErrorCode.EMAIL_CHANGE_NEEDS_VERIFICATION]:\n 'Multi-factor users must always have a verified email.',\n [AuthErrorCode.EMAIL_EXISTS]:\n 'The email address is already in use by another account.',\n [AuthErrorCode.EMULATOR_CONFIG_FAILED]:\n 'Auth instance has already been used to make a network call. Auth can ' +\n 'no longer be configured to use the emulator. Try calling ' +\n '\"connectAuthEmulator()\" sooner.',\n [AuthErrorCode.EXPIRED_OOB_CODE]: 'The action code has expired.',\n [AuthErrorCode.EXPIRED_POPUP_REQUEST]:\n 'This operation has been cancelled due to another conflicting popup being opened.',\n [AuthErrorCode.INTERNAL_ERROR]: 'An internal AuthError has occurred.',\n [AuthErrorCode.INVALID_APP_CREDENTIAL]:\n 'The phone verification request contains an invalid application verifier.' +\n ' The reCAPTCHA token response is either invalid or expired.',\n [AuthErrorCode.INVALID_APP_ID]:\n 'The mobile app identifier is not registed for the current project.',\n [AuthErrorCode.INVALID_AUTH]:\n \"This user's credential isn't valid for this project. This can happen \" +\n \"if the user's token has been tampered with, or if the user isn't for \" +\n 'the project associated with this API key.',\n [AuthErrorCode.INVALID_AUTH_EVENT]: 'An internal AuthError has occurred.',\n [AuthErrorCode.INVALID_CODE]:\n 'The SMS verification code used to create the phone auth credential is ' +\n 'invalid. Please resend the verification code sms and be sure to use the ' +\n 'verification code provided by the user.',\n [AuthErrorCode.INVALID_CONTINUE_URI]:\n 'The continue URL provided in the request is invalid.',\n [AuthErrorCode.INVALID_CORDOVA_CONFIGURATION]:\n 'The following Cordova plugins must be installed to enable OAuth sign-in: ' +\n 'cordova-plugin-buildinfo, cordova-universal-links-plugin, ' +\n 'cordova-plugin-browsertab, cordova-plugin-inappbrowser and ' +\n 'cordova-plugin-customurlscheme.',\n [AuthErrorCode.INVALID_CUSTOM_TOKEN]:\n 'The custom token format is incorrect. Please check the documentation.',\n [AuthErrorCode.INVALID_DYNAMIC_LINK_DOMAIN]:\n 'The provided dynamic link domain is not configured or authorized for the current project.',\n [AuthErrorCode.INVALID_EMAIL]: 'The email address is badly formatted.',\n [AuthErrorCode.INVALID_EMULATOR_SCHEME]:\n 'Emulator URL must start with a valid scheme (http:// or https://).',\n [AuthErrorCode.INVALID_API_KEY]:\n 'Your API key is invalid, please check you have copied it correctly.',\n [AuthErrorCode.INVALID_CERT_HASH]:\n 'The SHA-1 certificate hash provided is invalid.',\n [AuthErrorCode.INVALID_IDP_RESPONSE]:\n 'The supplied auth credential is malformed or has expired.',\n [AuthErrorCode.INVALID_MESSAGE_PAYLOAD]:\n 'The email template corresponding to this action contains invalid characters in its message. ' +\n 'Please fix by going to the Auth email templates section in the Firebase Console.',\n [AuthErrorCode.INVALID_MFA_SESSION]:\n 'The request does not contain a valid proof of first factor successful sign-in.',\n [AuthErrorCode.INVALID_OAUTH_PROVIDER]:\n 'EmailAuthProvider is not supported for this operation. This operation ' +\n 'only supports OAuth providers.',\n [AuthErrorCode.INVALID_OAUTH_CLIENT_ID]:\n 'The OAuth client ID provided is either invalid or does not match the ' +\n 'specified API key.',\n [AuthErrorCode.INVALID_ORIGIN]:\n 'This domain is not authorized for OAuth operations for your Firebase ' +\n 'project. Edit the list of authorized domains from the Firebase console.',\n [AuthErrorCode.INVALID_OOB_CODE]:\n 'The action code is invalid. This can happen if the code is malformed, ' +\n 'expired, or has already been used.',\n [AuthErrorCode.INVALID_PASSWORD]:\n 'The password is invalid or the user does not have a password.',\n [AuthErrorCode.INVALID_PERSISTENCE]:\n 'The specified persistence type is invalid. It can only be local, session or none.',\n [AuthErrorCode.INVALID_PHONE_NUMBER]:\n 'The format of the phone number provided is incorrect. Please enter the ' +\n 'phone number in a format that can be parsed into E.164 format. E.164 ' +\n 'phone numbers are written in the format [+][country code][subscriber ' +\n 'number including area code].',\n [AuthErrorCode.INVALID_PROVIDER_ID]:\n 'The specified provider ID is invalid.',\n [AuthErrorCode.INVALID_RECIPIENT_EMAIL]:\n 'The email corresponding to this action failed to send as the provided ' +\n 'recipient email address is invalid.',\n [AuthErrorCode.INVALID_SENDER]:\n 'The email template corresponding to this action contains an invalid sender email or name. ' +\n 'Please fix by going to the Auth email templates section in the Firebase Console.',\n [AuthErrorCode.INVALID_SESSION_INFO]:\n 'The verification ID used to create the phone auth credential is invalid.',\n [AuthErrorCode.INVALID_TENANT_ID]:\n \"The Auth instance's tenant ID is invalid.\",\n [AuthErrorCode.LOGIN_BLOCKED]: \"Login blocked by user-provided method: {$originalMessage}\",\n [AuthErrorCode.MISSING_ANDROID_PACKAGE_NAME]:\n 'An Android Package Name must be provided if the Android App is required to be installed.',\n [AuthErrorCode.MISSING_AUTH_DOMAIN]:\n 'Be sure to include authDomain when calling firebase.initializeApp(), ' +\n 'by following the instructions in the Firebase console.',\n [AuthErrorCode.MISSING_APP_CREDENTIAL]:\n 'The phone verification request is missing an application verifier ' +\n 'assertion. A reCAPTCHA response token needs to be provided.',\n [AuthErrorCode.MISSING_CODE]:\n 'The phone auth credential was created with an empty SMS verification code.',\n [AuthErrorCode.MISSING_CONTINUE_URI]:\n 'A continue URL must be provided in the request.',\n [AuthErrorCode.MISSING_IFRAME_START]: 'An internal AuthError has occurred.',\n [AuthErrorCode.MISSING_IOS_BUNDLE_ID]:\n 'An iOS Bundle ID must be provided if an App Store ID is provided.',\n [AuthErrorCode.MISSING_OR_INVALID_NONCE]:\n 'The request does not contain a valid nonce. This can occur if the ' +\n 'SHA-256 hash of the provided raw nonce does not match the hashed nonce ' +\n 'in the ID token payload.',\n [AuthErrorCode.MISSING_MFA_INFO]:\n 'No second factor identifier is provided.',\n [AuthErrorCode.MISSING_MFA_SESSION]:\n 'The request is missing proof of first factor successful sign-in.',\n [AuthErrorCode.MISSING_PHONE_NUMBER]:\n 'To send verification codes, provide a phone number for the recipient.',\n [AuthErrorCode.MISSING_SESSION_INFO]:\n 'The phone auth credential was created with an empty verification ID.',\n [AuthErrorCode.MODULE_DESTROYED]:\n 'This instance of FirebaseApp has been deleted.',\n [AuthErrorCode.MFA_INFO_NOT_FOUND]:\n 'The user does not have a second factor matching the identifier provided.',\n [AuthErrorCode.MFA_REQUIRED]:\n 'Proof of ownership of a second factor is required to complete sign-in.',\n [AuthErrorCode.NEED_CONFIRMATION]:\n 'An account already exists with the same email address but different ' +\n 'sign-in credentials. Sign in using a provider associated with this ' +\n 'email address.',\n [AuthErrorCode.NETWORK_REQUEST_FAILED]:\n 'A network AuthError (such as timeout, interrupted connection or unreachable host) has occurred.',\n [AuthErrorCode.NO_AUTH_EVENT]: 'An internal AuthError has occurred.',\n [AuthErrorCode.NO_SUCH_PROVIDER]:\n 'User was not linked to an account with the given provider.',\n [AuthErrorCode.NULL_USER]:\n 'A null user object was provided as the argument for an operation which ' +\n 'requires a non-null user object.',\n [AuthErrorCode.OPERATION_NOT_ALLOWED]:\n 'The given sign-in provider is disabled for this Firebase project. ' +\n 'Enable it in the Firebase console, under the sign-in method tab of the ' +\n 'Auth section.',\n [AuthErrorCode.OPERATION_NOT_SUPPORTED]:\n 'This operation is not supported in the environment this application is ' +\n 'running on. \"location.protocol\" must be http, https or chrome-extension' +\n ' and web storage must be enabled.',\n [AuthErrorCode.POPUP_BLOCKED]:\n 'Unable to establish a connection with the popup. It may have been blocked by the browser.',\n [AuthErrorCode.POPUP_CLOSED_BY_USER]:\n 'The popup has been closed by the user before finalizing the operation.',\n [AuthErrorCode.PROVIDER_ALREADY_LINKED]:\n 'User can only be linked to one identity for the given provider.',\n [AuthErrorCode.QUOTA_EXCEEDED]:\n \"The project's quota for this operation has been exceeded.\",\n [AuthErrorCode.REDIRECT_CANCELLED_BY_USER]:\n 'The redirect operation has been cancelled by the user before finalizing.',\n [AuthErrorCode.REDIRECT_OPERATION_PENDING]:\n 'A redirect sign-in operation is already pending.',\n [AuthErrorCode.REJECTED_CREDENTIAL]:\n 'The request contains malformed or mismatching credentials.',\n [AuthErrorCode.SECOND_FACTOR_ALREADY_ENROLLED]:\n 'The second factor is already enrolled on this account.',\n [AuthErrorCode.SECOND_FACTOR_LIMIT_EXCEEDED]:\n 'The maximum allowed number of second factors on a user has been exceeded.',\n [AuthErrorCode.TENANT_ID_MISMATCH]:\n \"The provided tenant ID does not match the Auth instance's tenant ID\",\n [AuthErrorCode.TIMEOUT]: 'The operation has timed out.',\n [AuthErrorCode.TOKEN_EXPIRED]:\n \"The user's credential is no longer valid. The user must sign in again.\",\n [AuthErrorCode.TOO_MANY_ATTEMPTS_TRY_LATER]:\n 'We have blocked all requests from this device due to unusual activity. ' +\n 'Try again later.',\n [AuthErrorCode.UNAUTHORIZED_DOMAIN]:\n 'The domain of the continue URL is not whitelisted. Please whitelist ' +\n 'the domain in the Firebase console.',\n [AuthErrorCode.UNSUPPORTED_FIRST_FACTOR]:\n 'Enrolling a second factor or signing in with a multi-factor account requires sign-in with a supported first factor.',\n [AuthErrorCode.UNSUPPORTED_PERSISTENCE]:\n 'The current environment does not support the specified persistence type.',\n [AuthErrorCode.UNSUPPORTED_TENANT_OPERATION]:\n 'This operation is not supported in a multi-tenant context.',\n [AuthErrorCode.UNVERIFIED_EMAIL]:\n 'The operation requires a verified email.',\n [AuthErrorCode.USER_CANCELLED]:\n 'The user did not grant your application the permissions it requested.',\n [AuthErrorCode.USER_DELETED]:\n 'There is no user record corresponding to this identifier. The user may ' +\n 'have been deleted.',\n [AuthErrorCode.USER_DISABLED]:\n 'The user account has been disabled by an administrator.',\n [AuthErrorCode.USER_MISMATCH]:\n 'The supplied credentials do not correspond to the previously signed in user.',\n [AuthErrorCode.USER_SIGNED_OUT]: '',\n [AuthErrorCode.WEAK_PASSWORD]:\n 'The password must be 6 characters long or more.',\n [AuthErrorCode.WEB_STORAGE_UNSUPPORTED]:\n 'This browser is not supported or 3rd party cookies and data may be disabled.',\n [AuthErrorCode.ALREADY_INITIALIZED]:\n 'initializeAuth() has already been called with ' +\n 'different options. To avoid this error, call initializeAuth() with the ' +\n 'same options as when it was originally called, or call getAuth() to return the' +\n ' already initialized instance.'\n };\n}\n\nexport interface ErrorMapRetriever extends AuthErrorMap {\n (): ErrorMap;\n}\n\nfunction _prodErrorMap(): ErrorMap {\n // We will include this one message in the prod error map since by the very\n // nature of this error, developers will never be able to see the message\n // using the debugErrorMap (which is installed during auth initialization).\n return {\n [AuthErrorCode.DEPENDENT_SDK_INIT_BEFORE_AUTH]:\n 'Another Firebase SDK was initialized and is trying to use Auth before Auth is ' +\n 'initialized. Please be sure to call `initializeAuth` or `getAuth` before ' +\n 'starting any other Firebase SDK.'\n } as ErrorMap;\n}\n\n/**\n * A verbose error map with detailed descriptions for most error codes.\n *\n * See discussion at {@link AuthErrorMap}\n *\n * @public\n */\nexport const debugErrorMap: AuthErrorMap = _debugErrorMap;\n\n/**\n * A minimal error map with all verbose error messages stripped.\n *\n * See discussion at {@link AuthErrorMap}\n *\n * @public\n */\nexport const prodErrorMap: AuthErrorMap = _prodErrorMap;\n\nexport interface NamedErrorParams {\n appName: AppName;\n credential?: AuthCredential;\n email?: string;\n phoneNumber?: string;\n tenantId?: string;\n user?: User;\n _serverResponse?: object;\n}\n\n/**\n * @internal\n */\ntype GenericAuthErrorParams = {\n [key in Exclude<\n AuthErrorCode,\n | AuthErrorCode.ARGUMENT_ERROR\n | AuthErrorCode.DEPENDENT_SDK_INIT_BEFORE_AUTH\n | AuthErrorCode.INTERNAL_ERROR\n | AuthErrorCode.MFA_REQUIRED\n | AuthErrorCode.NO_AUTH_EVENT\n | AuthErrorCode.OPERATION_NOT_SUPPORTED\n >]: {\n appName?: AppName;\n email?: string;\n phoneNumber?: string;\n message?: string;\n };\n};\n\n/**\n * @internal\n */\nexport interface AuthErrorParams extends GenericAuthErrorParams {\n [AuthErrorCode.ARGUMENT_ERROR]: { appName?: AppName };\n [AuthErrorCode.DEPENDENT_SDK_INIT_BEFORE_AUTH]: { appName?: AppName };\n [AuthErrorCode.INTERNAL_ERROR]: { appName?: AppName };\n [AuthErrorCode.LOGIN_BLOCKED]: { appName?: AppName, originalMessage?: string };\n [AuthErrorCode.OPERATION_NOT_SUPPORTED]: { appName?: AppName };\n [AuthErrorCode.NO_AUTH_EVENT]: { appName?: AppName };\n [AuthErrorCode.MFA_REQUIRED]: {\n appName: AppName;\n _serverResponse: IdTokenMfaResponse;\n };\n [AuthErrorCode.INVALID_CORDOVA_CONFIGURATION]: {\n appName: AppName;\n missingPlugin?: string;\n };\n}\n\nexport const _DEFAULT_AUTH_ERROR_FACTORY = new ErrorFactory<\n AuthErrorCode,\n AuthErrorParams\n>('auth', 'Firebase', _prodErrorMap());\n\n/**\n * A map of potential `Auth` error codes, for easier comparison with errors\n * thrown by the SDK.\n *\n * @remarks\n * Note that you can't tree-shake individual keys\n * in the map, so by using the map you might substantially increase your\n * bundle size.\n *\n * @public\n */\nexport const AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY = {\n ADMIN_ONLY_OPERATION: 'auth/admin-restricted-operation',\n ARGUMENT_ERROR: 'auth/argument-error',\n APP_NOT_AUTHORIZED: 'auth/app-not-authorized',\n APP_NOT_INSTALLED: 'auth/app-not-installed',\n CAPTCHA_CHECK_FAILED: 'auth/captcha-check-failed',\n CODE_EXPIRED: 'auth/code-expired',\n CORDOVA_NOT_READY: 'auth/cordova-not-ready',\n CORS_UNSUPPORTED: 'auth/cors-unsupported',\n CREDENTIAL_ALREADY_IN_USE: 'auth/credential-already-in-use',\n CREDENTIAL_MISMATCH: 'auth/custom-token-mismatch',\n CREDENTIAL_TOO_OLD_LOGIN_AGAIN: 'auth/requires-recent-login',\n DEPENDENT_SDK_INIT_BEFORE_AUTH: 'auth/dependent-sdk-initialized-before-auth',\n DYNAMIC_LINK_NOT_ACTIVATED: 'auth/dynamic-link-not-activated',\n EMAIL_CHANGE_NEEDS_VERIFICATION: 'auth/email-change-needs-verification',\n EMAIL_EXISTS: 'auth/email-already-in-use',\n EMULATOR_CONFIG_FAILED: 'auth/emulator-config-failed',\n EXPIRED_OOB_CODE: 'auth/expired-action-code',\n EXPIRED_POPUP_REQUEST: 'auth/cancelled-popup-request',\n INTERNAL_ERROR: 'auth/internal-error',\n INVALID_API_KEY: 'auth/invalid-api-key',\n INVALID_APP_CREDENTIAL: 'auth/invalid-app-credential',\n INVALID_APP_ID: 'auth/invalid-app-id',\n INVALID_AUTH: 'auth/invalid-user-token',\n INVALID_AUTH_EVENT: 'auth/invalid-auth-event',\n INVALID_CERT_HASH: 'auth/invalid-cert-hash',\n INVALID_CODE: 'auth/invalid-verification-code',\n INVALID_CONTINUE_URI: 'auth/invalid-continue-uri',\n INVALID_CORDOVA_CONFIGURATION: 'auth/invalid-cordova-configuration',\n INVALID_CUSTOM_TOKEN: 'auth/invalid-custom-token',\n INVALID_DYNAMIC_LINK_DOMAIN: 'auth/invalid-dynamic-link-domain',\n INVALID_EMAIL: 'auth/invalid-email',\n INVALID_EMULATOR_SCHEME: 'auth/invalid-emulator-scheme',\n INVALID_IDP_RESPONSE: 'auth/invalid-credential',\n INVALID_MESSAGE_PAYLOAD: 'auth/invalid-message-payload',\n INVALID_MFA_SESSION: 'auth/invalid-multi-factor-session',\n INVALID_OAUTH_CLIENT_ID: 'auth/invalid-oauth-client-id',\n INVALID_OAUTH_PROVIDER: 'auth/invalid-oauth-provider',\n INVALID_OOB_CODE: 'auth/invalid-action-code',\n INVALID_ORIGIN: 'auth/unauthorized-domain',\n INVALID_PASSWORD: 'auth/wrong-password',\n INVALID_PERSISTENCE: 'auth/invalid-persistence-type',\n INVALID_PHONE_NUMBER: 'auth/invalid-phone-number',\n INVALID_PROVIDER_ID: 'auth/invalid-provider-id',\n INVALID_RECIPIENT_EMAIL: 'auth/invalid-recipient-email',\n INVALID_SENDER: 'auth/invalid-sender',\n INVALID_SESSION_INFO: 'auth/invalid-verification-id',\n INVALID_TENANT_ID: 'auth/invalid-tenant-id',\n MFA_INFO_NOT_FOUND: 'auth/multi-factor-info-not-found',\n MFA_REQUIRED: 'auth/multi-factor-auth-required',\n MISSING_ANDROID_PACKAGE_NAME: 'auth/missing-android-pkg-name',\n MISSING_APP_CREDENTIAL: 'auth/missing-app-credential',\n MISSING_AUTH_DOMAIN: 'auth/auth-domain-config-required',\n MISSING_CODE: 'auth/missing-verification-code',\n MISSING_CONTINUE_URI: 'auth/missing-continue-uri',\n MISSING_IFRAME_START: 'auth/missing-iframe-start',\n MISSING_IOS_BUNDLE_ID: 'auth/missing-ios-bundle-id',\n MISSING_OR_INVALID_NONCE: 'auth/missing-or-invalid-nonce',\n MISSING_MFA_INFO: 'auth/missing-multi-factor-info',\n MISSING_MFA_SESSION: 'auth/missing-multi-factor-session',\n MISSING_PHONE_NUMBER: 'auth/missing-phone-number',\n MISSING_SESSION_INFO: 'auth/missing-verification-id',\n MODULE_DESTROYED: 'auth/app-deleted',\n NEED_CONFIRMATION: 'auth/account-exists-with-different-credential',\n NETWORK_REQUEST_FAILED: 'auth/network-request-failed',\n NULL_USER: 'auth/null-user',\n NO_AUTH_EVENT: 'auth/no-auth-event',\n NO_SUCH_PROVIDER: 'auth/no-such-provider',\n OPERATION_NOT_ALLOWED: 'auth/operation-not-allowed',\n OPERATION_NOT_SUPPORTED: 'auth/operation-not-supported-in-this-environment',\n POPUP_BLOCKED: 'auth/popup-blocked',\n POPUP_CLOSED_BY_USER: 'auth/popup-closed-by-user',\n PROVIDER_ALREADY_LINKED: 'auth/provider-already-linked',\n QUOTA_EXCEEDED: 'auth/quota-exceeded',\n REDIRECT_CANCELLED_BY_USER: 'auth/redirect-cancelled-by-user',\n REDIRECT_OPERATION_PENDING: 'auth/redirect-operation-pending',\n REJECTED_CREDENTIAL: 'auth/rejected-credential',\n SECOND_FACTOR_ALREADY_ENROLLED: 'auth/second-factor-already-in-use',\n SECOND_FACTOR_LIMIT_EXCEEDED: 'auth/maximum-second-factor-count-exceeded',\n TENANT_ID_MISMATCH: 'auth/tenant-id-mismatch',\n TIMEOUT: 'auth/timeout',\n TOKEN_EXPIRED: 'auth/user-token-expired',\n TOO_MANY_ATTEMPTS_TRY_LATER: 'auth/too-many-requests',\n UNAUTHORIZED_DOMAIN: 'auth/unauthorized-continue-uri',\n UNSUPPORTED_FIRST_FACTOR: 'auth/unsupported-first-factor',\n UNSUPPORTED_PERSISTENCE: 'auth/unsupported-persistence-type',\n UNSUPPORTED_TENANT_OPERATION: 'auth/unsupported-tenant-operation',\n UNVERIFIED_EMAIL: 'auth/unverified-email',\n USER_CANCELLED: 'auth/user-cancelled',\n USER_DELETED: 'auth/user-not-found',\n USER_DISABLED: 'auth/user-disabled',\n USER_MISMATCH: 'auth/user-mismatch',\n USER_SIGNED_OUT: 'auth/user-signed-out',\n WEAK_PASSWORD: 'auth/weak-password',\n WEB_STORAGE_UNSUPPORTED: 'auth/web-storage-unsupported',\n ALREADY_INITIALIZED: 'auth/already-initialized'\n} as const;\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger, LogLevel } from '@firebase/logger';\nimport { SDK_VERSION } from '@firebase/app';\n\nexport { LogLevel };\n\nconst logClient = new Logger('@firebase/auth');\n\n// Helper methods are needed because variables can't be exported as read/write\nexport function _getLogLevel(): LogLevel {\n return logClient.logLevel;\n}\n\nexport function _setLogLevel(newLevel: LogLevel): void {\n logClient.logLevel = newLevel;\n}\n\nexport function _logDebug(msg: string, ...args: string[]): void {\n if (logClient.logLevel <= LogLevel.DEBUG) {\n logClient.debug(`Auth (${SDK_VERSION}): ${msg}`, ...args);\n }\n}\n\nexport function _logError(msg: string, ...args: string[]): void {\n if (logClient.logLevel <= LogLevel.ERROR) {\n logClient.error(`Auth (${SDK_VERSION}): ${msg}`, ...args);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Auth } from '../../model/public_types';\nimport { ErrorFactory, FirebaseError } from '@firebase/util';\nimport { AuthInternal } from '../../model/auth';\nimport {\n _DEFAULT_AUTH_ERROR_FACTORY,\n AuthErrorCode,\n AuthErrorParams,\n prodErrorMap,\n ErrorMapRetriever\n} from '../errors';\nimport { _logError } from './log';\n\ntype AuthErrorListParams = K extends keyof AuthErrorParams\n ? [AuthErrorParams[K]]\n : [];\ntype LessAppName = Omit;\n\n/**\n * Unconditionally fails, throwing a developer facing INTERNAL_ERROR\n *\n * @example\n * ```javascript\n * fail(auth, AuthErrorCode.MFA_REQUIRED); // Error: the MFA_REQUIRED error needs more params than appName\n * fail(auth, AuthErrorCode.MFA_REQUIRED, {serverResponse}); // Compiles\n * fail(AuthErrorCode.INTERNAL_ERROR); // Compiles; internal error does not need appName\n * fail(AuthErrorCode.USER_DELETED); // Error: USER_DELETED requires app name\n * fail(auth, AuthErrorCode.USER_DELETED); // Compiles; USER_DELETED _only_ needs app name\n * ```\n *\n * @param appName App name for tagging the error\n * @throws FirebaseError\n */\nexport function _fail(\n code: K,\n ...data: {} extends AuthErrorParams[K]\n ? [AuthErrorParams[K]?]\n : [AuthErrorParams[K]]\n): never;\nexport function _fail(\n auth: Auth,\n code: K,\n ...data: {} extends LessAppName ? [LessAppName?] : [LessAppName]\n): never;\nexport function _fail(\n authOrCode: Auth | K,\n ...rest: unknown[]\n): never {\n throw createErrorInternal(authOrCode, ...rest);\n}\n\nexport function _createError(\n code: K,\n ...data: {} extends AuthErrorParams[K]\n ? [AuthErrorParams[K]?]\n : [AuthErrorParams[K]]\n): FirebaseError;\nexport function _createError(\n auth: Auth,\n code: K,\n ...data: {} extends LessAppName ? [LessAppName?] : [LessAppName]\n): FirebaseError;\nexport function _createError(\n authOrCode: Auth | K,\n ...rest: unknown[]\n): FirebaseError {\n return createErrorInternal(authOrCode, ...rest);\n}\n\nexport function _errorWithCustomMessage(auth: Auth, code: AuthErrorCode, message: string): FirebaseError {\n const errorMap = {...(prodErrorMap as ErrorMapRetriever)(), [code]: message};\n const factory = new ErrorFactory(\n 'auth',\n 'Firebase',\n errorMap\n );\n return factory.create(code, {\n appName: auth.name,\n });\n}\n\nexport function _assertInstanceOf(auth: Auth, object: object, instance: unknown): void {\n const constructorInstance = (instance as { new (...args: unknown[]): unknown });\n if (!(object instanceof constructorInstance)) {\n if (constructorInstance.name !== object.constructor.name) {\n _fail(auth, AuthErrorCode.ARGUMENT_ERROR);\n }\n\n throw _errorWithCustomMessage(auth, AuthErrorCode.ARGUMENT_ERROR,\n `Type of ${object.constructor.name} does not match expected instance.` +\n `Did you pass a reference from a different Auth SDK?`);\n }\n}\n\nfunction createErrorInternal(\n authOrCode: Auth | K,\n ...rest: unknown[]\n): FirebaseError {\n if (typeof authOrCode !== 'string') {\n const code = rest[0] as K;\n const fullParams = [...rest.slice(1)] as AuthErrorListParams;\n if (fullParams[0]) {\n fullParams[0].appName = authOrCode.name;\n }\n\n return (authOrCode as AuthInternal)._errorFactory.create(\n code,\n ...fullParams\n );\n }\n\n return _DEFAULT_AUTH_ERROR_FACTORY.create(\n authOrCode,\n ...(rest as AuthErrorListParams)\n );\n}\n\nexport function _assert(\n assertion: unknown,\n code: K,\n ...data: {} extends AuthErrorParams[K]\n ? [AuthErrorParams[K]?]\n : [AuthErrorParams[K]]\n): asserts assertion;\nexport function _assert(\n assertion: unknown,\n auth: Auth,\n code: K,\n ...data: {} extends LessAppName ? [LessAppName?] : [LessAppName]\n): asserts assertion;\nexport function _assert(\n assertion: unknown,\n authOrCode: Auth | K,\n ...rest: unknown[]\n): asserts assertion {\n if (!assertion) {\n throw createErrorInternal(authOrCode, ...rest);\n }\n}\n\n// We really do want to accept literally any function type here\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype TypeExpectation = Function | string | MapType;\n\ninterface MapType extends Record {}\n\nclass Optional {\n constructor(readonly type: TypeExpectation) {}\n}\n\nexport function opt(type: TypeExpectation): Optional {\n return new Optional(type);\n}\n\n/**\n * Asserts the runtime types of arguments. The 'expected' field can be one of\n * a class, a string (representing a \"typeof\" call), or a record map of name\n * to type. Furthermore, the opt() function can be used to mark a field as\n * optional. For example:\n *\n * function foo(auth: Auth, profile: {displayName?: string}, update = false) {\n * assertTypes(arguments, [AuthImpl, {displayName: opt('string')}, opt('boolean')]);\n * }\n *\n * opt() can be used for any type:\n * function foo(auth?: Auth) {\n * assertTypes(arguments, [opt(AuthImpl)]);\n * }\n *\n * The string types can be or'd together, and you can use \"null\" as well (note\n * that typeof null === 'object'; this is an edge case). For example:\n *\n * function foo(profile: {displayName?: string | null}) {\n * assertTypes(arguments, [{displayName: opt('string|null')}]);\n * }\n *\n * @param args\n * @param expected\n */\nexport function assertTypes(\n args: Omit,\n ...expected: Array\n): void {\n if (args.length > expected.length) {\n _fail(AuthErrorCode.ARGUMENT_ERROR, {});\n }\n\n for (let i = 0; i < expected.length; i++) {\n let expect = expected[i];\n const arg = args[i];\n\n if (expect instanceof Optional) {\n // If the arg is undefined, then it matches \"optional\" and we can move to\n // the next arg\n if (typeof arg === 'undefined') {\n continue;\n }\n expect = expect.type;\n }\n\n if (typeof expect === 'string') {\n // Handle the edge case for null because typeof null === 'object'\n if (expect.includes('null') && arg === null) {\n continue;\n }\n\n const required = expect.split('|');\n _assert(required.includes(typeof arg), AuthErrorCode.ARGUMENT_ERROR, {});\n } else if (typeof expect === 'object') {\n // Recursively check record arguments\n const record = arg as Record;\n const map = expect as MapType;\n const keys = Object.keys(expect);\n\n assertTypes(\n keys.map(k => record[k]),\n ...keys.map(k => map[k])\n );\n } else {\n _assert(arg instanceof expect, AuthErrorCode.ARGUMENT_ERROR, {});\n }\n }\n}\n\n/**\n * Unconditionally fails, throwing an internal error with the given message.\n *\n * @param failure type of failure encountered\n * @throws Error\n */\nexport function debugFail(failure: string): never {\n // Log the failure in addition to throw an exception, just in case the\n // exception is swallowed.\n const message = `INTERNAL ASSERTION FAILED: ` + failure;\n _logError(message);\n\n // NOTE: We don't use FirebaseError here because these are internal failures\n // that cannot be handled by the user. (Also it would create a circular\n // dependency between the error and assert modules which doesn't work.)\n throw new Error(message);\n}\n\n/**\n * Fails if the given assertion condition is false, throwing an Error with the\n * given message if it did.\n *\n * @param assertion\n * @param message\n */\nexport function debugAssert(\n assertion: unknown,\n message: string\n): asserts assertion {\n if (!assertion) {\n debugFail(message);\n }\n}\n\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { debugAssert } from './assert';\n\n/**\n * Our API has a lot of one-off constants that are used to do things.\n * Unfortunately we can't export these as classes instantiated directly since\n * the constructor may side effect and therefore can't be proven to be safely\n * culled. Instead, we export these classes themselves as a lowerCamelCase\n * constant, and instantiate them under the hood.\n */\nexport interface SingletonInstantiator {\n new (): T;\n}\n\nconst instanceCache: Map = new Map();\n\nexport function _getInstance(cls: unknown): T {\n debugAssert(cls instanceof Function, 'Expected a class definition');\n let instance = instanceCache.get(cls) as T | undefined;\n\n if (instance) {\n debugAssert(\n instance instanceof cls,\n 'Instance stored in cache mismatched with class'\n );\n return instance;\n }\n\n instance = new (cls as SingletonInstantiator)();\n instanceCache.set(cls, instance);\n return instance;\n}\n\nexport function _clearInstanceMap(): void {\n instanceCache.clear();\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _getProvider, FirebaseApp } from '@firebase/app';\nimport { deepEqual } from '@firebase/util';\nimport { Auth, Dependencies } from '../../model/public_types';\n\nimport { AuthErrorCode } from '../errors';\nimport { PersistenceInternal } from '../persistence';\nimport { _fail } from '../util/assert';\nimport { _getInstance } from '../util/instantiator';\nimport { AuthImpl } from './auth_impl';\n\n/**\n * Initializes an {@link Auth} instance with fine-grained control over\n * {@link Dependencies}.\n *\n * @remarks\n *\n * This function allows more control over the {@link Auth} instance than\n * {@link getAuth}. `getAuth` uses platform-specific defaults to supply\n * the {@link Dependencies}. In general, `getAuth` is the easiest way to\n * initialize Auth and works for most use cases. Use `initializeAuth` if you\n * need control over which persistence layer is used, or to minimize bundle\n * size if you're not using either `signInWithPopup` or `signInWithRedirect`.\n *\n * For example, if your app only uses anonymous accounts and you only want\n * accounts saved for the current session, initialize `Auth` with:\n *\n * ```js\n * const auth = initializeAuth(app, {\n * persistence: browserSessionPersistence,\n * popupRedirectResolver: undefined,\n * });\n * ```\n *\n * @public\n */\nexport function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth {\n const provider = _getProvider(app, 'auth');\n\n if (provider.isInitialized()) {\n const auth = provider.getImmediate() as AuthImpl;\n const initialOptions = provider.getOptions() as Dependencies;\n if (deepEqual(initialOptions, deps ?? {})) {\n return auth;\n } else {\n _fail(auth, AuthErrorCode.ALREADY_INITIALIZED);\n }\n }\n\n const auth = provider.initialize({ options: deps }) as AuthImpl;\n\n return auth;\n}\n\nexport function _initializeAuthInstance(\n auth: AuthImpl,\n deps?: Dependencies\n): void {\n const persistence = deps?.persistence || [];\n const hierarchy = (\n Array.isArray(persistence) ? persistence : [persistence]\n ).map(_getInstance);\n if (deps?.errorMap) {\n auth._updateErrorMap(deps.errorMap);\n }\n\n // This promise is intended to float; auth initialization happens in the\n // background, meanwhile the auth object may be used by the app.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n auth._initializeWithPersistence(hierarchy, deps?.popupRedirectResolver);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function _getCurrentUrl(): string {\n return (typeof self !== 'undefined' && self.location?.href) || '';\n}\n\nexport function _isHttpOrHttps(): boolean {\n return _getCurrentScheme() === 'http:' || _getCurrentScheme() === 'https:';\n}\n\nexport function _getCurrentScheme(): string | null {\n return (typeof self !== 'undefined' && self.location?.protocol) || null;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isBrowserExtension } from '@firebase/util';\nimport { _isHttpOrHttps } from './location';\n\n/**\n * Determine whether the browser is working online\n */\nexport function _isOnline(): boolean {\n if (\n typeof navigator !== 'undefined' &&\n navigator &&\n 'onLine' in navigator &&\n typeof navigator.onLine === 'boolean' &&\n // Apply only for traditional web apps and Chrome extensions.\n // This is especially true for Cordova apps which have unreliable\n // navigator.onLine behavior unless cordova-plugin-network-information is\n // installed which overwrites the native navigator.onLine value and\n // defines navigator.connection.\n (_isHttpOrHttps() || isBrowserExtension() || 'connection' in navigator)\n ) {\n return navigator.onLine;\n }\n // If we can't determine the state, assume it is online.\n return true;\n}\n\nexport function _getUserLanguage(): string | null {\n if (typeof navigator === 'undefined') {\n return null;\n }\n const navigatorLanguage: NavigatorLanguage = navigator;\n return (\n // Most reliable, but only supported in Chrome/Firefox.\n (navigatorLanguage.languages && navigatorLanguage.languages[0]) ||\n // Supported in most browsers, but returns the language of the browser\n // UI, not the language set in browser settings.\n navigatorLanguage.language ||\n // Couldn't determine language.\n null\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isMobileCordova, isReactNative } from '@firebase/util';\nimport { _isOnline } from './navigator';\nimport { debugAssert } from './assert';\n\nexport const enum DelayMin {\n OFFLINE = 5000\n}\n\n/**\n * A structure to help pick between a range of long and short delay durations\n * depending on the current environment. In general, the long delay is used for\n * mobile environments whereas short delays are used for desktop environments.\n */\nexport class Delay {\n // The default value for the offline delay timeout in ms.\n\n private readonly isMobile: boolean;\n constructor(\n private readonly shortDelay: number,\n private readonly longDelay: number\n ) {\n // Internal error when improperly initialized.\n debugAssert(\n longDelay > shortDelay,\n 'Short delay should be less than long delay!'\n );\n this.isMobile = isMobileCordova() || isReactNative();\n }\n\n get(): number {\n if (!_isOnline()) {\n // Pick the shorter timeout.\n return Math.min(DelayMin.OFFLINE, this.shortDelay);\n }\n // If running in a mobile environment, return the long delay, otherwise\n // return the short delay.\n // This could be improved in the future to dynamically change based on other\n // variables instead of just reading the current environment.\n return this.isMobile ? this.longDelay : this.shortDelay;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ConfigInternal } from '../../model/auth';\nimport { debugAssert } from './assert';\n\nexport function _emulatorUrl(config: ConfigInternal, path?: string): string {\n debugAssert(config.emulator, 'Emulator should always be set here');\n const { url } = config.emulator;\n\n if (!path) {\n return url;\n }\n\n return `${url}${path.startsWith('/') ? path.slice(1) : path}`;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { debugFail } from './assert';\n\nexport class FetchProvider {\n private static fetchImpl: typeof fetch | null;\n private static headersImpl: typeof Headers | null;\n private static responseImpl: typeof Response | null;\n\n static initialize(\n fetchImpl: typeof fetch,\n headersImpl?: typeof Headers,\n responseImpl?: typeof Response\n ): void {\n this.fetchImpl = fetchImpl;\n if (headersImpl) {\n this.headersImpl = headersImpl;\n }\n if (responseImpl) {\n this.responseImpl = responseImpl;\n }\n }\n\n static fetch(): typeof fetch {\n if (this.fetchImpl) {\n return this.fetchImpl;\n }\n if (typeof self !== 'undefined' && 'fetch' in self) {\n return self.fetch;\n }\n debugFail(\n 'Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill'\n );\n }\n\n static headers(): typeof Headers {\n if (this.headersImpl) {\n return this.headersImpl;\n }\n if (typeof self !== 'undefined' && 'Headers' in self) {\n return self.Headers;\n }\n debugFail(\n 'Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill'\n );\n }\n\n static response(): typeof Response {\n if (this.responseImpl) {\n return this.responseImpl;\n }\n if (typeof self !== 'undefined' && 'Response' in self) {\n return self.Response;\n }\n debugFail(\n 'Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill'\n );\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthErrorCode } from '../core/errors';\n\n/**\n * Errors that can be returned by the backend\n */\nexport const enum ServerError {\n ADMIN_ONLY_OPERATION = 'ADMIN_ONLY_OPERATION',\n BLOCKING_FUNCTION_ERROR_RESPONSE = 'BLOCKING_FUNCTION_ERROR_RESPONSE',\n CAPTCHA_CHECK_FAILED = 'CAPTCHA_CHECK_FAILED',\n CORS_UNSUPPORTED = 'CORS_UNSUPPORTED',\n CREDENTIAL_MISMATCH = 'CREDENTIAL_MISMATCH',\n CREDENTIAL_TOO_OLD_LOGIN_AGAIN = 'CREDENTIAL_TOO_OLD_LOGIN_AGAIN',\n DYNAMIC_LINK_NOT_ACTIVATED = 'DYNAMIC_LINK_NOT_ACTIVATED',\n EMAIL_CHANGE_NEEDS_VERIFICATION = 'EMAIL_CHANGE_NEEDS_VERIFICATION',\n EMAIL_EXISTS = 'EMAIL_EXISTS',\n EMAIL_NOT_FOUND = 'EMAIL_NOT_FOUND',\n EXPIRED_OOB_CODE = 'EXPIRED_OOB_CODE',\n FEDERATED_USER_ID_ALREADY_LINKED = 'FEDERATED_USER_ID_ALREADY_LINKED',\n INVALID_APP_CREDENTIAL = 'INVALID_APP_CREDENTIAL',\n INVALID_APP_ID = 'INVALID_APP_ID',\n INVALID_CERT_HASH = 'INVALID_CERT_HASH',\n INVALID_CODE = 'INVALID_CODE',\n INVALID_CONTINUE_URI = 'INVALID_CONTINUE_URI',\n INVALID_CUSTOM_TOKEN = 'INVALID_CUSTOM_TOKEN',\n INVALID_DYNAMIC_LINK_DOMAIN = 'INVALID_DYNAMIC_LINK_DOMAIN',\n INVALID_EMAIL = 'INVALID_EMAIL',\n INVALID_ID_TOKEN = 'INVALID_ID_TOKEN',\n INVALID_IDP_RESPONSE = 'INVALID_IDP_RESPONSE',\n INVALID_IDENTIFIER = 'INVALID_IDENTIFIER',\n INVALID_MESSAGE_PAYLOAD = 'INVALID_MESSAGE_PAYLOAD',\n INVALID_MFA_PENDING_CREDENTIAL = 'INVALID_MFA_PENDING_CREDENTIAL',\n INVALID_OAUTH_CLIENT_ID = 'INVALID_OAUTH_CLIENT_ID',\n INVALID_OOB_CODE = 'INVALID_OOB_CODE',\n INVALID_PASSWORD = 'INVALID_PASSWORD',\n INVALID_PENDING_TOKEN = 'INVALID_PENDING_TOKEN',\n INVALID_PHONE_NUMBER = 'INVALID_PHONE_NUMBER',\n INVALID_PROVIDER_ID = 'INVALID_PROVIDER_ID',\n INVALID_RECIPIENT_EMAIL = 'INVALID_RECIPIENT_EMAIL',\n INVALID_SENDER = 'INVALID_SENDER',\n INVALID_SESSION_INFO = 'INVALID_SESSION_INFO',\n INVALID_TEMPORARY_PROOF = 'INVALID_TEMPORARY_PROOF',\n INVALID_TENANT_ID = 'INVALID_TENANT_ID',\n MFA_ENROLLMENT_NOT_FOUND = 'MFA_ENROLLMENT_NOT_FOUND',\n MISSING_ANDROID_PACKAGE_NAME = 'MISSING_ANDROID_PACKAGE_NAME',\n MISSING_APP_CREDENTIAL = 'MISSING_APP_CREDENTIAL',\n MISSING_CODE = 'MISSING_CODE',\n MISSING_CONTINUE_URI = 'MISSING_CONTINUE_URI',\n MISSING_CUSTOM_TOKEN = 'MISSING_CUSTOM_TOKEN',\n MISSING_IOS_BUNDLE_ID = 'MISSING_IOS_BUNDLE_ID',\n MISSING_MFA_ENROLLMENT_ID = 'MISSING_MFA_ENROLLMENT_ID',\n MISSING_MFA_PENDING_CREDENTIAL = 'MISSING_MFA_PENDING_CREDENTIAL',\n MISSING_OOB_CODE = 'MISSING_OOB_CODE',\n MISSING_OR_INVALID_NONCE = 'MISSING_OR_INVALID_NONCE',\n MISSING_PASSWORD = 'MISSING_PASSWORD',\n MISSING_REQ_TYPE = 'MISSING_REQ_TYPE',\n MISSING_PHONE_NUMBER = 'MISSING_PHONE_NUMBER',\n MISSING_SESSION_INFO = 'MISSING_SESSION_INFO',\n OPERATION_NOT_ALLOWED = 'OPERATION_NOT_ALLOWED',\n PASSWORD_LOGIN_DISABLED = 'PASSWORD_LOGIN_DISABLED',\n QUOTA_EXCEEDED = 'QUOTA_EXCEEDED',\n RESET_PASSWORD_EXCEED_LIMIT = 'RESET_PASSWORD_EXCEED_LIMIT',\n REJECTED_CREDENTIAL = 'REJECTED_CREDENTIAL',\n SECOND_FACTOR_EXISTS = 'SECOND_FACTOR_EXISTS',\n SECOND_FACTOR_LIMIT_EXCEEDED = 'SECOND_FACTOR_LIMIT_EXCEEDED',\n SESSION_EXPIRED = 'SESSION_EXPIRED',\n TENANT_ID_MISMATCH = 'TENANT_ID_MISMATCH',\n TOKEN_EXPIRED = 'TOKEN_EXPIRED',\n TOO_MANY_ATTEMPTS_TRY_LATER = 'TOO_MANY_ATTEMPTS_TRY_LATER',\n UNSUPPORTED_FIRST_FACTOR = 'UNSUPPORTED_FIRST_FACTOR',\n UNSUPPORTED_TENANT_OPERATION = 'UNSUPPORTED_TENANT_OPERATION',\n UNAUTHORIZED_DOMAIN = 'UNAUTHORIZED_DOMAIN',\n UNVERIFIED_EMAIL = 'UNVERIFIED_EMAIL',\n USER_CANCELLED = 'USER_CANCELLED',\n USER_DISABLED = 'USER_DISABLED',\n USER_NOT_FOUND = 'USER_NOT_FOUND',\n WEAK_PASSWORD = 'WEAK_PASSWORD'\n}\n\n/**\n * API Response in the event of an error\n */\nexport interface JsonError {\n error: {\n code: number;\n message: string;\n errors?: [\n {\n message: ServerError;\n domain: string;\n reason: string;\n }\n ];\n };\n}\n\n/**\n * Type definition for a map from server errors to developer visible errors\n */\nexport declare type ServerErrorMap = {\n readonly [K in ApiError]: AuthErrorCode;\n};\n\n/**\n * Map from errors returned by the server to errors to developer visible errors\n */\nexport const SERVER_ERROR_MAP: Partial> = {\n // Custom token errors.\n [ServerError.CREDENTIAL_MISMATCH]: AuthErrorCode.CREDENTIAL_MISMATCH,\n // This can only happen if the SDK sends a bad request.\n [ServerError.MISSING_CUSTOM_TOKEN]: AuthErrorCode.INTERNAL_ERROR,\n\n // Create Auth URI errors.\n [ServerError.INVALID_IDENTIFIER]: AuthErrorCode.INVALID_EMAIL,\n // This can only happen if the SDK sends a bad request.\n [ServerError.MISSING_CONTINUE_URI]: AuthErrorCode.INTERNAL_ERROR,\n\n // Sign in with email and password errors (some apply to sign up too).\n [ServerError.INVALID_PASSWORD]: AuthErrorCode.INVALID_PASSWORD,\n // This can only happen if the SDK sends a bad request.\n [ServerError.MISSING_PASSWORD]: AuthErrorCode.INTERNAL_ERROR,\n\n // Sign up with email and password errors.\n [ServerError.EMAIL_EXISTS]: AuthErrorCode.EMAIL_EXISTS,\n [ServerError.PASSWORD_LOGIN_DISABLED]: AuthErrorCode.OPERATION_NOT_ALLOWED,\n\n // Verify assertion for sign in with credential errors:\n [ServerError.INVALID_IDP_RESPONSE]: AuthErrorCode.INVALID_IDP_RESPONSE,\n [ServerError.INVALID_PENDING_TOKEN]: AuthErrorCode.INVALID_IDP_RESPONSE,\n [ServerError.FEDERATED_USER_ID_ALREADY_LINKED]:\n AuthErrorCode.CREDENTIAL_ALREADY_IN_USE,\n\n // This can only happen if the SDK sends a bad request.\n [ServerError.MISSING_REQ_TYPE]: AuthErrorCode.INTERNAL_ERROR,\n\n // Send Password reset email errors:\n [ServerError.EMAIL_NOT_FOUND]: AuthErrorCode.USER_DELETED,\n [ServerError.RESET_PASSWORD_EXCEED_LIMIT]:\n AuthErrorCode.TOO_MANY_ATTEMPTS_TRY_LATER,\n\n [ServerError.EXPIRED_OOB_CODE]: AuthErrorCode.EXPIRED_OOB_CODE,\n [ServerError.INVALID_OOB_CODE]: AuthErrorCode.INVALID_OOB_CODE,\n // This can only happen if the SDK sends a bad request.\n [ServerError.MISSING_OOB_CODE]: AuthErrorCode.INTERNAL_ERROR,\n\n // Operations that require ID token in request:\n [ServerError.CREDENTIAL_TOO_OLD_LOGIN_AGAIN]:\n AuthErrorCode.CREDENTIAL_TOO_OLD_LOGIN_AGAIN,\n [ServerError.INVALID_ID_TOKEN]: AuthErrorCode.INVALID_AUTH,\n [ServerError.TOKEN_EXPIRED]: AuthErrorCode.TOKEN_EXPIRED,\n [ServerError.USER_NOT_FOUND]: AuthErrorCode.TOKEN_EXPIRED,\n\n // Other errors.\n [ServerError.TOO_MANY_ATTEMPTS_TRY_LATER]:\n AuthErrorCode.TOO_MANY_ATTEMPTS_TRY_LATER,\n\n // Phone Auth related errors.\n [ServerError.INVALID_CODE]: AuthErrorCode.INVALID_CODE,\n [ServerError.INVALID_SESSION_INFO]: AuthErrorCode.INVALID_SESSION_INFO,\n [ServerError.INVALID_TEMPORARY_PROOF]: AuthErrorCode.INVALID_IDP_RESPONSE,\n [ServerError.MISSING_SESSION_INFO]: AuthErrorCode.MISSING_SESSION_INFO,\n [ServerError.SESSION_EXPIRED]: AuthErrorCode.CODE_EXPIRED,\n\n // Other action code errors when additional settings passed.\n // MISSING_CONTINUE_URI is getting mapped to INTERNAL_ERROR above.\n // This is OK as this error will be caught by client side validation.\n [ServerError.MISSING_ANDROID_PACKAGE_NAME]:\n AuthErrorCode.MISSING_ANDROID_PACKAGE_NAME,\n [ServerError.UNAUTHORIZED_DOMAIN]: AuthErrorCode.UNAUTHORIZED_DOMAIN,\n\n // getProjectConfig errors when clientId is passed.\n [ServerError.INVALID_OAUTH_CLIENT_ID]: AuthErrorCode.INVALID_OAUTH_CLIENT_ID,\n\n // User actions (sign-up or deletion) disabled errors.\n [ServerError.ADMIN_ONLY_OPERATION]: AuthErrorCode.ADMIN_ONLY_OPERATION,\n\n // Multi factor related errors.\n [ServerError.INVALID_MFA_PENDING_CREDENTIAL]:\n AuthErrorCode.INVALID_MFA_SESSION,\n [ServerError.MFA_ENROLLMENT_NOT_FOUND]: AuthErrorCode.MFA_INFO_NOT_FOUND,\n [ServerError.MISSING_MFA_ENROLLMENT_ID]: AuthErrorCode.MISSING_MFA_INFO,\n [ServerError.MISSING_MFA_PENDING_CREDENTIAL]:\n AuthErrorCode.MISSING_MFA_SESSION,\n [ServerError.SECOND_FACTOR_EXISTS]:\n AuthErrorCode.SECOND_FACTOR_ALREADY_ENROLLED,\n [ServerError.SECOND_FACTOR_LIMIT_EXCEEDED]:\n AuthErrorCode.SECOND_FACTOR_LIMIT_EXCEEDED,\n\n // Blocking functions related errors.\n [ServerError.BLOCKING_FUNCTION_ERROR_RESPONSE]: AuthErrorCode.INTERNAL_ERROR,\n};\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError, querystring } from '@firebase/util';\n\nimport { AuthErrorCode, NamedErrorParams } from '../core/errors';\nimport { _createError, _errorWithCustomMessage, _fail } from '../core/util/assert';\nimport { Delay } from '../core/util/delay';\nimport { _emulatorUrl } from '../core/util/emulator';\nimport { FetchProvider } from '../core/util/fetch_provider';\nimport { Auth } from '../model/public_types';\nimport { AuthInternal, ConfigInternal } from '../model/auth';\nimport { IdTokenResponse, TaggedWithTokenResponse } from '../model/id_token';\nimport { IdTokenMfaResponse } from './authentication/mfa';\nimport { SERVER_ERROR_MAP, ServerError, ServerErrorMap } from './errors';\n\nexport const enum HttpMethod {\n POST = 'POST',\n GET = 'GET'\n}\n\nexport const enum HttpHeader {\n CONTENT_TYPE = 'Content-Type',\n X_FIREBASE_LOCALE = 'X-Firebase-Locale',\n X_CLIENT_VERSION = 'X-Client-Version',\n X_FIREBASE_GMPID = 'X-Firebase-gmpid',\n X_FIREBASE_CLIENT = 'X-Firebase-Client',\n}\n\nexport const enum Endpoint {\n CREATE_AUTH_URI = '/v1/accounts:createAuthUri',\n DELETE_ACCOUNT = '/v1/accounts:delete',\n RESET_PASSWORD = '/v1/accounts:resetPassword',\n SIGN_UP = '/v1/accounts:signUp',\n SIGN_IN_WITH_CUSTOM_TOKEN = '/v1/accounts:signInWithCustomToken',\n SIGN_IN_WITH_EMAIL_LINK = '/v1/accounts:signInWithEmailLink',\n SIGN_IN_WITH_IDP = '/v1/accounts:signInWithIdp',\n SIGN_IN_WITH_PASSWORD = '/v1/accounts:signInWithPassword',\n SIGN_IN_WITH_PHONE_NUMBER = '/v1/accounts:signInWithPhoneNumber',\n SEND_VERIFICATION_CODE = '/v1/accounts:sendVerificationCode',\n SEND_OOB_CODE = '/v1/accounts:sendOobCode',\n SET_ACCOUNT_INFO = '/v1/accounts:update',\n GET_ACCOUNT_INFO = '/v1/accounts:lookup',\n GET_RECAPTCHA_PARAM = '/v1/recaptchaParams',\n START_PHONE_MFA_ENROLLMENT = '/v2/accounts/mfaEnrollment:start',\n FINALIZE_PHONE_MFA_ENROLLMENT = '/v2/accounts/mfaEnrollment:finalize',\n START_PHONE_MFA_SIGN_IN = '/v2/accounts/mfaSignIn:start',\n FINALIZE_PHONE_MFA_SIGN_IN = '/v2/accounts/mfaSignIn:finalize',\n WITHDRAW_MFA = '/v2/accounts/mfaEnrollment:withdraw',\n GET_PROJECT_CONFIG = '/v1/projects'\n}\n\nexport const DEFAULT_API_TIMEOUT_MS = new Delay(30_000, 60_000);\n\nexport function _addTidIfNecessary(\n auth: Auth,\n request: T\n): T {\n if (auth.tenantId && !request.tenantId) {\n return {\n ...request,\n tenantId: auth.tenantId\n };\n }\n return request;\n}\n\nexport async function _performApiRequest(\n auth: Auth,\n method: HttpMethod,\n path: Endpoint,\n request?: T,\n customErrorMap: Partial> = {}\n): Promise {\n return _performFetchWithErrorHandling(auth, customErrorMap, async () => {\n let body = {};\n let params = {};\n if (request) {\n if (method === HttpMethod.GET) {\n params = request;\n } else {\n body = {\n body: JSON.stringify(request)\n };\n }\n }\n\n const query = querystring({\n key: auth.config.apiKey,\n ...params\n }).slice(1);\n\n const headers = await (auth as AuthInternal)._getAdditionalHeaders();\n headers[HttpHeader.CONTENT_TYPE] = 'application/json';\n\n if (auth.languageCode) {\n headers[HttpHeader.X_FIREBASE_LOCALE] = auth.languageCode;\n }\n\n return FetchProvider.fetch()(\n _getFinalTarget(auth, auth.config.apiHost, path, query),\n {\n method,\n headers,\n referrerPolicy: 'no-referrer',\n ...body\n }\n );\n });\n}\n\nexport async function _performFetchWithErrorHandling(\n auth: Auth,\n customErrorMap: Partial>,\n fetchFn: () => Promise\n): Promise {\n (auth as AuthInternal)._canInitEmulator = false;\n const errorMap = { ...SERVER_ERROR_MAP, ...customErrorMap };\n try {\n const networkTimeout = new NetworkTimeout(auth);\n const response: Response = await Promise.race>([\n fetchFn(),\n networkTimeout.promise\n ]);\n\n // If we've reached this point, the fetch succeeded and the networkTimeout\n // didn't throw; clear the network timeout delay so that Node won't hang\n networkTimeout.clearNetworkTimeout();\n\n const json = await response.json();\n if ('needConfirmation' in json) {\n throw _makeTaggedError(auth, AuthErrorCode.NEED_CONFIRMATION, json);\n }\n\n if (response.ok && !('errorMessage' in json)) {\n return json;\n } else {\n const errorMessage = response.ok ? json.errorMessage : json.error.message;\n const [serverErrorCode, serverErrorMessage] = errorMessage.split(' : ');\n if (serverErrorCode === ServerError.FEDERATED_USER_ID_ALREADY_LINKED) {\n throw _makeTaggedError(\n auth,\n AuthErrorCode.CREDENTIAL_ALREADY_IN_USE,\n json\n );\n } else if (serverErrorCode === ServerError.EMAIL_EXISTS) {\n throw _makeTaggedError(auth, AuthErrorCode.EMAIL_EXISTS, json);\n } else if (serverErrorCode === ServerError.USER_DISABLED) {\n throw _makeTaggedError(auth, AuthErrorCode.USER_DISABLED, json);\n }\n const authError =\n errorMap[serverErrorCode as ServerError] ||\n ((serverErrorCode\n .toLowerCase()\n .replace(/[_\\s]+/g, '-') as unknown) as AuthErrorCode);\n if (serverErrorMessage) {\n throw _errorWithCustomMessage(auth, authError, serverErrorMessage);\n } else {\n _fail(auth, authError);\n }\n }\n } catch (e) {\n if (e instanceof FirebaseError) {\n throw e;\n }\n _fail(auth, AuthErrorCode.NETWORK_REQUEST_FAILED);\n }\n}\n\nexport async function _performSignInRequest(\n auth: Auth,\n method: HttpMethod,\n path: Endpoint,\n request?: T,\n customErrorMap: Partial> = {}\n): Promise {\n const serverResponse = (await _performApiRequest(\n auth,\n method,\n path,\n request,\n customErrorMap\n )) as V;\n if ('mfaPendingCredential' in serverResponse) {\n _fail(auth, AuthErrorCode.MFA_REQUIRED, {\n _serverResponse: serverResponse\n });\n }\n\n return serverResponse;\n}\n\nexport function _getFinalTarget(\n auth: Auth,\n host: string,\n path: string,\n query: string\n): string {\n const base = `${host}${path}?${query}`;\n\n if (!(auth as AuthInternal).config.emulator) {\n return `${auth.config.apiScheme}://${base}`;\n }\n\n return _emulatorUrl(auth.config as ConfigInternal, base);\n}\n\nclass NetworkTimeout {\n // Node timers and browser timers are fundamentally incompatible, but we\n // don't care about the value here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private timer: any | null = null;\n readonly promise = new Promise((_, reject) => {\n this.timer = setTimeout(() => {\n return reject(_createError(this.auth, AuthErrorCode.NETWORK_REQUEST_FAILED));\n }, DEFAULT_API_TIMEOUT_MS.get());\n });\n\n clearNetworkTimeout(): void {\n clearTimeout(this.timer);\n }\n\n constructor(private readonly auth: Auth) {}\n}\n\ninterface PotentialResponse extends IdTokenResponse {\n email?: string;\n phoneNumber?: string;\n}\n\nexport function _makeTaggedError(\n auth: Auth,\n code: AuthErrorCode,\n response: PotentialResponse\n): FirebaseError {\n const errorParams: NamedErrorParams = {\n appName: auth.name\n };\n\n if (response.email) {\n errorParams.email = response.email;\n }\n if (response.phoneNumber) {\n errorParams.phoneNumber = response.phoneNumber;\n }\n\n const error = _createError(auth, code, errorParams);\n\n // We know customData is defined on error because errorParams is defined\n (error.customData! as TaggedWithTokenResponse)._tokenResponse = response;\n return error;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Endpoint, HttpMethod, _performApiRequest } from '../index';\nimport { MfaEnrollment } from './mfa';\nimport { Auth } from '../../model/public_types';\n\nexport interface DeleteAccountRequest {\n idToken: string;\n}\n\nexport async function deleteAccount(\n auth: Auth,\n request: DeleteAccountRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.DELETE_ACCOUNT,\n request\n );\n}\n\nexport interface ProviderUserInfo {\n providerId: string;\n rawId?: string;\n email?: string;\n displayName?: string;\n photoUrl?: string;\n phoneNumber?: string;\n}\n\nexport interface DeleteLinkedAccountsRequest {\n idToken: string;\n deleteProvider: string[];\n}\n\nexport interface DeleteLinkedAccountsResponse {\n providerUserInfo: ProviderUserInfo[];\n}\n\nexport async function deleteLinkedAccounts(\n auth: Auth,\n request: DeleteLinkedAccountsRequest\n): Promise {\n return _performApiRequest<\n DeleteLinkedAccountsRequest,\n DeleteLinkedAccountsResponse\n >(auth, HttpMethod.POST, Endpoint.SET_ACCOUNT_INFO, request);\n}\n\nexport interface APIUserInfo {\n localId?: string;\n displayName?: string;\n photoUrl?: string;\n email?: string;\n emailVerified?: boolean;\n phoneNumber?: string;\n lastLoginAt?: number;\n createdAt?: number;\n tenantId?: string;\n passwordHash?: string;\n providerUserInfo?: ProviderUserInfo[];\n mfaInfo?: MfaEnrollment[];\n}\n\nexport interface GetAccountInfoRequest {\n idToken: string;\n}\n\nexport interface GetAccountInfoResponse {\n users: APIUserInfo[];\n}\n\nexport async function getAccountInfo(\n auth: Auth,\n request: GetAccountInfoRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.GET_ACCOUNT_INFO,\n request\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function utcTimestampToDateString(\n utcTimestamp?: string | number\n): string | undefined {\n if (!utcTimestamp) {\n return undefined;\n }\n try {\n // Convert to date object.\n const date = new Date(Number(utcTimestamp));\n // Test date is valid.\n if (!isNaN(date.getTime())) {\n // Convert to UTC date string.\n return date.toUTCString();\n }\n } catch (e) {\n // Do nothing. undefined will be returned.\n }\n return undefined;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IdTokenResult, ParsedToken, User } from '../../model/public_types';\nimport { base64Decode, getModularInstance } from '@firebase/util';\n\nimport { UserInternal } from '../../model/user';\nimport { _assert } from '../util/assert';\nimport { _logError } from '../util/log';\nimport { utcTimestampToDateString } from '../util/time';\nimport { AuthErrorCode } from '../errors';\n\n/**\n * Returns a JSON Web Token (JWT) used to identify the user to a Firebase service.\n *\n * @remarks\n * Returns the current token if it has not expired or if it will not expire in the next five\n * minutes. Otherwise, this will refresh the token and return a new one.\n *\n * @param user - The user.\n * @param forceRefresh - Force refresh regardless of token expiration.\n *\n * @public\n */\nexport function getIdToken(user: User, forceRefresh = false): Promise {\n return getModularInstance(user).getIdToken(forceRefresh);\n}\n\n/**\n * Returns a deserialized JSON Web Token (JWT) used to identitfy the user to a Firebase service.\n *\n * @remarks\n * Returns the current token if it has not expired or if it will not expire in the next five\n * minutes. Otherwise, this will refresh the token and return a new one.\n *\n * @param user - The user.\n * @param forceRefresh - Force refresh regardless of token expiration.\n *\n * @public\n */\nexport async function getIdTokenResult(\n user: User,\n forceRefresh = false\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n const token = await userInternal.getIdToken(forceRefresh);\n const claims = _parseToken(token);\n\n _assert(\n claims && claims.exp && claims.auth_time && claims.iat,\n userInternal.auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n const firebase =\n typeof claims.firebase === 'object' ? claims.firebase : undefined;\n\n const signInProvider: string | undefined = firebase?.['sign_in_provider'];\n\n return {\n claims,\n token,\n authTime: utcTimestampToDateString(\n secondsStringToMilliseconds(claims.auth_time)\n )!,\n issuedAtTime: utcTimestampToDateString(\n secondsStringToMilliseconds(claims.iat)\n )!,\n expirationTime: utcTimestampToDateString(\n secondsStringToMilliseconds(claims.exp)\n )!,\n signInProvider: signInProvider || null,\n signInSecondFactor: firebase?.['sign_in_second_factor'] || null\n };\n}\n\nfunction secondsStringToMilliseconds(seconds: string): number {\n return Number(seconds) * 1000;\n}\n\nexport function _parseToken(token: string): ParsedToken | null {\n const [algorithm, payload, signature] = token.split('.');\n if (\n algorithm === undefined ||\n payload === undefined ||\n signature === undefined\n ) {\n _logError('JWT malformed, contained fewer than 3 sections');\n return null;\n }\n\n try {\n const decoded = base64Decode(payload);\n if (!decoded) {\n _logError('Failed to decode base64 JWT payload');\n return null;\n }\n return JSON.parse(decoded);\n } catch (e) {\n _logError('Caught error parsing JWT payload as JSON', (e as Error)?.toString());\n return null;\n }\n}\n\n/**\n * Extract expiresIn TTL from a token by subtracting the expiration from the issuance.\n */\nexport function _tokenExpiresIn(token: string): number {\n const parsedToken = _parseToken(token);\n _assert(parsedToken, AuthErrorCode.INTERNAL_ERROR);\n _assert(typeof parsedToken.exp !== 'undefined', AuthErrorCode.INTERNAL_ERROR);\n _assert(typeof parsedToken.iat !== 'undefined', AuthErrorCode.INTERNAL_ERROR);\n return Number(parsedToken.exp) - Number(parsedToken.iat);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError } from '@firebase/util';\n\nimport { UserInternal } from '../../model/user';\nimport { AuthErrorCode } from '../errors';\n\nexport async function _logoutIfInvalidated(\n user: UserInternal,\n promise: Promise,\n bypassAuthState = false\n): Promise {\n if (bypassAuthState) {\n return promise;\n }\n try {\n return await promise;\n } catch (e) {\n if (e instanceof FirebaseError && isUserInvalidated(e)) {\n if (user.auth.currentUser === user) {\n await user.auth.signOut();\n }\n }\n\n throw e;\n }\n}\n\nfunction isUserInvalidated({ code }: FirebaseError): boolean {\n return (\n code === `auth/${AuthErrorCode.USER_DISABLED}` ||\n code === `auth/${AuthErrorCode.TOKEN_EXPIRED}`\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError } from '@firebase/util';\nimport { UserInternal } from '../../model/user';\nimport { AuthErrorCode } from '../errors';\n\n// Refresh the token five minutes before expiration\nexport const enum Duration {\n OFFSET = 5 * 1000 * 60,\n RETRY_BACKOFF_MIN = 30 * 1000,\n RETRY_BACKOFF_MAX = 16 * 60 * 1000\n}\n\nexport class ProactiveRefresh {\n private isRunning = false;\n\n // Node timers and browser timers return fundamentally different types.\n // We don't actually care what the value is but TS won't accept unknown and\n // we can't cast properly in both environments.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private timerId: any | null = null;\n private errorBackoff = Duration.RETRY_BACKOFF_MIN;\n\n constructor(private readonly user: UserInternal) {}\n\n _start(): void {\n if (this.isRunning) {\n return;\n }\n\n this.isRunning = true;\n this.schedule();\n }\n\n _stop(): void {\n if (!this.isRunning) {\n return;\n }\n\n this.isRunning = false;\n if (this.timerId !== null) {\n clearTimeout(this.timerId);\n }\n }\n\n private getInterval(wasError: boolean): number {\n if (wasError) {\n const interval = this.errorBackoff;\n this.errorBackoff = Math.min(\n this.errorBackoff * 2,\n Duration.RETRY_BACKOFF_MAX\n );\n return interval;\n } else {\n // Reset the error backoff\n this.errorBackoff = Duration.RETRY_BACKOFF_MIN;\n const expTime = this.user.stsTokenManager.expirationTime ?? 0;\n const interval = expTime - Date.now() - Duration.OFFSET;\n\n return Math.max(0, interval);\n }\n }\n\n private schedule(wasError = false): void {\n if (!this.isRunning) {\n // Just in case...\n return;\n }\n\n const interval = this.getInterval(wasError);\n this.timerId = setTimeout(async () => {\n await this.iteration();\n }, interval);\n }\n\n private async iteration(): Promise {\n try {\n await this.user.getIdToken(true);\n } catch (e) {\n // Only retry on network errors\n if ((e as FirebaseError)?.code === `auth/${AuthErrorCode.NETWORK_REQUEST_FAILED}`) {\n this.schedule(/* wasError */ true);\n }\n\n return;\n }\n this.schedule();\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserMetadata as UserMetadataType } from '../../model/public_types';\n\nimport { utcTimestampToDateString } from '../util/time';\n\nexport class UserMetadata implements UserMetadataType {\n creationTime?: string;\n lastSignInTime?: string;\n\n constructor(\n private createdAt?: string | number,\n private lastLoginAt?: string | number\n ) {\n this._initializeTime();\n }\n\n private _initializeTime(): void {\n this.lastSignInTime = utcTimestampToDateString(this.lastLoginAt);\n this.creationTime = utcTimestampToDateString(this.createdAt);\n }\n\n _copy(metadata: UserMetadata): void {\n this.createdAt = metadata.createdAt;\n this.lastLoginAt = metadata.lastLoginAt;\n this._initializeTime();\n }\n\n toJSON(): object {\n return {\n createdAt: this.createdAt,\n lastLoginAt: this.lastLoginAt\n };\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { User, UserInfo } from '../../model/public_types';\n\nimport {\n getAccountInfo,\n ProviderUserInfo\n} from '../../api/account_management/account';\nimport { UserInternal } from '../../model/user';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from '../util/assert';\nimport { _logoutIfInvalidated } from './invalidation';\nimport { UserMetadata } from './user_metadata';\nimport { getModularInstance } from '@firebase/util';\n\nexport async function _reloadWithoutSaving(user: UserInternal): Promise {\n const auth = user.auth;\n const idToken = await user.getIdToken();\n const response = await _logoutIfInvalidated(\n user,\n getAccountInfo(auth, { idToken })\n );\n\n _assert(response?.users.length, auth, AuthErrorCode.INTERNAL_ERROR);\n\n const coreAccount = response.users[0];\n\n user._notifyReloadListener(coreAccount);\n\n const newProviderData = coreAccount.providerUserInfo?.length\n ? extractProviderData(coreAccount.providerUserInfo)\n : [];\n\n const providerData = mergeProviderData(user.providerData, newProviderData);\n\n // Preserves the non-nonymous status of the stored user, even if no more\n // credentials (federated or email/password) are linked to the user. If\n // the user was previously anonymous, then use provider data to update.\n // On the other hand, if it was not anonymous before, it should never be\n // considered anonymous now.\n const oldIsAnonymous = user.isAnonymous;\n const newIsAnonymous =\n !(user.email && coreAccount.passwordHash) && !providerData?.length;\n const isAnonymous = !oldIsAnonymous ? false : newIsAnonymous;\n\n const updates: Partial = {\n uid: coreAccount.localId,\n displayName: coreAccount.displayName || null,\n photoURL: coreAccount.photoUrl || null,\n email: coreAccount.email || null,\n emailVerified: coreAccount.emailVerified || false,\n phoneNumber: coreAccount.phoneNumber || null,\n tenantId: coreAccount.tenantId || null,\n providerData,\n metadata: new UserMetadata(coreAccount.createdAt, coreAccount.lastLoginAt),\n isAnonymous\n };\n\n Object.assign(user, updates);\n}\n\n/**\n * Reloads user account data, if signed in.\n *\n * @param user - The user.\n *\n * @public\n */\nexport async function reload(user: User): Promise {\n const userInternal: UserInternal = getModularInstance(user) as UserInternal;\n await _reloadWithoutSaving(userInternal);\n\n // Even though the current user hasn't changed, update\n // current user will trigger a persistence update w/ the\n // new info.\n await userInternal.auth._persistUserIfCurrent(userInternal);\n userInternal.auth._notifyListenersIfCurrent(userInternal);\n}\n\nfunction mergeProviderData(\n original: UserInfo[],\n newData: UserInfo[]\n): UserInfo[] {\n const deduped = original.filter(\n o => !newData.some(n => n.providerId === o.providerId)\n );\n return [...deduped, ...newData];\n}\n\nfunction extractProviderData(providers: ProviderUserInfo[]): UserInfo[] {\n return providers.map(({ providerId, ...provider }) => {\n return {\n providerId,\n uid: provider.rawId || '',\n displayName: provider.displayName || null,\n email: provider.email || null,\n phoneNumber: provider.phoneNumber || null,\n photoURL: provider.photoUrl || null\n };\n });\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable camelcase */\n\nimport { querystring } from '@firebase/util';\n\nimport {\n _getFinalTarget,\n _performFetchWithErrorHandling,\n HttpMethod,\n HttpHeader\n} from '../index';\nimport { FetchProvider } from '../../core/util/fetch_provider';\nimport { Auth } from '../../model/public_types';\nimport { AuthInternal } from '../../model/auth';\n\nexport const enum Endpoint {\n TOKEN = '/v1/token'\n}\n\n/** The server responses with snake_case; we convert to camelCase */\ninterface RequestStsTokenServerResponse {\n access_token: string;\n expires_in: string;\n refresh_token: string;\n}\n\nexport interface RequestStsTokenResponse {\n accessToken: string;\n expiresIn: string;\n refreshToken: string;\n}\n\nexport async function requestStsToken(\n auth: Auth,\n refreshToken: string\n): Promise {\n const response = await _performFetchWithErrorHandling(\n auth,\n {},\n async () => {\n const body = querystring({\n 'grant_type': 'refresh_token',\n 'refresh_token': refreshToken\n }).slice(1);\n const { tokenApiHost, apiKey } = auth.config;\n const url = _getFinalTarget(\n auth,\n tokenApiHost,\n Endpoint.TOKEN,\n `key=${apiKey}`\n );\n\n const headers = await (auth as AuthInternal)._getAdditionalHeaders();\n headers[HttpHeader.CONTENT_TYPE] = 'application/x-www-form-urlencoded';\n\n return FetchProvider.fetch()(url, {\n method: HttpMethod.POST,\n headers,\n body\n });\n }\n );\n\n // The response comes back in snake_case. Convert to camel:\n return {\n accessToken: response.access_token,\n expiresIn: response.expires_in,\n refreshToken: response.refresh_token\n };\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FinalizeMfaResponse } from '../../api/authentication/mfa';\nimport { requestStsToken } from '../../api/authentication/token';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { AuthErrorCode } from '../errors';\nimport { PersistedBlob } from '../persistence';\nimport { _assert, debugFail } from '../util/assert';\nimport { _tokenExpiresIn } from './id_token_result';\n\n/**\n * The number of milliseconds before the official expiration time of a token\n * to refresh that token, to provide a buffer for RPCs to complete.\n */\nexport const enum Buffer {\n TOKEN_REFRESH = 30_000\n}\n\n/**\n * We need to mark this class as internal explicitly to exclude it in the public typings, because\n * it references AuthInternal which has a circular dependency with UserInternal.\n *\n * @internal\n */\nexport class StsTokenManager {\n refreshToken: string | null = null;\n accessToken: string | null = null;\n expirationTime: number | null = null;\n\n get isExpired(): boolean {\n return (\n !this.expirationTime ||\n Date.now() > this.expirationTime - Buffer.TOKEN_REFRESH\n );\n }\n\n updateFromServerResponse(\n response: IdTokenResponse | FinalizeMfaResponse\n ): void {\n _assert(response.idToken, AuthErrorCode.INTERNAL_ERROR);\n _assert(\n typeof response.idToken !== 'undefined',\n AuthErrorCode.INTERNAL_ERROR\n );\n _assert(\n typeof response.refreshToken !== 'undefined',\n AuthErrorCode.INTERNAL_ERROR\n );\n const expiresIn =\n 'expiresIn' in response && typeof response.expiresIn !== 'undefined'\n ? Number(response.expiresIn)\n : _tokenExpiresIn(response.idToken);\n this.updateTokensAndExpiration(\n response.idToken,\n response.refreshToken,\n expiresIn\n );\n }\n\n async getToken(\n auth: AuthInternal,\n forceRefresh = false\n ): Promise {\n _assert(\n !this.accessToken || this.refreshToken,\n auth,\n AuthErrorCode.TOKEN_EXPIRED\n );\n\n if (!forceRefresh && this.accessToken && !this.isExpired) {\n return this.accessToken;\n }\n\n if (this.refreshToken) {\n await this.refresh(auth, this.refreshToken!);\n return this.accessToken;\n }\n\n return null;\n }\n\n clearRefreshToken(): void {\n this.refreshToken = null;\n }\n\n private async refresh(auth: AuthInternal, oldToken: string): Promise {\n const { accessToken, refreshToken, expiresIn } = await requestStsToken(\n auth,\n oldToken\n );\n this.updateTokensAndExpiration(\n accessToken,\n refreshToken,\n Number(expiresIn)\n );\n }\n\n private updateTokensAndExpiration(\n accessToken: string,\n refreshToken: string,\n expiresInSec: number\n ): void {\n this.refreshToken = refreshToken || null;\n this.accessToken = accessToken || null;\n this.expirationTime = Date.now() + expiresInSec * 1000;\n }\n\n static fromJSON(appName: string, object: PersistedBlob): StsTokenManager {\n const { refreshToken, accessToken, expirationTime } = object;\n\n const manager = new StsTokenManager();\n if (refreshToken) {\n _assert(typeof refreshToken === 'string', AuthErrorCode.INTERNAL_ERROR, {\n appName\n });\n manager.refreshToken = refreshToken;\n }\n if (accessToken) {\n _assert(typeof accessToken === 'string', AuthErrorCode.INTERNAL_ERROR, {\n appName\n });\n manager.accessToken = accessToken;\n }\n if (expirationTime) {\n _assert(\n typeof expirationTime === 'number',\n AuthErrorCode.INTERNAL_ERROR,\n {\n appName\n }\n );\n manager.expirationTime = expirationTime;\n }\n return manager;\n }\n\n toJSON(): object {\n return {\n refreshToken: this.refreshToken,\n accessToken: this.accessToken,\n expirationTime: this.expirationTime\n };\n }\n\n _assign(stsTokenManager: StsTokenManager): void {\n this.accessToken = stsTokenManager.accessToken;\n this.refreshToken = stsTokenManager.refreshToken;\n this.expirationTime = stsTokenManager.expirationTime;\n }\n\n _clone(): StsTokenManager {\n return Object.assign(new StsTokenManager(), this.toJSON());\n }\n\n _performRefresh(): never {\n return debugFail('not implemented');\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IdTokenResult } from '../../model/public_types';\nimport { NextFn } from '@firebase/util';\n\nimport {\n APIUserInfo,\n deleteAccount\n} from '../../api/account_management/account';\nimport { FinalizeMfaResponse } from '../../api/authentication/mfa';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport {\n MutableUserInfo,\n UserInternal,\n UserParameters\n} from '../../model/user';\nimport { AuthErrorCode } from '../errors';\nimport { PersistedBlob } from '../persistence';\nimport { _assert } from '../util/assert';\nimport { getIdTokenResult } from './id_token_result';\nimport { _logoutIfInvalidated } from './invalidation';\nimport { ProactiveRefresh } from './proactive_refresh';\nimport { _reloadWithoutSaving, reload } from './reload';\nimport { StsTokenManager } from './token_manager';\nimport { UserMetadata } from './user_metadata';\nimport { ProviderId } from '../../model/enums';\n\nfunction assertStringOrUndefined(\n assertion: unknown,\n appName: string\n): asserts assertion is string | undefined {\n _assert(\n typeof assertion === 'string' || typeof assertion === 'undefined',\n AuthErrorCode.INTERNAL_ERROR,\n { appName }\n );\n}\n\nexport class UserImpl implements UserInternal {\n // For the user object, provider is always Firebase.\n readonly providerId = ProviderId.FIREBASE;\n stsTokenManager: StsTokenManager;\n // Last known accessToken so we know when it changes\n private accessToken: string | null;\n\n uid: string;\n auth: AuthInternal;\n emailVerified: boolean;\n isAnonymous: boolean;\n tenantId: string | null;\n readonly metadata: UserMetadata;\n providerData: MutableUserInfo[];\n\n // Optional fields from UserInfo\n displayName: string | null;\n email: string | null;\n phoneNumber: string | null;\n photoURL: string | null;\n\n _redirectEventId?: string;\n private readonly proactiveRefresh = new ProactiveRefresh(this);\n\n constructor({ uid, auth, stsTokenManager, ...opt }: UserParameters) {\n this.uid = uid;\n this.auth = auth;\n this.stsTokenManager = stsTokenManager;\n this.accessToken = stsTokenManager.accessToken;\n this.displayName = opt.displayName || null;\n this.email = opt.email || null;\n this.emailVerified = opt.emailVerified || false;\n this.phoneNumber = opt.phoneNumber || null;\n this.photoURL = opt.photoURL || null;\n this.isAnonymous = opt.isAnonymous || false;\n this.tenantId = opt.tenantId || null;\n this.providerData = opt.providerData ? [...opt.providerData] : [];\n this.metadata = new UserMetadata(\n opt.createdAt || undefined,\n opt.lastLoginAt || undefined\n );\n }\n\n async getIdToken(forceRefresh?: boolean): Promise {\n const accessToken = await _logoutIfInvalidated(\n this,\n this.stsTokenManager.getToken(this.auth, forceRefresh)\n );\n _assert(accessToken, this.auth, AuthErrorCode.INTERNAL_ERROR);\n\n if (this.accessToken !== accessToken) {\n this.accessToken = accessToken;\n await this.auth._persistUserIfCurrent(this);\n this.auth._notifyListenersIfCurrent(this);\n }\n\n return accessToken;\n }\n\n getIdTokenResult(forceRefresh?: boolean): Promise {\n return getIdTokenResult(this, forceRefresh);\n }\n\n reload(): Promise {\n return reload(this);\n }\n\n private reloadUserInfo: APIUserInfo | null = null;\n private reloadListener: NextFn | null = null;\n\n _assign(user: UserInternal): void {\n if (this === user) {\n return;\n }\n _assert(this.uid === user.uid, this.auth, AuthErrorCode.INTERNAL_ERROR);\n this.displayName = user.displayName;\n this.photoURL = user.photoURL;\n this.email = user.email;\n this.emailVerified = user.emailVerified;\n this.phoneNumber = user.phoneNumber;\n this.isAnonymous = user.isAnonymous;\n this.tenantId = user.tenantId;\n this.providerData = user.providerData.map(userInfo => ({ ...userInfo }));\n this.metadata._copy(user.metadata);\n this.stsTokenManager._assign(user.stsTokenManager);\n }\n\n _clone(auth: AuthInternal): UserInternal {\n return new UserImpl({\n ...this,\n auth,\n stsTokenManager: this.stsTokenManager._clone()\n });\n }\n\n _onReload(callback: NextFn): void {\n // There should only ever be one listener, and that is a single instance of MultiFactorUser\n _assert(!this.reloadListener, this.auth, AuthErrorCode.INTERNAL_ERROR);\n this.reloadListener = callback;\n if (this.reloadUserInfo) {\n this._notifyReloadListener(this.reloadUserInfo);\n this.reloadUserInfo = null;\n }\n }\n\n _notifyReloadListener(userInfo: APIUserInfo): void {\n if (this.reloadListener) {\n this.reloadListener(userInfo);\n } else {\n // If no listener is subscribed yet, save the result so it's available when they do subscribe\n this.reloadUserInfo = userInfo;\n }\n }\n\n _startProactiveRefresh(): void {\n this.proactiveRefresh._start();\n }\n\n _stopProactiveRefresh(): void {\n this.proactiveRefresh._stop();\n }\n\n async _updateTokensIfNecessary(\n response: IdTokenResponse | FinalizeMfaResponse,\n reload = false\n ): Promise {\n let tokensRefreshed = false;\n if (\n response.idToken &&\n response.idToken !== this.stsTokenManager.accessToken\n ) {\n this.stsTokenManager.updateFromServerResponse(response);\n tokensRefreshed = true;\n }\n\n if (reload) {\n await _reloadWithoutSaving(this);\n }\n\n await this.auth._persistUserIfCurrent(this);\n if (tokensRefreshed) {\n this.auth._notifyListenersIfCurrent(this);\n }\n }\n\n async delete(): Promise {\n const idToken = await this.getIdToken();\n await _logoutIfInvalidated(this, deleteAccount(this.auth, { idToken }));\n this.stsTokenManager.clearRefreshToken();\n\n // TODO: Determine if cancellable-promises are necessary to use in this class so that delete()\n // cancels pending actions...\n\n return this.auth.signOut();\n }\n\n toJSON(): PersistedBlob {\n return {\n uid: this.uid,\n email: this.email || undefined,\n emailVerified: this.emailVerified,\n displayName: this.displayName || undefined,\n isAnonymous: this.isAnonymous,\n photoURL: this.photoURL || undefined,\n phoneNumber: this.phoneNumber || undefined,\n tenantId: this.tenantId || undefined,\n providerData: this.providerData.map(userInfo => ({ ...userInfo })),\n stsTokenManager: this.stsTokenManager.toJSON(),\n // Redirect event ID must be maintained in case there is a pending\n // redirect event.\n _redirectEventId: this._redirectEventId,\n ...this.metadata.toJSON(),\n\n // Required for compatibility with the legacy SDK (go/firebase-auth-sdk-persistence-parsing):\n apiKey: this.auth.config.apiKey,\n appName: this.auth.name\n // Missing authDomain will be tolerated by the legacy SDK.\n // stsTokenManager.apiKey isn't actually required (despite the legacy SDK persisting it).\n };\n }\n\n get refreshToken(): string {\n return this.stsTokenManager.refreshToken || '';\n }\n\n static _fromJSON(auth: AuthInternal, object: PersistedBlob): UserInternal {\n const displayName = object.displayName ?? undefined;\n const email = object.email ?? undefined;\n const phoneNumber = object.phoneNumber ?? undefined;\n const photoURL = object.photoURL ?? undefined;\n const tenantId = object.tenantId ?? undefined;\n const _redirectEventId = object._redirectEventId ?? undefined;\n const createdAt = object.createdAt ?? undefined;\n const lastLoginAt = object.lastLoginAt ?? undefined;\n const {\n uid,\n emailVerified,\n isAnonymous,\n providerData,\n stsTokenManager: plainObjectTokenManager\n } = object;\n\n _assert(uid && plainObjectTokenManager, auth, AuthErrorCode.INTERNAL_ERROR);\n\n const stsTokenManager = StsTokenManager.fromJSON(\n this.name,\n plainObjectTokenManager as PersistedBlob\n );\n\n _assert(typeof uid === 'string', auth, AuthErrorCode.INTERNAL_ERROR);\n assertStringOrUndefined(displayName, auth.name);\n assertStringOrUndefined(email, auth.name);\n _assert(\n typeof emailVerified === 'boolean',\n auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n _assert(\n typeof isAnonymous === 'boolean',\n auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n assertStringOrUndefined(phoneNumber, auth.name);\n assertStringOrUndefined(photoURL, auth.name);\n assertStringOrUndefined(tenantId, auth.name);\n assertStringOrUndefined(_redirectEventId, auth.name);\n assertStringOrUndefined(createdAt, auth.name);\n assertStringOrUndefined(lastLoginAt, auth.name);\n const user = new UserImpl({\n uid,\n auth,\n email,\n emailVerified,\n displayName,\n isAnonymous,\n photoURL,\n phoneNumber,\n tenantId,\n stsTokenManager,\n createdAt,\n lastLoginAt\n });\n\n if (providerData && Array.isArray(providerData)) {\n user.providerData = providerData.map(userInfo => ({ ...userInfo }));\n }\n\n if (_redirectEventId) {\n user._redirectEventId = _redirectEventId;\n }\n\n return user;\n }\n\n /**\n * Initialize a User from an idToken server response\n * @param auth\n * @param idTokenResponse\n */\n static async _fromIdTokenResponse(\n auth: AuthInternal,\n idTokenResponse: IdTokenResponse,\n isAnonymous: boolean = false\n ): Promise {\n const stsTokenManager = new StsTokenManager();\n stsTokenManager.updateFromServerResponse(idTokenResponse);\n\n // Initialize the Firebase Auth user.\n const user = new UserImpl({\n uid: idTokenResponse.localId,\n auth,\n stsTokenManager,\n isAnonymous\n });\n\n // Updates the user info and data and resolves with a user instance.\n await _reloadWithoutSaving(user);\n return user;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence } from '../../model/public_types';\n\nimport {\n PersistenceInternal,\n PersistenceType,\n PersistenceValue,\n StorageEventListener\n} from '../persistence';\n\nexport class InMemoryPersistence implements PersistenceInternal {\n static type: 'NONE' = 'NONE';\n readonly type = PersistenceType.NONE;\n storage: Record = {};\n\n async _isAvailable(): Promise {\n return true;\n }\n\n async _set(key: string, value: PersistenceValue): Promise {\n this.storage[key] = value;\n }\n\n async _get(key: string): Promise {\n const value = this.storage[key];\n return value === undefined ? null : (value as T);\n }\n\n async _remove(key: string): Promise {\n delete this.storage[key];\n }\n\n _addListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for in-memory storage since it cannot be shared across windows/workers\n return;\n }\n\n _removeListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for in-memory storage since it cannot be shared across windows/workers\n return;\n }\n}\n\n/**\n * An implementation of {@link Persistence} of type 'NONE'.\n *\n * @public\n */\nexport const inMemoryPersistence: Persistence = InMemoryPersistence;\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiKey, AppName, AuthInternal } from '../../model/auth';\nimport { UserInternal } from '../../model/user';\nimport { PersistedBlob, PersistenceInternal } from '../persistence';\nimport { UserImpl } from '../user/user_impl';\nimport { _getInstance } from '../util/instantiator';\nimport { inMemoryPersistence } from './in_memory';\n\nexport const enum KeyName {\n AUTH_USER = 'authUser',\n AUTH_EVENT = 'authEvent',\n REDIRECT_USER = 'redirectUser',\n PERSISTENCE_USER = 'persistence'\n}\nexport const enum Namespace {\n PERSISTENCE = 'firebase'\n}\n\nexport function _persistenceKeyName(\n key: string,\n apiKey: ApiKey,\n appName: AppName\n): string {\n return `${Namespace.PERSISTENCE}:${key}:${apiKey}:${appName}`;\n}\n\nexport class PersistenceUserManager {\n private readonly fullUserKey: string;\n private readonly fullPersistenceKey: string;\n private readonly boundEventHandler: () => void;\n\n private constructor(\n public persistence: PersistenceInternal,\n private readonly auth: AuthInternal,\n private readonly userKey: string\n ) {\n const { config, name } = this.auth;\n this.fullUserKey = _persistenceKeyName(this.userKey, config.apiKey, name);\n this.fullPersistenceKey = _persistenceKeyName(\n KeyName.PERSISTENCE_USER,\n config.apiKey,\n name\n );\n this.boundEventHandler = auth._onStorageEvent.bind(auth);\n this.persistence._addListener(this.fullUserKey, this.boundEventHandler);\n }\n\n setCurrentUser(user: UserInternal): Promise {\n return this.persistence._set(this.fullUserKey, user.toJSON());\n }\n\n async getCurrentUser(): Promise {\n const blob = await this.persistence._get(this.fullUserKey);\n return blob ? UserImpl._fromJSON(this.auth, blob) : null;\n }\n\n removeCurrentUser(): Promise {\n return this.persistence._remove(this.fullUserKey);\n }\n\n savePersistenceForRedirect(): Promise {\n return this.persistence._set(\n this.fullPersistenceKey,\n this.persistence.type\n );\n }\n\n async setPersistence(newPersistence: PersistenceInternal): Promise {\n if (this.persistence === newPersistence) {\n return;\n }\n\n const currentUser = await this.getCurrentUser();\n await this.removeCurrentUser();\n\n this.persistence = newPersistence;\n\n if (currentUser) {\n return this.setCurrentUser(currentUser);\n }\n }\n\n delete(): void {\n this.persistence._removeListener(this.fullUserKey, this.boundEventHandler);\n }\n\n static async create(\n auth: AuthInternal,\n persistenceHierarchy: PersistenceInternal[],\n userKey = KeyName.AUTH_USER\n ): Promise {\n if (!persistenceHierarchy.length) {\n return new PersistenceUserManager(\n _getInstance(inMemoryPersistence),\n auth,\n userKey\n );\n }\n\n // Eliminate any persistences that are not available\n const availablePersistences = (\n await Promise.all(\n persistenceHierarchy.map(async persistence => {\n if (await persistence._isAvailable()) {\n return persistence;\n }\n return undefined;\n })\n )\n ).filter(persistence => persistence) as PersistenceInternal[];\n\n // Fall back to the first persistence listed, or in memory if none available\n let selectedPersistence =\n availablePersistences[0] ||\n _getInstance(inMemoryPersistence);\n\n const key = _persistenceKeyName(userKey, auth.config.apiKey, auth.name);\n\n // Pull out the existing user, setting the chosen persistence to that\n // persistence if the user exists.\n let userToMigrate: UserInternal | null = null;\n // Note, here we check for a user in _all_ persistences, not just the\n // ones deemed available. If we can migrate a user out of a broken\n // persistence, we will (but only if that persistence supports migration).\n for (const persistence of persistenceHierarchy) {\n try {\n const blob = await persistence._get(key);\n if (blob) {\n const user = UserImpl._fromJSON(auth, blob); // throws for unparsable blob (wrong format)\n if (persistence !== selectedPersistence) {\n userToMigrate = user;\n }\n selectedPersistence = persistence;\n break;\n }\n } catch {}\n }\n\n // If we find the user in a persistence that does support migration, use\n // that migration path (of only persistences that support migration)\n const migrationHierarchy = availablePersistences.filter(\n p => p._shouldAllowMigration\n );\n\n // If the persistence does _not_ allow migration, just finish off here\n if (\n !selectedPersistence._shouldAllowMigration ||\n !migrationHierarchy.length\n ) {\n return new PersistenceUserManager(selectedPersistence, auth, userKey);\n }\n\n selectedPersistence = migrationHierarchy[0];\n if (userToMigrate) {\n // This normally shouldn't throw since chosenPersistence.isAvailable() is true, but if it does\n // we'll just let it bubble to surface the error.\n await selectedPersistence._set(key, userToMigrate.toJSON());\n }\n\n // Attempt to clear the key in other persistences but ignore errors. This helps prevent issues\n // such as users getting stuck with a previous account after signing out and refreshing the tab.\n await Promise.all(\n persistenceHierarchy.map(async persistence => {\n if (persistence !== selectedPersistence) {\n try {\n await persistence._remove(key);\n } catch {}\n }\n })\n );\n return new PersistenceUserManager(selectedPersistence, auth, userKey);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isIE, getUA } from '@firebase/util';\n\ninterface NavigatorStandalone extends Navigator {\n standalone?: unknown;\n}\n\ninterface Document {\n documentMode?: number;\n}\n\n/**\n * Enums for Browser name.\n */\nexport const enum BrowserName {\n ANDROID = 'Android',\n BLACKBERRY = 'Blackberry',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n IE = 'IE',\n IEMOBILE = 'IEMobile',\n OPERA = 'Opera',\n OTHER = 'Other',\n CHROME = 'Chrome',\n SAFARI = 'Safari',\n SILK = 'Silk',\n WEBOS = 'Webos'\n}\n\n/**\n * Determine the browser for the purposes of reporting usage to the API\n */\nexport function _getBrowserName(userAgent: string): BrowserName | string {\n const ua = userAgent.toLowerCase();\n if (ua.includes('opera/') || ua.includes('opr/') || ua.includes('opios/')) {\n return BrowserName.OPERA;\n } else if (_isIEMobile(ua)) {\n // Windows phone IEMobile browser.\n return BrowserName.IEMOBILE;\n } else if (ua.includes('msie') || ua.includes('trident/')) {\n return BrowserName.IE;\n } else if (ua.includes('edge/')) {\n return BrowserName.EDGE;\n } else if (_isFirefox(ua)) {\n return BrowserName.FIREFOX;\n } else if (ua.includes('silk/')) {\n return BrowserName.SILK;\n } else if (_isBlackBerry(ua)) {\n // Blackberry browser.\n return BrowserName.BLACKBERRY;\n } else if (_isWebOS(ua)) {\n // WebOS default browser.\n return BrowserName.WEBOS;\n } else if (_isSafari(ua)) {\n return BrowserName.SAFARI;\n } else if (\n (ua.includes('chrome/') || _isChromeIOS(ua)) &&\n !ua.includes('edge/')\n ) {\n return BrowserName.CHROME;\n } else if (_isAndroid(ua)) {\n // Android stock browser.\n return BrowserName.ANDROID;\n } else {\n // Most modern browsers have name/version at end of user agent string.\n const re = /([a-zA-Z\\d\\.]+)\\/[a-zA-Z\\d\\.]*$/;\n const matches = userAgent.match(re);\n if (matches?.length === 2) {\n return matches[1];\n }\n }\n return BrowserName.OTHER;\n}\n\nexport function _isFirefox(ua = getUA()): boolean {\n return /firefox\\//i.test(ua);\n}\n\nexport function _isSafari(userAgent = getUA()): boolean {\n const ua = userAgent.toLowerCase();\n return (\n ua.includes('safari/') &&\n !ua.includes('chrome/') &&\n !ua.includes('crios/') &&\n !ua.includes('android')\n );\n}\n\nexport function _isChromeIOS(ua = getUA()): boolean {\n return /crios\\//i.test(ua);\n}\n\nexport function _isIEMobile(ua = getUA()): boolean {\n return /iemobile/i.test(ua);\n}\n\nexport function _isAndroid(ua = getUA()): boolean {\n return /android/i.test(ua);\n}\n\nexport function _isBlackBerry(ua = getUA()): boolean {\n return /blackberry/i.test(ua);\n}\n\nexport function _isWebOS(ua = getUA()): boolean {\n return /webos/i.test(ua);\n}\n\nexport function _isIOS(ua = getUA()): boolean {\n return /iphone|ipad|ipod/i.test(ua) ||\n (/macintosh/i.test(ua) && /mobile/i.test(ua));\n}\n\nexport function _isIOS7Or8(ua = getUA()): boolean {\n return (\n /(iPad|iPhone|iPod).*OS 7_\\d/i.test(ua) ||\n /(iPad|iPhone|iPod).*OS 8_\\d/i.test(ua)\n );\n}\n\nexport function _isIOSStandalone(ua = getUA()): boolean {\n return _isIOS(ua) && !!(window.navigator as NavigatorStandalone)?.standalone;\n}\n\nexport function _isIE10(): boolean {\n return isIE() && (document as Document).documentMode === 10;\n}\n\nexport function _isMobileBrowser(ua: string = getUA()): boolean {\n // TODO: implement getBrowserName equivalent for OS.\n return (\n _isIOS(ua) ||\n _isAndroid(ua) ||\n _isWebOS(ua) ||\n _isBlackBerry(ua) ||\n /windows phone/i.test(ua) ||\n _isIEMobile(ua)\n );\n}\n\nexport function _isIframe(): boolean {\n try {\n // Check that the current window is not the top window.\n // If so, return true.\n return !!(window && window !== window.top);\n } catch (e) {\n return false;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SDK_VERSION } from '@firebase/app';\nimport { _getBrowserName } from './browser';\nimport { getUA } from '@firebase/util';\n\nexport const enum ClientImplementation {\n CORE = 'JsCore'\n}\n\n/**\n * @internal\n */\nexport const enum ClientPlatform {\n BROWSER = 'Browser',\n NODE = 'Node',\n REACT_NATIVE = 'ReactNative',\n CORDOVA = 'Cordova',\n WORKER = 'Worker'\n}\n\n/*\n * Determine the SDK version string\n */\nexport function _getClientVersion(\n clientPlatform: ClientPlatform,\n frameworks: readonly string[] = []\n): string {\n let reportedPlatform: string;\n switch (clientPlatform) {\n case ClientPlatform.BROWSER:\n // In a browser environment, report the browser name.\n reportedPlatform = _getBrowserName(getUA());\n break;\n case ClientPlatform.WORKER:\n // Technically a worker runs from a browser but we need to differentiate a\n // worker from a browser.\n // For example: Chrome-Worker/JsCore/4.9.1/FirebaseCore-web.\n reportedPlatform = `${_getBrowserName(getUA())}-${clientPlatform}`;\n break;\n default:\n reportedPlatform = clientPlatform;\n }\n const reportedFrameworks = frameworks.length\n ? frameworks.join(',')\n : 'FirebaseCore-web'; /* default value if no other framework is used */\n return `${reportedPlatform}/${ClientImplementation.CORE}/${SDK_VERSION}/${reportedFrameworks}`;\n}\n","/**\n * @license\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthInternal } from '../../model/auth';\nimport { Unsubscribe, User } from '../../model/public_types';\nimport { AuthErrorCode } from '../errors';\n\ninterface MiddlewareEntry {\n (user: User | null): Promise;\n onAbort?: () => void;\n}\n\nexport class AuthMiddlewareQueue {\n private readonly queue: MiddlewareEntry[] = [];\n\n constructor(private readonly auth: AuthInternal) {}\n\n pushCallback(\n callback: (user: User | null) => void | Promise,\n onAbort?: () => void): Unsubscribe {\n // The callback could be sync or async. Wrap it into a\n // function that is always async.\n const wrappedCallback: MiddlewareEntry =\n (user: User | null): Promise => new Promise((resolve, reject) => {\n try {\n const result = callback(user);\n // Either resolve with existing promise or wrap a non-promise\n // return value into a promise.\n resolve(result);\n } catch (e) {\n // Sync callback throws.\n reject(e);\n }\n });\n // Attach the onAbort if present\n wrappedCallback.onAbort = onAbort;\n this.queue.push(wrappedCallback);\n\n const index = this.queue.length - 1;\n return () => {\n // Unsubscribe. Replace with no-op. Do not remove from array, or it will disturb\n // indexing of other elements.\n this.queue[index] = () => Promise.resolve();\n };\n }\n\n async runMiddleware(nextUser: User | null): Promise {\n if (this.auth.currentUser === nextUser) {\n return;\n }\n\n // While running the middleware, build a temporary stack of onAbort\n // callbacks to call if one middleware callback rejects.\n\n const onAbortStack: Array<() => void> = [];\n try {\n for (const beforeStateCallback of this.queue) {\n await beforeStateCallback(nextUser);\n\n // Only push the onAbort if the callback succeeds\n if (beforeStateCallback.onAbort) {\n onAbortStack.push(beforeStateCallback.onAbort);\n }\n }\n } catch (e) {\n // Run all onAbort, with separate try/catch to ignore any errors and\n // continue\n onAbortStack.reverse();\n for (const onAbort of onAbortStack) {\n try {\n onAbort();\n } catch (_) { /* swallow error */}\n }\n\n throw this.auth._errorFactory.create(\n AuthErrorCode.LOGIN_BLOCKED, { originalMessage: (e as Error)?.message });\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _FirebaseService, FirebaseApp } from '@firebase/app';\nimport { Provider } from '@firebase/component';\nimport {\n Auth,\n AuthErrorMap,\n AuthSettings,\n EmulatorConfig,\n NextOrObserver,\n Persistence,\n PopupRedirectResolver,\n User,\n UserCredential,\n CompleteFn,\n ErrorFn,\n NextFn,\n Unsubscribe\n} from '../../model/public_types';\nimport {\n createSubscribe,\n ErrorFactory,\n FirebaseError,\n getModularInstance,\n Observer,\n Subscribe\n} from '@firebase/util';\n\nimport { AuthInternal, ConfigInternal } from '../../model/auth';\nimport { PopupRedirectResolverInternal } from '../../model/popup_redirect';\nimport { UserInternal } from '../../model/user';\nimport {\n AuthErrorCode,\n AuthErrorParams,\n ErrorMapRetriever,\n _DEFAULT_AUTH_ERROR_FACTORY\n} from '../errors';\nimport { PersistenceInternal } from '../persistence';\nimport {\n KeyName,\n PersistenceUserManager\n} from '../persistence/persistence_user_manager';\nimport { _reloadWithoutSaving } from '../user/reload';\nimport { _assert } from '../util/assert';\nimport { _getInstance } from '../util/instantiator';\nimport { _getUserLanguage } from '../util/navigator';\nimport { _getClientVersion } from '../util/version';\nimport { HttpHeader } from '../../api';\nimport { AuthMiddlewareQueue } from './middleware';\n\ninterface AsyncAction {\n (): Promise;\n}\n\nexport const enum DefaultConfig {\n TOKEN_API_HOST = 'securetoken.googleapis.com',\n API_HOST = 'identitytoolkit.googleapis.com',\n API_SCHEME = 'https'\n}\n\nexport class AuthImpl implements AuthInternal, _FirebaseService {\n currentUser: User | null = null;\n emulatorConfig: EmulatorConfig | null = null;\n private operations = Promise.resolve();\n private persistenceManager?: PersistenceUserManager;\n private redirectPersistenceManager?: PersistenceUserManager;\n private authStateSubscription = new Subscription(this);\n private idTokenSubscription = new Subscription(this);\n private readonly beforeStateQueue = new AuthMiddlewareQueue(this);\n private redirectUser: UserInternal | null = null;\n private isProactiveRefreshEnabled = false;\n\n // Any network calls will set this to true and prevent subsequent emulator\n // initialization\n _canInitEmulator = true;\n _isInitialized = false;\n _deleted = false;\n _initializationPromise: Promise | null = null;\n _popupRedirectResolver: PopupRedirectResolverInternal | null = null;\n _errorFactory: ErrorFactory =\n _DEFAULT_AUTH_ERROR_FACTORY;\n readonly name: string;\n\n // Tracks the last notified UID for state change listeners to prevent\n // repeated calls to the callbacks. Undefined means it's never been\n // called, whereas null means it's been called with a signed out user\n private lastNotifiedUid: string | null | undefined = undefined;\n\n languageCode: string | null = null;\n tenantId: string | null = null;\n settings: AuthSettings = { appVerificationDisabledForTesting: false };\n\n constructor(\n public readonly app: FirebaseApp,\n private readonly heartbeatServiceProvider: Provider<'heartbeat'>,\n public readonly config: ConfigInternal\n ) {\n this.name = app.name;\n this.clientVersion = config.sdkClientVersion;\n }\n\n _initializeWithPersistence(\n persistenceHierarchy: PersistenceInternal[],\n popupRedirectResolver?: PopupRedirectResolver\n ): Promise {\n if (popupRedirectResolver) {\n this._popupRedirectResolver = _getInstance(popupRedirectResolver);\n }\n\n // Have to check for app deletion throughout initialization (after each\n // promise resolution)\n this._initializationPromise = this.queue(async () => {\n if (this._deleted) {\n return;\n }\n\n this.persistenceManager = await PersistenceUserManager.create(\n this,\n persistenceHierarchy\n );\n\n if (this._deleted) {\n return;\n }\n\n // Initialize the resolver early if necessary (only applicable to web:\n // this will cause the iframe to load immediately in certain cases)\n if (this._popupRedirectResolver?._shouldInitProactively) {\n // If this fails, don't halt auth loading\n try {\n await this._popupRedirectResolver._initialize(this);\n } catch (e) { /* Ignore the error */ }\n }\n\n await this.initializeCurrentUser(popupRedirectResolver);\n this.lastNotifiedUid = this.currentUser?.uid || null;\n\n if (this._deleted) {\n return;\n }\n\n this._isInitialized = true;\n });\n\n return this._initializationPromise;\n }\n\n /**\n * If the persistence is changed in another window, the user manager will let us know\n */\n async _onStorageEvent(): Promise {\n if (this._deleted) {\n return;\n }\n\n const user = await this.assertedPersistence.getCurrentUser();\n\n if (!this.currentUser && !user) {\n // No change, do nothing (was signed out and remained signed out).\n return;\n }\n\n // If the same user is to be synchronized.\n if (this.currentUser && user && this.currentUser.uid === user.uid) {\n // Data update, simply copy data changes.\n this._currentUser._assign(user);\n // If tokens changed from previous user tokens, this will trigger\n // notifyAuthListeners_.\n await this.currentUser.getIdToken();\n return;\n }\n\n // Update current Auth state. Either a new login or logout.\n // Skip blocking callbacks, they should not apply to a change in another tab.\n await this._updateCurrentUser(user, /* skipBeforeStateCallbacks */ true);\n }\n\n private async initializeCurrentUser(\n popupRedirectResolver?: PopupRedirectResolver\n ): Promise {\n // First check to see if we have a pending redirect event.\n const previouslyStoredUser =\n (await this.assertedPersistence.getCurrentUser()) as UserInternal | null;\n let futureCurrentUser = previouslyStoredUser;\n let needsTocheckMiddleware = false;\n if (popupRedirectResolver && this.config.authDomain) {\n await this.getOrInitRedirectPersistenceManager();\n const redirectUserEventId = this.redirectUser?._redirectEventId;\n const storedUserEventId = futureCurrentUser?._redirectEventId;\n const result = await this.tryRedirectSignIn(popupRedirectResolver);\n\n // If the stored user (i.e. the old \"currentUser\") has a redirectId that\n // matches the redirect user, then we want to initially sign in with the\n // new user object from result.\n // TODO(samgho): More thoroughly test all of this\n if (\n (!redirectUserEventId || redirectUserEventId === storedUserEventId) &&\n result?.user\n ) {\n futureCurrentUser = result.user as UserInternal;\n needsTocheckMiddleware = true;\n }\n }\n\n // If no user in persistence, there is no current user. Set to null.\n if (!futureCurrentUser) {\n return this.directlySetCurrentUser(null);\n }\n\n if (!futureCurrentUser._redirectEventId) {\n // This isn't a redirect link operation, we can reload and bail.\n // First though, ensure that we check the middleware is happy.\n if (needsTocheckMiddleware) {\n try {\n await this.beforeStateQueue.runMiddleware(futureCurrentUser);\n } catch(e) {\n futureCurrentUser = previouslyStoredUser;\n // We know this is available since the bit is only set when the\n // resolver is available\n this._popupRedirectResolver!._overrideRedirectResult(this, () => Promise.reject(e));\n }\n }\n \n if (futureCurrentUser) {\n return this.reloadAndSetCurrentUserOrClear(futureCurrentUser);\n } else {\n return this.directlySetCurrentUser(null);\n }\n }\n\n _assert(this._popupRedirectResolver, this, AuthErrorCode.ARGUMENT_ERROR);\n await this.getOrInitRedirectPersistenceManager();\n\n // If the redirect user's event ID matches the current user's event ID,\n // DO NOT reload the current user, otherwise they'll be cleared from storage.\n // This is important for the reauthenticateWithRedirect() flow.\n if (\n this.redirectUser &&\n this.redirectUser._redirectEventId === futureCurrentUser._redirectEventId\n ) {\n return this.directlySetCurrentUser(futureCurrentUser);\n }\n\n return this.reloadAndSetCurrentUserOrClear(futureCurrentUser);\n }\n\n private async tryRedirectSignIn(\n redirectResolver: PopupRedirectResolver\n ): Promise {\n // The redirect user needs to be checked (and signed in if available)\n // during auth initialization. All of the normal sign in and link/reauth\n // flows call back into auth and push things onto the promise queue. We\n // need to await the result of the redirect sign in *inside the promise\n // queue*. This presents a problem: we run into deadlock. See:\n // ┌> [Initialization] ─────┐\n // ┌> [] │\n // └─ [getRedirectResult] <─┘\n // where [] are tasks on the queue and arrows denote awaits\n // Initialization will never complete because it's waiting on something\n // that's waiting for initialization to complete!\n //\n // Instead, this method calls getRedirectResult() (stored in\n // _completeRedirectFn) with an optional parameter that instructs all of\n // the underlying auth operations to skip anything that mutates auth state.\n\n let result: UserCredential | null = null;\n try {\n // We know this._popupRedirectResolver is set since redirectResolver\n // is passed in. The _completeRedirectFn expects the unwrapped extern.\n result = await this._popupRedirectResolver!._completeRedirectFn(\n this,\n redirectResolver,\n true\n );\n } catch (e) {\n // Swallow any errors here; the code can retrieve them in\n // getRedirectResult().\n await this._setRedirectUser(null);\n }\n\n return result;\n }\n\n private async reloadAndSetCurrentUserOrClear(\n user: UserInternal\n ): Promise {\n try {\n await _reloadWithoutSaving(user);\n } catch (e) {\n if ((e as FirebaseError)?.code !== `auth/${AuthErrorCode.NETWORK_REQUEST_FAILED}`) {\n // Something's wrong with the user's token. Log them out and remove\n // them from storage\n return this.directlySetCurrentUser(null);\n }\n }\n\n return this.directlySetCurrentUser(user);\n }\n\n useDeviceLanguage(): void {\n this.languageCode = _getUserLanguage();\n }\n\n async _delete(): Promise {\n this._deleted = true;\n }\n\n async updateCurrentUser(userExtern: User | null): Promise {\n // The public updateCurrentUser method needs to make a copy of the user,\n // and also check that the project matches\n const user = userExtern\n ? (getModularInstance(userExtern) as UserInternal)\n : null;\n if (user) {\n _assert(\n user.auth.config.apiKey === this.config.apiKey,\n this,\n AuthErrorCode.INVALID_AUTH\n );\n }\n return this._updateCurrentUser(user && user._clone(this));\n }\n\n async _updateCurrentUser(user: User | null, skipBeforeStateCallbacks: boolean = false): Promise {\n if (this._deleted) {\n return;\n }\n if (user) {\n _assert(\n this.tenantId === user.tenantId,\n this,\n AuthErrorCode.TENANT_ID_MISMATCH\n );\n }\n\n if (!skipBeforeStateCallbacks) {\n await this.beforeStateQueue.runMiddleware(user);\n }\n\n return this.queue(async () => {\n await this.directlySetCurrentUser(user as UserInternal | null);\n this.notifyAuthListeners();\n });\n }\n\n async signOut(): Promise {\n // Run first, to block _setRedirectUser() if any callbacks fail.\n await this.beforeStateQueue.runMiddleware(null);\n // Clear the redirect user when signOut is called\n if (this.redirectPersistenceManager || this._popupRedirectResolver) {\n await this._setRedirectUser(null);\n }\n\n // Prevent callbacks from being called again in _updateCurrentUser, as\n // they were already called in the first line.\n return this._updateCurrentUser(null, /* skipBeforeStateCallbacks */ true);\n }\n\n setPersistence(persistence: Persistence): Promise {\n return this.queue(async () => {\n await this.assertedPersistence.setPersistence(_getInstance(persistence));\n });\n }\n\n _getPersistence(): string {\n return this.assertedPersistence.persistence.type;\n }\n\n _updateErrorMap(errorMap: AuthErrorMap): void {\n this._errorFactory = new ErrorFactory(\n 'auth',\n 'Firebase',\n (errorMap as ErrorMapRetriever)()\n );\n }\n\n onAuthStateChanged(\n nextOrObserver: NextOrObserver,\n error?: ErrorFn,\n completed?: CompleteFn\n ): Unsubscribe {\n return this.registerStateListener(\n this.authStateSubscription,\n nextOrObserver,\n error,\n completed\n );\n }\n\n beforeAuthStateChanged(\n callback: (user: User | null) => void | Promise,\n onAbort?: () => void,\n ): Unsubscribe {\n return this.beforeStateQueue.pushCallback(callback, onAbort);\n }\n\n onIdTokenChanged(\n nextOrObserver: NextOrObserver,\n error?: ErrorFn,\n completed?: CompleteFn\n ): Unsubscribe {\n return this.registerStateListener(\n this.idTokenSubscription,\n nextOrObserver,\n error,\n completed\n );\n }\n\n toJSON(): object {\n return {\n apiKey: this.config.apiKey,\n authDomain: this.config.authDomain,\n appName: this.name,\n currentUser: this._currentUser?.toJSON()\n };\n }\n\n async _setRedirectUser(\n user: UserInternal | null,\n popupRedirectResolver?: PopupRedirectResolver\n ): Promise {\n const redirectManager = await this.getOrInitRedirectPersistenceManager(\n popupRedirectResolver\n );\n return user === null\n ? redirectManager.removeCurrentUser()\n : redirectManager.setCurrentUser(user);\n }\n\n private async getOrInitRedirectPersistenceManager(\n popupRedirectResolver?: PopupRedirectResolver\n ): Promise {\n if (!this.redirectPersistenceManager) {\n const resolver: PopupRedirectResolverInternal | null =\n (popupRedirectResolver && _getInstance(popupRedirectResolver)) ||\n this._popupRedirectResolver;\n _assert(resolver, this, AuthErrorCode.ARGUMENT_ERROR);\n this.redirectPersistenceManager = await PersistenceUserManager.create(\n this,\n [_getInstance(resolver._redirectPersistence)],\n KeyName.REDIRECT_USER\n );\n this.redirectUser =\n await this.redirectPersistenceManager.getCurrentUser();\n }\n\n return this.redirectPersistenceManager;\n }\n\n async _redirectUserForId(id: string): Promise {\n // Make sure we've cleared any pending persistence actions if we're not in\n // the initializer\n if (this._isInitialized) {\n await this.queue(async () => { });\n }\n\n if (this._currentUser?._redirectEventId === id) {\n return this._currentUser;\n }\n\n if (this.redirectUser?._redirectEventId === id) {\n return this.redirectUser;\n }\n\n return null;\n }\n\n async _persistUserIfCurrent(user: UserInternal): Promise {\n if (user === this.currentUser) {\n return this.queue(async () => this.directlySetCurrentUser(user));\n }\n }\n\n /** Notifies listeners only if the user is current */\n _notifyListenersIfCurrent(user: UserInternal): void {\n if (user === this.currentUser) {\n this.notifyAuthListeners();\n }\n }\n\n _key(): string {\n return `${this.config.authDomain}:${this.config.apiKey}:${this.name}`;\n }\n\n _startProactiveRefresh(): void {\n this.isProactiveRefreshEnabled = true;\n if (this.currentUser) {\n this._currentUser._startProactiveRefresh();\n }\n }\n\n _stopProactiveRefresh(): void {\n this.isProactiveRefreshEnabled = false;\n if (this.currentUser) {\n this._currentUser._stopProactiveRefresh();\n }\n }\n\n /** Returns the current user cast as the internal type */\n get _currentUser(): UserInternal {\n return this.currentUser as UserInternal;\n }\n\n private notifyAuthListeners(): void {\n if (!this._isInitialized) {\n return;\n }\n\n this.idTokenSubscription.next(this.currentUser);\n\n const currentUid = this.currentUser?.uid ?? null;\n if (this.lastNotifiedUid !== currentUid) {\n this.lastNotifiedUid = currentUid;\n this.authStateSubscription.next(this.currentUser);\n }\n }\n\n private registerStateListener(\n subscription: Subscription,\n nextOrObserver: NextOrObserver,\n error?: ErrorFn,\n completed?: CompleteFn\n ): Unsubscribe {\n if (this._deleted) {\n return () => { };\n }\n\n const cb =\n typeof nextOrObserver === 'function'\n ? nextOrObserver\n : nextOrObserver.next.bind(nextOrObserver);\n\n const promise = this._isInitialized\n ? Promise.resolve()\n : this._initializationPromise;\n _assert(promise, this, AuthErrorCode.INTERNAL_ERROR);\n // The callback needs to be called asynchronously per the spec.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n promise.then(() => cb(this.currentUser));\n\n if (typeof nextOrObserver === 'function') {\n return subscription.addObserver(nextOrObserver, error, completed);\n } else {\n return subscription.addObserver(nextOrObserver);\n }\n }\n\n /**\n * Unprotected (from race conditions) method to set the current user. This\n * should only be called from within a queued callback. This is necessary\n * because the queue shouldn't rely on another queued callback.\n */\n private async directlySetCurrentUser(\n user: UserInternal | null\n ): Promise {\n if (this.currentUser && this.currentUser !== user) {\n this._currentUser._stopProactiveRefresh();\n if (user && this.isProactiveRefreshEnabled) {\n user._startProactiveRefresh();\n }\n }\n\n this.currentUser = user;\n\n if (user) {\n await this.assertedPersistence.setCurrentUser(user);\n } else {\n await this.assertedPersistence.removeCurrentUser();\n }\n }\n\n private queue(action: AsyncAction): Promise {\n // In case something errors, the callback still should be called in order\n // to keep the promise chain alive\n this.operations = this.operations.then(action, action);\n return this.operations;\n }\n\n private get assertedPersistence(): PersistenceUserManager {\n _assert(this.persistenceManager, this, AuthErrorCode.INTERNAL_ERROR);\n return this.persistenceManager;\n }\n\n private frameworks: string[] = [];\n private clientVersion: string;\n _logFramework(framework: string): void {\n if (!framework || this.frameworks.includes(framework)) {\n return;\n }\n this.frameworks.push(framework);\n\n // Sort alphabetically so that \"FirebaseCore-web,FirebaseUI-web\" and\n // \"FirebaseUI-web,FirebaseCore-web\" aren't viewed as different.\n this.frameworks.sort();\n this.clientVersion = _getClientVersion(\n this.config.clientPlatform,\n this._getFrameworks()\n );\n }\n _getFrameworks(): readonly string[] {\n return this.frameworks;\n }\n async _getAdditionalHeaders(): Promise> {\n // Additional headers on every request\n const headers: Record = {\n [HttpHeader.X_CLIENT_VERSION]: this.clientVersion,\n };\n\n if (this.app.options.appId) {\n headers[HttpHeader.X_FIREBASE_GMPID] = this.app.options.appId;\n }\n\n // If the heartbeat service exists, add the heartbeat string\n const heartbeatsHeader = await this.heartbeatServiceProvider.getImmediate({\n optional: true,\n })?.getHeartbeatsHeader();\n if (heartbeatsHeader) {\n headers[HttpHeader.X_FIREBASE_CLIENT] = heartbeatsHeader;\n }\n return headers;\n }\n}\n\n/**\n * Method to be used to cast down to our private implmentation of Auth.\n * It will also handle unwrapping from the compat type if necessary\n *\n * @param auth Auth object passed in from developer\n */\nexport function _castAuth(auth: Auth): AuthInternal {\n return getModularInstance(auth) as AuthInternal;\n}\n\n/** Helper class to wrap subscriber logic */\nclass Subscription {\n private observer: Observer | null = null;\n readonly addObserver: Subscribe = createSubscribe(\n observer => (this.observer = observer)\n );\n\n constructor(readonly auth: AuthInternal) { }\n\n get next(): NextFn {\n _assert(this.observer, this.auth, AuthErrorCode.INTERNAL_ERROR);\n return this.observer.next.bind(this.observer);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PhoneOrOauthTokenResponse } from '../../api/authentication/mfa';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { debugFail } from '../util/assert';\n\n/**\n * Interface that represents the credentials returned by an {@link AuthProvider}.\n *\n * @remarks\n * Implementations specify the details about each auth provider's credential requirements.\n *\n * @public\n */\nexport class AuthCredential {\n /** @internal */\n protected constructor(\n /**\n * The authentication provider ID for the credential.\n *\n * @remarks\n * For example, 'facebook.com', or 'google.com'.\n */\n readonly providerId: string,\n /**\n * The authentication sign in method for the credential.\n *\n * @remarks\n * For example, {@link SignInMethod}.EMAIL_PASSWORD, or\n * {@link SignInMethod}.EMAIL_LINK. This corresponds to the sign-in method\n * identifier as returned in {@link fetchSignInMethodsForEmail}.\n */\n readonly signInMethod: string\n ) {}\n\n /**\n * Returns a JSON-serializable representation of this object.\n *\n * @returns a JSON-serializable representation of this object.\n */\n toJSON(): object {\n return debugFail('not implemented');\n }\n\n /** @internal */\n _getIdTokenResponse(_auth: AuthInternal): Promise {\n return debugFail('not implemented');\n }\n /** @internal */\n _linkToIdToken(\n _auth: AuthInternal,\n _idToken: string\n ): Promise {\n return debugFail('not implemented');\n }\n /** @internal */\n _getReauthenticationResolver(_auth: AuthInternal): Promise {\n return debugFail('not implemented');\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ActionCodeOperation, Auth } from '../../model/public_types';\n\nimport {\n Endpoint,\n HttpMethod,\n _addTidIfNecessary,\n _performApiRequest\n} from '../index';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { MfaEnrollment } from './mfa';\n\nexport interface ResetPasswordRequest {\n oobCode: string;\n newPassword?: string;\n tenantId?: string;\n}\n\nexport interface ResetPasswordResponse {\n email: string;\n newEmail?: string;\n requestType?: ActionCodeOperation;\n mfaInfo?: MfaEnrollment;\n}\n\nexport async function resetPassword(\n auth: Auth,\n request: ResetPasswordRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.RESET_PASSWORD,\n _addTidIfNecessary(auth, request)\n );\n}\nexport interface UpdateEmailPasswordRequest {\n idToken: string;\n returnSecureToken?: boolean;\n email?: string;\n password?: string;\n}\n\nexport interface UpdateEmailPasswordResponse extends IdTokenResponse {}\n\nexport async function updateEmailPassword(\n auth: Auth,\n request: UpdateEmailPasswordRequest\n): Promise {\n return _performApiRequest<\n UpdateEmailPasswordRequest,\n UpdateEmailPasswordResponse\n >(auth, HttpMethod.POST, Endpoint.SET_ACCOUNT_INFO, request);\n}\n\nexport interface ApplyActionCodeRequest {\n oobCode: string;\n tenantId?: string;\n}\n\nexport interface ApplyActionCodeResponse {}\n\nexport async function applyActionCode(\n auth: Auth,\n request: ApplyActionCodeRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.SET_ACCOUNT_INFO,\n _addTidIfNecessary(auth, request)\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ActionCodeOperation, Auth } from '../../model/public_types';\n\nimport {\n Endpoint,\n HttpMethod,\n _addTidIfNecessary,\n _performApiRequest,\n _performSignInRequest\n} from '../index';\nimport { IdToken, IdTokenResponse } from '../../model/id_token';\n\nexport interface SignInWithPasswordRequest {\n returnSecureToken?: boolean;\n email: string;\n password: string;\n tenantId?: string;\n}\n\nexport interface SignInWithPasswordResponse extends IdTokenResponse {\n email: string;\n displayName: string;\n}\n\nexport async function signInWithPassword(\n auth: Auth,\n request: SignInWithPasswordRequest\n): Promise {\n return _performSignInRequest<\n SignInWithPasswordRequest,\n SignInWithPasswordResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_PASSWORD,\n _addTidIfNecessary(auth, request)\n );\n}\n\nexport interface GetOobCodeRequest {\n email?: string; // Everything except VERIFY_AND_CHANGE_EMAIL\n continueUrl?: string;\n iOSBundleId?: string;\n iosAppStoreId?: string;\n androidPackageName?: string;\n androidInstallApp?: boolean;\n androidMinimumVersionCode?: string;\n canHandleCodeInApp?: boolean;\n dynamicLinkDomain?: string;\n tenantId?: string;\n targetProjectid?: string;\n}\n\nexport interface VerifyEmailRequest extends GetOobCodeRequest {\n requestType: ActionCodeOperation.VERIFY_EMAIL;\n idToken: IdToken;\n}\n\nexport interface PasswordResetRequest extends GetOobCodeRequest {\n requestType: ActionCodeOperation.PASSWORD_RESET;\n email: string;\n captchaResp?: string;\n}\n\nexport interface EmailSignInRequest extends GetOobCodeRequest {\n requestType: ActionCodeOperation.EMAIL_SIGNIN;\n email: string;\n}\n\nexport interface VerifyAndChangeEmailRequest extends GetOobCodeRequest {\n requestType: ActionCodeOperation.VERIFY_AND_CHANGE_EMAIL;\n idToken: IdToken;\n newEmail: string;\n}\n\ninterface GetOobCodeResponse {\n email: string;\n}\n\nexport interface VerifyEmailResponse extends GetOobCodeResponse {}\nexport interface PasswordResetResponse extends GetOobCodeResponse {}\nexport interface EmailSignInResponse extends GetOobCodeResponse {}\nexport interface VerifyAndChangeEmailResponse extends GetOobCodeRequest {}\n\nasync function sendOobCode(\n auth: Auth,\n request: GetOobCodeRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.SEND_OOB_CODE,\n _addTidIfNecessary(auth, request)\n );\n}\n\nexport async function sendEmailVerification(\n auth: Auth,\n request: VerifyEmailRequest\n): Promise {\n return sendOobCode(auth, request);\n}\n\nexport async function sendPasswordResetEmail(\n auth: Auth,\n request: PasswordResetRequest\n): Promise {\n return sendOobCode(auth, request);\n}\n\nexport async function sendSignInLinkToEmail(\n auth: Auth,\n request: EmailSignInRequest\n): Promise {\n return sendOobCode(auth, request);\n}\n\nexport async function verifyAndChangeEmail(\n auth: Auth,\n request: VerifyAndChangeEmailRequest\n): Promise {\n return sendOobCode(auth, request);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n _performSignInRequest,\n Endpoint,\n HttpMethod,\n _addTidIfNecessary\n} from '../index';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { Auth } from '../../model/public_types';\n\nexport interface SignInWithEmailLinkRequest {\n email: string;\n oobCode: string;\n tenantId?: string;\n}\n\nexport interface SignInWithEmailLinkResponse extends IdTokenResponse {\n email: string;\n isNewUser: boolean;\n}\n\nexport async function signInWithEmailLink(\n auth: Auth,\n request: SignInWithEmailLinkRequest\n): Promise {\n return _performSignInRequest<\n SignInWithEmailLinkRequest,\n SignInWithEmailLinkResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_EMAIL_LINK,\n _addTidIfNecessary(auth, request)\n );\n}\n\nexport interface SignInWithEmailLinkForLinkingRequest\n extends SignInWithEmailLinkRequest {\n idToken: string;\n}\n\nexport async function signInWithEmailLinkForLinking(\n auth: Auth,\n request: SignInWithEmailLinkForLinkingRequest\n): Promise {\n return _performSignInRequest<\n SignInWithEmailLinkForLinkingRequest,\n SignInWithEmailLinkResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_EMAIL_LINK,\n _addTidIfNecessary(auth, request)\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\nimport { updateEmailPassword } from '../../api/account_management/email_and_password';\nimport { signInWithPassword } from '../../api/authentication/email_and_password';\nimport {\n signInWithEmailLink,\n signInWithEmailLinkForLinking\n} from '../../api/authentication/email_link';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { AuthErrorCode } from '../errors';\nimport { _fail } from '../util/assert';\nimport { AuthCredential } from './auth_credential';\n\n/**\n * Interface that represents the credentials returned by {@link EmailAuthProvider} for\n * {@link ProviderId}.PASSWORD\n *\n * @remarks\n * Covers both {@link SignInMethod}.EMAIL_PASSWORD and\n * {@link SignInMethod}.EMAIL_LINK.\n *\n * @public\n */\nexport class EmailAuthCredential extends AuthCredential {\n /** @internal */\n private constructor(\n /** @internal */\n readonly _email: string,\n /** @internal */\n readonly _password: string,\n signInMethod: SignInMethod,\n /** @internal */\n readonly _tenantId: string | null = null\n ) {\n super(ProviderId.PASSWORD, signInMethod);\n }\n\n /** @internal */\n static _fromEmailAndPassword(\n email: string,\n password: string\n ): EmailAuthCredential {\n return new EmailAuthCredential(\n email,\n password,\n SignInMethod.EMAIL_PASSWORD\n );\n }\n\n /** @internal */\n static _fromEmailAndCode(\n email: string,\n oobCode: string,\n tenantId: string | null = null\n ): EmailAuthCredential {\n return new EmailAuthCredential(\n email,\n oobCode,\n SignInMethod.EMAIL_LINK,\n tenantId\n );\n }\n\n /** {@inheritdoc AuthCredential.toJSON} */\n toJSON(): object {\n return {\n email: this._email,\n password: this._password,\n signInMethod: this.signInMethod,\n tenantId: this._tenantId\n };\n }\n\n /**\n * Static method to deserialize a JSON representation of an object into an {@link AuthCredential}.\n *\n * @param json - Either `object` or the stringified representation of the object. When string is\n * provided, `JSON.parse` would be called first.\n *\n * @returns If the JSON input does not represent an {@link AuthCredential}, null is returned.\n */\n static fromJSON(json: object | string): EmailAuthCredential | null {\n const obj = typeof json === 'string' ? JSON.parse(json) : json;\n if (obj?.email && obj?.password) {\n if (obj.signInMethod === SignInMethod.EMAIL_PASSWORD) {\n return this._fromEmailAndPassword(obj.email, obj.password);\n } else if (obj.signInMethod === SignInMethod.EMAIL_LINK) {\n return this._fromEmailAndCode(obj.email, obj.password, obj.tenantId);\n }\n }\n return null;\n }\n\n /** @internal */\n async _getIdTokenResponse(auth: AuthInternal): Promise {\n switch (this.signInMethod) {\n case SignInMethod.EMAIL_PASSWORD:\n return signInWithPassword(auth, {\n returnSecureToken: true,\n email: this._email,\n password: this._password\n });\n case SignInMethod.EMAIL_LINK:\n return signInWithEmailLink(auth, {\n email: this._email,\n oobCode: this._password\n });\n default:\n _fail(auth, AuthErrorCode.INTERNAL_ERROR);\n }\n }\n\n /** @internal */\n async _linkToIdToken(\n auth: AuthInternal,\n idToken: string\n ): Promise {\n switch (this.signInMethod) {\n case SignInMethod.EMAIL_PASSWORD:\n return updateEmailPassword(auth, {\n idToken,\n returnSecureToken: true,\n email: this._email,\n password: this._password\n });\n case SignInMethod.EMAIL_LINK:\n return signInWithEmailLinkForLinking(auth, {\n idToken,\n email: this._email,\n oobCode: this._password\n });\n default:\n _fail(auth, AuthErrorCode.INTERNAL_ERROR);\n }\n }\n\n /** @internal */\n _getReauthenticationResolver(auth: AuthInternal): Promise {\n return this._getIdTokenResponse(auth);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Endpoint,\n HttpMethod,\n _addTidIfNecessary,\n _performSignInRequest\n} from '../index';\nimport { IdToken, IdTokenResponse } from '../../model/id_token';\nimport { Auth } from '../../model/public_types';\n\nexport interface SignInWithIdpRequest {\n requestUri: string;\n postBody?: string;\n sessionId?: string;\n tenantId?: string;\n returnSecureToken: boolean;\n returnIdpCredential?: boolean;\n idToken?: IdToken;\n autoCreate?: boolean;\n pendingToken?: string;\n}\n\n/**\n * @internal\n */\nexport interface SignInWithIdpResponse extends IdTokenResponse {\n oauthAccessToken?: string;\n oauthTokenSecret?: string;\n nonce?: string;\n oauthIdToken?: string;\n pendingToken?: string;\n}\n\nexport async function signInWithIdp(\n auth: Auth,\n request: SignInWithIdpRequest\n): Promise {\n return _performSignInRequest(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_IDP,\n _addTidIfNecessary(auth, request)\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { querystring } from '@firebase/util';\n\nimport {\n signInWithIdp,\n SignInWithIdpRequest\n} from '../../api/authentication/idp';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { AuthErrorCode } from '../errors';\nimport { _fail } from '../util/assert';\nimport { AuthCredential } from './auth_credential';\n\nconst IDP_REQUEST_URI = 'http://localhost';\n\nexport interface OAuthCredentialParams {\n // OAuth 2 uses either id token or access token\n idToken?: string | null;\n accessToken?: string | null;\n\n // These fields are used with OAuth 1\n oauthToken?: string;\n secret?: string;\n oauthTokenSecret?: string;\n\n // Nonce is only set if pendingToken is not present\n nonce?: string;\n pendingToken?: string;\n\n // Utilities\n providerId: string;\n signInMethod: string;\n}\n\n/**\n * Represents the OAuth credentials returned by an {@link OAuthProvider}.\n *\n * @remarks\n * Implementations specify the details about each auth provider's credential requirements.\n *\n * @public\n */\nexport class OAuthCredential extends AuthCredential {\n /**\n * The OAuth ID token associated with the credential if it belongs to an OIDC provider,\n * such as `google.com`.\n * @readonly\n */\n idToken?: string;\n /**\n * The OAuth access token associated with the credential if it belongs to an\n * {@link OAuthProvider}, such as `facebook.com`, `twitter.com`, etc.\n * @readonly\n */\n accessToken?: string;\n /**\n * The OAuth access token secret associated with the credential if it belongs to an OAuth 1.0\n * provider, such as `twitter.com`.\n * @readonly\n */\n secret?: string;\n \n private nonce?: string;\n private pendingToken: string | null = null;\n\n /** @internal */\n static _fromParams(params: OAuthCredentialParams): OAuthCredential {\n const cred = new OAuthCredential(params.providerId, params.signInMethod);\n\n if (params.idToken || params.accessToken) {\n // OAuth 2 and either ID token or access token.\n if (params.idToken) {\n cred.idToken = params.idToken;\n }\n\n if (params.accessToken) {\n cred.accessToken = params.accessToken;\n }\n\n // Add nonce if available and no pendingToken is present.\n if (params.nonce && !params.pendingToken) {\n cred.nonce = params.nonce;\n }\n\n if (params.pendingToken) {\n cred.pendingToken = params.pendingToken;\n }\n } else if (params.oauthToken && params.oauthTokenSecret) {\n // OAuth 1 and OAuth token with token secret\n cred.accessToken = params.oauthToken;\n cred.secret = params.oauthTokenSecret;\n } else {\n _fail(AuthErrorCode.ARGUMENT_ERROR);\n }\n\n return cred;\n }\n\n /** {@inheritdoc AuthCredential.toJSON} */\n toJSON(): object {\n return {\n idToken: this.idToken,\n accessToken: this.accessToken,\n secret: this.secret,\n nonce: this.nonce,\n pendingToken: this.pendingToken,\n providerId: this.providerId,\n signInMethod: this.signInMethod\n };\n }\n\n /**\n * Static method to deserialize a JSON representation of an object into an\n * {@link AuthCredential}.\n *\n * @param json - Input can be either Object or the stringified representation of the object.\n * When string is provided, JSON.parse would be called first.\n *\n * @returns If the JSON input does not represent an {@link AuthCredential}, null is returned.\n */\n static fromJSON(json: string | object): OAuthCredential | null {\n const obj = typeof json === 'string' ? JSON.parse(json) : json;\n const { providerId, signInMethod, ...rest }: OAuthCredentialParams = obj;\n if (!providerId || !signInMethod) {\n return null;\n }\n\n const cred = new OAuthCredential(providerId, signInMethod);\n cred.idToken = rest.idToken || undefined;\n cred.accessToken = rest.accessToken || undefined;\n cred.secret = rest.secret;\n cred.nonce = rest.nonce;\n cred.pendingToken = rest.pendingToken || null;\n return cred;\n }\n\n /** @internal */\n _getIdTokenResponse(auth: AuthInternal): Promise {\n const request = this.buildRequest();\n return signInWithIdp(auth, request);\n }\n\n /** @internal */\n _linkToIdToken(\n auth: AuthInternal,\n idToken: string\n ): Promise {\n const request = this.buildRequest();\n request.idToken = idToken;\n return signInWithIdp(auth, request);\n }\n\n /** @internal */\n _getReauthenticationResolver(auth: AuthInternal): Promise {\n const request = this.buildRequest();\n request.autoCreate = false;\n return signInWithIdp(auth, request);\n }\n\n private buildRequest(): SignInWithIdpRequest {\n const request: SignInWithIdpRequest = {\n requestUri: IDP_REQUEST_URI,\n returnSecureToken: true\n };\n\n if (this.pendingToken) {\n request.pendingToken = this.pendingToken;\n } else {\n const postBody: Record = {};\n if (this.idToken) {\n postBody['id_token'] = this.idToken;\n }\n if (this.accessToken) {\n postBody['access_token'] = this.accessToken;\n }\n if (this.secret) {\n postBody['oauth_token_secret'] = this.secret;\n }\n\n postBody['providerId'] = this.providerId;\n if (this.nonce && !this.pendingToken) {\n postBody['nonce'] = this.nonce;\n }\n\n request.postBody = querystring(postBody);\n }\n\n return request;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Endpoint,\n HttpMethod,\n _addTidIfNecessary,\n _makeTaggedError,\n _performApiRequest,\n _performSignInRequest\n} from '../index';\nimport { AuthErrorCode } from '../../core/errors';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { ServerError, ServerErrorMap } from '../errors';\nimport { Auth } from '../../model/public_types';\n\nexport interface SendPhoneVerificationCodeRequest {\n phoneNumber: string;\n recaptchaToken: string;\n tenantId?: string;\n}\n\nexport interface SendPhoneVerificationCodeResponse {\n sessionInfo: string;\n}\n\nexport async function sendPhoneVerificationCode(\n auth: Auth,\n request: SendPhoneVerificationCodeRequest\n): Promise {\n return _performApiRequest<\n SendPhoneVerificationCodeRequest,\n SendPhoneVerificationCodeResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SEND_VERIFICATION_CODE,\n _addTidIfNecessary(auth, request)\n );\n}\n\n/**\n * @internal\n */\nexport interface SignInWithPhoneNumberRequest {\n temporaryProof?: string;\n phoneNumber?: string;\n sessionInfo?: string;\n code?: string;\n tenantId?: string;\n}\n\nexport interface LinkWithPhoneNumberRequest\n extends SignInWithPhoneNumberRequest {\n idToken: string;\n}\n\n/**\n * @internal\n */\nexport interface SignInWithPhoneNumberResponse extends IdTokenResponse {\n temporaryProof?: string;\n phoneNumber?: string;\n}\n\nexport async function signInWithPhoneNumber(\n auth: Auth,\n request: SignInWithPhoneNumberRequest\n): Promise {\n return _performSignInRequest<\n SignInWithPhoneNumberRequest,\n SignInWithPhoneNumberResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_PHONE_NUMBER,\n _addTidIfNecessary(auth, request)\n );\n}\n\nexport async function linkWithPhoneNumber(\n auth: Auth,\n request: LinkWithPhoneNumberRequest\n): Promise {\n const response = await _performSignInRequest<\n LinkWithPhoneNumberRequest,\n SignInWithPhoneNumberResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_PHONE_NUMBER,\n _addTidIfNecessary(auth, request)\n );\n if (response.temporaryProof) {\n throw _makeTaggedError(auth, AuthErrorCode.NEED_CONFIRMATION, response);\n }\n return response;\n}\n\ninterface VerifyPhoneNumberForExistingRequest\n extends SignInWithPhoneNumberRequest {\n operation: 'REAUTH';\n}\n\nconst VERIFY_PHONE_NUMBER_FOR_EXISTING_ERROR_MAP_: Partial<\n ServerErrorMap\n> = {\n [ServerError.USER_NOT_FOUND]: AuthErrorCode.USER_DELETED\n};\n\nexport async function verifyPhoneNumberForExisting(\n auth: Auth,\n request: SignInWithPhoneNumberRequest\n): Promise {\n const apiRequest: VerifyPhoneNumberForExistingRequest = {\n ...request,\n operation: 'REAUTH'\n };\n return _performSignInRequest<\n VerifyPhoneNumberForExistingRequest,\n SignInWithPhoneNumberResponse\n >(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_IN_WITH_PHONE_NUMBER,\n _addTidIfNecessary(auth, apiRequest),\n VERIFY_PHONE_NUMBER_FOR_EXISTING_ERROR_MAP_\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\nimport { PhoneOrOauthTokenResponse } from '../../api/authentication/mfa';\nimport {\n linkWithPhoneNumber,\n signInWithPhoneNumber,\n SignInWithPhoneNumberRequest,\n verifyPhoneNumberForExisting\n} from '../../api/authentication/sms';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { AuthCredential } from './auth_credential';\n\nexport interface PhoneAuthCredentialParameters {\n verificationId?: string;\n verificationCode?: string;\n phoneNumber?: string;\n temporaryProof?: string;\n}\n\n/**\n * Represents the credentials returned by {@link PhoneAuthProvider}.\n *\n * @public\n */\nexport class PhoneAuthCredential extends AuthCredential {\n private constructor(private readonly params: PhoneAuthCredentialParameters) {\n super(ProviderId.PHONE, SignInMethod.PHONE);\n }\n\n /** @internal */\n static _fromVerification(\n verificationId: string,\n verificationCode: string\n ): PhoneAuthCredential {\n return new PhoneAuthCredential({ verificationId, verificationCode });\n }\n\n /** @internal */\n static _fromTokenResponse(\n phoneNumber: string,\n temporaryProof: string\n ): PhoneAuthCredential {\n return new PhoneAuthCredential({ phoneNumber, temporaryProof });\n }\n\n /** @internal */\n _getIdTokenResponse(auth: AuthInternal): Promise {\n return signInWithPhoneNumber(auth, this._makeVerificationRequest());\n }\n\n /** @internal */\n _linkToIdToken(\n auth: AuthInternal,\n idToken: string\n ): Promise {\n return linkWithPhoneNumber(auth, {\n idToken,\n ...this._makeVerificationRequest()\n });\n }\n\n /** @internal */\n _getReauthenticationResolver(auth: AuthInternal): Promise {\n return verifyPhoneNumberForExisting(auth, this._makeVerificationRequest());\n }\n\n /** @internal */\n _makeVerificationRequest(): SignInWithPhoneNumberRequest {\n const { temporaryProof, phoneNumber, verificationId, verificationCode } =\n this.params;\n if (temporaryProof && phoneNumber) {\n return { temporaryProof, phoneNumber };\n }\n\n return {\n sessionInfo: verificationId,\n code: verificationCode\n };\n }\n\n /** {@inheritdoc AuthCredential.toJSON} */\n toJSON(): object {\n const obj: Record = {\n providerId: this.providerId\n };\n if (this.params.phoneNumber) {\n obj.phoneNumber = this.params.phoneNumber;\n }\n if (this.params.temporaryProof) {\n obj.temporaryProof = this.params.temporaryProof;\n }\n if (this.params.verificationCode) {\n obj.verificationCode = this.params.verificationCode;\n }\n if (this.params.verificationId) {\n obj.verificationId = this.params.verificationId;\n }\n\n return obj;\n }\n\n /** Generates a phone credential based on a plain object or a JSON string. */\n static fromJSON(json: object | string): PhoneAuthCredential | null {\n if (typeof json === 'string') {\n json = JSON.parse(json);\n }\n\n const { verificationId, verificationCode, phoneNumber, temporaryProof } =\n json as { [key: string]: string };\n if (\n !verificationCode &&\n !verificationId &&\n !phoneNumber &&\n !temporaryProof\n ) {\n return null;\n }\n\n return new PhoneAuthCredential({\n verificationId,\n verificationCode,\n phoneNumber,\n temporaryProof\n });\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { extractQuerystring, querystringDecode } from '@firebase/util';\nimport { ActionCodeOperation } from '../model/public_types';\nimport { AuthErrorCode } from './errors';\nimport { _assert } from './util/assert';\n\n/**\n * Enums for fields in URL query string.\n *\n * @enum {string}\n */\nconst enum QueryField {\n API_KEY = 'apiKey',\n CODE = 'oobCode',\n CONTINUE_URL = 'continueUrl',\n LANGUAGE_CODE = 'languageCode',\n MODE = 'mode',\n TENANT_ID = 'tenantId'\n}\n\n/**\n * Maps the mode string in action code URL to Action Code Info operation.\n *\n * @param mode\n */\nfunction parseMode(mode: string | null): ActionCodeOperation | null {\n switch (mode) {\n case 'recoverEmail':\n return ActionCodeOperation.RECOVER_EMAIL;\n case 'resetPassword':\n return ActionCodeOperation.PASSWORD_RESET;\n case 'signIn':\n return ActionCodeOperation.EMAIL_SIGNIN;\n case 'verifyEmail':\n return ActionCodeOperation.VERIFY_EMAIL;\n case 'verifyAndChangeEmail':\n return ActionCodeOperation.VERIFY_AND_CHANGE_EMAIL;\n case 'revertSecondFactorAddition':\n return ActionCodeOperation.REVERT_SECOND_FACTOR_ADDITION;\n default:\n return null;\n }\n}\n\n/**\n * Helper to parse FDL links\n *\n * @param url\n */\nfunction parseDeepLink(url: string): string {\n const link = querystringDecode(extractQuerystring(url))['link'];\n\n // Double link case (automatic redirect).\n const doubleDeepLink = link\n ? querystringDecode(extractQuerystring(link))['deep_link_id']\n : null;\n // iOS custom scheme links.\n const iOSDeepLink = querystringDecode(extractQuerystring(url))[\n 'deep_link_id'\n ];\n const iOSDoubleDeepLink = iOSDeepLink\n ? querystringDecode(extractQuerystring(iOSDeepLink))['link']\n : null;\n return iOSDoubleDeepLink || iOSDeepLink || doubleDeepLink || link || url;\n}\n\n/**\n * A utility class to parse email action URLs such as password reset, email verification,\n * email link sign in, etc.\n *\n * @public\n */\nexport class ActionCodeURL {\n /**\n * The API key of the email action link.\n */\n readonly apiKey: string;\n /**\n * The action code of the email action link.\n */\n readonly code: string;\n /**\n * The continue URL of the email action link. Null if not provided.\n */\n readonly continueUrl: string | null;\n /**\n * The language code of the email action link. Null if not provided.\n */\n readonly languageCode: string | null;\n /**\n * The action performed by the email action link. It returns from one of the types from\n * {@link ActionCodeInfo}\n */\n readonly operation: string;\n /**\n * The tenant ID of the email action link. Null if the email action is from the parent project.\n */\n readonly tenantId: string | null;\n\n /**\n * @param actionLink - The link from which to extract the URL.\n * @returns The {@link ActionCodeURL} object, or null if the link is invalid.\n *\n * @internal\n */\n constructor(actionLink: string) {\n const searchParams = querystringDecode(extractQuerystring(actionLink));\n const apiKey = searchParams[QueryField.API_KEY] ?? null;\n const code = searchParams[QueryField.CODE] ?? null;\n const operation = parseMode(searchParams[QueryField.MODE] ?? null);\n // Validate API key, code and mode.\n _assert(apiKey && code && operation, AuthErrorCode.ARGUMENT_ERROR);\n this.apiKey = apiKey;\n this.operation = operation;\n this.code = code;\n this.continueUrl = searchParams[QueryField.CONTINUE_URL] ?? null;\n this.languageCode = searchParams[QueryField.LANGUAGE_CODE] ?? null;\n this.tenantId = searchParams[QueryField.TENANT_ID] ?? null;\n }\n\n /**\n * Parses the email action link string and returns an {@link ActionCodeURL} if the link is valid,\n * otherwise returns null.\n *\n * @param link - The email action link string.\n * @returns The {@link ActionCodeURL} object, or null if the link is invalid.\n *\n * @public\n */\n static parseLink(link: string): ActionCodeURL | null {\n const actionLink = parseDeepLink(link);\n try {\n return new ActionCodeURL(actionLink);\n } catch {\n return null;\n }\n }\n}\n\n/**\n * Parses the email action link string and returns an {@link ActionCodeURL} if\n * the link is valid, otherwise returns null.\n *\n * @public\n */\nexport function parseActionCodeURL(link: string): ActionCodeURL | null {\n return ActionCodeURL.parseLink(link);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ProviderId, SignInMethod } from '../../model/enums';\nimport { AuthProvider } from '../../model/public_types';\n\nimport { ActionCodeURL } from '../action_code_url';\nimport { EmailAuthCredential } from '../credentials/email';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from '../util/assert';\n\n/**\n * Provider for generating {@link EmailAuthCredential}.\n *\n * @public\n */\nexport class EmailAuthProvider implements AuthProvider {\n /**\n * Always set to {@link ProviderId}.PASSWORD, even for email link.\n */\n static readonly PROVIDER_ID: 'password' = ProviderId.PASSWORD;\n /**\n * Always set to {@link SignInMethod}.EMAIL_PASSWORD.\n */\n static readonly EMAIL_PASSWORD_SIGN_IN_METHOD: 'password' =\n SignInMethod.EMAIL_PASSWORD;\n /**\n * Always set to {@link SignInMethod}.EMAIL_LINK.\n */\n static readonly EMAIL_LINK_SIGN_IN_METHOD: 'emailLink' =\n SignInMethod.EMAIL_LINK;\n /**\n * Always set to {@link ProviderId}.PASSWORD, even for email link.\n */\n readonly providerId = EmailAuthProvider.PROVIDER_ID;\n\n /**\n * Initialize an {@link AuthCredential} using an email and password.\n *\n * @example\n * ```javascript\n * const authCredential = EmailAuthProvider.credential(email, password);\n * const userCredential = await signInWithCredential(auth, authCredential);\n * ```\n *\n * @example\n * ```javascript\n * const userCredential = await signInWithEmailAndPassword(auth, email, password);\n * ```\n *\n * @param email - Email address.\n * @param password - User account password.\n * @returns The auth provider credential.\n */\n static credential(email: string, password: string): EmailAuthCredential {\n return EmailAuthCredential._fromEmailAndPassword(email, password);\n }\n\n /**\n * Initialize an {@link AuthCredential} using an email and an email link after a sign in with\n * email link operation.\n *\n * @example\n * ```javascript\n * const authCredential = EmailAuthProvider.credentialWithLink(auth, email, emailLink);\n * const userCredential = await signInWithCredential(auth, authCredential);\n * ```\n *\n * @example\n * ```javascript\n * await sendSignInLinkToEmail(auth, email);\n * // Obtain emailLink from user.\n * const userCredential = await signInWithEmailLink(auth, email, emailLink);\n * ```\n *\n * @param auth - The {@link Auth} instance used to verify the link.\n * @param email - Email address.\n * @param emailLink - Sign-in email link.\n * @returns - The auth provider credential.\n */\n static credentialWithLink(\n email: string,\n emailLink: string\n ): EmailAuthCredential {\n const actionCodeUrl = ActionCodeURL.parseLink(emailLink);\n _assert(actionCodeUrl, AuthErrorCode.ARGUMENT_ERROR);\n\n return EmailAuthCredential._fromEmailAndCode(\n email,\n actionCodeUrl.code,\n actionCodeUrl.tenantId\n );\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthProvider } from '../../model/public_types';\n\n/**\n * Map of OAuth Custom Parameters.\n *\n * @public\n */\nexport type CustomParameters = Record;\n\n/**\n * The base class for all Federated providers (OAuth (including OIDC), SAML).\n *\n * This class is not meant to be instantiated directly.\n *\n * @public\n */\nexport abstract class FederatedAuthProvider implements AuthProvider {\n /** @internal */\n defaultLanguageCode: string | null = null;\n /** @internal */\n private customParameters: CustomParameters = {};\n\n /**\n * Constructor for generic OAuth providers.\n *\n * @param providerId - Provider for which credentials should be generated.\n */\n constructor(readonly providerId: string) {}\n\n /**\n * Set the language gode.\n *\n * @param languageCode - language code\n */\n setDefaultLanguage(languageCode: string | null): void {\n this.defaultLanguageCode = languageCode;\n }\n\n /**\n * Sets the OAuth custom parameters to pass in an OAuth request for popup and redirect sign-in\n * operations.\n *\n * @remarks\n * For a detailed list, check the reserved required OAuth 2.0 parameters such as `client_id`,\n * `redirect_uri`, `scope`, `response_type`, and `state` are not allowed and will be ignored.\n *\n * @param customOAuthParameters - The custom OAuth parameters to pass in the OAuth request.\n */\n setCustomParameters(customOAuthParameters: CustomParameters): AuthProvider {\n this.customParameters = customOAuthParameters;\n return this;\n }\n\n /**\n * Retrieve the current list of {@link CustomParameters}.\n */\n getCustomParameters(): CustomParameters {\n return this.customParameters;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthProvider, UserCredential } from '../../model/public_types';\n\nimport { _assert } from '../util/assert';\nimport { AuthErrorCode } from '../errors';\n\nimport { OAuthCredential, OAuthCredentialParams } from '../credentials/oauth';\nimport { UserCredentialInternal } from '../../model/user';\nimport { FirebaseError } from '@firebase/util';\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { SignInWithIdpResponse } from '../../../internal';\nimport { FederatedAuthProvider } from './federated';\n\n/**\n * Defines the options for initializing an {@link OAuthCredential}.\n *\n * @remarks\n * For ID tokens with nonce claim, the raw nonce has to also be provided.\n *\n * @public\n */\nexport interface OAuthCredentialOptions {\n /**\n * The OAuth ID token used to initialize the {@link OAuthCredential}.\n */\n idToken?: string;\n /**\n * The OAuth access token used to initialize the {@link OAuthCredential}.\n */\n accessToken?: string;\n /**\n * The raw nonce associated with the ID token.\n *\n * @remarks\n * It is required when an ID token with a nonce field is provided. The SHA-256 hash of the\n * raw nonce must match the nonce field in the ID token.\n */\n rawNonce?: string;\n}\n\n/**\n * Common code to all OAuth providers. This is separate from the\n * {@link OAuthProvider} so that child providers (like\n * {@link GoogleAuthProvider}) don't inherit the `credential` instance method.\n * Instead, they rely on a static `credential` method.\n */\nexport abstract class BaseOAuthProvider\n extends FederatedAuthProvider\n implements AuthProvider\n{\n /** @internal */\n private scopes: string[] = [];\n\n /**\n * Add an OAuth scope to the credential.\n *\n * @param scope - Provider OAuth scope to add.\n */\n addScope(scope: string): AuthProvider {\n // If not already added, add scope to list.\n if (!this.scopes.includes(scope)) {\n this.scopes.push(scope);\n }\n return this;\n }\n\n /**\n * Retrieve the current list of OAuth scopes.\n */\n getScopes(): string[] {\n return [...this.scopes];\n }\n}\n\n/**\n * Provider for generating generic {@link OAuthCredential}.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new OAuthProvider('google.com');\n * // Start a sign in process for an unauthenticated user.\n * provider.addScope('profile');\n * provider.addScope('email');\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a OAuth Access Token for the provider.\n * const credential = provider.credentialFromResult(auth, result);\n * const token = credential.accessToken;\n * }\n * ```\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new OAuthProvider('google.com');\n * provider.addScope('profile');\n * provider.addScope('email');\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a OAuth Access Token for the provider.\n * const credential = provider.credentialFromResult(auth, result);\n * const token = credential.accessToken;\n * ```\n * @public\n */\nexport class OAuthProvider extends BaseOAuthProvider {\n /**\n * Creates an {@link OAuthCredential} from a JSON string or a plain object.\n * @param json - A plain object or a JSON string\n */\n static credentialFromJSON(json: object | string): OAuthCredential {\n const obj = typeof json === 'string' ? JSON.parse(json) : json;\n _assert(\n 'providerId' in obj && 'signInMethod' in obj,\n AuthErrorCode.ARGUMENT_ERROR\n );\n return OAuthCredential._fromParams(obj);\n }\n\n /**\n * Creates a {@link OAuthCredential} from a generic OAuth provider's access token or ID token.\n *\n * @remarks\n * The raw nonce is required when an ID token with a nonce field is provided. The SHA-256 hash of\n * the raw nonce must match the nonce field in the ID token.\n *\n * @example\n * ```javascript\n * // `googleUser` from the onsuccess Google Sign In callback.\n * // Initialize a generate OAuth provider with a `google.com` providerId.\n * const provider = new OAuthProvider('google.com');\n * const credential = provider.credential({\n * idToken: googleUser.getAuthResponse().id_token,\n * });\n * const result = await signInWithCredential(credential);\n * ```\n *\n * @param params - Either the options object containing the ID token, access token and raw nonce\n * or the ID token string.\n */\n credential(params: OAuthCredentialOptions): OAuthCredential {\n return this._credential({...params, nonce: params.rawNonce});\n }\n\n /** An internal credential method that accepts more permissive options */\n private _credential(\n params: Omit\n ): OAuthCredential {\n _assert(params.idToken || params.accessToken, AuthErrorCode.ARGUMENT_ERROR);\n // For OAuthCredential, sign in method is same as providerId.\n return OAuthCredential._fromParams({\n ...params,\n providerId: this.providerId,\n signInMethod: this.providerId\n });\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link UserCredential}.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): OAuthCredential | null {\n return OAuthProvider.oauthCredentialFromTaggedObject(\n userCredential as UserCredentialInternal\n );\n }\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link AuthError} which was\n * thrown during a sign-in, link, or reauthenticate operation.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromError(error: FirebaseError): OAuthCredential | null {\n return OAuthProvider.oauthCredentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static oauthCredentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): OAuthCredential | null {\n if (!tokenResponse) {\n return null;\n }\n\n const {\n oauthIdToken,\n oauthAccessToken,\n oauthTokenSecret,\n pendingToken,\n nonce,\n providerId\n } = tokenResponse as SignInWithIdpResponse;\n if (\n !oauthAccessToken &&\n !oauthTokenSecret &&\n !oauthIdToken &&\n !pendingToken\n ) {\n return null;\n }\n\n if (!providerId) {\n return null;\n }\n\n try {\n return new OAuthProvider(providerId)._credential({\n idToken: oauthIdToken,\n accessToken: oauthAccessToken,\n nonce,\n pendingToken\n });\n } catch (e) {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserCredential } from '../../model/public_types';\nimport { FirebaseError } from '@firebase/util';\n\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { UserCredentialInternal } from '../../model/user';\nimport { OAuthCredential } from '../credentials/oauth';\nimport { BaseOAuthProvider } from './oauth';\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\n/**\n * Provider for generating an {@link OAuthCredential} for {@link ProviderId}.FACEBOOK.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new FacebookAuthProvider();\n * // Start a sign in process for an unauthenticated user.\n * provider.addScope('user_birthday');\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Facebook Access Token.\n * const credential = FacebookAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * }\n * ```\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new FacebookAuthProvider();\n * provider.addScope('user_birthday');\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a Facebook Access Token.\n * const credential = FacebookAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * ```\n *\n * @public\n */\nexport class FacebookAuthProvider extends BaseOAuthProvider {\n /** Always set to {@link SignInMethod}.FACEBOOK. */\n static readonly FACEBOOK_SIGN_IN_METHOD: 'facebook.com' =\n SignInMethod.FACEBOOK;\n /** Always set to {@link ProviderId}.FACEBOOK. */\n static readonly PROVIDER_ID: 'facebook.com' = ProviderId.FACEBOOK;\n\n constructor() {\n super(ProviderId.FACEBOOK);\n }\n\n /**\n * Creates a credential for Facebook.\n *\n * @example\n * ```javascript\n * // `event` from the Facebook auth.authResponseChange callback.\n * const credential = FacebookAuthProvider.credential(event.authResponse.accessToken);\n * const result = await signInWithCredential(credential);\n * ```\n *\n * @param accessToken - Facebook access token.\n */\n static credential(accessToken: string): OAuthCredential {\n return OAuthCredential._fromParams({\n providerId: FacebookAuthProvider.PROVIDER_ID,\n signInMethod: FacebookAuthProvider.FACEBOOK_SIGN_IN_METHOD,\n accessToken\n });\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link UserCredential}.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): OAuthCredential | null {\n return FacebookAuthProvider.credentialFromTaggedObject(\n userCredential as UserCredentialInternal\n );\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link AuthError} which was\n * thrown during a sign-in, link, or reauthenticate operation.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromError(error: FirebaseError): OAuthCredential | null {\n return FacebookAuthProvider.credentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static credentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): OAuthCredential | null {\n if (!tokenResponse || !('oauthAccessToken' in tokenResponse)) {\n return null;\n }\n\n if (!tokenResponse.oauthAccessToken) {\n return null;\n }\n\n try {\n return FacebookAuthProvider.credential(tokenResponse.oauthAccessToken);\n } catch {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserCredential } from '../../model/public_types';\nimport { FirebaseError } from '@firebase/util';\n\nimport { SignInWithIdpResponse } from '../../api/authentication/idp';\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { UserCredentialInternal } from '../../model/user';\nimport { OAuthCredential } from '../credentials/oauth';\nimport { BaseOAuthProvider } from './oauth';\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\n/**\n * Provider for generating an an {@link OAuthCredential} for {@link ProviderId}.GOOGLE.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new GoogleAuthProvider();\n * // Start a sign in process for an unauthenticated user.\n * provider.addScope('profile');\n * provider.addScope('email');\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Google Access Token.\n * const credential = GoogleAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * }\n * ```\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new GoogleAuthProvider();\n * provider.addScope('profile');\n * provider.addScope('email');\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a Google Access Token.\n * const credential = GoogleAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * ```\n *\n * @public\n */\nexport class GoogleAuthProvider extends BaseOAuthProvider {\n /** Always set to {@link SignInMethod}.GOOGLE. */\n static readonly GOOGLE_SIGN_IN_METHOD: 'google.com' = SignInMethod.GOOGLE;\n /** Always set to {@link ProviderId}.GOOGLE. */\n static readonly PROVIDER_ID: 'google.com' = ProviderId.GOOGLE;\n\n constructor() {\n super(ProviderId.GOOGLE);\n this.addScope('profile');\n }\n\n /**\n * Creates a credential for Google. At least one of ID token and access token is required.\n *\n * @example\n * ```javascript\n * // \\`googleUser\\` from the onsuccess Google Sign In callback.\n * const credential = GoogleAuthProvider.credential(googleUser.getAuthResponse().id_token);\n * const result = await signInWithCredential(credential);\n * ```\n *\n * @param idToken - Google ID token.\n * @param accessToken - Google access token.\n */\n static credential(\n idToken?: string | null,\n accessToken?: string | null\n ): OAuthCredential {\n return OAuthCredential._fromParams({\n providerId: GoogleAuthProvider.PROVIDER_ID,\n signInMethod: GoogleAuthProvider.GOOGLE_SIGN_IN_METHOD,\n idToken,\n accessToken\n });\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link UserCredential}.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): OAuthCredential | null {\n return GoogleAuthProvider.credentialFromTaggedObject(\n userCredential as UserCredentialInternal\n );\n }\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link AuthError} which was\n * thrown during a sign-in, link, or reauthenticate operation.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromError(error: FirebaseError): OAuthCredential | null {\n return GoogleAuthProvider.credentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static credentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): OAuthCredential | null {\n if (!tokenResponse) {\n return null;\n }\n\n const { oauthIdToken, oauthAccessToken } =\n tokenResponse as SignInWithIdpResponse;\n if (!oauthIdToken && !oauthAccessToken) {\n // This could be an oauth 1 credential or a phone credential\n return null;\n }\n\n try {\n return GoogleAuthProvider.credential(oauthIdToken, oauthAccessToken);\n } catch {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserCredential } from '../../model/public_types';\nimport { FirebaseError } from '@firebase/util';\n\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { UserCredentialInternal } from '../../model/user';\nimport { OAuthCredential } from '../credentials/oauth';\nimport { BaseOAuthProvider } from './oauth';\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\n/**\n * Provider for generating an {@link OAuthCredential} for {@link ProviderId}.GITHUB.\n *\n * @remarks\n * GitHub requires an OAuth 2.0 redirect, so you can either handle the redirect directly, or use\n * the {@link signInWithPopup} handler:\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new GithubAuthProvider();\n * // Start a sign in process for an unauthenticated user.\n * provider.addScope('repo');\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Github Access Token.\n * const credential = GithubAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * }\n * ```\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new GithubAuthProvider();\n * provider.addScope('repo');\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a Github Access Token.\n * const credential = GithubAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * ```\n * @public\n */\nexport class GithubAuthProvider extends BaseOAuthProvider {\n /** Always set to {@link SignInMethod}.GITHUB. */\n static readonly GITHUB_SIGN_IN_METHOD: 'github.com' = SignInMethod.GITHUB;\n /** Always set to {@link ProviderId}.GITHUB. */\n static readonly PROVIDER_ID: 'github.com' = ProviderId.GITHUB;\n\n constructor() {\n super(ProviderId.GITHUB);\n }\n\n /**\n * Creates a credential for Github.\n *\n * @param accessToken - Github access token.\n */\n static credential(accessToken: string): OAuthCredential {\n return OAuthCredential._fromParams({\n providerId: GithubAuthProvider.PROVIDER_ID,\n signInMethod: GithubAuthProvider.GITHUB_SIGN_IN_METHOD,\n accessToken\n });\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link UserCredential}.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): OAuthCredential | null {\n return GithubAuthProvider.credentialFromTaggedObject(\n userCredential as UserCredentialInternal\n );\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link AuthError} which was\n * thrown during a sign-in, link, or reauthenticate operation.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromError(error: FirebaseError): OAuthCredential | null {\n return GithubAuthProvider.credentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static credentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): OAuthCredential | null {\n if (!tokenResponse || !('oauthAccessToken' in tokenResponse)) {\n return null;\n }\n\n if (!tokenResponse.oauthAccessToken) {\n return null;\n }\n\n try {\n return GithubAuthProvider.credential(tokenResponse.oauthAccessToken);\n } catch {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Represents the SAML credentials returned by an {@link SAMLAuthProvider}.\n *\n * @public\n */\n\nimport {\n signInWithIdp,\n SignInWithIdpRequest\n} from '../../api/authentication/idp';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { AuthCredential } from './auth_credential';\n\nconst IDP_REQUEST_URI = 'http://localhost';\n\n/**\n * @public\n */\nexport class SAMLAuthCredential extends AuthCredential {\n /** @internal */\n private constructor(\n providerId: string,\n private readonly pendingToken: string\n ) {\n super(providerId, providerId);\n }\n\n /** @internal */\n _getIdTokenResponse(auth: AuthInternal): Promise {\n const request = this.buildRequest();\n return signInWithIdp(auth, request);\n }\n\n /** @internal */\n _linkToIdToken(\n auth: AuthInternal,\n idToken: string\n ): Promise {\n const request = this.buildRequest();\n request.idToken = idToken;\n return signInWithIdp(auth, request);\n }\n\n /** @internal */\n _getReauthenticationResolver(auth: AuthInternal): Promise {\n const request = this.buildRequest();\n request.autoCreate = false;\n return signInWithIdp(auth, request);\n }\n\n /** {@inheritdoc AuthCredential.toJSON} */\n toJSON(): object {\n return {\n signInMethod: this.signInMethod,\n providerId: this.providerId,\n pendingToken: this.pendingToken\n };\n }\n\n /**\n * Static method to deserialize a JSON representation of an object into an\n * {@link AuthCredential}.\n *\n * @param json - Input can be either Object or the stringified representation of the object.\n * When string is provided, JSON.parse would be called first.\n *\n * @returns If the JSON input does not represent an {@link AuthCredential}, null is returned.\n */\n static fromJSON(json: string | object): SAMLAuthCredential | null {\n const obj = typeof json === 'string' ? JSON.parse(json) : json;\n const {\n providerId,\n signInMethod,\n pendingToken\n }: Record = obj;\n if (\n !providerId ||\n !signInMethod ||\n !pendingToken ||\n providerId !== signInMethod\n ) {\n return null;\n }\n\n return new SAMLAuthCredential(providerId, pendingToken);\n }\n\n /**\n * Helper static method to avoid exposing the constructor to end users.\n *\n * @internal\n */\n static _create(providerId: string, pendingToken: string): SAMLAuthCredential {\n return new SAMLAuthCredential(providerId, pendingToken);\n }\n\n private buildRequest(): SignInWithIdpRequest {\n return {\n requestUri: IDP_REQUEST_URI,\n returnSecureToken: true,\n pendingToken: this.pendingToken\n };\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @license\n * Copyright 2020 Twitter LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserCredential } from '../../model/public_types';\nimport { FirebaseError } from '@firebase/util';\n\nimport { SignInWithIdpResponse } from '../../api/authentication/idp';\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { UserCredentialInternal } from '../../model/user';\nimport { OAuthCredential } from '../credentials/oauth';\nimport { BaseOAuthProvider } from './oauth';\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\n/**\n * Provider for generating an {@link OAuthCredential} for {@link ProviderId}.TWITTER.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new TwitterAuthProvider();\n * // Start a sign in process for an unauthenticated user.\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Twitter Access Token and Secret.\n * const credential = TwitterAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * const secret = credential.secret;\n * }\n * ```\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new TwitterAuthProvider();\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a Twitter Access Token and Secret.\n * const credential = TwitterAuthProvider.credentialFromResult(result);\n * const token = credential.accessToken;\n * const secret = credential.secret;\n * ```\n *\n * @public\n */\nexport class TwitterAuthProvider extends BaseOAuthProvider {\n /** Always set to {@link SignInMethod}.TWITTER. */\n static readonly TWITTER_SIGN_IN_METHOD: 'twitter.com' = SignInMethod.TWITTER;\n /** Always set to {@link ProviderId}.TWITTER. */\n static readonly PROVIDER_ID: 'twitter.com' = ProviderId.TWITTER;\n\n constructor() {\n super(ProviderId.TWITTER);\n }\n\n /**\n * Creates a credential for Twitter.\n *\n * @param token - Twitter access token.\n * @param secret - Twitter secret.\n */\n static credential(token: string, secret: string): OAuthCredential {\n return OAuthCredential._fromParams({\n providerId: TwitterAuthProvider.PROVIDER_ID,\n signInMethod: TwitterAuthProvider.TWITTER_SIGN_IN_METHOD,\n oauthToken: token,\n oauthTokenSecret: secret\n });\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link UserCredential}.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): OAuthCredential | null {\n return TwitterAuthProvider.credentialFromTaggedObject(\n userCredential as UserCredentialInternal\n );\n }\n\n /**\n * Used to extract the underlying {@link OAuthCredential} from a {@link AuthError} which was\n * thrown during a sign-in, link, or reauthenticate operation.\n *\n * @param userCredential - The user credential.\n */\n static credentialFromError(error: FirebaseError): OAuthCredential | null {\n return TwitterAuthProvider.credentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static credentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): OAuthCredential | null {\n if (!tokenResponse) {\n return null;\n }\n const { oauthAccessToken, oauthTokenSecret } =\n tokenResponse as SignInWithIdpResponse;\n if (!oauthAccessToken || !oauthTokenSecret) {\n return null;\n }\n\n try {\n return TwitterAuthProvider.credential(oauthAccessToken, oauthTokenSecret);\n } catch {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Endpoint,\n HttpMethod,\n _addTidIfNecessary,\n _performSignInRequest\n} from '../index';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { Auth } from '../../model/public_types';\n\nexport interface SignUpRequest {\n returnSecureToken?: boolean;\n email?: string;\n password?: string;\n tenantId?: string;\n}\n\nexport interface SignUpResponse extends IdTokenResponse {\n displayName?: string;\n email?: string;\n}\n\nexport async function signUp(\n auth: Auth,\n request: SignUpRequest\n): Promise {\n return _performSignInRequest(\n auth,\n HttpMethod.POST,\n Endpoint.SIGN_UP,\n _addTidIfNecessary(auth, request)\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PhoneOrOauthTokenResponse } from '../../api/authentication/mfa';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { UserInternal, UserCredentialInternal } from '../../model/user';\nimport { UserImpl } from './user_impl';\nimport { AuthInternal } from '../../model/auth';\nimport { OperationType, ProviderId } from '../../model/enums';\n\ninterface UserCredentialParams {\n readonly user: UserInternal;\n readonly providerId: ProviderId | string | null;\n readonly _tokenResponse?: PhoneOrOauthTokenResponse;\n readonly operationType: OperationType;\n}\n\nexport class UserCredentialImpl\n implements UserCredentialInternal, UserCredentialParams\n{\n readonly user: UserInternal;\n readonly providerId: ProviderId | string | null;\n readonly _tokenResponse: PhoneOrOauthTokenResponse | undefined;\n readonly operationType: OperationType;\n\n constructor(params: UserCredentialParams) {\n this.user = params.user;\n this.providerId = params.providerId;\n this._tokenResponse = params._tokenResponse;\n this.operationType = params.operationType;\n }\n\n static async _fromIdTokenResponse(\n auth: AuthInternal,\n operationType: OperationType,\n idTokenResponse: IdTokenResponse,\n isAnonymous: boolean = false\n ): Promise {\n const user = await UserImpl._fromIdTokenResponse(\n auth,\n idTokenResponse,\n isAnonymous\n );\n const providerId = providerIdForResponse(idTokenResponse);\n const userCred = new UserCredentialImpl({\n user,\n providerId,\n _tokenResponse: idTokenResponse,\n operationType\n });\n return userCred;\n }\n\n static async _forOperation(\n user: UserInternal,\n operationType: OperationType,\n response: PhoneOrOauthTokenResponse\n ): Promise {\n await user._updateTokensIfNecessary(response, /* reload */ true);\n const providerId = providerIdForResponse(response);\n return new UserCredentialImpl({\n user,\n providerId,\n _tokenResponse: response,\n operationType\n });\n }\n}\n\nfunction providerIdForResponse(\n response: IdTokenResponse\n): ProviderId | string | null {\n if (response.providerId) {\n return response.providerId;\n }\n\n if ('phoneNumber' in response) {\n return ProviderId.PHONE;\n }\n\n return null;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Auth, UserCredential } from '../../model/public_types';\nimport { signUp } from '../../api/authentication/sign_up';\nimport { UserInternal } from '../../model/user';\nimport { UserCredentialImpl } from '../user/user_credential_impl';\nimport { _castAuth } from '../auth/auth_impl';\nimport { OperationType } from '../../model/enums';\n\n/**\n * Asynchronously signs in as an anonymous user.\n *\n * @remarks\n * If there is already an anonymous user signed in, that user will be returned; otherwise, a\n * new anonymous user identity will be created and returned.\n *\n * @param auth - The {@link Auth} instance.\n *\n * @public\n */\nexport async function signInAnonymously(auth: Auth): Promise {\n const authInternal = _castAuth(auth);\n await authInternal._initializationPromise;\n if (authInternal.currentUser?.isAnonymous) {\n // If an anonymous user is already signed in, no need to sign them in again.\n return new UserCredentialImpl({\n user: authInternal.currentUser as UserInternal,\n providerId: null,\n operationType: OperationType.SIGN_IN\n });\n }\n const response = await signUp(authInternal, {\n returnSecureToken: true\n });\n const userCredential = await UserCredentialImpl._fromIdTokenResponse(\n authInternal,\n OperationType.SIGN_IN,\n response,\n true\n );\n await authInternal._updateCurrentUser(userCredential.user);\n return userCredential;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MultiFactorError as MultiFactorErrorPublic } from '../model/public_types';\nimport { FirebaseError } from '@firebase/util';\nimport { AuthInternal } from '../model/auth';\nimport { IdTokenResponse } from '../model/id_token';\nimport { AuthErrorCode } from '../core/errors';\nimport { UserInternal } from '../model/user';\nimport { AuthCredential } from '../core/credentials';\nimport { IdTokenMfaResponse } from '../api/authentication/mfa';\nimport { OperationType } from '../model/enums';\n\nexport type MultiFactorErrorData = MultiFactorErrorPublic['customData'] & {\n _serverResponse: IdTokenMfaResponse;\n};\n\nexport class MultiFactorError\n extends FirebaseError\n implements MultiFactorErrorPublic\n{\n readonly customData: MultiFactorErrorData;\n\n private constructor(\n auth: AuthInternal,\n error: FirebaseError,\n readonly operationType: OperationType,\n readonly user?: UserInternal\n ) {\n super(error.code, error.message);\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, MultiFactorError.prototype);\n this.customData = {\n appName: auth.name,\n tenantId: auth.tenantId ?? undefined,\n _serverResponse: error.customData!._serverResponse as IdTokenMfaResponse,\n operationType,\n };\n }\n\n static _fromErrorAndOperation(\n auth: AuthInternal,\n error: FirebaseError,\n operationType: OperationType,\n user?: UserInternal\n ): MultiFactorError {\n return new MultiFactorError(auth, error, operationType, user);\n }\n}\n\nexport function _processCredentialSavingMfaContextIfNecessary(\n auth: AuthInternal,\n operationType: OperationType,\n credential: AuthCredential,\n user?: UserInternal\n): Promise {\n const idTokenProvider =\n operationType === OperationType.REAUTHENTICATE\n ? credential._getReauthenticationResolver(auth)\n : credential._getIdTokenResponse(auth);\n\n return idTokenProvider.catch(error => {\n if (error.code === `auth/${AuthErrorCode.MFA_REQUIRED}`) {\n throw MultiFactorError._fromErrorAndOperation(\n auth,\n error,\n operationType,\n user\n );\n }\n\n throw error;\n });\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { User } from '../../model/public_types';\n\nimport { deleteLinkedAccounts } from '../../api/account_management/account';\nimport { UserInternal, UserCredentialInternal } from '../../model/user';\nimport { AuthCredential } from '../credentials';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from '../util/assert';\nimport { providerDataAsNames } from '../util/providers';\nimport { _logoutIfInvalidated } from './invalidation';\nimport { _reloadWithoutSaving } from './reload';\nimport { UserCredentialImpl } from './user_credential_impl';\nimport { getModularInstance } from '@firebase/util';\nimport { OperationType, ProviderId } from '../../model/enums';\n\n/**\n * Unlinks a provider from a user account.\n *\n * @param user - The user.\n * @param providerId - The provider to unlink.\n *\n * @public\n */\nexport async function unlink(user: User, providerId: string): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n await _assertLinkedStatus(true, userInternal, providerId);\n const { providerUserInfo } = await deleteLinkedAccounts(userInternal.auth, {\n idToken: await userInternal.getIdToken(),\n deleteProvider: [providerId]\n });\n\n const providersLeft = providerDataAsNames(providerUserInfo || []);\n\n userInternal.providerData = userInternal.providerData.filter(pd =>\n providersLeft.has(pd.providerId)\n );\n if (!providersLeft.has(ProviderId.PHONE)) {\n userInternal.phoneNumber = null;\n }\n\n await userInternal.auth._persistUserIfCurrent(userInternal);\n return userInternal;\n}\n\nexport async function _link(\n user: UserInternal,\n credential: AuthCredential,\n bypassAuthState = false\n): Promise {\n const response = await _logoutIfInvalidated(\n user,\n credential._linkToIdToken(user.auth, await user.getIdToken()),\n bypassAuthState\n );\n return UserCredentialImpl._forOperation(user, OperationType.LINK, response);\n}\n\nexport async function _assertLinkedStatus(\n expected: boolean,\n user: UserInternal,\n provider: string\n): Promise {\n await _reloadWithoutSaving(user);\n const providerIds = providerDataAsNames(user.providerData);\n\n const code =\n expected === false\n ? AuthErrorCode.PROVIDER_ALREADY_LINKED\n : AuthErrorCode.NO_SUCH_PROVIDER;\n _assert(providerIds.has(provider) === expected, user.auth, code);\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError } from '@firebase/util';\nimport { _processCredentialSavingMfaContextIfNecessary } from '../../mfa/mfa_error';\nimport { OperationType } from '../../model/enums';\nimport { UserInternal } from '../../model/user';\nimport { AuthCredential } from '../credentials';\nimport { AuthErrorCode } from '../errors';\nimport { _assert, _fail } from '../util/assert';\nimport { _parseToken } from './id_token_result';\nimport { _logoutIfInvalidated } from './invalidation';\nimport { UserCredentialImpl } from './user_credential_impl';\n\nexport async function _reauthenticate(\n user: UserInternal,\n credential: AuthCredential,\n bypassAuthState = false\n): Promise {\n const { auth } = user;\n const operationType = OperationType.REAUTHENTICATE;\n\n try {\n const response = await _logoutIfInvalidated(\n user,\n _processCredentialSavingMfaContextIfNecessary(\n auth,\n operationType,\n credential,\n user\n ),\n bypassAuthState\n );\n _assert(response.idToken, auth, AuthErrorCode.INTERNAL_ERROR);\n const parsed = _parseToken(response.idToken);\n _assert(parsed, auth, AuthErrorCode.INTERNAL_ERROR);\n\n const { sub: localId } = parsed;\n _assert(user.uid === localId, auth, AuthErrorCode.USER_MISMATCH);\n\n return UserCredentialImpl._forOperation(user, operationType, response);\n } catch (e) {\n // Convert user deleted error into user mismatch\n if ((e as FirebaseError)?.code === `auth/${AuthErrorCode.USER_DELETED}`) {\n _fail(auth, AuthErrorCode.USER_MISMATCH);\n }\n throw e;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { UserCredential, Auth, User } from '../../model/public_types';\n\nimport { _processCredentialSavingMfaContextIfNecessary } from '../../mfa/mfa_error';\nimport { AuthInternal } from '../../model/auth';\nimport { UserInternal } from '../../model/user';\nimport { AuthCredential } from '../credentials';\nimport { _assertLinkedStatus, _link } from '../user/link_unlink';\nimport { _reauthenticate } from '../user/reauthenticate';\nimport { UserCredentialImpl } from '../user/user_credential_impl';\nimport { _castAuth } from '../auth/auth_impl';\nimport { getModularInstance } from '@firebase/util';\nimport { OperationType } from '../../model/enums';\n\nexport async function _signInWithCredential(\n auth: AuthInternal,\n credential: AuthCredential,\n bypassAuthState = false\n): Promise {\n const operationType = OperationType.SIGN_IN;\n const response = await _processCredentialSavingMfaContextIfNecessary(\n auth,\n operationType,\n credential\n );\n const userCredential = await UserCredentialImpl._fromIdTokenResponse(\n auth,\n operationType,\n response\n );\n\n if (!bypassAuthState) {\n await auth._updateCurrentUser(userCredential.user);\n }\n return userCredential;\n}\n\n/**\n * Asynchronously signs in with the given credentials.\n *\n * @remarks\n * An {@link AuthProvider} can be used to generate the credential.\n *\n * @param auth - The {@link Auth} instance.\n * @param credential - The auth credential.\n *\n * @public\n */\nexport async function signInWithCredential(\n auth: Auth,\n credential: AuthCredential\n): Promise {\n return _signInWithCredential(_castAuth(auth), credential);\n}\n\n/**\n * Links the user account with the given credentials.\n *\n * @remarks\n * An {@link AuthProvider} can be used to generate the credential.\n *\n * @param user - The user.\n * @param credential - The auth credential.\n *\n * @public\n */\nexport async function linkWithCredential(\n user: User,\n credential: AuthCredential\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n\n await _assertLinkedStatus(false, userInternal, credential.providerId);\n\n return _link(userInternal, credential);\n}\n\n/**\n * Re-authenticates a user using a fresh credential.\n *\n * @remarks\n * Use before operations such as {@link updatePassword} that require tokens from recent sign-in\n * attempts. This method can be used to recover from a `CREDENTIAL_TOO_OLD_LOGIN_AGAIN` error.\n *\n * @param user - The user.\n * @param credential - The auth credential.\n *\n * @public\n */\nexport async function reauthenticateWithCredential(\n user: User,\n credential: AuthCredential\n): Promise {\n return _reauthenticate(getModularInstance(user) as UserInternal, credential);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Endpoint, HttpMethod, _addTidIfNecessary, _performApiRequest } from '../index';\nimport { SignInWithPhoneNumberRequest } from '../authentication/sms';\nimport { FinalizeMfaResponse } from '../authentication/mfa';\nimport { AuthInternal } from '../../model/auth';\n\n/**\n * MFA Info as returned by the API\n */\ninterface BaseMfaEnrollment {\n mfaEnrollmentId: string;\n enrolledAt: number;\n displayName?: string;\n}\n\n/**\n * An MFA provided by SMS verification\n */\nexport interface PhoneMfaEnrollment extends BaseMfaEnrollment {\n phoneInfo: string;\n}\n\n/**\n * MfaEnrollment can be any subtype of BaseMfaEnrollment, currently only PhoneMfaEnrollment is supported\n */\nexport type MfaEnrollment = PhoneMfaEnrollment;\n\nexport interface StartPhoneMfaEnrollmentRequest {\n idToken: string;\n phoneEnrollmentInfo: {\n phoneNumber: string;\n recaptchaToken: string;\n };\n tenantId?: string;\n}\n\nexport interface StartPhoneMfaEnrollmentResponse {\n phoneSessionInfo: {\n sessionInfo: string;\n };\n}\n\nexport function startEnrollPhoneMfa(\n auth: AuthInternal,\n request: StartPhoneMfaEnrollmentRequest\n): Promise {\n return _performApiRequest<\n StartPhoneMfaEnrollmentRequest,\n StartPhoneMfaEnrollmentResponse\n >(auth, HttpMethod.POST, Endpoint.START_PHONE_MFA_ENROLLMENT, _addTidIfNecessary(auth, request));\n}\n\nexport interface FinalizePhoneMfaEnrollmentRequest {\n idToken: string;\n phoneVerificationInfo: SignInWithPhoneNumberRequest;\n displayName?: string | null;\n tenantId?: string;\n}\n\nexport interface FinalizePhoneMfaEnrollmentResponse\n extends FinalizeMfaResponse {}\n\nexport function finalizeEnrollPhoneMfa(\n auth: AuthInternal,\n request: FinalizePhoneMfaEnrollmentRequest\n): Promise {\n return _performApiRequest<\n FinalizePhoneMfaEnrollmentRequest,\n FinalizePhoneMfaEnrollmentResponse\n >(auth, HttpMethod.POST, Endpoint.FINALIZE_PHONE_MFA_ENROLLMENT, _addTidIfNecessary(auth, request));\n}\n\nexport interface WithdrawMfaRequest {\n idToken: string;\n mfaEnrollmentId: string;\n tenantId?: string;\n}\n\nexport interface WithdrawMfaResponse extends FinalizeMfaResponse {}\n\nexport function withdrawMfa(\n auth: AuthInternal,\n request: WithdrawMfaRequest\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.POST,\n Endpoint.WITHDRAW_MFA,\n _addTidIfNecessary(auth, request)\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n MultiFactorAssertion,\n MultiFactorInfo,\n MultiFactorSession,\n MultiFactorUser,\n User\n} from '../model/public_types';\n\nimport { withdrawMfa } from '../api/account_management/mfa';\nimport { AuthErrorCode } from '../core/errors';\nimport { _logoutIfInvalidated } from '../core/user/invalidation';\nimport { UserInternal } from '../model/user';\nimport { MultiFactorAssertionImpl } from './mfa_assertion';\nimport { MultiFactorInfoImpl } from './mfa_info';\nimport { MultiFactorSessionImpl } from './mfa_session';\nimport { FirebaseError, getModularInstance } from '@firebase/util';\n\nexport class MultiFactorUserImpl implements MultiFactorUser {\n enrolledFactors: MultiFactorInfo[] = [];\n\n private constructor(readonly user: UserInternal) {\n user._onReload(userInfo => {\n if (userInfo.mfaInfo) {\n this.enrolledFactors = userInfo.mfaInfo.map(enrollment =>\n MultiFactorInfoImpl._fromServerResponse(user.auth, enrollment)\n );\n }\n });\n }\n\n static _fromUser(user: UserInternal): MultiFactorUserImpl {\n return new MultiFactorUserImpl(user);\n }\n\n async getSession(): Promise {\n return MultiFactorSessionImpl._fromIdtoken(await this.user.getIdToken());\n }\n\n async enroll(\n assertionExtern: MultiFactorAssertion,\n displayName?: string | null\n ): Promise {\n const assertion = assertionExtern as MultiFactorAssertionImpl;\n const session = (await this.getSession()) as MultiFactorSessionImpl;\n const finalizeMfaResponse = await _logoutIfInvalidated(\n this.user,\n assertion._process(this.user.auth, session, displayName)\n );\n // New tokens will be issued after enrollment of the new second factors.\n // They need to be updated on the user.\n await this.user._updateTokensIfNecessary(finalizeMfaResponse);\n // The user needs to be reloaded to get the new multi-factor information\n // from server. USER_RELOADED event will be triggered and `enrolledFactors`\n // will be updated.\n return this.user.reload();\n }\n\n async unenroll(infoOrUid: MultiFactorInfo | string): Promise {\n const mfaEnrollmentId =\n typeof infoOrUid === 'string' ? infoOrUid : infoOrUid.uid;\n const idToken = await this.user.getIdToken();\n const idTokenResponse = await _logoutIfInvalidated(\n this.user,\n withdrawMfa(this.user.auth, {\n idToken,\n mfaEnrollmentId\n })\n );\n // Remove the second factor from the user's list.\n this.enrolledFactors = this.enrolledFactors.filter(\n ({ uid }) => uid !== mfaEnrollmentId\n );\n // Depending on whether the backend decided to revoke the user's session,\n // the tokenResponse may be empty. If the tokens were not updated (and they\n // are now invalid), reloading the user will discover this and invalidate\n // the user's state accordingly.\n await this.user._updateTokensIfNecessary(idTokenResponse);\n try {\n await this.user.reload();\n } catch (e) {\n if ((e as FirebaseError)?.code !== `auth/${AuthErrorCode.TOKEN_EXPIRED}`) {\n throw e;\n }\n }\n }\n}\n\nconst multiFactorUserCache = new WeakMap();\n\n/**\n * The {@link MultiFactorUser} corresponding to the user.\n *\n * @remarks\n * This is used to access all multi-factor properties and operations related to the user.\n *\n * @param user - The user.\n *\n * @public\n */\nexport function multiFactor(user: User): MultiFactorUser {\n const userModular = getModularInstance(user);\n if (!multiFactorUserCache.has(userModular)) {\n multiFactorUserCache.set(\n userModular,\n MultiFactorUserImpl._fromUser(userModular as UserInternal)\n );\n }\n return multiFactorUserCache.get(userModular)!;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Persistence } from '../../model/public_types';\n\nexport const enum PersistenceType {\n SESSION = 'SESSION',\n LOCAL = 'LOCAL',\n NONE = 'NONE'\n}\n\nexport type PersistedBlob = Record;\n\nexport interface Instantiator {\n (blob: PersistedBlob): T;\n}\n\nexport type PersistenceValue = PersistedBlob | string;\n\nexport const STORAGE_AVAILABLE_KEY = '__sak';\n\nexport interface StorageEventListener {\n (value: PersistenceValue | null): void;\n}\n\nexport interface PersistenceInternal extends Persistence {\n type: PersistenceType;\n _isAvailable(): Promise;\n _set(key: string, value: PersistenceValue): Promise;\n _get(key: string): Promise;\n _remove(key: string): Promise;\n _addListener(key: string, listener: StorageEventListener): void;\n _removeListener(key: string, listener: StorageEventListener): void;\n // Should this persistence allow migration up the chosen hierarchy?\n _shouldAllowMigration?: boolean;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n PersistenceValue,\n STORAGE_AVAILABLE_KEY,\n PersistenceType\n} from '../../core/persistence';\n\n// There are two different browser persistence types: local and session.\n// Both have the same implementation but use a different underlying storage\n// object.\n\nexport abstract class BrowserPersistenceClass {\n protected constructor(\n protected readonly storageRetriever: () => Storage,\n readonly type: PersistenceType\n ) {}\n\n _isAvailable(): Promise {\n try {\n if (!this.storage) {\n return Promise.resolve(false);\n }\n this.storage.setItem(STORAGE_AVAILABLE_KEY, '1');\n this.storage.removeItem(STORAGE_AVAILABLE_KEY);\n return Promise.resolve(true);\n } catch {\n return Promise.resolve(false);\n }\n }\n\n _set(key: string, value: PersistenceValue): Promise {\n this.storage.setItem(key, JSON.stringify(value));\n return Promise.resolve();\n }\n\n _get(key: string): Promise {\n const json = this.storage.getItem(key);\n return Promise.resolve(json ? JSON.parse(json) : null);\n }\n\n _remove(key: string): Promise {\n this.storage.removeItem(key);\n return Promise.resolve();\n }\n\n protected get storage(): Storage {\n return this.storageRetriever();\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence } from '../../model/public_types';\n\nimport { getUA } from '@firebase/util';\nimport {\n _isSafari,\n _isIOS,\n _isIframe,\n _isMobileBrowser,\n _isIE10\n} from '../../core/util/browser';\nimport {\n PersistenceInternal as InternalPersistence,\n PersistenceType,\n PersistenceValue,\n StorageEventListener\n} from '../../core/persistence';\nimport { BrowserPersistenceClass } from './browser';\n\nfunction _iframeCannotSyncWebStorage(): boolean {\n const ua = getUA();\n return _isSafari(ua) || _isIOS(ua);\n}\n\n// The polling period in case events are not supported\nexport const _POLLING_INTERVAL_MS = 1000;\n\n// The IE 10 localStorage cross tab synchronization delay in milliseconds\nconst IE10_LOCAL_STORAGE_SYNC_DELAY = 10;\n\nclass BrowserLocalPersistence\n extends BrowserPersistenceClass\n implements InternalPersistence\n{\n static type: 'LOCAL' = 'LOCAL';\n\n constructor() {\n super(() => window.localStorage, PersistenceType.LOCAL);\n }\n\n private readonly boundEventHandler = (event: StorageEvent, poll?: boolean): void => this.onStorageEvent(event, poll);\n private readonly listeners: Record> = {};\n private readonly localCache: Record = {};\n // setTimeout return value is platform specific\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private pollTimer: any | null = null;\n\n // Safari or iOS browser and embedded in an iframe.\n private readonly safariLocalStorageNotSynced =\n _iframeCannotSyncWebStorage() && _isIframe();\n // Whether to use polling instead of depending on window events\n private readonly fallbackToPolling = _isMobileBrowser();\n readonly _shouldAllowMigration = true;\n\n private forAllChangedKeys(\n cb: (key: string, oldValue: string | null, newValue: string | null) => void\n ): void {\n // Check all keys with listeners on them.\n for (const key of Object.keys(this.listeners)) {\n // Get value from localStorage.\n const newValue = this.storage.getItem(key);\n const oldValue = this.localCache[key];\n // If local map value does not match, trigger listener with storage event.\n // Differentiate this simulated event from the real storage event.\n if (newValue !== oldValue) {\n cb(key, oldValue, newValue);\n }\n }\n }\n\n private onStorageEvent(event: StorageEvent, poll = false): void {\n // Key would be null in some situations, like when localStorage is cleared\n if (!event.key) {\n this.forAllChangedKeys(\n (key: string, _oldValue: string | null, newValue: string | null) => {\n this.notifyListeners(key, newValue);\n }\n );\n return;\n }\n\n const key = event.key;\n\n // Check the mechanism how this event was detected.\n // The first event will dictate the mechanism to be used.\n if (poll) {\n // Environment detects storage changes via polling.\n // Remove storage event listener to prevent possible event duplication.\n this.detachListener();\n } else {\n // Environment detects storage changes via storage event listener.\n // Remove polling listener to prevent possible event duplication.\n this.stopPolling();\n }\n\n // Safari embedded iframe. Storage event will trigger with the delta\n // changes but no changes will be applied to the iframe localStorage.\n if (this.safariLocalStorageNotSynced) {\n // Get current iframe page value.\n const storedValue = this.storage.getItem(key);\n // Value not synchronized, synchronize manually.\n if (event.newValue !== storedValue) {\n if (event.newValue !== null) {\n // Value changed from current value.\n this.storage.setItem(key, event.newValue);\n } else {\n // Current value deleted.\n this.storage.removeItem(key);\n }\n } else if (this.localCache[key] === event.newValue && !poll) {\n // Already detected and processed, do not trigger listeners again.\n return;\n }\n }\n\n const triggerListeners = (): void => {\n // Keep local map up to date in case storage event is triggered before\n // poll.\n const storedValue = this.storage.getItem(key);\n if (!poll && this.localCache[key] === storedValue) {\n // Real storage event which has already been detected, do nothing.\n // This seems to trigger in some IE browsers for some reason.\n return;\n }\n this.notifyListeners(key, storedValue);\n };\n\n const storedValue = this.storage.getItem(key);\n if (\n _isIE10() &&\n storedValue !== event.newValue &&\n event.newValue !== event.oldValue\n ) {\n // IE 10 has this weird bug where a storage event would trigger with the\n // correct key, oldValue and newValue but localStorage.getItem(key) does\n // not yield the updated value until a few milliseconds. This ensures\n // this recovers from that situation.\n setTimeout(triggerListeners, IE10_LOCAL_STORAGE_SYNC_DELAY);\n } else {\n triggerListeners();\n }\n }\n\n private notifyListeners(key: string, value: string | null): void {\n this.localCache[key] = value;\n const listeners = this.listeners[key];\n if (listeners) {\n for (const listener of Array.from(listeners)) {\n listener(value ? JSON.parse(value) : value);\n }\n }\n }\n\n private startPolling(): void {\n this.stopPolling();\n\n this.pollTimer = setInterval(() => {\n this.forAllChangedKeys(\n (key: string, oldValue: string | null, newValue: string | null) => {\n this.onStorageEvent(\n new StorageEvent('storage', {\n key,\n oldValue,\n newValue\n }),\n /* poll */ true\n );\n }\n );\n }, _POLLING_INTERVAL_MS);\n }\n\n private stopPolling(): void {\n if (this.pollTimer) {\n clearInterval(this.pollTimer);\n this.pollTimer = null;\n }\n }\n\n private attachListener(): void {\n window.addEventListener('storage', this.boundEventHandler);\n }\n\n private detachListener(): void {\n window.removeEventListener('storage', this.boundEventHandler);\n }\n\n _addListener(key: string, listener: StorageEventListener): void {\n if (Object.keys(this.listeners).length === 0) {\n // Whether browser can detect storage event when it had already been pushed to the background.\n // This may happen in some mobile browsers. A localStorage change in the foreground window\n // will not be detected in the background window via the storage event.\n // This was detected in iOS 7.x mobile browsers\n if (this.fallbackToPolling) {\n this.startPolling();\n } else {\n this.attachListener();\n }\n }\n if (!this.listeners[key]) {\n this.listeners[key] = new Set();\n // Populate the cache to avoid spuriously triggering on first poll.\n this.localCache[key] = this.storage.getItem(key);\n }\n this.listeners[key].add(listener);\n }\n\n _removeListener(key: string, listener: StorageEventListener): void {\n if (this.listeners[key]) {\n this.listeners[key].delete(listener);\n\n if (this.listeners[key].size === 0) {\n delete this.listeners[key];\n }\n }\n\n if (Object.keys(this.listeners).length === 0) {\n this.detachListener();\n this.stopPolling();\n }\n }\n\n // Update local cache on base operations:\n\n async _set(key: string, value: PersistenceValue): Promise {\n await super._set(key, value);\n this.localCache[key] = JSON.stringify(value);\n }\n\n async _get(key: string): Promise {\n const value = await super._get(key);\n this.localCache[key] = JSON.stringify(value);\n return value;\n }\n\n async _remove(key: string): Promise {\n await super._remove(key);\n delete this.localCache[key];\n }\n}\n\n/**\n * An implementation of {@link Persistence} of type `LOCAL` using `localStorage`\n * for the underlying storage.\n *\n * @public\n */\nexport const browserLocalPersistence: Persistence = BrowserLocalPersistence;\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence } from '../../model/public_types';\n\nimport {\n PersistenceInternal as InternalPersistence,\n PersistenceType,\n StorageEventListener\n} from '../../core/persistence';\nimport { BrowserPersistenceClass } from './browser';\n\nclass BrowserSessionPersistence\n extends BrowserPersistenceClass\n implements InternalPersistence\n{\n static type: 'SESSION' = 'SESSION';\n\n constructor() {\n super(() => window.sessionStorage, PersistenceType.SESSION);\n }\n\n _addListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for session storage since it cannot be shared across windows\n return;\n }\n\n _removeListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for session storage since it cannot be shared across windows\n return;\n }\n}\n\n/**\n * An implementation of {@link Persistence} of `SESSION` using `sessionStorage`\n * for the underlying storage.\n *\n * @public\n */\nexport const browserSessionPersistence: Persistence = BrowserSessionPersistence;\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** TODO: remove this once tslib has a polyfill for Promise.allSettled */\ninterface PromiseFulfilledResult {\n fulfilled: true;\n value: T;\n}\n\ninterface PromiseRejectedResult {\n fulfilled: false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n reason: any;\n}\n\nexport type PromiseSettledResult =\n | PromiseFulfilledResult\n | PromiseRejectedResult;\n\n/**\n * Shim for Promise.allSettled, note the slightly different format of `fulfilled` vs `status`.\n *\n * @param promises - Array of promises to wait on.\n */\nexport function _allSettled(\n promises: Array>\n): Promise>> {\n return Promise.all(\n promises.map(async promise => {\n try {\n const value = await promise;\n return {\n fulfilled: true,\n value\n } as PromiseFulfilledResult;\n } catch (reason) {\n return {\n fulfilled: false,\n reason\n } as PromiseRejectedResult;\n }\n })\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ReceiverHandler,\n _EventType,\n _ReceiverResponse,\n SenderMessageEvent,\n _Status,\n _SenderRequest\n} from './index';\nimport { _allSettled } from './promise';\n\n/**\n * Interface class for receiving messages.\n *\n */\nexport class Receiver {\n private static readonly receivers: Receiver[] = [];\n private readonly boundEventHandler: EventListener;\n\n private readonly handlersMap: {\n // Typescript doesn't have existential types :(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [eventType: string]: Set>;\n } = {};\n\n constructor(private readonly eventTarget: EventTarget) {\n this.boundEventHandler = this.handleEvent.bind(this);\n }\n\n /**\n * Obtain an instance of a Receiver for a given event target, if none exists it will be created.\n *\n * @param eventTarget - An event target (such as window or self) through which the underlying\n * messages will be received.\n */\n static _getInstance(eventTarget: EventTarget): Receiver {\n // The results are stored in an array since objects can't be keys for other\n // objects. In addition, setting a unique property on an event target as a\n // hash map key may not be allowed due to CORS restrictions.\n const existingInstance = this.receivers.find(receiver =>\n receiver.isListeningto(eventTarget)\n );\n if (existingInstance) {\n return existingInstance;\n }\n const newInstance = new Receiver(eventTarget);\n this.receivers.push(newInstance);\n return newInstance;\n }\n\n private isListeningto(eventTarget: EventTarget): boolean {\n return this.eventTarget === eventTarget;\n }\n\n /**\n * Fans out a MessageEvent to the appropriate listeners.\n *\n * @remarks\n * Sends an {@link Status.ACK} upon receipt and a {@link Status.DONE} once all handlers have\n * finished processing.\n *\n * @param event - The MessageEvent.\n *\n */\n private async handleEvent<\n T extends _ReceiverResponse,\n S extends _SenderRequest\n >(event: Event): Promise {\n const messageEvent = event as MessageEvent>;\n const { eventId, eventType, data } = messageEvent.data;\n\n const handlers: Set> | undefined = this.handlersMap[\n eventType\n ];\n if (!handlers?.size) {\n return;\n }\n\n messageEvent.ports[0].postMessage({\n status: _Status.ACK,\n eventId,\n eventType\n });\n\n const promises = Array.from(handlers).map(async handler =>\n handler(messageEvent.origin, data)\n );\n const response = await _allSettled(promises);\n messageEvent.ports[0].postMessage({\n status: _Status.DONE,\n eventId,\n eventType,\n response\n });\n }\n\n /**\n * Subscribe an event handler for a particular event.\n *\n * @param eventType - Event name to subscribe to.\n * @param eventHandler - The event handler which should receive the events.\n *\n */\n _subscribe(\n eventType: _EventType,\n eventHandler: ReceiverHandler\n ): void {\n if (Object.keys(this.handlersMap).length === 0) {\n this.eventTarget.addEventListener('message', this.boundEventHandler);\n }\n\n if (!this.handlersMap[eventType]) {\n this.handlersMap[eventType] = new Set();\n }\n\n this.handlersMap[eventType].add(eventHandler);\n }\n\n /**\n * Unsubscribe an event handler from a particular event.\n *\n * @param eventType - Event name to unsubscribe from.\n * @param eventHandler - Optinoal event handler, if none provided, unsubscribe all handlers on this event.\n *\n */\n _unsubscribe(\n eventType: _EventType,\n eventHandler?: ReceiverHandler\n ): void {\n if (this.handlersMap[eventType] && eventHandler) {\n this.handlersMap[eventType].delete(eventHandler);\n }\n if (!eventHandler || this.handlersMap[eventType].size === 0) {\n delete this.handlersMap[eventType];\n }\n\n if (Object.keys(this.handlersMap).length === 0) {\n this.eventTarget.removeEventListener('message', this.boundEventHandler);\n }\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function _generateEventId(prefix = '', digits = 10): string {\n let random = '';\n for (let i = 0; i < digits; i++) {\n random += Math.floor(Math.random() * 10);\n }\n return prefix + random;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _generateEventId } from '../../core/util/event_id';\nimport {\n _SenderRequest,\n _EventType,\n ReceiverMessageEvent,\n _MessageError,\n SenderMessageEvent,\n _Status,\n _ReceiverMessageResponse,\n _ReceiverResponse,\n _TimeoutDuration\n} from './index';\n\ninterface MessageHandler {\n messageChannel: MessageChannel;\n onMessage: EventListenerOrEventListenerObject;\n}\n\n/**\n * Interface for sending messages and waiting for a completion response.\n *\n */\nexport class Sender {\n private readonly handlers = new Set();\n\n constructor(private readonly target: ServiceWorker) {}\n\n /**\n * Unsubscribe the handler and remove it from our tracking Set.\n *\n * @param handler - The handler to unsubscribe.\n */\n private removeMessageHandler(handler: MessageHandler): void {\n if (handler.messageChannel) {\n handler.messageChannel.port1.removeEventListener(\n 'message',\n handler.onMessage\n );\n handler.messageChannel.port1.close();\n }\n this.handlers.delete(handler);\n }\n\n /**\n * Send a message to the Receiver located at {@link target}.\n *\n * @remarks\n * We'll first wait a bit for an ACK , if we get one we will wait significantly longer until the\n * receiver has had a chance to fully process the event.\n *\n * @param eventType - Type of event to send.\n * @param data - The payload of the event.\n * @param timeout - Timeout for waiting on an ACK from the receiver.\n *\n * @returns An array of settled promises from all the handlers that were listening on the receiver.\n */\n async _send(\n eventType: _EventType,\n data: S,\n timeout = _TimeoutDuration.ACK\n ): Promise<_ReceiverMessageResponse> {\n const messageChannel =\n typeof MessageChannel !== 'undefined' ? new MessageChannel() : null;\n if (!messageChannel) {\n throw new Error(_MessageError.CONNECTION_UNAVAILABLE);\n }\n // Node timers and browser timers return fundamentally different types.\n // We don't actually care what the value is but TS won't accept unknown and\n // we can't cast properly in both environments.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let completionTimer: any;\n let handler: MessageHandler;\n return new Promise<_ReceiverMessageResponse>((resolve, reject) => {\n const eventId = _generateEventId('', 20);\n messageChannel.port1.start();\n const ackTimer = setTimeout(() => {\n reject(new Error(_MessageError.UNSUPPORTED_EVENT));\n }, timeout);\n handler = {\n messageChannel,\n onMessage(event: Event): void {\n const messageEvent = event as MessageEvent>;\n if (messageEvent.data.eventId !== eventId) {\n return;\n }\n switch (messageEvent.data.status) {\n case _Status.ACK:\n // The receiver should ACK first.\n clearTimeout(ackTimer);\n completionTimer = setTimeout(() => {\n reject(new Error(_MessageError.TIMEOUT));\n }, _TimeoutDuration.COMPLETION);\n break;\n case _Status.DONE:\n // Once the receiver's handlers are finished we will get the results.\n clearTimeout(completionTimer);\n resolve(messageEvent.data.response);\n break;\n default:\n clearTimeout(ackTimer);\n clearTimeout(completionTimer);\n reject(new Error(_MessageError.INVALID_RESPONSE));\n break;\n }\n }\n };\n this.handlers.add(handler);\n messageChannel.port1.addEventListener('message', handler.onMessage);\n this.target.postMessage(\n {\n eventType,\n eventId,\n data\n } as SenderMessageEvent,\n [messageChannel.port2]\n );\n }).finally(() => {\n if (handler) {\n this.removeMessageHandler(handler);\n }\n });\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Recaptcha } from './recaptcha/recaptcha';\n\n/**\n * A specialized window type that melds the normal window type plus the\n * various bits we need. The three different blocks that are &'d together\n * cant be defined in the same block together.\n */\nexport type AuthWindow = {\n // Standard window types\n [T in keyof Window]: Window[T];\n} & {\n // Any known / named properties we want to add\n grecaptcha?: Recaptcha;\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n ___jsl?: Record;\n gapi?: typeof gapi;\n} & {\n // A final catch-all for callbacks (which will have random names) that\n // we will stick on the window.\n [callback: string]: (...args: unknown[]) => void;\n};\n\n/**\n * Lazy accessor for window, since the compat layer won't tree shake this out,\n * we need to make sure not to mess with window unless we have to\n */\nexport function _window(): AuthWindow {\n return (window as unknown) as AuthWindow;\n}\n\nexport function _setWindowLocation(url: string): void {\n _window().location.href = url;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _window } from '../auth_window';\n\nexport function _isWorker(): boolean {\n return (\n typeof _window()['WorkerGlobalScope'] !== 'undefined' &&\n typeof _window()['importScripts'] === 'function'\n );\n}\n\nexport async function _getActiveServiceWorker(): Promise {\n if (!navigator?.serviceWorker) {\n return null;\n }\n try {\n const registration = await navigator.serviceWorker.ready;\n return registration.active;\n } catch {\n return null;\n }\n}\n\nexport function _getServiceWorkerController(): ServiceWorker | null {\n return navigator?.serviceWorker?.controller || null;\n}\n\nexport function _getWorkerGlobalScope(): ServiceWorker | null {\n return _isWorker() ? ((self as unknown) as ServiceWorker) : null;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence } from '../../model/public_types';\nimport {\n PersistedBlob,\n PersistenceInternal as InternalPersistence,\n PersistenceType,\n PersistenceValue,\n StorageEventListener,\n STORAGE_AVAILABLE_KEY\n} from '../../core/persistence/';\nimport {\n _EventType,\n _PingResponse,\n KeyChangedResponse,\n KeyChangedRequest,\n PingRequest,\n _TimeoutDuration\n} from '../messagechannel/index';\nimport { Receiver } from '../messagechannel/receiver';\nimport { Sender } from '../messagechannel/sender';\nimport {\n _isWorker,\n _getActiveServiceWorker,\n _getServiceWorkerController,\n _getWorkerGlobalScope\n} from '../util/worker';\n\nexport const DB_NAME = 'firebaseLocalStorageDb';\nconst DB_VERSION = 1;\nconst DB_OBJECTSTORE_NAME = 'firebaseLocalStorage';\nconst DB_DATA_KEYPATH = 'fbase_key';\n\ninterface DBObject {\n [DB_DATA_KEYPATH]: string;\n value: PersistedBlob;\n}\n\n/**\n * Promise wrapper for IDBRequest\n *\n * Unfortunately we can't cleanly extend Promise since promises are not callable in ES6\n *\n */\nclass DBPromise {\n constructor(private readonly request: IDBRequest) {}\n\n toPromise(): Promise {\n return new Promise((resolve, reject) => {\n this.request.addEventListener('success', () => {\n resolve(this.request.result);\n });\n this.request.addEventListener('error', () => {\n reject(this.request.error);\n });\n });\n }\n}\n\nfunction getObjectStore(db: IDBDatabase, isReadWrite: boolean): IDBObjectStore {\n return db\n .transaction([DB_OBJECTSTORE_NAME], isReadWrite ? 'readwrite' : 'readonly')\n .objectStore(DB_OBJECTSTORE_NAME);\n}\n\nexport async function _clearDatabase(db: IDBDatabase): Promise {\n const objectStore = getObjectStore(db, true);\n return new DBPromise(objectStore.clear()).toPromise();\n}\n\nexport function _deleteDatabase(): Promise {\n const request = indexedDB.deleteDatabase(DB_NAME);\n return new DBPromise(request).toPromise();\n}\n\nexport function _openDatabase(): Promise {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n return new Promise((resolve, reject) => {\n request.addEventListener('error', () => {\n reject(request.error);\n });\n\n request.addEventListener('upgradeneeded', () => {\n const db = request.result;\n\n try {\n db.createObjectStore(DB_OBJECTSTORE_NAME, { keyPath: DB_DATA_KEYPATH });\n } catch (e) {\n reject(e);\n }\n });\n\n request.addEventListener('success', async () => {\n const db: IDBDatabase = request.result;\n // Strange bug that occurs in Firefox when multiple tabs are opened at the\n // same time. The only way to recover seems to be deleting the database\n // and re-initializing it.\n // https://github.com/firebase/firebase-js-sdk/issues/634\n\n if (!db.objectStoreNames.contains(DB_OBJECTSTORE_NAME)) {\n // Need to close the database or else you get a `blocked` event\n db.close();\n await _deleteDatabase();\n resolve(await _openDatabase());\n } else {\n resolve(db);\n }\n });\n });\n}\n\nexport async function _putObject(\n db: IDBDatabase,\n key: string,\n value: PersistenceValue | string\n): Promise {\n const request = getObjectStore(db, true).put({\n [DB_DATA_KEYPATH]: key,\n value\n });\n return new DBPromise(request).toPromise();\n}\n\nasync function getObject(\n db: IDBDatabase,\n key: string\n): Promise {\n const request = getObjectStore(db, false).get(key);\n const data = await new DBPromise(request).toPromise();\n return data === undefined ? null : data.value;\n}\n\nexport function _deleteObject(db: IDBDatabase, key: string): Promise {\n const request = getObjectStore(db, true).delete(key);\n return new DBPromise(request).toPromise();\n}\n\nexport const _POLLING_INTERVAL_MS = 800;\nexport const _TRANSACTION_RETRY_COUNT = 3;\n\nclass IndexedDBLocalPersistence implements InternalPersistence {\n static type: 'LOCAL' = 'LOCAL';\n\n type = PersistenceType.LOCAL;\n db?: IDBDatabase;\n readonly _shouldAllowMigration = true;\n\n private readonly listeners: Record> = {};\n private readonly localCache: Record = {};\n // setTimeout return value is platform specific\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private pollTimer: any | null = null;\n private pendingWrites = 0;\n\n private receiver: Receiver | null = null;\n private sender: Sender | null = null;\n private serviceWorkerReceiverAvailable = false;\n private activeServiceWorker: ServiceWorker | null = null;\n // Visible for testing only\n readonly _workerInitializationPromise: Promise;\n\n constructor() {\n // Fire & forget the service worker registration as it may never resolve\n this._workerInitializationPromise =\n this.initializeServiceWorkerMessaging().then(\n () => {},\n () => {}\n );\n }\n\n async _openDb(): Promise {\n if (this.db) {\n return this.db;\n }\n this.db = await _openDatabase();\n return this.db;\n }\n\n async _withRetries(op: (db: IDBDatabase) => Promise): Promise {\n let numAttempts = 0;\n\n while (true) {\n try {\n const db = await this._openDb();\n return await op(db);\n } catch (e) {\n if (numAttempts++ > _TRANSACTION_RETRY_COUNT) {\n throw e;\n }\n if (this.db) {\n this.db.close();\n this.db = undefined;\n }\n // TODO: consider adding exponential backoff\n }\n }\n }\n\n /**\n * IndexedDB events do not propagate from the main window to the worker context. We rely on a\n * postMessage interface to send these events to the worker ourselves.\n */\n private async initializeServiceWorkerMessaging(): Promise {\n return _isWorker() ? this.initializeReceiver() : this.initializeSender();\n }\n\n /**\n * As the worker we should listen to events from the main window.\n */\n private async initializeReceiver(): Promise {\n this.receiver = Receiver._getInstance(_getWorkerGlobalScope()!);\n // Refresh from persistence if we receive a KeyChanged message.\n this.receiver._subscribe(\n _EventType.KEY_CHANGED,\n async (_origin: string, data: KeyChangedRequest) => {\n const keys = await this._poll();\n return {\n keyProcessed: keys.includes(data.key)\n };\n }\n );\n // Let the sender know that we are listening so they give us more timeout.\n this.receiver._subscribe(\n _EventType.PING,\n async (_origin: string, _data: PingRequest) => {\n return [_EventType.KEY_CHANGED];\n }\n );\n }\n\n /**\n * As the main window, we should let the worker know when keys change (set and remove).\n *\n * @remarks\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/ready | ServiceWorkerContainer.ready}\n * may not resolve.\n */\n private async initializeSender(): Promise {\n // Check to see if there's an active service worker.\n this.activeServiceWorker = await _getActiveServiceWorker();\n if (!this.activeServiceWorker) {\n return;\n }\n this.sender = new Sender(this.activeServiceWorker);\n // Ping the service worker to check what events they can handle.\n const results = await this.sender._send<_PingResponse, PingRequest>(\n _EventType.PING,\n {},\n _TimeoutDuration.LONG_ACK\n );\n if (!results) {\n return;\n }\n if (\n results[0]?.fulfilled &&\n results[0]?.value.includes(_EventType.KEY_CHANGED)\n ) {\n this.serviceWorkerReceiverAvailable = true;\n }\n }\n\n /**\n * Let the worker know about a changed key, the exact key doesn't technically matter since the\n * worker will just trigger a full sync anyway.\n *\n * @remarks\n * For now, we only support one service worker per page.\n *\n * @param key - Storage key which changed.\n */\n private async notifyServiceWorker(key: string): Promise {\n if (\n !this.sender ||\n !this.activeServiceWorker ||\n _getServiceWorkerController() !== this.activeServiceWorker\n ) {\n return;\n }\n try {\n await this.sender._send(\n _EventType.KEY_CHANGED,\n { key },\n // Use long timeout if receiver has previously responded to a ping from us.\n this.serviceWorkerReceiverAvailable\n ? _TimeoutDuration.LONG_ACK\n : _TimeoutDuration.ACK\n );\n } catch {\n // This is a best effort approach. Ignore errors.\n }\n }\n\n async _isAvailable(): Promise {\n try {\n if (!indexedDB) {\n return false;\n }\n const db = await _openDatabase();\n await _putObject(db, STORAGE_AVAILABLE_KEY, '1');\n await _deleteObject(db, STORAGE_AVAILABLE_KEY);\n return true;\n } catch {}\n return false;\n }\n\n private async _withPendingWrite(write: () => Promise): Promise {\n this.pendingWrites++;\n try {\n await write();\n } finally {\n this.pendingWrites--;\n }\n }\n\n async _set(key: string, value: PersistenceValue): Promise {\n return this._withPendingWrite(async () => {\n await this._withRetries((db: IDBDatabase) => _putObject(db, key, value));\n this.localCache[key] = value;\n return this.notifyServiceWorker(key);\n });\n }\n\n async _get(key: string): Promise {\n const obj = (await this._withRetries((db: IDBDatabase) =>\n getObject(db, key)\n )) as T;\n this.localCache[key] = obj;\n return obj;\n }\n\n async _remove(key: string): Promise {\n return this._withPendingWrite(async () => {\n await this._withRetries((db: IDBDatabase) => _deleteObject(db, key));\n delete this.localCache[key];\n return this.notifyServiceWorker(key);\n });\n }\n\n private async _poll(): Promise {\n // TODO: check if we need to fallback if getAll is not supported\n const result = await this._withRetries((db: IDBDatabase) => {\n const getAllRequest = getObjectStore(db, false).getAll();\n return new DBPromise(getAllRequest).toPromise();\n });\n\n if (!result) {\n return [];\n }\n\n // If we have pending writes in progress abort, we'll get picked up on the next poll\n if (this.pendingWrites !== 0) {\n return [];\n }\n\n const keys = [];\n const keysInResult = new Set();\n for (const { fbase_key: key, value } of result) {\n keysInResult.add(key);\n if (JSON.stringify(this.localCache[key]) !== JSON.stringify(value)) {\n this.notifyListeners(key, value as PersistenceValue);\n keys.push(key);\n }\n }\n for (const localKey of Object.keys(this.localCache)) {\n if (this.localCache[localKey] && !keysInResult.has(localKey)) {\n // Deleted\n this.notifyListeners(localKey, null);\n keys.push(localKey);\n }\n }\n return keys;\n }\n\n private notifyListeners(\n key: string,\n newValue: PersistenceValue | null\n ): void {\n this.localCache[key] = newValue;\n const listeners = this.listeners[key];\n if (listeners) {\n for (const listener of Array.from(listeners)) {\n listener(newValue);\n }\n }\n }\n\n private startPolling(): void {\n this.stopPolling();\n\n this.pollTimer = setInterval(\n async () => this._poll(),\n _POLLING_INTERVAL_MS\n );\n }\n\n private stopPolling(): void {\n if (this.pollTimer) {\n clearInterval(this.pollTimer);\n this.pollTimer = null;\n }\n }\n\n _addListener(key: string, listener: StorageEventListener): void {\n if (Object.keys(this.listeners).length === 0) {\n this.startPolling();\n }\n if (!this.listeners[key]) {\n this.listeners[key] = new Set();\n // Populate the cache to avoid spuriously triggering on first poll.\n void this._get(key); // This can happen in the background async and we can return immediately.\n }\n this.listeners[key].add(listener);\n }\n\n _removeListener(key: string, listener: StorageEventListener): void {\n if (this.listeners[key]) {\n this.listeners[key].delete(listener);\n\n if (this.listeners[key].size === 0) {\n delete this.listeners[key];\n }\n }\n\n if (Object.keys(this.listeners).length === 0) {\n this.stopPolling();\n }\n }\n}\n\n/**\n * An implementation of {@link Persistence} of type `LOCAL` using `indexedDB`\n * for the underlying storage.\n *\n * @public\n */\nexport const indexedDBLocalPersistence: Persistence = IndexedDBLocalPersistence;\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _performApiRequest, Endpoint, HttpMethod, _addTidIfNecessary } from '../index';\nimport { Auth } from '../../model/public_types';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { MfaEnrollment } from '../account_management/mfa';\nimport { SignInWithIdpResponse } from './idp';\nimport {\n SignInWithPhoneNumberRequest,\n SignInWithPhoneNumberResponse\n} from './sms';\n\nexport interface FinalizeMfaResponse {\n idToken: string;\n refreshToken: string;\n}\n\n/**\n * @internal\n */\nexport interface IdTokenMfaResponse extends IdTokenResponse {\n mfaPendingCredential?: string;\n mfaInfo?: MfaEnrollment[];\n}\n\nexport interface StartPhoneMfaSignInRequest {\n mfaPendingCredential: string;\n mfaEnrollmentId: string;\n phoneSignInInfo: {\n recaptchaToken: string;\n };\n tenantId?: string;\n}\n\nexport interface StartPhoneMfaSignInResponse {\n phoneResponseInfo: {\n sessionInfo: string;\n };\n}\n\nexport function startSignInPhoneMfa(\n auth: Auth,\n request: StartPhoneMfaSignInRequest\n): Promise {\n return _performApiRequest<\n StartPhoneMfaSignInRequest,\n StartPhoneMfaSignInResponse\n >(auth, HttpMethod.POST, Endpoint.START_PHONE_MFA_SIGN_IN, _addTidIfNecessary(auth, request));\n}\n\nexport interface FinalizePhoneMfaSignInRequest {\n mfaPendingCredential: string;\n phoneVerificationInfo: SignInWithPhoneNumberRequest;\n tenantId?: string;\n}\n\nexport interface FinalizePhoneMfaSignInResponse extends FinalizeMfaResponse {}\n\nexport function finalizeSignInPhoneMfa(\n auth: Auth,\n request: FinalizePhoneMfaSignInRequest,\n): Promise {\n return _performApiRequest<\n FinalizePhoneMfaSignInRequest,\n FinalizePhoneMfaSignInResponse\n >(auth, HttpMethod.POST, Endpoint.FINALIZE_PHONE_MFA_SIGN_IN, _addTidIfNecessary(auth, request));\n}\n\n/**\n * @internal\n */\nexport type PhoneOrOauthTokenResponse =\n | SignInWithPhoneNumberResponse\n | SignInWithIdpResponse\n | IdTokenResponse;\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthErrorCode } from '../core/errors';\nimport { _createError } from '../core/util/assert';\n\nfunction getScriptParentElement(): HTMLDocument | HTMLHeadElement {\n return document.getElementsByTagName('head')?.[0] ?? document;\n}\n\nexport function _loadJS(url: string): Promise {\n // TODO: consider adding timeout support & cancellation\n return new Promise((resolve, reject) => {\n const el = document.createElement('script');\n el.setAttribute('src', url);\n el.onload = resolve;\n el.onerror = e => {\n const error = _createError(AuthErrorCode.INTERNAL_ERROR);\n error.customData = e as unknown as Record;\n reject(error);\n };\n el.type = 'text/javascript';\n el.charset = 'UTF-8';\n getScriptParentElement().appendChild(el);\n });\n}\n\nexport function _generateCallbackName(prefix: string): string {\n return `__${prefix}${Math.floor(Math.random() * 1000000)}`;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { querystring } from '@firebase/util';\n\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assert, _createError } from '../../core/util/assert';\nimport { Delay } from '../../core/util/delay';\nimport { AuthInternal } from '../../model/auth';\nimport { _window } from '../auth_window';\nimport * as jsHelpers from '../load_js';\nimport { Recaptcha } from './recaptcha';\nimport { MockReCaptcha } from './recaptcha_mock';\n\n// ReCaptcha will load using the same callback, so the callback function needs\n// to be kept around\nexport const _JSLOAD_CALLBACK = jsHelpers._generateCallbackName('rcb');\nconst NETWORK_TIMEOUT_DELAY = new Delay(30000, 60000);\nconst RECAPTCHA_BASE = 'https://www.google.com/recaptcha/api.js?';\n\n/**\n * We need to mark this interface as internal explicitly to exclude it in the public typings, because\n * it references AuthInternal which has a circular dependency with UserInternal.\n *\n * @internal\n */\nexport interface ReCaptchaLoader {\n load(auth: AuthInternal, hl?: string): Promise;\n clearedOneInstance(): void;\n}\n\n/**\n * Loader for the GReCaptcha library. There should only ever be one of this.\n */\nexport class ReCaptchaLoaderImpl implements ReCaptchaLoader {\n private hostLanguage = '';\n private counter = 0;\n /**\n * Check for `render()` method. `window.grecaptcha` will exist if the Enterprise\n * version of the ReCAPTCHA script was loaded by someone else (e.g. App Check) but\n * `window.grecaptcha.render()` will not. Another load will add it.\n */\n private readonly librarySeparatelyLoaded = !!_window().grecaptcha?.render;\n\n load(auth: AuthInternal, hl = ''): Promise {\n _assert(isHostLanguageValid(hl), auth, AuthErrorCode.ARGUMENT_ERROR);\n\n if (this.shouldResolveImmediately(hl)) {\n return Promise.resolve(_window().grecaptcha!);\n }\n return new Promise((resolve, reject) => {\n const networkTimeout = _window().setTimeout(() => {\n reject(_createError(auth, AuthErrorCode.NETWORK_REQUEST_FAILED));\n }, NETWORK_TIMEOUT_DELAY.get());\n\n _window()[_JSLOAD_CALLBACK] = () => {\n _window().clearTimeout(networkTimeout);\n delete _window()[_JSLOAD_CALLBACK];\n\n const recaptcha = _window().grecaptcha;\n\n if (!recaptcha) {\n reject(_createError(auth, AuthErrorCode.INTERNAL_ERROR));\n return;\n }\n\n // Wrap the greptcha render function so that we know if the developer has\n // called it separately\n const render = recaptcha.render;\n recaptcha.render = (container, params) => {\n const widgetId = render(container, params);\n this.counter++;\n return widgetId;\n };\n\n this.hostLanguage = hl;\n resolve(recaptcha);\n };\n\n const url = `${RECAPTCHA_BASE}?${querystring({\n onload: _JSLOAD_CALLBACK,\n render: 'explicit',\n hl\n })}`;\n\n jsHelpers._loadJS(url).catch(() => {\n clearTimeout(networkTimeout);\n reject(_createError(auth, AuthErrorCode.INTERNAL_ERROR));\n });\n });\n }\n\n clearedOneInstance(): void {\n this.counter--;\n }\n\n private shouldResolveImmediately(hl: string): boolean {\n // We can resolve immediately if:\n // • grecaptcha is already defined AND (\n // 1. the requested language codes are the same OR\n // 2. there exists already a ReCaptcha on the page\n // 3. the library was already loaded by the app\n // In cases (2) and (3), we _can't_ reload as it would break the recaptchas\n // that are already in the page\n return (\n !!_window().grecaptcha?.render &&\n (hl === this.hostLanguage ||\n this.counter > 0 ||\n this.librarySeparatelyLoaded)\n );\n }\n}\n\nfunction isHostLanguageValid(hl: string): boolean {\n return hl.length <= 6 && /^\\s*[a-zA-Z0-9\\-]*\\s*$/.test(hl);\n}\n\nexport class MockReCaptchaLoaderImpl implements ReCaptchaLoader {\n async load(auth: AuthInternal): Promise {\n return new MockReCaptcha(auth);\n }\n\n clearedOneInstance(): void {}\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Auth, RecaptchaParameters } from '../../model/public_types';\nimport { getRecaptchaParams } from '../../api/authentication/recaptcha';\nimport { _castAuth } from '../../core/auth/auth_impl';\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assert } from '../../core/util/assert';\nimport { _isHttpOrHttps } from '../../core/util/location';\nimport { ApplicationVerifierInternal } from '../../model/application_verifier';\nimport { AuthInternal } from '../../model/auth';\nimport { _window } from '../auth_window';\nimport { _isWorker } from '../util/worker';\nimport { Recaptcha } from './recaptcha';\nimport {\n MockReCaptchaLoaderImpl,\n ReCaptchaLoader,\n ReCaptchaLoaderImpl\n} from './recaptcha_loader';\n\nexport const RECAPTCHA_VERIFIER_TYPE = 'recaptcha';\n\nconst DEFAULT_PARAMS: RecaptchaParameters = {\n theme: 'light',\n type: 'image'\n};\n\ntype TokenCallback = (token: string) => void;\n\n/**\n * An {@link https://www.google.com/recaptcha/ | reCAPTCHA}-based application verifier.\n *\n * @public\n */\nexport class RecaptchaVerifier implements ApplicationVerifierInternal {\n /**\n * The application verifier type.\n *\n * @remarks\n * For a reCAPTCHA verifier, this is 'recaptcha'.\n */\n readonly type = RECAPTCHA_VERIFIER_TYPE;\n private destroyed = false;\n private widgetId: number | null = null;\n private readonly container: HTMLElement;\n private readonly isInvisible: boolean;\n private readonly tokenChangeListeners = new Set();\n private renderPromise: Promise | null = null;\n private readonly auth: AuthInternal;\n\n /** @internal */\n readonly _recaptchaLoader: ReCaptchaLoader;\n private recaptcha: Recaptcha | null = null;\n\n /**\n *\n * @param containerOrId - The reCAPTCHA container parameter.\n *\n * @remarks\n * This has different meaning depending on whether the reCAPTCHA is hidden or visible. For a\n * visible reCAPTCHA the container must be empty. If a string is used, it has to correspond to\n * an element ID. The corresponding element must also must be in the DOM at the time of\n * initialization.\n *\n * @param parameters - The optional reCAPTCHA parameters.\n *\n * @remarks\n * Check the reCAPTCHA docs for a comprehensive list. All parameters are accepted except for\n * the sitekey. Firebase Auth backend provisions a reCAPTCHA for each project and will\n * configure this upon rendering. For an invisible reCAPTCHA, a size key must have the value\n * 'invisible'.\n *\n * @param authExtern - The corresponding Firebase {@link Auth} instance.\n *\n * @remarks\n * If none is provided, the default Firebase {@link Auth} instance is used. A Firebase {@link Auth} instance\n * must be initialized with an API key, otherwise an error will be thrown.\n */\n constructor(\n containerOrId: HTMLElement | string,\n private readonly parameters: RecaptchaParameters = {\n ...DEFAULT_PARAMS\n },\n authExtern: Auth\n ) {\n this.auth = _castAuth(authExtern);\n this.isInvisible = this.parameters.size === 'invisible';\n _assert(\n typeof document !== 'undefined',\n this.auth,\n AuthErrorCode.OPERATION_NOT_SUPPORTED\n );\n const container =\n typeof containerOrId === 'string'\n ? document.getElementById(containerOrId)\n : containerOrId;\n _assert(container, this.auth, AuthErrorCode.ARGUMENT_ERROR);\n\n this.container = container;\n this.parameters.callback = this.makeTokenCallback(this.parameters.callback);\n\n this._recaptchaLoader = this.auth.settings.appVerificationDisabledForTesting\n ? new MockReCaptchaLoaderImpl()\n : new ReCaptchaLoaderImpl();\n\n this.validateStartingState();\n // TODO: Figure out if sdk version is needed\n }\n\n /**\n * Waits for the user to solve the reCAPTCHA and resolves with the reCAPTCHA token.\n *\n * @returns A Promise for the reCAPTCHA token.\n */\n async verify(): Promise {\n this.assertNotDestroyed();\n const id = await this.render();\n const recaptcha = this.getAssertedRecaptcha();\n\n const response = recaptcha.getResponse(id);\n if (response) {\n return response;\n }\n\n return new Promise(resolve => {\n const tokenChange = (token: string): void => {\n if (!token) {\n return; // Ignore token expirations.\n }\n this.tokenChangeListeners.delete(tokenChange);\n resolve(token);\n };\n\n this.tokenChangeListeners.add(tokenChange);\n if (this.isInvisible) {\n recaptcha.execute(id);\n }\n });\n }\n\n /**\n * Renders the reCAPTCHA widget on the page.\n *\n * @returns A Promise that resolves with the reCAPTCHA widget ID.\n */\n render(): Promise {\n try {\n this.assertNotDestroyed();\n } catch (e) {\n // This method returns a promise. Since it's not async (we want to return the\n // _same_ promise if rendering is still occurring), the API surface should\n // reject with the error rather than just throw\n return Promise.reject(e);\n }\n\n if (this.renderPromise) {\n return this.renderPromise;\n }\n\n this.renderPromise = this.makeRenderPromise().catch(e => {\n this.renderPromise = null;\n throw e;\n });\n\n return this.renderPromise;\n }\n\n /** @internal */\n _reset(): void {\n this.assertNotDestroyed();\n if (this.widgetId !== null) {\n this.getAssertedRecaptcha().reset(this.widgetId);\n }\n }\n\n /**\n * Clears the reCAPTCHA widget from the page and destroys the instance.\n */\n clear(): void {\n this.assertNotDestroyed();\n this.destroyed = true;\n this._recaptchaLoader.clearedOneInstance();\n if (!this.isInvisible) {\n this.container.childNodes.forEach(node => {\n this.container.removeChild(node);\n });\n }\n }\n\n private validateStartingState(): void {\n _assert(!this.parameters.sitekey, this.auth, AuthErrorCode.ARGUMENT_ERROR);\n _assert(\n this.isInvisible || !this.container.hasChildNodes(),\n this.auth,\n AuthErrorCode.ARGUMENT_ERROR\n );\n _assert(\n typeof document !== 'undefined',\n this.auth,\n AuthErrorCode.OPERATION_NOT_SUPPORTED\n );\n }\n\n private makeTokenCallback(\n existing: TokenCallback | string | undefined\n ): TokenCallback {\n return token => {\n this.tokenChangeListeners.forEach(listener => listener(token));\n if (typeof existing === 'function') {\n existing(token);\n } else if (typeof existing === 'string') {\n const globalFunc = _window()[existing];\n if (typeof globalFunc === 'function') {\n globalFunc(token);\n }\n }\n };\n }\n\n private assertNotDestroyed(): void {\n _assert(!this.destroyed, this.auth, AuthErrorCode.INTERNAL_ERROR);\n }\n\n private async makeRenderPromise(): Promise {\n await this.init();\n if (!this.widgetId) {\n let container = this.container;\n if (!this.isInvisible) {\n const guaranteedEmpty = document.createElement('div');\n container.appendChild(guaranteedEmpty);\n container = guaranteedEmpty;\n }\n\n this.widgetId = this.getAssertedRecaptcha().render(\n container,\n this.parameters\n );\n }\n\n return this.widgetId;\n }\n\n private async init(): Promise {\n _assert(\n _isHttpOrHttps() && !_isWorker(),\n this.auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n\n await domReady();\n this.recaptcha = await this._recaptchaLoader.load(\n this.auth,\n this.auth.languageCode || undefined\n );\n\n const siteKey = await getRecaptchaParams(this.auth);\n _assert(siteKey, this.auth, AuthErrorCode.INTERNAL_ERROR);\n this.parameters.sitekey = siteKey;\n }\n\n private getAssertedRecaptcha(): Recaptcha {\n _assert(this.recaptcha, this.auth, AuthErrorCode.INTERNAL_ERROR);\n return this.recaptcha;\n }\n}\n\nfunction domReady(): Promise {\n let resolver: (() => void) | null = null;\n return new Promise(resolve => {\n if (document.readyState === 'complete') {\n resolve();\n return;\n }\n\n // Document not ready, wait for load before resolving.\n // Save resolver, so we can remove listener in case it was externally\n // cancelled.\n resolver = () => resolve();\n window.addEventListener('load', resolver);\n }).catch(e => {\n if (resolver) {\n window.removeEventListener('load', resolver);\n }\n\n throw e;\n });\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ApplicationVerifier,\n Auth,\n ConfirmationResult,\n PhoneInfoOptions,\n User,\n UserCredential\n} from '../../model/public_types';\n\nimport { startEnrollPhoneMfa } from '../../api/account_management/mfa';\nimport { startSignInPhoneMfa } from '../../api/authentication/mfa';\nimport { sendPhoneVerificationCode } from '../../api/authentication/sms';\nimport { ApplicationVerifierInternal } from '../../model/application_verifier';\nimport { PhoneAuthCredential } from '../../core/credentials/phone';\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assertLinkedStatus, _link } from '../../core/user/link_unlink';\nimport { _assert } from '../../core/util/assert';\nimport { AuthInternal } from '../../model/auth';\nimport {\n linkWithCredential,\n reauthenticateWithCredential,\n signInWithCredential\n} from '../../core/strategies/credential';\nimport {\n MultiFactorSessionImpl,\n MultiFactorSessionType\n} from '../../mfa/mfa_session';\nimport { UserInternal } from '../../model/user';\nimport { RECAPTCHA_VERIFIER_TYPE } from '../recaptcha/recaptcha_verifier';\nimport { _castAuth } from '../../core/auth/auth_impl';\nimport { getModularInstance } from '@firebase/util';\nimport { ProviderId } from '../../model/enums';\n\ninterface OnConfirmationCallback {\n (credential: PhoneAuthCredential): Promise;\n}\n\nclass ConfirmationResultImpl implements ConfirmationResult {\n constructor(\n readonly verificationId: string,\n private readonly onConfirmation: OnConfirmationCallback\n ) {}\n\n confirm(verificationCode: string): Promise {\n const authCredential = PhoneAuthCredential._fromVerification(\n this.verificationId,\n verificationCode\n );\n return this.onConfirmation(authCredential);\n }\n}\n\n/**\n * Asynchronously signs in using a phone number.\n *\n * @remarks\n * This method sends a code via SMS to the given\n * phone number, and returns a {@link ConfirmationResult}. After the user\n * provides the code sent to their phone, call {@link ConfirmationResult.confirm}\n * with the code to sign the user in.\n *\n * For abuse prevention, this method also requires a {@link ApplicationVerifier}.\n * This SDK includes a reCAPTCHA-based implementation, {@link RecaptchaVerifier}.\n * This function can work on other platforms that do not support the\n * {@link RecaptchaVerifier} (like React Native), but you need to use a\n * third-party {@link ApplicationVerifier} implementation.\n *\n * @example\n * ```javascript\n * // 'recaptcha-container' is the ID of an element in the DOM.\n * const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');\n * const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);\n * // Obtain a verificationCode from the user.\n * const credential = await confirmationResult.confirm(verificationCode);\n * ```\n *\n * @param auth - The {@link Auth} instance.\n * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101).\n * @param appVerifier - The {@link ApplicationVerifier}.\n *\n * @public\n */\nexport async function signInWithPhoneNumber(\n auth: Auth,\n phoneNumber: string,\n appVerifier: ApplicationVerifier\n): Promise {\n const authInternal = _castAuth(auth);\n const verificationId = await _verifyPhoneNumber(\n authInternal,\n phoneNumber,\n getModularInstance(appVerifier as ApplicationVerifierInternal)\n );\n return new ConfirmationResultImpl(verificationId, cred =>\n signInWithCredential(authInternal, cred)\n );\n}\n\n/**\n * Links the user account with the given phone number.\n *\n * @param user - The user.\n * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101).\n * @param appVerifier - The {@link ApplicationVerifier}.\n *\n * @public\n */\nexport async function linkWithPhoneNumber(\n user: User,\n phoneNumber: string,\n appVerifier: ApplicationVerifier\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n await _assertLinkedStatus(false, userInternal, ProviderId.PHONE);\n const verificationId = await _verifyPhoneNumber(\n userInternal.auth,\n phoneNumber,\n getModularInstance(appVerifier as ApplicationVerifierInternal)\n );\n return new ConfirmationResultImpl(verificationId, cred =>\n linkWithCredential(userInternal, cred)\n );\n}\n\n/**\n * Re-authenticates a user using a fresh phone credential.\n *\n * @remarks Use before operations such as {@link updatePassword} that require tokens from recent sign-in attempts.\n *\n * @param user - The user.\n * @param phoneNumber - The user's phone number in E.164 format (e.g. +16505550101).\n * @param appVerifier - The {@link ApplicationVerifier}.\n *\n * @public\n */\nexport async function reauthenticateWithPhoneNumber(\n user: User,\n phoneNumber: string,\n appVerifier: ApplicationVerifier\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n const verificationId = await _verifyPhoneNumber(\n userInternal.auth,\n phoneNumber,\n getModularInstance(appVerifier as ApplicationVerifierInternal)\n );\n return new ConfirmationResultImpl(verificationId, cred =>\n reauthenticateWithCredential(userInternal, cred)\n );\n}\n\n/**\n * Returns a verification ID to be used in conjunction with the SMS code that is sent.\n *\n */\nexport async function _verifyPhoneNumber(\n auth: AuthInternal,\n options: PhoneInfoOptions | string,\n verifier: ApplicationVerifierInternal\n): Promise {\n const recaptchaToken = await verifier.verify();\n\n try {\n _assert(\n typeof recaptchaToken === 'string',\n auth,\n AuthErrorCode.ARGUMENT_ERROR\n );\n _assert(\n verifier.type === RECAPTCHA_VERIFIER_TYPE,\n auth,\n AuthErrorCode.ARGUMENT_ERROR\n );\n\n let phoneInfoOptions: PhoneInfoOptions;\n\n if (typeof options === 'string') {\n phoneInfoOptions = {\n phoneNumber: options\n };\n } else {\n phoneInfoOptions = options;\n }\n\n if ('session' in phoneInfoOptions) {\n const session = phoneInfoOptions.session as MultiFactorSessionImpl;\n\n if ('phoneNumber' in phoneInfoOptions) {\n _assert(\n session.type === MultiFactorSessionType.ENROLL,\n auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n const response = await startEnrollPhoneMfa(auth, {\n idToken: session.credential,\n phoneEnrollmentInfo: {\n phoneNumber: phoneInfoOptions.phoneNumber,\n recaptchaToken\n }\n });\n return response.phoneSessionInfo.sessionInfo;\n } else {\n _assert(\n session.type === MultiFactorSessionType.SIGN_IN,\n auth,\n AuthErrorCode.INTERNAL_ERROR\n );\n const mfaEnrollmentId =\n phoneInfoOptions.multiFactorHint?.uid ||\n phoneInfoOptions.multiFactorUid;\n _assert(mfaEnrollmentId, auth, AuthErrorCode.MISSING_MFA_INFO);\n const response = await startSignInPhoneMfa(auth, {\n mfaPendingCredential: session.credential,\n mfaEnrollmentId,\n phoneSignInInfo: {\n recaptchaToken\n }\n });\n return response.phoneResponseInfo.sessionInfo;\n }\n } else {\n const { sessionInfo } = await sendPhoneVerificationCode(auth, {\n phoneNumber: phoneInfoOptions.phoneNumber,\n recaptchaToken\n });\n return sessionInfo;\n }\n } finally {\n verifier._reset();\n }\n}\n\n/**\n * Updates the user's phone number.\n *\n * @example\n * ```\n * // 'recaptcha-container' is the ID of an element in the DOM.\n * const applicationVerifier = new RecaptchaVerifier('recaptcha-container');\n * const provider = new PhoneAuthProvider(auth);\n * const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);\n * // Obtain the verificationCode from the user.\n * const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);\n * await updatePhoneNumber(user, phoneCredential);\n * ```\n *\n * @param user - The user.\n * @param credential - A credential authenticating the new phone number.\n *\n * @public\n */\nexport async function updatePhoneNumber(\n user: User,\n credential: PhoneAuthCredential\n): Promise {\n await _link(getModularInstance(user) as UserInternal, credential);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Auth,\n PhoneInfoOptions,\n ApplicationVerifier,\n UserCredential\n} from '../../model/public_types';\n\nimport { SignInWithPhoneNumberResponse } from '../../api/authentication/sms';\nimport { ApplicationVerifierInternal as ApplicationVerifierInternal } from '../../model/application_verifier';\nimport { AuthInternal as AuthInternal } from '../../model/auth';\nimport { UserCredentialInternal as UserCredentialInternal } from '../../model/user';\nimport { PhoneAuthCredential } from '../../core/credentials/phone';\nimport { _verifyPhoneNumber } from '../strategies/phone';\nimport { _castAuth } from '../../core/auth/auth_impl';\nimport { AuthCredential } from '../../core';\nimport { FirebaseError, getModularInstance } from '@firebase/util';\nimport { TaggedWithTokenResponse } from '../../model/id_token';\nimport { ProviderId, SignInMethod } from '../../model/enums';\n\n/**\n * Provider for generating an {@link PhoneAuthCredential}.\n *\n * @example\n * ```javascript\n * // 'recaptcha-container' is the ID of an element in the DOM.\n * const applicationVerifier = new RecaptchaVerifier('recaptcha-container');\n * const provider = new PhoneAuthProvider(auth);\n * const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);\n * // Obtain the verificationCode from the user.\n * const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);\n * const userCredential = await signInWithCredential(auth, phoneCredential);\n * ```\n *\n * @public\n */\nexport class PhoneAuthProvider {\n /** Always set to {@link ProviderId}.PHONE. */\n static readonly PROVIDER_ID: 'phone' = ProviderId.PHONE;\n /** Always set to {@link SignInMethod}.PHONE. */\n static readonly PHONE_SIGN_IN_METHOD: 'phone' = SignInMethod.PHONE;\n\n /** Always set to {@link ProviderId}.PHONE. */\n readonly providerId = PhoneAuthProvider.PROVIDER_ID;\n private readonly auth: AuthInternal;\n\n /**\n * @param auth - The Firebase {@link Auth} instance in which sign-ins should occur.\n *\n */\n constructor(auth: Auth) {\n this.auth = _castAuth(auth);\n }\n\n /**\n *\n * Starts a phone number authentication flow by sending a verification code to the given phone\n * number.\n *\n * @example\n * ```javascript\n * const provider = new PhoneAuthProvider(auth);\n * const verificationId = await provider.verifyPhoneNumber(phoneNumber, applicationVerifier);\n * // Obtain verificationCode from the user.\n * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);\n * const userCredential = await signInWithCredential(auth, authCredential);\n * ```\n *\n * @example\n * An alternative flow is provided using the `signInWithPhoneNumber` method.\n * ```javascript\n * const confirmationResult = signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);\n * // Obtain verificationCode from the user.\n * const userCredential = confirmationResult.confirm(verificationCode);\n * ```\n *\n * @param phoneInfoOptions - The user's {@link PhoneInfoOptions}. The phone number should be in\n * E.164 format (e.g. +16505550101).\n * @param applicationVerifier - For abuse prevention, this method also requires a\n * {@link ApplicationVerifier}. This SDK includes a reCAPTCHA-based implementation,\n * {@link RecaptchaVerifier}.\n *\n * @returns A Promise for a verification ID that can be passed to\n * {@link PhoneAuthProvider.credential} to identify this flow..\n */\n verifyPhoneNumber(\n phoneOptions: PhoneInfoOptions | string,\n applicationVerifier: ApplicationVerifier\n ): Promise {\n return _verifyPhoneNumber(\n this.auth,\n phoneOptions,\n getModularInstance(applicationVerifier as ApplicationVerifierInternal)\n );\n }\n\n /**\n * Creates a phone auth credential, given the verification ID from\n * {@link PhoneAuthProvider.verifyPhoneNumber} and the code that was sent to the user's\n * mobile device.\n *\n * @example\n * ```javascript\n * const provider = new PhoneAuthProvider(auth);\n * const verificationId = provider.verifyPhoneNumber(phoneNumber, applicationVerifier);\n * // Obtain verificationCode from the user.\n * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);\n * const userCredential = signInWithCredential(auth, authCredential);\n * ```\n *\n * @example\n * An alternative flow is provided using the `signInWithPhoneNumber` method.\n * ```javascript\n * const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);\n * // Obtain verificationCode from the user.\n * const userCredential = await confirmationResult.confirm(verificationCode);\n * ```\n *\n * @param verificationId - The verification ID returned from {@link PhoneAuthProvider.verifyPhoneNumber}.\n * @param verificationCode - The verification code sent to the user's mobile device.\n *\n * @returns The auth provider credential.\n */\n static credential(\n verificationId: string,\n verificationCode: string\n ): PhoneAuthCredential {\n return PhoneAuthCredential._fromVerification(\n verificationId,\n verificationCode\n );\n }\n\n /**\n * Generates an {@link AuthCredential} from a {@link UserCredential}.\n * @param userCredential - The user credential.\n */\n static credentialFromResult(\n userCredential: UserCredential\n ): AuthCredential | null {\n const credential = userCredential as UserCredentialInternal;\n return PhoneAuthProvider.credentialFromTaggedObject(credential);\n }\n\n /**\n * Returns an {@link AuthCredential} when passed an error.\n *\n * @remarks\n *\n * This method works for errors like\n * `auth/account-exists-with-different-credentials`. This is useful for\n * recovering when attempting to set a user's phone number but the number\n * in question is already tied to another account. For example, the following\n * code tries to update the current user's phone number, and if that\n * fails, links the user with the account associated with that number:\n *\n * ```js\n * const provider = new PhoneAuthProvider(auth);\n * const verificationId = await provider.verifyPhoneNumber(number, verifier);\n * try {\n * const code = ''; // Prompt the user for the verification code\n * await updatePhoneNumber(\n * auth.currentUser,\n * PhoneAuthProvider.credential(verificationId, code));\n * } catch (e) {\n * if ((e as FirebaseError)?.code === 'auth/account-exists-with-different-credential') {\n * const cred = PhoneAuthProvider.credentialFromError(e);\n * await linkWithCredential(auth.currentUser, cred);\n * }\n * }\n *\n * // At this point, auth.currentUser.phoneNumber === number.\n * ```\n *\n * @param error - The error to generate a credential from.\n */\n static credentialFromError(error: FirebaseError): AuthCredential | null {\n return PhoneAuthProvider.credentialFromTaggedObject(\n (error.customData || {}) as TaggedWithTokenResponse\n );\n }\n\n private static credentialFromTaggedObject({\n _tokenResponse: tokenResponse\n }: TaggedWithTokenResponse): AuthCredential | null {\n if (!tokenResponse) {\n return null;\n }\n const { phoneNumber, temporaryProof } =\n tokenResponse as SignInWithPhoneNumberResponse;\n if (phoneNumber && temporaryProof) {\n return PhoneAuthCredential._fromTokenResponse(\n phoneNumber,\n temporaryProof\n );\n }\n return null;\n }\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PopupRedirectResolver } from '../../model/public_types';\nimport { AuthInternal } from '../../model/auth';\nimport { PopupRedirectResolverInternal } from '../../model/popup_redirect';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from './assert';\nimport { _getInstance } from './instantiator';\n\n/**\n * Chooses a popup/redirect resolver to use. This prefers the override (which\n * is directly passed in), and falls back to the property set on the auth\n * object. If neither are available, this function errors w/ an argument error.\n */\nexport function _withDefaultResolver(\n auth: AuthInternal,\n resolverOverride: PopupRedirectResolver | undefined\n): PopupRedirectResolverInternal {\n if (resolverOverride) {\n return _getInstance(resolverOverride);\n }\n\n _assert(auth._popupRedirectResolver, auth, AuthErrorCode.ARGUMENT_ERROR);\n\n return auth._popupRedirectResolver;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n signInWithIdp,\n SignInWithIdpRequest\n} from '../../api/authentication/idp';\nimport { PhoneOrOauthTokenResponse } from '../../api/authentication/mfa';\nimport { AuthInternal } from '../../model/auth';\nimport { IdTokenResponse } from '../../model/id_token';\nimport { UserInternal, UserCredentialInternal } from '../../model/user';\nimport { AuthCredential } from '../credentials';\nimport { _link as _linkUser } from '../user/link_unlink';\nimport { _reauthenticate } from '../user/reauthenticate';\nimport { _assert } from '../util/assert';\nimport { _signInWithCredential } from './credential';\nimport { AuthErrorCode } from '../errors';\nimport { ProviderId } from '../../model/enums';\n\nexport interface IdpTaskParams {\n auth: AuthInternal;\n requestUri: string;\n sessionId?: string;\n tenantId?: string;\n postBody?: string;\n pendingToken?: string;\n user?: UserInternal;\n bypassAuthState?: boolean;\n}\n\nexport type IdpTask = (\n params: IdpTaskParams\n) => Promise;\n\nclass IdpCredential extends AuthCredential {\n constructor(readonly params: IdpTaskParams) {\n super(ProviderId.CUSTOM, ProviderId.CUSTOM);\n }\n\n _getIdTokenResponse(auth: AuthInternal): Promise {\n return signInWithIdp(auth, this._buildIdpRequest());\n }\n\n _linkToIdToken(\n auth: AuthInternal,\n idToken: string\n ): Promise {\n return signInWithIdp(auth, this._buildIdpRequest(idToken));\n }\n\n _getReauthenticationResolver(auth: AuthInternal): Promise {\n return signInWithIdp(auth, this._buildIdpRequest());\n }\n\n private _buildIdpRequest(idToken?: string): SignInWithIdpRequest {\n const request: SignInWithIdpRequest = {\n requestUri: this.params.requestUri,\n sessionId: this.params.sessionId,\n postBody: this.params.postBody,\n tenantId: this.params.tenantId,\n pendingToken: this.params.pendingToken,\n returnSecureToken: true,\n returnIdpCredential: true\n };\n\n if (idToken) {\n request.idToken = idToken;\n }\n\n return request;\n }\n}\n\nexport function _signIn(\n params: IdpTaskParams\n): Promise {\n return _signInWithCredential(\n params.auth,\n new IdpCredential(params),\n params.bypassAuthState\n ) as Promise;\n}\n\nexport function _reauth(\n params: IdpTaskParams\n): Promise {\n const { auth, user } = params;\n _assert(user, auth, AuthErrorCode.INTERNAL_ERROR);\n return _reauthenticate(\n user,\n new IdpCredential(params),\n params.bypassAuthState\n );\n}\n\nexport async function _link(\n params: IdpTaskParams\n): Promise {\n const { auth, user } = params;\n _assert(user, auth, AuthErrorCode.INTERNAL_ERROR);\n return _linkUser(user, new IdpCredential(params), params.bypassAuthState);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError } from '@firebase/util';\n\nimport {\n AuthEvent,\n AuthEventConsumer,\n AuthEventType,\n EventManager,\n PopupRedirectResolverInternal\n} from '../../model/popup_redirect';\nimport { UserInternal, UserCredentialInternal } from '../../model/user';\nimport { AuthErrorCode } from '../errors';\nimport { debugAssert, _fail } from '../util/assert';\nimport {\n _link,\n _reauth,\n _signIn,\n IdpTask,\n IdpTaskParams\n} from '../strategies/idp';\nimport { AuthInternal } from '../../model/auth';\n\ninterface PendingPromise {\n resolve: (cred: UserCredentialInternal | null) => void;\n reject: (error: Error) => void;\n}\n\n/**\n * Popup event manager. Handles the popup's entire lifecycle; listens to auth\n * events\n */\nexport abstract class AbstractPopupRedirectOperation\n implements AuthEventConsumer {\n private pendingPromise: PendingPromise | null = null;\n private eventManager: EventManager | null = null;\n readonly filter: AuthEventType[];\n\n abstract eventId: string | null;\n\n constructor(\n protected readonly auth: AuthInternal,\n filter: AuthEventType | AuthEventType[],\n protected readonly resolver: PopupRedirectResolverInternal,\n protected user?: UserInternal,\n protected readonly bypassAuthState = false\n ) {\n this.filter = Array.isArray(filter) ? filter : [filter];\n }\n\n abstract onExecution(): Promise;\n\n execute(): Promise {\n return new Promise(\n async (resolve, reject) => {\n this.pendingPromise = { resolve, reject };\n\n try {\n this.eventManager = await this.resolver._initialize(this.auth);\n await this.onExecution();\n this.eventManager.registerConsumer(this);\n } catch (e) {\n this.reject(e);\n }\n }\n );\n }\n\n async onAuthEvent(event: AuthEvent): Promise {\n const { urlResponse, sessionId, postBody, tenantId, error, type } = event;\n if (error) {\n this.reject(error);\n return;\n }\n\n const params: IdpTaskParams = {\n auth: this.auth,\n requestUri: urlResponse!,\n sessionId: sessionId!,\n tenantId: tenantId || undefined,\n postBody: postBody || undefined,\n user: this.user,\n bypassAuthState: this.bypassAuthState\n };\n\n try {\n this.resolve(await this.getIdpTask(type)(params));\n } catch (e) {\n this.reject(e);\n }\n }\n\n onError(error: FirebaseError): void {\n this.reject(error);\n }\n\n private getIdpTask(type: AuthEventType): IdpTask {\n switch (type) {\n case AuthEventType.SIGN_IN_VIA_POPUP:\n case AuthEventType.SIGN_IN_VIA_REDIRECT:\n return _signIn;\n case AuthEventType.LINK_VIA_POPUP:\n case AuthEventType.LINK_VIA_REDIRECT:\n return _link;\n case AuthEventType.REAUTH_VIA_POPUP:\n case AuthEventType.REAUTH_VIA_REDIRECT:\n return _reauth;\n default:\n _fail(this.auth, AuthErrorCode.INTERNAL_ERROR);\n }\n }\n\n protected resolve(cred: UserCredentialInternal | null): void {\n debugAssert(this.pendingPromise, 'Pending promise was never set');\n this.pendingPromise.resolve(cred);\n this.unregisterAndCleanUp();\n }\n\n protected reject(error: Error): void {\n debugAssert(this.pendingPromise, 'Pending promise was never set');\n this.pendingPromise.reject(error);\n this.unregisterAndCleanUp();\n }\n\n private unregisterAndCleanUp(): void {\n if (this.eventManager) {\n this.eventManager.unregisterConsumer(this);\n }\n\n this.pendingPromise = null;\n this.cleanUp();\n }\n\n abstract cleanUp(): void;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Auth,\n AuthProvider,\n PopupRedirectResolver,\n User,\n UserCredential\n} from '../../model/public_types';\n\nimport { _castAuth } from '../../core/auth/auth_impl';\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assert, debugAssert, _createError, _assertInstanceOf } from '../../core/util/assert';\nimport { Delay } from '../../core/util/delay';\nimport { _generateEventId } from '../../core/util/event_id';\nimport { AuthInternal } from '../../model/auth';\nimport {\n AuthEventType,\n PopupRedirectResolverInternal\n} from '../../model/popup_redirect';\nimport { UserInternal } from '../../model/user';\nimport { _withDefaultResolver } from '../../core/util/resolver';\nimport { AuthPopup } from '../util/popup';\nimport { AbstractPopupRedirectOperation } from '../../core/strategies/abstract_popup_redirect_operation';\nimport { FederatedAuthProvider } from '../../core/providers/federated';\nimport { getModularInstance } from '@firebase/util';\n\n/*\n * The event timeout is the same on mobile and desktop, no need for Delay.\n */\nexport const enum _Timeout {\n AUTH_EVENT = 2000\n}\nexport const _POLL_WINDOW_CLOSE_TIMEOUT = new Delay(2000, 10000);\n\n/**\n * Authenticates a Firebase client using a popup-based OAuth authentication flow.\n *\n * @remarks\n * If succeeds, returns the signed in user along with the provider's credential. If sign in was\n * unsuccessful, returns an error object containing additional information about the error.\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new FacebookAuthProvider();\n * const result = await signInWithPopup(auth, provider);\n *\n * // The signed-in user info.\n * const user = result.user;\n * // This gives you a Facebook Access Token.\n * const credential = provider.credentialFromResult(auth, result);\n * const token = credential.accessToken;\n * ```\n *\n * @param auth - The {@link Auth} instance.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n *\n * @public\n */\nexport async function signInWithPopup(\n auth: Auth,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const authInternal = _castAuth(auth);\n _assertInstanceOf(auth, provider, FederatedAuthProvider);\n const resolverInternal = _withDefaultResolver(authInternal, resolver);\n const action = new PopupOperation(\n authInternal,\n AuthEventType.SIGN_IN_VIA_POPUP,\n provider,\n resolverInternal\n );\n return action.executeNotNull();\n}\n\n/**\n * Reauthenticates the current user with the specified {@link OAuthProvider} using a pop-up based\n * OAuth flow.\n *\n * @remarks\n * If the reauthentication is successful, the returned result will contain the user and the\n * provider's credential.\n *\n * @example\n * ```javascript\n * // Sign in using a popup.\n * const provider = new FacebookAuthProvider();\n * const result = await signInWithPopup(auth, provider);\n * // Reauthenticate using a popup.\n * await reauthenticateWithPopup(result.user, provider);\n * ```\n *\n * @param user - The user.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n * @public\n */\nexport async function reauthenticateWithPopup(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n _assertInstanceOf(userInternal.auth, provider, FederatedAuthProvider);\n const resolverInternal = _withDefaultResolver(userInternal.auth, resolver);\n const action = new PopupOperation(\n userInternal.auth,\n AuthEventType.REAUTH_VIA_POPUP,\n provider,\n resolverInternal,\n userInternal\n );\n return action.executeNotNull();\n}\n\n/**\n * Links the authenticated provider to the user account using a pop-up based OAuth flow.\n *\n * @remarks\n * If the linking is successful, the returned result will contain the user and the provider's credential.\n *\n *\n * @example\n * ```javascript\n * // Sign in using some other provider.\n * const result = await signInWithEmailAndPassword(auth, email, password);\n * // Link using a popup.\n * const provider = new FacebookAuthProvider();\n * await linkWithPopup(result.user, provider);\n * ```\n *\n * @param user - The user.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n * @public\n */\nexport async function linkWithPopup(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n _assertInstanceOf(userInternal.auth, provider, FederatedAuthProvider);\n const resolverInternal = _withDefaultResolver(userInternal.auth, resolver);\n\n const action = new PopupOperation(\n userInternal.auth,\n AuthEventType.LINK_VIA_POPUP,\n provider,\n resolverInternal,\n userInternal\n );\n return action.executeNotNull();\n}\n\n/**\n * Popup event manager. Handles the popup's entire lifecycle; listens to auth\n * events\n *\n */\nclass PopupOperation extends AbstractPopupRedirectOperation {\n // Only one popup is ever shown at once. The lifecycle of the current popup\n // can be managed / cancelled by the constructor.\n private static currentPopupAction: PopupOperation | null = null;\n private authWindow: AuthPopup | null = null;\n private pollId: number | null = null;\n\n constructor(\n auth: AuthInternal,\n filter: AuthEventType,\n private readonly provider: AuthProvider,\n resolver: PopupRedirectResolverInternal,\n user?: UserInternal\n ) {\n super(auth, filter, resolver, user);\n if (PopupOperation.currentPopupAction) {\n PopupOperation.currentPopupAction.cancel();\n }\n\n PopupOperation.currentPopupAction = this;\n }\n\n async executeNotNull(): Promise {\n const result = await this.execute();\n _assert(result, this.auth, AuthErrorCode.INTERNAL_ERROR);\n return result;\n }\n\n async onExecution(): Promise {\n debugAssert(\n this.filter.length === 1,\n 'Popup operations only handle one event'\n );\n const eventId = _generateEventId();\n this.authWindow = await this.resolver._openPopup(\n this.auth,\n this.provider,\n this.filter[0], // There's always one, see constructor\n eventId\n );\n this.authWindow.associatedEvent = eventId;\n\n // Check for web storage support and origin validation _after_ the popup is\n // loaded. These operations are slow (~1 second or so) Rather than\n // waiting on them before opening the window, optimistically open the popup\n // and check for storage support at the same time. If storage support is\n // not available, this will cause the whole thing to reject properly. It\n // will also close the popup, but since the promise has already rejected,\n // the popup closed by user poll will reject into the void.\n this.resolver._originValidation(this.auth).catch(e => {\n this.reject(e);\n });\n\n this.resolver._isIframeWebStorageSupported(this.auth, isSupported => {\n if (!isSupported) {\n this.reject(\n _createError(this.auth, AuthErrorCode.WEB_STORAGE_UNSUPPORTED)\n );\n }\n });\n\n // Handle user closure. Notice this does *not* use await\n this.pollUserCancellation();\n }\n\n get eventId(): string | null {\n return this.authWindow?.associatedEvent || null;\n }\n\n cancel(): void {\n this.reject(_createError(this.auth, AuthErrorCode.EXPIRED_POPUP_REQUEST));\n }\n\n cleanUp(): void {\n if (this.authWindow) {\n this.authWindow.close();\n }\n\n if (this.pollId) {\n window.clearTimeout(this.pollId);\n }\n\n this.authWindow = null;\n this.pollId = null;\n PopupOperation.currentPopupAction = null;\n }\n\n private pollUserCancellation(): void {\n const poll = (): void => {\n if (this.authWindow?.window?.closed) {\n // Make sure that there is sufficient time for whatever action to\n // complete. The window could have closed but the sign in network\n // call could still be in flight.\n this.pollId = window.setTimeout(() => {\n this.pollId = null;\n this.reject(\n _createError(this.auth, AuthErrorCode.POPUP_CLOSED_BY_USER)\n );\n }, _Timeout.AUTH_EVENT);\n return;\n }\n\n this.pollId = window.setTimeout(poll, _POLL_WINDOW_CLOSE_TIMEOUT.get());\n };\n\n poll();\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthInternal } from '../../model/auth';\nimport {\n AuthEvent,\n AuthEventType,\n PopupRedirectResolverInternal\n} from '../../model/popup_redirect';\nimport { UserCredentialInternal } from '../../model/user';\nimport { PersistenceInternal } from '../persistence';\nimport { _persistenceKeyName } from '../persistence/persistence_user_manager';\nimport { _getInstance } from '../util/instantiator';\nimport { AbstractPopupRedirectOperation } from './abstract_popup_redirect_operation';\n\nconst PENDING_REDIRECT_KEY = 'pendingRedirect';\n\n// We only get one redirect outcome for any one auth, so just store it\n// in here.\nconst redirectOutcomeMap: Map<\n string,\n () => Promise\n> = new Map();\n\nexport class RedirectAction extends AbstractPopupRedirectOperation {\n eventId = null;\n\n constructor(\n auth: AuthInternal,\n resolver: PopupRedirectResolverInternal,\n bypassAuthState = false\n ) {\n super(\n auth,\n [\n AuthEventType.SIGN_IN_VIA_REDIRECT,\n AuthEventType.LINK_VIA_REDIRECT,\n AuthEventType.REAUTH_VIA_REDIRECT,\n AuthEventType.UNKNOWN\n ],\n resolver,\n undefined,\n bypassAuthState\n );\n }\n\n /**\n * Override the execute function; if we already have a redirect result, then\n * just return it.\n */\n async execute(): Promise {\n let readyOutcome = redirectOutcomeMap.get(this.auth._key());\n if (!readyOutcome) {\n try {\n const hasPendingRedirect = await _getAndClearPendingRedirectStatus(\n this.resolver,\n this.auth\n );\n const result = hasPendingRedirect ? await super.execute() : null;\n readyOutcome = () => Promise.resolve(result);\n } catch (e) {\n readyOutcome = () => Promise.reject(e);\n }\n\n redirectOutcomeMap.set(this.auth._key(), readyOutcome);\n }\n\n // If we're not bypassing auth state, the ready outcome should be set to\n // null.\n if (!this.bypassAuthState) {\n redirectOutcomeMap.set(this.auth._key(), () => Promise.resolve(null));\n }\n\n return readyOutcome();\n }\n\n async onAuthEvent(event: AuthEvent): Promise {\n if (event.type === AuthEventType.SIGN_IN_VIA_REDIRECT) {\n return super.onAuthEvent(event);\n } else if (event.type === AuthEventType.UNKNOWN) {\n // This is a sentinel value indicating there's no pending redirect\n this.resolve(null);\n return;\n }\n\n if (event.eventId) {\n const user = await this.auth._redirectUserForId(event.eventId);\n if (user) {\n this.user = user;\n return super.onAuthEvent(event);\n } else {\n this.resolve(null);\n }\n }\n }\n\n async onExecution(): Promise {}\n\n cleanUp(): void {}\n}\n\nexport async function _getAndClearPendingRedirectStatus(\n resolver: PopupRedirectResolverInternal,\n auth: AuthInternal\n): Promise {\n const key = pendingRedirectKey(auth);\n const persistence = resolverPersistence(resolver);\n if (!(await persistence._isAvailable())) {\n return false;\n }\n const hasPendingRedirect =\n (await persistence._get(key)) === 'true';\n await persistence._remove(key);\n return hasPendingRedirect;\n}\n\nexport async function _setPendingRedirectStatus(\n resolver: PopupRedirectResolverInternal,\n auth: AuthInternal\n): Promise {\n return resolverPersistence(resolver)._set(pendingRedirectKey(auth), 'true');\n}\n\nexport function _clearRedirectOutcomes(): void {\n redirectOutcomeMap.clear();\n}\n\nexport function _overrideRedirectResult(auth: AuthInternal, result: () => Promise): void {\n redirectOutcomeMap.set(auth._key(), result);\n}\n\nfunction resolverPersistence(\n resolver: PopupRedirectResolverInternal\n): PersistenceInternal {\n return _getInstance(resolver._redirectPersistence);\n}\n\nfunction pendingRedirectKey(auth: AuthInternal): string {\n return _persistenceKeyName(\n PENDING_REDIRECT_KEY,\n auth.config.apiKey,\n auth.name\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Auth,\n AuthProvider,\n PopupRedirectResolver,\n User,\n UserCredential\n} from '../../model/public_types';\n\nimport { _castAuth } from '../../core/auth/auth_impl';\nimport { _assertLinkedStatus } from '../../core/user/link_unlink';\nimport { _assertInstanceOf } from '../../core/util/assert';\nimport { _generateEventId } from '../../core/util/event_id';\nimport { AuthEventType } from '../../model/popup_redirect';\nimport { UserInternal } from '../../model/user';\nimport { _withDefaultResolver } from '../../core/util/resolver';\nimport {\n RedirectAction,\n _setPendingRedirectStatus\n} from '../../core/strategies/redirect';\nimport { FederatedAuthProvider } from '../../core/providers/federated';\nimport { getModularInstance } from '@firebase/util';\n\n/**\n * Authenticates a Firebase client using a full-page redirect flow.\n *\n * @remarks\n * To handle the results and errors for this operation, refer to {@link getRedirectResult}.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new FacebookAuthProvider();\n * // You can add additional scopes to the provider:\n * provider.addScope('user_birthday');\n * // Start a sign in process for an unauthenticated user.\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Facebook Access Token.\n * const credential = provider.credentialFromResult(auth, result);\n * const token = credential.accessToken;\n * }\n * // As this API can be used for sign-in, linking and reauthentication,\n * // check the operationType to determine what triggered this redirect\n * // operation.\n * const operationType = result.operationType;\n * ```\n *\n * @param auth - The {@link Auth} instance.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n * @public\n */\nexport function signInWithRedirect(\n auth: Auth,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n return _signInWithRedirect(auth, provider, resolver) as Promise;\n}\n\nexport async function _signInWithRedirect(\n auth: Auth,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const authInternal = _castAuth(auth);\n _assertInstanceOf(auth, provider, FederatedAuthProvider);\n const resolverInternal = _withDefaultResolver(authInternal, resolver);\n await _setPendingRedirectStatus(resolverInternal, authInternal);\n\n return resolverInternal._openRedirect(\n authInternal,\n provider,\n AuthEventType.SIGN_IN_VIA_REDIRECT\n );\n}\n\n/**\n * Reauthenticates the current user with the specified {@link OAuthProvider} using a full-page redirect flow.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new FacebookAuthProvider();\n * const result = await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * // Link using a redirect.\n * await linkWithRedirect(result.user, provider);\n * // This will again trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * ```\n *\n * @param user - The user.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n * @public\n */\nexport function reauthenticateWithRedirect(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n return _reauthenticateWithRedirect(\n user,\n provider,\n resolver\n ) as Promise;\n}\nexport async function _reauthenticateWithRedirect(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n _assertInstanceOf(userInternal.auth, provider, FederatedAuthProvider);\n // Allow the resolver to error before persisting the redirect user\n const resolverInternal = _withDefaultResolver(userInternal.auth, resolver);\n await _setPendingRedirectStatus(resolverInternal, userInternal.auth);\n\n const eventId = await prepareUserForRedirect(userInternal);\n return resolverInternal._openRedirect(\n userInternal.auth,\n provider,\n AuthEventType.REAUTH_VIA_REDIRECT,\n eventId\n );\n}\n\n/**\n * Links the {@link OAuthProvider} to the user account using a full-page redirect flow.\n *\n * @example\n * ```javascript\n * // Sign in using some other provider.\n * const result = await signInWithEmailAndPassword(auth, email, password);\n * // Link using a redirect.\n * const provider = new FacebookAuthProvider();\n * await linkWithRedirect(result.user, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * ```\n *\n * @param user - The user.\n * @param provider - The provider to authenticate. The provider has to be an {@link OAuthProvider}.\n * Non-OAuth providers like {@link EmailAuthProvider} will throw an error.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n *\n * @public\n */\nexport function linkWithRedirect(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n return _linkWithRedirect(user, provider, resolver) as Promise;\n}\nexport async function _linkWithRedirect(\n user: User,\n provider: AuthProvider,\n resolver?: PopupRedirectResolver\n): Promise {\n const userInternal = getModularInstance(user) as UserInternal;\n _assertInstanceOf(userInternal.auth, provider, FederatedAuthProvider);\n // Allow the resolver to error before persisting the redirect user\n const resolverInternal = _withDefaultResolver(userInternal.auth, resolver);\n await _assertLinkedStatus(false, userInternal, provider.providerId);\n await _setPendingRedirectStatus(resolverInternal, userInternal.auth);\n\n const eventId = await prepareUserForRedirect(userInternal);\n return resolverInternal._openRedirect(\n userInternal.auth,\n provider,\n AuthEventType.LINK_VIA_REDIRECT,\n eventId\n );\n}\n\n/**\n * Returns a {@link UserCredential} from the redirect-based sign-in flow.\n *\n * @remarks\n * If sign-in succeeded, returns the signed in user. If sign-in was unsuccessful, fails with an\n * error. If no redirect operation was called, returns a {@link UserCredential}\n * with a null `user`.\n *\n * @example\n * ```javascript\n * // Sign in using a redirect.\n * const provider = new FacebookAuthProvider();\n * // You can add additional scopes to the provider:\n * provider.addScope('user_birthday');\n * // Start a sign in process for an unauthenticated user.\n * await signInWithRedirect(auth, provider);\n * // This will trigger a full page redirect away from your app\n *\n * // After returning from the redirect when your app initializes you can obtain the result\n * const result = await getRedirectResult(auth);\n * if (result) {\n * // This is the signed-in user\n * const user = result.user;\n * // This gives you a Facebook Access Token.\n * const credential = provider.credentialFromResult(auth, result);\n * const token = credential.accessToken;\n * }\n * // As this API can be used for sign-in, linking and reauthentication,\n * // check the operationType to determine what triggered this redirect\n * // operation.\n * const operationType = result.operationType;\n * ```\n *\n * @param auth - The {@link Auth} instance.\n * @param resolver - An instance of {@link PopupRedirectResolver}, optional\n * if already supplied to {@link initializeAuth} or provided by {@link getAuth}.\n *\n * @public\n */\nexport async function getRedirectResult(\n auth: Auth,\n resolver?: PopupRedirectResolver\n): Promise {\n await _castAuth(auth)._initializationPromise;\n return _getRedirectResult(auth, resolver, false);\n}\n\nexport async function _getRedirectResult(\n auth: Auth,\n resolverExtern?: PopupRedirectResolver,\n bypassAuthState = false\n): Promise {\n const authInternal = _castAuth(auth);\n const resolver = _withDefaultResolver(authInternal, resolverExtern);\n const action = new RedirectAction(authInternal, resolver, bypassAuthState);\n const result = await action.execute();\n\n if (result && !bypassAuthState) {\n delete result.user._redirectEventId;\n await authInternal._persistUserIfCurrent(result.user as UserInternal);\n await authInternal._setRedirectUser(null, resolverExtern);\n }\n\n return result;\n}\n\nasync function prepareUserForRedirect(user: UserInternal): Promise {\n const eventId = _generateEventId(`${user.uid}:::`);\n user._redirectEventId = eventId;\n await user.auth._setRedirectUser(user);\n await user.auth._persistUserIfCurrent(user);\n return eventId;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AuthEvent,\n AuthEventConsumer,\n AuthEventType,\n EventManager\n} from '../../model/popup_redirect';\nimport { AuthErrorCode } from '../errors';\nimport { AuthInternal } from '../../model/auth';\nimport { _createError } from '../util/assert';\n\n// The amount of time to store the UIDs of seen events; this is\n// set to 10 min by default\nconst EVENT_DUPLICATION_CACHE_DURATION_MS = 10 * 60 * 1000;\n\nexport class AuthEventManager implements EventManager {\n private readonly cachedEventUids: Set = new Set();\n private readonly consumers: Set = new Set();\n protected queuedRedirectEvent: AuthEvent | null = null;\n protected hasHandledPotentialRedirect = false;\n private lastProcessedEventTime = Date.now();\n\n constructor(private readonly auth: AuthInternal) {}\n\n registerConsumer(authEventConsumer: AuthEventConsumer): void {\n this.consumers.add(authEventConsumer);\n\n if (\n this.queuedRedirectEvent &&\n this.isEventForConsumer(this.queuedRedirectEvent, authEventConsumer)\n ) {\n this.sendToConsumer(this.queuedRedirectEvent, authEventConsumer);\n this.saveEventToCache(this.queuedRedirectEvent);\n this.queuedRedirectEvent = null;\n }\n }\n\n unregisterConsumer(authEventConsumer: AuthEventConsumer): void {\n this.consumers.delete(authEventConsumer);\n }\n\n onEvent(event: AuthEvent): boolean {\n // Check if the event has already been handled\n if (this.hasEventBeenHandled(event)) {\n return false;\n }\n\n let handled = false;\n this.consumers.forEach(consumer => {\n if (this.isEventForConsumer(event, consumer)) {\n handled = true;\n this.sendToConsumer(event, consumer);\n this.saveEventToCache(event);\n }\n });\n\n if (this.hasHandledPotentialRedirect || !isRedirectEvent(event)) {\n // If we've already seen a redirect before, or this is a popup event,\n // bail now\n return handled;\n }\n\n this.hasHandledPotentialRedirect = true;\n\n // If the redirect wasn't handled, hang on to it\n if (!handled) {\n this.queuedRedirectEvent = event;\n handled = true;\n }\n\n return handled;\n }\n\n private sendToConsumer(event: AuthEvent, consumer: AuthEventConsumer): void {\n if (event.error && !isNullRedirectEvent(event)) {\n const code =\n (event.error.code?.split('auth/')[1] as AuthErrorCode) ||\n AuthErrorCode.INTERNAL_ERROR;\n consumer.onError(_createError(this.auth, code));\n } else {\n consumer.onAuthEvent(event);\n }\n }\n\n private isEventForConsumer(\n event: AuthEvent,\n consumer: AuthEventConsumer\n ): boolean {\n const eventIdMatches =\n consumer.eventId === null ||\n (!!event.eventId && event.eventId === consumer.eventId);\n return consumer.filter.includes(event.type) && eventIdMatches;\n }\n\n private hasEventBeenHandled(event: AuthEvent): boolean {\n if (\n Date.now() - this.lastProcessedEventTime >=\n EVENT_DUPLICATION_CACHE_DURATION_MS\n ) {\n this.cachedEventUids.clear();\n }\n\n return this.cachedEventUids.has(eventUid(event));\n }\n\n private saveEventToCache(event: AuthEvent): void {\n this.cachedEventUids.add(eventUid(event));\n this.lastProcessedEventTime = Date.now();\n }\n}\n\nfunction eventUid(e: AuthEvent): string {\n return [e.type, e.eventId, e.sessionId, e.tenantId].filter(v => v).join('-');\n}\n\nfunction isNullRedirectEvent({ type, error }: AuthEvent): boolean {\n return (\n type === AuthEventType.UNKNOWN &&\n error?.code === `auth/${AuthErrorCode.NO_AUTH_EVENT}`\n );\n}\n\nfunction isRedirectEvent(event: AuthEvent): boolean {\n switch (event.type) {\n case AuthEventType.SIGN_IN_VIA_REDIRECT:\n case AuthEventType.LINK_VIA_REDIRECT:\n case AuthEventType.REAUTH_VIA_REDIRECT:\n return true;\n case AuthEventType.UNKNOWN:\n return isNullRedirectEvent(event);\n default:\n return false;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _performApiRequest, Endpoint, HttpMethod } from '../index';\nimport { Auth } from '../../model/public_types';\n\nexport interface GetProjectConfigRequest {\n androidPackageName?: string;\n iosBundleId?: string;\n}\n\nexport interface GetProjectConfigResponse {\n authorizedDomains: string[];\n}\n\nexport async function _getProjectConfig(\n auth: Auth,\n request: GetProjectConfigRequest = {}\n): Promise {\n return _performApiRequest(\n auth,\n HttpMethod.GET,\n Endpoint.GET_PROJECT_CONFIG,\n request\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _getProjectConfig } from '../../api/project_config/get_project_config';\nimport { AuthInternal } from '../../model/auth';\nimport { AuthErrorCode } from '../errors';\nimport { _fail } from './assert';\nimport { _getCurrentUrl } from './location';\n\nconst IP_ADDRESS_REGEX = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\nconst HTTP_REGEX = /^https?/;\n\nexport async function _validateOrigin(auth: AuthInternal): Promise {\n // Skip origin validation if we are in an emulated environment\n if (auth.config.emulator) {\n return;\n }\n\n const { authorizedDomains } = await _getProjectConfig(auth);\n\n for (const domain of authorizedDomains) {\n try {\n if (matchDomain(domain)) {\n return;\n }\n } catch {\n // Do nothing if there's a URL error; just continue searching\n }\n }\n\n // In the old SDK, this error also provides helpful messages.\n _fail(auth, AuthErrorCode.INVALID_ORIGIN);\n}\n\nfunction matchDomain(expected: string): boolean {\n const currentUrl = _getCurrentUrl();\n const { protocol, hostname } = new URL(currentUrl);\n if (expected.startsWith('chrome-extension://')) {\n const ceUrl = new URL(expected);\n\n if (ceUrl.hostname === '' && hostname === '') {\n // For some reason we're not parsing chrome URLs properly\n return (\n protocol === 'chrome-extension:' &&\n expected.replace('chrome-extension://', '') ===\n currentUrl.replace('chrome-extension://', '')\n );\n }\n\n return protocol === 'chrome-extension:' && ceUrl.hostname === hostname;\n }\n\n if (!HTTP_REGEX.test(protocol)) {\n return false;\n }\n\n if (IP_ADDRESS_REGEX.test(expected)) {\n // The domain has to be exactly equal to the pattern, as an IP domain will\n // only contain the IP, no extra character.\n return hostname === expected;\n }\n\n // Dots in pattern should be escaped.\n const escapedDomainPattern = expected.replace(/\\./g, '\\\\.');\n // Non ip address domains.\n // domain.com = *.domain.com OR domain.com\n const re = new RegExp(\n '^(.+\\\\.' + escapedDomainPattern + '|' + escapedDomainPattern + ')$',\n 'i'\n );\n return re.test(hostname);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthErrorCode } from '../../core/errors';\nimport { _createError } from '../../core/util/assert';\nimport { Delay } from '../../core/util/delay';\nimport { AuthInternal } from '../../model/auth';\nimport { _window } from '../auth_window';\nimport * as js from '../load_js';\n\nconst NETWORK_TIMEOUT = new Delay(30000, 60000);\n\n/**\n * Reset unlaoded GApi modules. If gapi.load fails due to a network error,\n * it will stop working after a retrial. This is a hack to fix this issue.\n */\nfunction resetUnloadedGapiModules(): void {\n // Clear last failed gapi.load state to force next gapi.load to first\n // load the failed gapi.iframes module.\n // Get gapix.beacon context.\n const beacon = _window().___jsl;\n // Get current hint.\n if (beacon?.H) {\n // Get gapi hint.\n for (const hint of Object.keys(beacon.H)) {\n // Requested modules.\n beacon.H[hint].r = beacon.H[hint].r || [];\n // Loaded modules.\n beacon.H[hint].L = beacon.H[hint].L || [];\n // Set requested modules to a copy of the loaded modules.\n beacon.H[hint].r = [...beacon.H[hint].L];\n // Clear pending callbacks.\n if (beacon.CP) {\n for (let i = 0; i < beacon.CP.length; i++) {\n // Remove all failed pending callbacks.\n beacon.CP[i] = null;\n }\n }\n }\n }\n}\n\nfunction loadGapi(auth: AuthInternal): Promise {\n return new Promise((resolve, reject) => {\n // Function to run when gapi.load is ready.\n function loadGapiIframe(): void {\n // The developer may have tried to previously run gapi.load and failed.\n // Run this to fix that.\n resetUnloadedGapiModules();\n gapi.load('gapi.iframes', {\n callback: () => {\n resolve(gapi.iframes.getContext());\n },\n ontimeout: () => {\n // The above reset may be sufficient, but having this reset after\n // failure ensures that if the developer calls gapi.load after the\n // connection is re-established and before another attempt to embed\n // the iframe, it would work and would not be broken because of our\n // failed attempt.\n // Timeout when gapi.iframes.Iframe not loaded.\n resetUnloadedGapiModules();\n reject(_createError(auth, AuthErrorCode.NETWORK_REQUEST_FAILED));\n },\n timeout: NETWORK_TIMEOUT.get()\n });\n }\n\n if (_window().gapi?.iframes?.Iframe) {\n // If gapi.iframes.Iframe available, resolve.\n resolve(gapi.iframes.getContext());\n } else if (!!_window().gapi?.load) {\n // Gapi loader ready, load gapi.iframes.\n loadGapiIframe();\n } else {\n // Create a new iframe callback when this is called so as not to overwrite\n // any previous defined callback. This happens if this method is called\n // multiple times in parallel and could result in the later callback\n // overwriting the previous one. This would end up with a iframe\n // timeout.\n const cbName = js._generateCallbackName('iframefcb');\n // GApi loader not available, dynamically load platform.js.\n _window()[cbName] = () => {\n // GApi loader should be ready.\n if (!!gapi.load) {\n loadGapiIframe();\n } else {\n // Gapi loader failed, throw error.\n reject(_createError(auth, AuthErrorCode.NETWORK_REQUEST_FAILED));\n }\n };\n // Load GApi loader.\n return js._loadJS(`https://apis.google.com/js/api.js?onload=${cbName}`).catch(e => reject(e));\n }\n }).catch(error => {\n // Reset cached promise to allow for retrial.\n cachedGApiLoader = null;\n throw error;\n });\n}\n\nlet cachedGApiLoader: Promise | null = null;\nexport function _loadGapi(auth: AuthInternal): Promise {\n cachedGApiLoader = cachedGApiLoader || loadGapi(auth);\n return cachedGApiLoader;\n}\n\nexport function _resetLoader(): void {\n cachedGApiLoader = null;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SDK_VERSION } from '@firebase/app';\nimport { querystring } from '@firebase/util';\nimport { DefaultConfig } from '../../../internal';\n\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assert, _createError } from '../../core/util/assert';\nimport { Delay } from '../../core/util/delay';\nimport { _emulatorUrl } from '../../core/util/emulator';\nimport { AuthInternal } from '../../model/auth';\nimport { _window } from '../auth_window';\nimport * as gapiLoader from './gapi';\n\nconst PING_TIMEOUT = new Delay(5000, 15000);\nconst IFRAME_PATH = '__/auth/iframe';\nconst EMULATED_IFRAME_PATH = 'emulator/auth/iframe';\n\nconst IFRAME_ATTRIBUTES = {\n style: {\n position: 'absolute',\n top: '-100px',\n width: '1px',\n height: '1px'\n },\n 'aria-hidden': 'true',\n tabindex: '-1'\n};\n\n// Map from apiHost to endpoint ID for passing into iframe. In current SDK, apiHost can be set to\n// anything (not from a list of endpoints with IDs as in legacy), so this is the closest we can get.\nconst EID_FROM_APIHOST = new Map([\n [DefaultConfig.API_HOST, 'p'], // production\n ['staging-identitytoolkit.sandbox.googleapis.com', 's'], // staging\n ['test-identitytoolkit.sandbox.googleapis.com', 't'] // test\n]);\n\nfunction getIframeUrl(auth: AuthInternal): string {\n const config = auth.config;\n _assert(config.authDomain, auth, AuthErrorCode.MISSING_AUTH_DOMAIN);\n const url = config.emulator\n ? _emulatorUrl(config, EMULATED_IFRAME_PATH)\n : `https://${auth.config.authDomain}/${IFRAME_PATH}`;\n\n const params: Record = {\n apiKey: config.apiKey,\n appName: auth.name,\n v: SDK_VERSION\n };\n const eid = EID_FROM_APIHOST.get(auth.config.apiHost);\n if (eid) {\n params.eid = eid;\n }\n const frameworks = auth._getFrameworks();\n if (frameworks.length) {\n params.fw = frameworks.join(',');\n }\n return `${url}?${querystring(params).slice(1)}`;\n}\n\nexport async function _openIframe(\n auth: AuthInternal\n): Promise {\n const context = await gapiLoader._loadGapi(auth);\n const gapi = _window().gapi;\n _assert(gapi, auth, AuthErrorCode.INTERNAL_ERROR);\n return context.open(\n {\n where: document.body,\n url: getIframeUrl(auth),\n messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER,\n attributes: IFRAME_ATTRIBUTES,\n dontclear: true\n },\n (iframe: gapi.iframes.Iframe) =>\n new Promise(async (resolve, reject) => {\n await iframe.restyle({\n // Prevent iframe from closing on mouse out.\n setHideOnLeave: false\n });\n\n const networkError = _createError(\n auth,\n AuthErrorCode.NETWORK_REQUEST_FAILED\n );\n // Confirm iframe is correctly loaded.\n // To fallback on failure, set a timeout.\n const networkErrorTimer = _window().setTimeout(() => {\n reject(networkError);\n }, PING_TIMEOUT.get());\n // Clear timer and resolve pending iframe ready promise.\n function clearTimerAndResolve(): void {\n _window().clearTimeout(networkErrorTimer);\n resolve(iframe);\n }\n // This returns an IThenable. However the reject part does not call\n // when the iframe is not loaded.\n iframe.ping(clearTimerAndResolve).then(clearTimerAndResolve, () => {\n reject(networkError);\n });\n })\n );\n}\n","/**\n * @license\n * Copyright 2020 Google LLC.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getUA } from '@firebase/util';\n\nimport { AuthErrorCode } from '../../core/errors';\nimport { _assert } from '../../core/util/assert';\nimport {\n _isChromeIOS,\n _isFirefox,\n _isIOSStandalone\n} from '../../core/util/browser';\nimport { AuthInternal } from '../../model/auth';\n\nconst BASE_POPUP_OPTIONS = {\n location: 'yes',\n resizable: 'yes',\n statusbar: 'yes',\n toolbar: 'no'\n};\n\nconst DEFAULT_WIDTH = 500;\nconst DEFAULT_HEIGHT = 600;\nconst TARGET_BLANK = '_blank';\n\nconst FIREFOX_EMPTY_URL = 'http://localhost';\n\nexport class AuthPopup {\n associatedEvent: string | null = null;\n\n constructor(readonly window: Window | null) {}\n\n close(): void {\n if (this.window) {\n try {\n this.window.close();\n } catch (e) {}\n }\n }\n}\n\nexport function _open(\n auth: AuthInternal,\n url?: string,\n name?: string,\n width = DEFAULT_WIDTH,\n height = DEFAULT_HEIGHT\n): AuthPopup {\n const top = Math.max((window.screen.availHeight - height) / 2, 0).toString();\n const left = Math.max((window.screen.availWidth - width) / 2, 0).toString();\n let target = '';\n\n const options: { [key: string]: string } = {\n ...BASE_POPUP_OPTIONS,\n width: width.toString(),\n height: height.toString(),\n top,\n left\n };\n\n // Chrome iOS 7 and 8 is returning an undefined popup win when target is\n // specified, even though the popup is not necessarily blocked.\n const ua = getUA().toLowerCase();\n\n if (name) {\n target = _isChromeIOS(ua) ? TARGET_BLANK : name;\n }\n\n if (_isFirefox(ua)) {\n // Firefox complains when invalid URLs are popped out. Hacky way to bypass.\n url = url || FIREFOX_EMPTY_URL;\n // Firefox disables by default scrolling on popup windows, which can create\n // issues when the user has many Google accounts, for instance.\n options.scrollbars = 'yes';\n }\n\n const optionsString = Object.entries(options).reduce(\n (accum, [key, value]) => `${accum}${key}=${value},`,\n ''\n );\n\n if (_isIOSStandalone(ua) && target !== '_self') {\n openAsNewWindowIOS(url || '', target);\n return new AuthPopup(null);\n }\n\n // about:blank getting sanitized causing browsers like IE/Edge to display\n // brief error message before redirecting to handler.\n const newWin = window.open(url || '', target, optionsString);\n _assert(newWin, auth, AuthErrorCode.POPUP_BLOCKED);\n\n // Flaky on IE edge, encapsulate with a try and catch.\n try {\n newWin.focus();\n } catch (e) {}\n\n return new AuthPopup(newWin);\n}\n\nfunction openAsNewWindowIOS(url: string, target: string): void {\n const el = document.createElement('a');\n el.href = url;\n el.target = target;\n const click = document.createEvent('MouseEvent');\n click.initMouseEvent(\n 'click',\n true,\n true,\n window,\n 1,\n 0,\n 0,\n 0,\n 0,\n false,\n false,\n false,\n false,\n 1,\n null\n );\n el.dispatchEvent(click);\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SDK_VERSION } from '@firebase/app';\nimport { AuthProvider } from '../../model/public_types';\nimport { ApiKey, AppName, AuthInternal } from '../../model/auth';\nimport { AuthEventType } from '../../model/popup_redirect';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from './assert';\nimport { isEmpty, querystring } from '@firebase/util';\nimport { _emulatorUrl } from './emulator';\nimport { FederatedAuthProvider } from '../providers/federated';\nimport { BaseOAuthProvider } from '../providers/oauth';\n\n/**\n * URL for Authentication widget which will initiate the OAuth handshake\n *\n * @internal\n */\nconst WIDGET_PATH = '__/auth/handler';\n\n/**\n * URL for emulated environment\n *\n * @internal\n */\nconst EMULATOR_WIDGET_PATH = 'emulator/auth/handler';\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\ntype WidgetParams = {\n apiKey: ApiKey;\n appName: AppName;\n authType: AuthEventType;\n redirectUrl?: string;\n v: string;\n providerId?: string;\n scopes?: string;\n customParameters?: string;\n eventId?: string;\n tid?: string;\n} & { [key: string]: string | undefined };\n\nexport function _getRedirectUrl(\n auth: AuthInternal,\n provider: AuthProvider,\n authType: AuthEventType,\n redirectUrl?: string,\n eventId?: string,\n additionalParams?: Record\n): string {\n _assert(auth.config.authDomain, auth, AuthErrorCode.MISSING_AUTH_DOMAIN);\n _assert(auth.config.apiKey, auth, AuthErrorCode.INVALID_API_KEY);\n\n const params: WidgetParams = {\n apiKey: auth.config.apiKey,\n appName: auth.name,\n authType,\n redirectUrl,\n v: SDK_VERSION,\n eventId\n };\n\n if (provider instanceof FederatedAuthProvider) {\n provider.setDefaultLanguage(auth.languageCode);\n params.providerId = provider.providerId || '';\n if (!isEmpty(provider.getCustomParameters())) {\n params.customParameters = JSON.stringify(provider.getCustomParameters());\n }\n\n // TODO set additionalParams from the provider as well?\n for (const [key, value] of Object.entries(additionalParams || {})) {\n params[key] = value;\n }\n }\n\n if (provider instanceof BaseOAuthProvider) {\n const scopes = provider.getScopes().filter(scope => scope !== '');\n if (scopes.length > 0) {\n params.scopes = scopes.join(',');\n }\n }\n\n if (auth.tenantId) {\n params.tid = auth.tenantId;\n }\n\n // TODO: maybe set eid as endipointId\n // TODO: maybe set fw as Frameworks.join(\",\")\n\n const paramsDict = params as Record;\n for (const key of Object.keys(paramsDict)) {\n if (paramsDict[key] === undefined) {\n delete paramsDict[key];\n }\n }\n return `${getHandlerBase(auth)}?${querystring(paramsDict).slice(1)}`;\n}\n\nfunction getHandlerBase({ config }: AuthInternal): string {\n if (!config.emulator) {\n return `https://${config.authDomain}/${WIDGET_PATH}`;\n }\n\n return _emulatorUrl(config, EMULATOR_WIDGET_PATH);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AuthProvider, PopupRedirectResolver } from '../model/public_types';\n\nimport { AuthEventManager } from '../core/auth/auth_event_manager';\nimport { AuthErrorCode } from '../core/errors';\nimport { _assert, debugAssert, _fail } from '../core/util/assert';\nimport { _generateEventId } from '../core/util/event_id';\nimport { _getCurrentUrl } from '../core/util/location';\nimport { _validateOrigin } from '../core/util/validate_origin';\nimport { AuthInternal } from '../model/auth';\nimport {\n AuthEventType,\n EventManager,\n GapiAuthEvent,\n GapiOutcome,\n PopupRedirectResolverInternal\n} from '../model/popup_redirect';\nimport { _setWindowLocation } from './auth_window';\nimport { _openIframe } from './iframe/iframe';\nimport { browserSessionPersistence } from './persistence/session_storage';\nimport { _open, AuthPopup } from './util/popup';\nimport { _getRedirectResult } from './strategies/redirect';\nimport { _getRedirectUrl } from '../core/util/handler';\nimport { _isIOS, _isMobileBrowser, _isSafari } from '../core/util/browser';\nimport { _overrideRedirectResult } from '../core/strategies/redirect';\n\n/**\n * The special web storage event\n *\n */\nconst WEB_STORAGE_SUPPORT_KEY = 'webStorageSupport';\n\ninterface WebStorageSupportMessage extends gapi.iframes.Message {\n [index: number]: Record;\n}\n\ninterface ManagerOrPromise {\n manager?: EventManager;\n promise?: Promise;\n}\n\nclass BrowserPopupRedirectResolver implements PopupRedirectResolverInternal {\n private readonly eventManagers: Record = {};\n private readonly iframes: Record = {};\n private readonly originValidationPromises: Record> = {};\n\n readonly _redirectPersistence = browserSessionPersistence;\n\n // Wrapping in async even though we don't await anywhere in order\n // to make sure errors are raised as promise rejections\n async _openPopup(\n auth: AuthInternal,\n provider: AuthProvider,\n authType: AuthEventType,\n eventId?: string\n ): Promise {\n debugAssert(\n this.eventManagers[auth._key()]?.manager,\n '_initialize() not called before _openPopup()'\n );\n\n const url = _getRedirectUrl(\n auth,\n provider,\n authType,\n _getCurrentUrl(),\n eventId\n );\n return _open(auth, url, _generateEventId());\n }\n\n async _openRedirect(\n auth: AuthInternal,\n provider: AuthProvider,\n authType: AuthEventType,\n eventId?: string\n ): Promise {\n await this._originValidation(auth);\n _setWindowLocation(\n _getRedirectUrl(auth, provider, authType, _getCurrentUrl(), eventId)\n );\n return new Promise(() => {});\n }\n\n _initialize(auth: AuthInternal): Promise {\n const key = auth._key();\n if (this.eventManagers[key]) {\n const { manager, promise } = this.eventManagers[key];\n if (manager) {\n return Promise.resolve(manager);\n } else {\n debugAssert(promise, 'If manager is not set, promise should be');\n return promise;\n }\n }\n\n const promise = this.initAndGetManager(auth);\n this.eventManagers[key] = { promise };\n\n // If the promise is rejected, the key should be removed so that the\n // operation can be retried later.\n promise.catch(() => {\n delete this.eventManagers[key];\n });\n\n return promise;\n }\n\n private async initAndGetManager(auth: AuthInternal): Promise {\n const iframe = await _openIframe(auth);\n const manager = new AuthEventManager(auth);\n iframe.register(\n 'authEvent',\n (iframeEvent: GapiAuthEvent | null) => {\n _assert(iframeEvent?.authEvent, auth, AuthErrorCode.INVALID_AUTH_EVENT);\n // TODO: Consider splitting redirect and popup events earlier on\n\n const handled = manager.onEvent(iframeEvent.authEvent);\n return { status: handled ? GapiOutcome.ACK : GapiOutcome.ERROR };\n },\n gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER\n );\n\n this.eventManagers[auth._key()] = { manager };\n this.iframes[auth._key()] = iframe;\n return manager;\n }\n\n _isIframeWebStorageSupported(\n auth: AuthInternal,\n cb: (supported: boolean) => unknown\n ): void {\n const iframe = this.iframes[auth._key()];\n iframe.send(\n WEB_STORAGE_SUPPORT_KEY,\n { type: WEB_STORAGE_SUPPORT_KEY },\n result => {\n const isSupported = result?.[0]?.[WEB_STORAGE_SUPPORT_KEY];\n if (isSupported !== undefined) {\n cb(!!isSupported);\n }\n\n _fail(auth, AuthErrorCode.INTERNAL_ERROR);\n },\n gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER\n );\n }\n\n _originValidation(auth: AuthInternal): Promise {\n const key = auth._key();\n if (!this.originValidationPromises[key]) {\n this.originValidationPromises[key] = _validateOrigin(auth);\n }\n\n return this.originValidationPromises[key];\n }\n\n get _shouldInitProactively(): boolean {\n // Mobile browsers and Safari need to optimistically initialize\n return _isMobileBrowser() || _isSafari() || _isIOS();\n }\n\n _completeRedirectFn = _getRedirectResult;\n\n _overrideRedirectResult = _overrideRedirectResult;\n}\n\n/**\n * An implementation of {@link PopupRedirectResolver} suitable for browser\n * based applications.\n *\n * @public\n */\nexport const browserPopupRedirectResolver: PopupRedirectResolver = BrowserPopupRedirectResolver;\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { FactorId, MultiFactorAssertion } from '../model/public_types';\nimport { debugFail } from '../core/util/assert';\nimport { MultiFactorSessionImpl, MultiFactorSessionType } from './mfa_session';\nimport { FinalizeMfaResponse } from '../api/authentication/mfa';\nimport { AuthInternal } from '../model/auth';\n\nexport abstract class MultiFactorAssertionImpl implements MultiFactorAssertion {\n protected constructor(readonly factorId: FactorId) {}\n\n _process(\n auth: AuthInternal,\n session: MultiFactorSessionImpl,\n displayName?: string | null\n ): Promise {\n switch (session.type) {\n case MultiFactorSessionType.ENROLL:\n return this._finalizeEnroll(auth, session.credential, displayName);\n case MultiFactorSessionType.SIGN_IN:\n return this._finalizeSignIn(auth, session.credential);\n default:\n return debugFail('unexpected MultiFactorSessionType');\n }\n }\n\n abstract _finalizeEnroll(\n auth: AuthInternal,\n idToken: string,\n displayName?: string | null\n ): Promise;\n abstract _finalizeSignIn(\n auth: AuthInternal,\n mfaPendingCredential: string\n ): Promise;\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n FactorId,\n PhoneMultiFactorAssertion\n} from '../../../model/public_types';\n\nimport { MultiFactorAssertionImpl } from '../../../mfa/mfa_assertion';\nimport { AuthInternal } from '../../../model/auth';\nimport { finalizeEnrollPhoneMfa } from '../../../api/account_management/mfa';\nimport { PhoneAuthCredential } from '../../../core/credentials/phone';\nimport {\n finalizeSignInPhoneMfa,\n FinalizeMfaResponse\n} from '../../../api/authentication/mfa';\n\n/**\n * {@inheritdoc PhoneMultiFactorAssertion}\n *\n * @public\n */\nexport class PhoneMultiFactorAssertionImpl\n extends MultiFactorAssertionImpl\n implements PhoneMultiFactorAssertion {\n private constructor(private readonly credential: PhoneAuthCredential) {\n super(FactorId.PHONE);\n }\n\n /** @internal */\n static _fromCredential(\n credential: PhoneAuthCredential\n ): PhoneMultiFactorAssertionImpl {\n return new PhoneMultiFactorAssertionImpl(credential);\n }\n\n /** @internal */\n _finalizeEnroll(\n auth: AuthInternal,\n idToken: string,\n displayName?: string | null\n ): Promise {\n return finalizeEnrollPhoneMfa(auth, {\n idToken,\n displayName,\n phoneVerificationInfo: this.credential._makeVerificationRequest()\n });\n }\n\n /** @internal */\n _finalizeSignIn(\n auth: AuthInternal,\n mfaPendingCredential: string\n ): Promise {\n return finalizeSignInPhoneMfa(auth, {\n mfaPendingCredential,\n phoneVerificationInfo: this.credential._makeVerificationRequest()\n });\n }\n}\n\n/**\n * Provider for generating a {@link PhoneMultiFactorAssertion}.\n *\n * @public\n */\nexport class PhoneMultiFactorGenerator {\n private constructor() {}\n\n /**\n * Provides a {@link PhoneMultiFactorAssertion} to confirm ownership of the phone second factor.\n *\n * @param phoneAuthCredential - A credential provided by {@link PhoneAuthProvider.credential}.\n * @returns A {@link PhoneMultiFactorAssertion} which can be used with\n * {@link MultiFactorResolver.resolveSignIn}\n */\n static assertion(credential: PhoneAuthCredential): PhoneMultiFactorAssertion {\n return PhoneMultiFactorAssertionImpl._fromCredential(credential);\n }\n\n /**\n * The identifier of the phone second factor: `phone`.\n */\n static FACTOR_ID = 'phone';\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _registerComponent, registerVersion } from '@firebase/app';\nimport {\n Component,\n ComponentType,\n InstantiationMode,\n} from '@firebase/component';\n\nimport { name, version } from '../../../package.json';\nimport { AuthErrorCode } from '../errors';\nimport { _assert } from '../util/assert';\nimport { _getClientVersion, ClientPlatform } from '../util/version';\nimport { _castAuth, AuthImpl, DefaultConfig } from './auth_impl';\nimport { AuthInterop } from './firebase_internal';\nimport { ConfigInternal } from '../../model/auth';\nimport { Dependencies } from '../../model/public_types';\nimport { _initializeAuthInstance } from './initialize';\n\nexport const enum _ComponentName {\n AUTH = 'auth',\n AUTH_INTERNAL = 'auth-internal'\n}\n\nfunction getVersionForPlatform(\n clientPlatform: ClientPlatform\n): string | undefined {\n switch (clientPlatform) {\n case ClientPlatform.NODE:\n return 'node';\n case ClientPlatform.REACT_NATIVE:\n return 'rn';\n case ClientPlatform.WORKER:\n return 'webworker';\n case ClientPlatform.CORDOVA:\n return 'cordova';\n default:\n return undefined;\n }\n}\n\n/** @internal */\nexport function registerAuth(clientPlatform: ClientPlatform): void {\n _registerComponent(\n new Component(\n _ComponentName.AUTH,\n (container, { options: deps }: { options?: Dependencies }) => {\n const app = container.getProvider('app').getImmediate()!;\n const heartbeatServiceProvider = container.getProvider<'heartbeat'>('heartbeat');\n const { apiKey, authDomain } = app.options;\n return ((app, heartbeatServiceProvider) => {\n _assert(\n apiKey && !apiKey.includes(':'),\n AuthErrorCode.INVALID_API_KEY,\n { appName: app.name }\n );\n // Auth domain is optional if IdP sign in isn't being used\n _assert(!authDomain?.includes(':'), AuthErrorCode.ARGUMENT_ERROR, {\n appName: app.name\n });\n const config: ConfigInternal = {\n apiKey,\n authDomain,\n clientPlatform,\n apiHost: DefaultConfig.API_HOST,\n tokenApiHost: DefaultConfig.TOKEN_API_HOST,\n apiScheme: DefaultConfig.API_SCHEME,\n sdkClientVersion: _getClientVersion(clientPlatform)\n };\n\n const authInstance = new AuthImpl(app, heartbeatServiceProvider, config);\n _initializeAuthInstance(authInstance, deps);\n\n return authInstance;\n })(app, heartbeatServiceProvider);\n },\n ComponentType.PUBLIC\n )\n /**\n * Auth can only be initialized by explicitly calling getAuth() or initializeAuth()\n * For why we do this, See go/firebase-next-auth-init\n */\n .setInstantiationMode(InstantiationMode.EXPLICIT)\n /**\n * Because all firebase products that depend on auth depend on auth-internal directly,\n * we need to initialize auth-internal after auth is initialized to make it available to other firebase products.\n */\n .setInstanceCreatedCallback(\n (container, _instanceIdentifier, _instance) => {\n const authInternalProvider = container.getProvider(\n _ComponentName.AUTH_INTERNAL\n );\n authInternalProvider.initialize();\n }\n )\n );\n\n _registerComponent(\n new Component(\n _ComponentName.AUTH_INTERNAL,\n container => {\n const auth = _castAuth(\n container.getProvider(_ComponentName.AUTH).getImmediate()!\n );\n return (auth => new AuthInterop(auth))(auth);\n },\n ComponentType.PRIVATE\n ).setInstantiationMode(InstantiationMode.EXPLICIT)\n );\n\n registerVersion(name, version, getVersionForPlatform(clientPlatform));\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n registerVersion(name, version, '__BUILD_TARGET__');\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Unsubscribe } from '@firebase/util';\nimport { FirebaseAuthInternal } from '@firebase/auth-interop-types';\n\nimport { AuthInternal } from '../../model/auth';\nimport { UserInternal } from '../../model/user';\nimport { _assert } from '../util/assert';\nimport { AuthErrorCode } from '../errors';\n\ninterface TokenListener {\n (tok: string | null): unknown;\n}\n\nexport class AuthInterop implements FirebaseAuthInternal {\n private readonly internalListeners: Map<\n TokenListener,\n Unsubscribe\n > = new Map();\n\n constructor(private readonly auth: AuthInternal) {}\n\n getUid(): string | null {\n this.assertAuthConfigured();\n return this.auth.currentUser?.uid || null;\n }\n\n async getToken(\n forceRefresh?: boolean\n ): Promise<{ accessToken: string } | null> {\n this.assertAuthConfigured();\n await this.auth._initializationPromise;\n if (!this.auth.currentUser) {\n return null;\n }\n\n const accessToken = await this.auth.currentUser.getIdToken(forceRefresh);\n return { accessToken };\n }\n\n addAuthTokenListener(listener: TokenListener): void {\n this.assertAuthConfigured();\n if (this.internalListeners.has(listener)) {\n return;\n }\n\n const unsubscribe = this.auth.onIdTokenChanged(user => {\n listener(\n (user as UserInternal | null)?.stsTokenManager.accessToken || null\n );\n });\n this.internalListeners.set(listener, unsubscribe);\n this.updateProactiveRefresh();\n }\n\n removeAuthTokenListener(listener: TokenListener): void {\n this.assertAuthConfigured();\n const unsubscribe = this.internalListeners.get(listener);\n if (!unsubscribe) {\n return;\n }\n\n this.internalListeners.delete(listener);\n unsubscribe();\n this.updateProactiveRefresh();\n }\n\n private assertAuthConfigured(): void {\n _assert(\n this.auth._initializationPromise,\n AuthErrorCode.DEPENDENT_SDK_INIT_BEFORE_AUTH\n );\n }\n\n private updateProactiveRefresh(): void {\n if (this.internalListeners.size > 0) {\n this.auth._startProactiveRefresh();\n } else {\n this.auth._stopProactiveRefresh();\n }\n }\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp, getApp, _getProvider } from '@firebase/app';\n\nimport { initializeAuth } from '..';\nimport { registerAuth } from '../core/auth/register';\nimport { ClientPlatform } from '../core/util/version';\nimport { browserLocalPersistence } from './persistence/local_storage';\nimport { browserSessionPersistence } from './persistence/session_storage';\nimport { indexedDBLocalPersistence } from './persistence/indexed_db';\nimport { browserPopupRedirectResolver } from './popup_redirect';\nimport { Auth } from '../model/public_types';\n\n/**\n * Returns the Auth instance associated with the provided {@link @firebase/app#FirebaseApp}.\n * If no instance exists, initializes an Auth instance with platform-specific default dependencies.\n *\n * @param app - The Firebase App.\n *\n * @public\n */\nexport function getAuth(app: FirebaseApp = getApp()): Auth {\n const provider = _getProvider(app, 'auth');\n\n if (provider.isInitialized()) {\n return provider.getImmediate();\n }\n\n return initializeAuth(app, {\n popupRedirectResolver: browserPopupRedirectResolver,\n persistence: [\n indexedDBLocalPersistence,\n browserLocalPersistence,\n browserSessionPersistence\n ]\n });\n}\n\nregisterAuth(ClientPlatform.BROWSER);\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { version } from '../../package.json';\n\nexport const PENDING_TIMEOUT_MS = 10000;\n\nexport const PACKAGE_VERSION = `w:${version}`;\nexport const INTERNAL_AUTH_VERSION = 'FIS_v2';\n\nexport const INSTALLATIONS_API_URL =\n 'https://firebaseinstallations.googleapis.com/v1';\n\nexport const TOKEN_EXPIRATION_BUFFER = 60 * 60 * 1000; // One hour\n\nexport const SERVICE = 'installations';\nexport const SERVICE_NAME = 'Installations';\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, FirebaseError } from '@firebase/util';\nimport { SERVICE, SERVICE_NAME } from './constants';\n\nexport const enum ErrorCode {\n MISSING_APP_CONFIG_VALUES = 'missing-app-config-values',\n NOT_REGISTERED = 'not-registered',\n INSTALLATION_NOT_FOUND = 'installation-not-found',\n REQUEST_FAILED = 'request-failed',\n APP_OFFLINE = 'app-offline',\n DELETE_PENDING_REGISTRATION = 'delete-pending-registration'\n}\n\nconst ERROR_DESCRIPTION_MAP: { readonly [key in ErrorCode]: string } = {\n [ErrorCode.MISSING_APP_CONFIG_VALUES]:\n 'Missing App configuration value: \"{$valueName}\"',\n [ErrorCode.NOT_REGISTERED]: 'Firebase Installation is not registered.',\n [ErrorCode.INSTALLATION_NOT_FOUND]: 'Firebase Installation not found.',\n [ErrorCode.REQUEST_FAILED]:\n '{$requestName} request failed with error \"{$serverCode} {$serverStatus}: {$serverMessage}\"',\n [ErrorCode.APP_OFFLINE]: 'Could not process request. Application offline.',\n [ErrorCode.DELETE_PENDING_REGISTRATION]:\n \"Can't delete installation while there is a pending registration request.\"\n};\n\ninterface ErrorParams {\n [ErrorCode.MISSING_APP_CONFIG_VALUES]: {\n valueName: string;\n };\n [ErrorCode.REQUEST_FAILED]: {\n requestName: string;\n [index: string]: string | number; // to make Typescript 3.8 happy\n } & ServerErrorData;\n}\n\nexport const ERROR_FACTORY = new ErrorFactory(\n SERVICE,\n SERVICE_NAME,\n ERROR_DESCRIPTION_MAP\n);\n\nexport interface ServerErrorData {\n serverCode: number;\n serverMessage: string;\n serverStatus: string;\n}\n\nexport type ServerError = FirebaseError & { customData: ServerErrorData };\n\n/** Returns true if error is a FirebaseError that is based on an error from the server. */\nexport function isServerError(error: unknown): error is ServerError {\n return (\n error instanceof FirebaseError &&\n error.code.includes(ErrorCode.REQUEST_FAILED)\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseError } from '@firebase/util';\nimport { GenerateAuthTokenResponse } from '../interfaces/api-response';\nimport {\n CompletedAuthToken,\n RegisteredInstallationEntry,\n RequestStatus\n} from '../interfaces/installation-entry';\nimport {\n INSTALLATIONS_API_URL,\n INTERNAL_AUTH_VERSION\n} from '../util/constants';\nimport { ERROR_FACTORY, ErrorCode } from '../util/errors';\nimport { AppConfig } from '../interfaces/installation-impl';\n\nexport function getInstallationsEndpoint({ projectId }: AppConfig): string {\n return `${INSTALLATIONS_API_URL}/projects/${projectId}/installations`;\n}\n\nexport function extractAuthTokenInfoFromResponse(\n response: GenerateAuthTokenResponse\n): CompletedAuthToken {\n return {\n token: response.token,\n requestStatus: RequestStatus.COMPLETED,\n expiresIn: getExpiresInFromResponseExpiresIn(response.expiresIn),\n creationTime: Date.now()\n };\n}\n\nexport async function getErrorFromResponse(\n requestName: string,\n response: Response\n): Promise {\n const responseJson: ErrorResponse = await response.json();\n const errorData = responseJson.error;\n return ERROR_FACTORY.create(ErrorCode.REQUEST_FAILED, {\n requestName,\n serverCode: errorData.code,\n serverMessage: errorData.message,\n serverStatus: errorData.status\n });\n}\n\nexport function getHeaders({ apiKey }: AppConfig): Headers {\n return new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'x-goog-api-key': apiKey\n });\n}\n\nexport function getHeadersWithAuth(\n appConfig: AppConfig,\n { refreshToken }: RegisteredInstallationEntry\n): Headers {\n const headers = getHeaders(appConfig);\n headers.append('Authorization', getAuthorizationHeader(refreshToken));\n return headers;\n}\n\nexport interface ErrorResponse {\n error: {\n code: number;\n message: string;\n status: string;\n };\n}\n\n/**\n * Calls the passed in fetch wrapper and returns the response.\n * If the returned response has a status of 5xx, re-runs the function once and\n * returns the response.\n */\nexport async function retryIfServerError(\n fn: () => Promise\n): Promise {\n const result = await fn();\n\n if (result.status >= 500 && result.status < 600) {\n // Internal Server Error. Retry request.\n return fn();\n }\n\n return result;\n}\n\nfunction getExpiresInFromResponseExpiresIn(responseExpiresIn: string): number {\n // This works because the server will never respond with fractions of a second.\n return Number(responseExpiresIn.replace('s', '000'));\n}\n\nfunction getAuthorizationHeader(refreshToken: string): string {\n return `${INTERNAL_AUTH_VERSION} ${refreshToken}`;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { CreateInstallationResponse } from '../interfaces/api-response';\nimport {\n InProgressInstallationEntry,\n RegisteredInstallationEntry,\n RequestStatus\n} from '../interfaces/installation-entry';\nimport { INTERNAL_AUTH_VERSION, PACKAGE_VERSION } from '../util/constants';\nimport {\n extractAuthTokenInfoFromResponse,\n getErrorFromResponse,\n getHeaders,\n getInstallationsEndpoint,\n retryIfServerError\n} from './common';\nimport { FirebaseInstallationsImpl } from '../interfaces/installation-impl';\n\nexport async function createInstallationRequest(\n { appConfig, heartbeatServiceProvider }: FirebaseInstallationsImpl,\n { fid }: InProgressInstallationEntry\n): Promise {\n const endpoint = getInstallationsEndpoint(appConfig);\n\n const headers = getHeaders(appConfig);\n\n // If heartbeat service exists, add the heartbeat string to the header.\n const heartbeatService = heartbeatServiceProvider.getImmediate({\n optional: true\n });\n if (heartbeatService) {\n const heartbeatsHeader = await heartbeatService.getHeartbeatsHeader();\n if (heartbeatsHeader) {\n headers.append('x-firebase-client', heartbeatsHeader);\n }\n }\n\n const body = {\n fid,\n authVersion: INTERNAL_AUTH_VERSION,\n appId: appConfig.appId,\n sdkVersion: PACKAGE_VERSION\n };\n\n const request: RequestInit = {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n };\n\n const response = await retryIfServerError(() => fetch(endpoint, request));\n if (response.ok) {\n const responseValue: CreateInstallationResponse = await response.json();\n const registeredInstallationEntry: RegisteredInstallationEntry = {\n fid: responseValue.fid || fid,\n registrationStatus: RequestStatus.COMPLETED,\n refreshToken: responseValue.refreshToken,\n authToken: extractAuthTokenInfoFromResponse(responseValue.authToken)\n };\n return registeredInstallationEntry;\n } else {\n throw await getErrorFromResponse('Create Installation', response);\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** Returns a promise that resolves after given time passes. */\nexport function sleep(ms: number): Promise {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bufferToBase64UrlSafe } from './buffer-to-base64-url-safe';\n\nexport const VALID_FID_PATTERN = /^[cdef][\\w-]{21}$/;\nexport const INVALID_FID = '';\n\n/**\n * Generates a new FID using random values from Web Crypto API.\n * Returns an empty string if FID generation fails for any reason.\n */\nexport function generateFid(): string {\n try {\n // A valid FID has exactly 22 base64 characters, which is 132 bits, or 16.5\n // bytes. our implementation generates a 17 byte array instead.\n const fidByteArray = new Uint8Array(17);\n const crypto =\n self.crypto || (self as unknown as { msCrypto: Crypto }).msCrypto;\n crypto.getRandomValues(fidByteArray);\n\n // Replace the first 4 random bits with the constant FID header of 0b0111.\n fidByteArray[0] = 0b01110000 + (fidByteArray[0] % 0b00010000);\n\n const fid = encode(fidByteArray);\n\n return VALID_FID_PATTERN.test(fid) ? fid : INVALID_FID;\n } catch {\n // FID generation errored\n return INVALID_FID;\n }\n}\n\n/** Converts a FID Uint8Array to a base64 string representation. */\nfunction encode(fidByteArray: Uint8Array): string {\n const b64String = bufferToBase64UrlSafe(fidByteArray);\n\n // Remove the 23rd character that was added because of the extra 4 bits at the\n // end of our 17 byte array, and the '=' padding.\n return b64String.substr(0, 22);\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function bufferToBase64UrlSafe(array: Uint8Array): string {\n const b64 = btoa(String.fromCharCode(...array));\n return b64.replace(/\\+/g, '-').replace(/\\//g, '_');\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AppConfig } from '../interfaces/installation-impl';\n\n/** Returns a string key that can be used to identify the app. */\nexport function getKey(appConfig: AppConfig): string {\n return `${appConfig.appName}!${appConfig.appId}`;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getKey } from '../util/get-key';\nimport { AppConfig } from '../interfaces/installation-impl';\nimport { IdChangeCallbackFn } from '../api';\n\nconst fidChangeCallbacks: Map> = new Map();\n\n/**\n * Calls the onIdChange callbacks with the new FID value, and broadcasts the\n * change to other tabs.\n */\nexport function fidChanged(appConfig: AppConfig, fid: string): void {\n const key = getKey(appConfig);\n\n callFidChangeCallbacks(key, fid);\n broadcastFidChange(key, fid);\n}\n\nexport function addCallback(\n appConfig: AppConfig,\n callback: IdChangeCallbackFn\n): void {\n // Open the broadcast channel if it's not already open,\n // to be able to listen to change events from other tabs.\n getBroadcastChannel();\n\n const key = getKey(appConfig);\n\n let callbackSet = fidChangeCallbacks.get(key);\n if (!callbackSet) {\n callbackSet = new Set();\n fidChangeCallbacks.set(key, callbackSet);\n }\n callbackSet.add(callback);\n}\n\nexport function removeCallback(\n appConfig: AppConfig,\n callback: IdChangeCallbackFn\n): void {\n const key = getKey(appConfig);\n\n const callbackSet = fidChangeCallbacks.get(key);\n\n if (!callbackSet) {\n return;\n }\n\n callbackSet.delete(callback);\n if (callbackSet.size === 0) {\n fidChangeCallbacks.delete(key);\n }\n\n // Close broadcast channel if there are no more callbacks.\n closeBroadcastChannel();\n}\n\nfunction callFidChangeCallbacks(key: string, fid: string): void {\n const callbacks = fidChangeCallbacks.get(key);\n if (!callbacks) {\n return;\n }\n\n for (const callback of callbacks) {\n callback(fid);\n }\n}\n\nfunction broadcastFidChange(key: string, fid: string): void {\n const channel = getBroadcastChannel();\n if (channel) {\n channel.postMessage({ key, fid });\n }\n closeBroadcastChannel();\n}\n\nlet broadcastChannel: BroadcastChannel | null = null;\n/** Opens and returns a BroadcastChannel if it is supported by the browser. */\nfunction getBroadcastChannel(): BroadcastChannel | null {\n if (!broadcastChannel && 'BroadcastChannel' in self) {\n broadcastChannel = new BroadcastChannel('[Firebase] FID Change');\n broadcastChannel.onmessage = e => {\n callFidChangeCallbacks(e.data.key, e.data.fid);\n };\n }\n return broadcastChannel;\n}\n\nfunction closeBroadcastChannel(): void {\n if (fidChangeCallbacks.size === 0 && broadcastChannel) {\n broadcastChannel.close();\n broadcastChannel = null;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DBSchema, IDBPDatabase, openDB } from 'idb';\nimport { AppConfig } from '../interfaces/installation-impl';\nimport { InstallationEntry } from '../interfaces/installation-entry';\nimport { getKey } from '../util/get-key';\nimport { fidChanged } from './fid-changed';\n\nconst DATABASE_NAME = 'firebase-installations-database';\nconst DATABASE_VERSION = 1;\nconst OBJECT_STORE_NAME = 'firebase-installations-store';\n\ninterface InstallationsDB extends DBSchema {\n 'firebase-installations-store': {\n key: string;\n value: InstallationEntry | undefined;\n };\n}\n\nlet dbPromise: Promise> | null = null;\nfunction getDbPromise(): Promise> {\n if (!dbPromise) {\n dbPromise = openDB(DATABASE_NAME, DATABASE_VERSION, {\n upgrade: (db, oldVersion) => {\n // We don't use 'break' in this switch statement, the fall-through\n // behavior is what we want, because if there are multiple versions between\n // the old version and the current version, we want ALL the migrations\n // that correspond to those versions to run, not only the last one.\n // eslint-disable-next-line default-case\n switch (oldVersion) {\n case 0:\n db.createObjectStore(OBJECT_STORE_NAME);\n }\n }\n });\n }\n return dbPromise;\n}\n\n/** Gets record(s) from the objectStore that match the given key. */\nexport async function get(\n appConfig: AppConfig\n): Promise {\n const key = getKey(appConfig);\n const db = await getDbPromise();\n return db\n .transaction(OBJECT_STORE_NAME)\n .objectStore(OBJECT_STORE_NAME)\n .get(key) as Promise;\n}\n\n/** Assigns or overwrites the record for the given key with the given value. */\nexport async function set(\n appConfig: AppConfig,\n value: ValueType\n): Promise {\n const key = getKey(appConfig);\n const db = await getDbPromise();\n const tx = db.transaction(OBJECT_STORE_NAME, 'readwrite');\n const objectStore = tx.objectStore(OBJECT_STORE_NAME);\n const oldValue = (await objectStore.get(key)) as InstallationEntry;\n await objectStore.put(value, key);\n await tx.done;\n\n if (!oldValue || oldValue.fid !== value.fid) {\n fidChanged(appConfig, value.fid);\n }\n\n return value;\n}\n\n/** Removes record(s) from the objectStore that match the given key. */\nexport async function remove(appConfig: AppConfig): Promise {\n const key = getKey(appConfig);\n const db = await getDbPromise();\n const tx = db.transaction(OBJECT_STORE_NAME, 'readwrite');\n await tx.objectStore(OBJECT_STORE_NAME).delete(key);\n await tx.done;\n}\n\n/**\n * Atomically updates a record with the result of updateFn, which gets\n * called with the current value. If newValue is undefined, the record is\n * deleted instead.\n * @return Updated value\n */\nexport async function update(\n appConfig: AppConfig,\n updateFn: (previousValue: InstallationEntry | undefined) => ValueType\n): Promise {\n const key = getKey(appConfig);\n const db = await getDbPromise();\n const tx = db.transaction(OBJECT_STORE_NAME, 'readwrite');\n const store = tx.objectStore(OBJECT_STORE_NAME);\n const oldValue: InstallationEntry | undefined = (await store.get(\n key\n )) as InstallationEntry;\n const newValue = updateFn(oldValue);\n\n if (newValue === undefined) {\n await store.delete(key);\n } else {\n await store.put(newValue, key);\n }\n await tx.done;\n\n if (newValue && (!oldValue || oldValue.fid !== newValue.fid)) {\n fidChanged(appConfig, newValue.fid);\n }\n\n return newValue;\n}\n\nexport async function clear(): Promise {\n const db = await getDbPromise();\n const tx = db.transaction(OBJECT_STORE_NAME, 'readwrite');\n await tx.objectStore(OBJECT_STORE_NAME).clear();\n await tx.done;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createInstallationRequest } from '../functions/create-installation-request';\nimport {\n AppConfig,\n FirebaseInstallationsImpl\n} from '../interfaces/installation-impl';\nimport {\n InProgressInstallationEntry,\n InstallationEntry,\n RegisteredInstallationEntry,\n RequestStatus\n} from '../interfaces/installation-entry';\nimport { PENDING_TIMEOUT_MS } from '../util/constants';\nimport { ERROR_FACTORY, ErrorCode, isServerError } from '../util/errors';\nimport { sleep } from '../util/sleep';\nimport { generateFid, INVALID_FID } from './generate-fid';\nimport { remove, set, update } from './idb-manager';\n\nexport interface InstallationEntryWithRegistrationPromise {\n installationEntry: InstallationEntry;\n /** Exist iff the installationEntry is not registered. */\n registrationPromise?: Promise;\n}\n\n/**\n * Updates and returns the InstallationEntry from the database.\n * Also triggers a registration request if it is necessary and possible.\n */\nexport async function getInstallationEntry(\n installations: FirebaseInstallationsImpl\n): Promise {\n let registrationPromise: Promise | undefined;\n\n const installationEntry = await update(installations.appConfig, oldEntry => {\n const installationEntry = updateOrCreateInstallationEntry(oldEntry);\n const entryWithPromise = triggerRegistrationIfNecessary(\n installations,\n installationEntry\n );\n registrationPromise = entryWithPromise.registrationPromise;\n return entryWithPromise.installationEntry;\n });\n\n if (installationEntry.fid === INVALID_FID) {\n // FID generation failed. Waiting for the FID from the server.\n return { installationEntry: await registrationPromise! };\n }\n\n return {\n installationEntry,\n registrationPromise\n };\n}\n\n/**\n * Creates a new Installation Entry if one does not exist.\n * Also clears timed out pending requests.\n */\nfunction updateOrCreateInstallationEntry(\n oldEntry: InstallationEntry | undefined\n): InstallationEntry {\n const entry: InstallationEntry = oldEntry || {\n fid: generateFid(),\n registrationStatus: RequestStatus.NOT_STARTED\n };\n\n return clearTimedOutRequest(entry);\n}\n\n/**\n * If the Firebase Installation is not registered yet, this will trigger the\n * registration and return an InProgressInstallationEntry.\n *\n * If registrationPromise does not exist, the installationEntry is guaranteed\n * to be registered.\n */\nfunction triggerRegistrationIfNecessary(\n installations: FirebaseInstallationsImpl,\n installationEntry: InstallationEntry\n): InstallationEntryWithRegistrationPromise {\n if (installationEntry.registrationStatus === RequestStatus.NOT_STARTED) {\n if (!navigator.onLine) {\n // Registration required but app is offline.\n const registrationPromiseWithError = Promise.reject(\n ERROR_FACTORY.create(ErrorCode.APP_OFFLINE)\n );\n return {\n installationEntry,\n registrationPromise: registrationPromiseWithError\n };\n }\n\n // Try registering. Change status to IN_PROGRESS.\n const inProgressEntry: InProgressInstallationEntry = {\n fid: installationEntry.fid,\n registrationStatus: RequestStatus.IN_PROGRESS,\n registrationTime: Date.now()\n };\n const registrationPromise = registerInstallation(\n installations,\n inProgressEntry\n );\n return { installationEntry: inProgressEntry, registrationPromise };\n } else if (\n installationEntry.registrationStatus === RequestStatus.IN_PROGRESS\n ) {\n return {\n installationEntry,\n registrationPromise: waitUntilFidRegistration(installations)\n };\n } else {\n return { installationEntry };\n }\n}\n\n/** This will be executed only once for each new Firebase Installation. */\nasync function registerInstallation(\n installations: FirebaseInstallationsImpl,\n installationEntry: InProgressInstallationEntry\n): Promise {\n try {\n const registeredInstallationEntry = await createInstallationRequest(\n installations,\n installationEntry\n );\n return set(installations.appConfig, registeredInstallationEntry);\n } catch (e) {\n if (isServerError(e) && e.customData.serverCode === 409) {\n // Server returned a \"FID can not be used\" error.\n // Generate a new ID next time.\n await remove(installations.appConfig);\n } else {\n // Registration failed. Set FID as not registered.\n await set(installations.appConfig, {\n fid: installationEntry.fid,\n registrationStatus: RequestStatus.NOT_STARTED\n });\n }\n throw e;\n }\n}\n\n/** Call if FID registration is pending in another request. */\nasync function waitUntilFidRegistration(\n installations: FirebaseInstallationsImpl\n): Promise {\n // Unfortunately, there is no way of reliably observing when a value in\n // IndexedDB changes (yet, see https://github.com/WICG/indexed-db-observers),\n // so we need to poll.\n\n let entry: InstallationEntry = await updateInstallationRequest(\n installations.appConfig\n );\n while (entry.registrationStatus === RequestStatus.IN_PROGRESS) {\n // createInstallation request still in progress.\n await sleep(100);\n\n entry = await updateInstallationRequest(installations.appConfig);\n }\n\n if (entry.registrationStatus === RequestStatus.NOT_STARTED) {\n // The request timed out or failed in a different call. Try again.\n const { installationEntry, registrationPromise } =\n await getInstallationEntry(installations);\n\n if (registrationPromise) {\n return registrationPromise;\n } else {\n // if there is no registrationPromise, entry is registered.\n return installationEntry as RegisteredInstallationEntry;\n }\n }\n\n return entry;\n}\n\n/**\n * Called only if there is a CreateInstallation request in progress.\n *\n * Updates the InstallationEntry in the DB based on the status of the\n * CreateInstallation request.\n *\n * Returns the updated InstallationEntry.\n */\nfunction updateInstallationRequest(\n appConfig: AppConfig\n): Promise {\n return update(appConfig, oldEntry => {\n if (!oldEntry) {\n throw ERROR_FACTORY.create(ErrorCode.INSTALLATION_NOT_FOUND);\n }\n return clearTimedOutRequest(oldEntry);\n });\n}\n\nfunction clearTimedOutRequest(entry: InstallationEntry): InstallationEntry {\n if (hasInstallationRequestTimedOut(entry)) {\n return {\n fid: entry.fid,\n registrationStatus: RequestStatus.NOT_STARTED\n };\n }\n\n return entry;\n}\n\nfunction hasInstallationRequestTimedOut(\n installationEntry: InstallationEntry\n): boolean {\n return (\n installationEntry.registrationStatus === RequestStatus.IN_PROGRESS &&\n installationEntry.registrationTime + PENDING_TIMEOUT_MS < Date.now()\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { GenerateAuthTokenResponse } from '../interfaces/api-response';\nimport {\n CompletedAuthToken,\n RegisteredInstallationEntry\n} from '../interfaces/installation-entry';\nimport { PACKAGE_VERSION } from '../util/constants';\nimport {\n extractAuthTokenInfoFromResponse,\n getErrorFromResponse,\n getHeadersWithAuth,\n getInstallationsEndpoint,\n retryIfServerError\n} from './common';\nimport {\n FirebaseInstallationsImpl,\n AppConfig\n} from '../interfaces/installation-impl';\n\nexport async function generateAuthTokenRequest(\n { appConfig, heartbeatServiceProvider }: FirebaseInstallationsImpl,\n installationEntry: RegisteredInstallationEntry\n): Promise {\n const endpoint = getGenerateAuthTokenEndpoint(appConfig, installationEntry);\n\n const headers = getHeadersWithAuth(appConfig, installationEntry);\n\n // If heartbeat service exists, add the heartbeat string to the header.\n const heartbeatService = heartbeatServiceProvider.getImmediate({\n optional: true\n });\n if (heartbeatService) {\n const heartbeatsHeader = await heartbeatService.getHeartbeatsHeader();\n if (heartbeatsHeader) {\n headers.append('x-firebase-client', heartbeatsHeader);\n }\n }\n\n const body = {\n installation: {\n sdkVersion: PACKAGE_VERSION,\n appId: appConfig.appId\n }\n };\n\n const request: RequestInit = {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n };\n\n const response = await retryIfServerError(() => fetch(endpoint, request));\n if (response.ok) {\n const responseValue: GenerateAuthTokenResponse = await response.json();\n const completedAuthToken: CompletedAuthToken =\n extractAuthTokenInfoFromResponse(responseValue);\n return completedAuthToken;\n } else {\n throw await getErrorFromResponse('Generate Auth Token', response);\n }\n}\n\nfunction getGenerateAuthTokenEndpoint(\n appConfig: AppConfig,\n { fid }: RegisteredInstallationEntry\n): string {\n return `${getInstallationsEndpoint(appConfig)}/${fid}/authTokens:generate`;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { generateAuthTokenRequest } from '../functions/generate-auth-token-request';\nimport {\n AppConfig,\n FirebaseInstallationsImpl\n} from '../interfaces/installation-impl';\nimport {\n AuthToken,\n CompletedAuthToken,\n InProgressAuthToken,\n InstallationEntry,\n RegisteredInstallationEntry,\n RequestStatus\n} from '../interfaces/installation-entry';\nimport { PENDING_TIMEOUT_MS, TOKEN_EXPIRATION_BUFFER } from '../util/constants';\nimport { ERROR_FACTORY, ErrorCode, isServerError } from '../util/errors';\nimport { sleep } from '../util/sleep';\nimport { remove, set, update } from './idb-manager';\n\n/**\n * Returns a valid authentication token for the installation. Generates a new\n * token if one doesn't exist, is expired or about to expire.\n *\n * Should only be called if the Firebase Installation is registered.\n */\nexport async function refreshAuthToken(\n installations: FirebaseInstallationsImpl,\n forceRefresh = false\n): Promise {\n let tokenPromise: Promise | undefined;\n const entry = await update(installations.appConfig, oldEntry => {\n if (!isEntryRegistered(oldEntry)) {\n throw ERROR_FACTORY.create(ErrorCode.NOT_REGISTERED);\n }\n\n const oldAuthToken = oldEntry.authToken;\n if (!forceRefresh && isAuthTokenValid(oldAuthToken)) {\n // There is a valid token in the DB.\n return oldEntry;\n } else if (oldAuthToken.requestStatus === RequestStatus.IN_PROGRESS) {\n // There already is a token request in progress.\n tokenPromise = waitUntilAuthTokenRequest(installations, forceRefresh);\n return oldEntry;\n } else {\n // No token or token expired.\n if (!navigator.onLine) {\n throw ERROR_FACTORY.create(ErrorCode.APP_OFFLINE);\n }\n\n const inProgressEntry = makeAuthTokenRequestInProgressEntry(oldEntry);\n tokenPromise = fetchAuthTokenFromServer(installations, inProgressEntry);\n return inProgressEntry;\n }\n });\n\n const authToken = tokenPromise\n ? await tokenPromise\n : (entry.authToken as CompletedAuthToken);\n return authToken;\n}\n\n/**\n * Call only if FID is registered and Auth Token request is in progress.\n *\n * Waits until the current pending request finishes. If the request times out,\n * tries once in this thread as well.\n */\nasync function waitUntilAuthTokenRequest(\n installations: FirebaseInstallationsImpl,\n forceRefresh: boolean\n): Promise {\n // Unfortunately, there is no way of reliably observing when a value in\n // IndexedDB changes (yet, see https://github.com/WICG/indexed-db-observers),\n // so we need to poll.\n\n let entry = await updateAuthTokenRequest(installations.appConfig);\n while (entry.authToken.requestStatus === RequestStatus.IN_PROGRESS) {\n // generateAuthToken still in progress.\n await sleep(100);\n\n entry = await updateAuthTokenRequest(installations.appConfig);\n }\n\n const authToken = entry.authToken;\n if (authToken.requestStatus === RequestStatus.NOT_STARTED) {\n // The request timed out or failed in a different call. Try again.\n return refreshAuthToken(installations, forceRefresh);\n } else {\n return authToken;\n }\n}\n\n/**\n * Called only if there is a GenerateAuthToken request in progress.\n *\n * Updates the InstallationEntry in the DB based on the status of the\n * GenerateAuthToken request.\n *\n * Returns the updated InstallationEntry.\n */\nfunction updateAuthTokenRequest(\n appConfig: AppConfig\n): Promise {\n return update(appConfig, oldEntry => {\n if (!isEntryRegistered(oldEntry)) {\n throw ERROR_FACTORY.create(ErrorCode.NOT_REGISTERED);\n }\n\n const oldAuthToken = oldEntry.authToken;\n if (hasAuthTokenRequestTimedOut(oldAuthToken)) {\n return {\n ...oldEntry,\n authToken: { requestStatus: RequestStatus.NOT_STARTED }\n };\n }\n\n return oldEntry;\n });\n}\n\nasync function fetchAuthTokenFromServer(\n installations: FirebaseInstallationsImpl,\n installationEntry: RegisteredInstallationEntry\n): Promise {\n try {\n const authToken = await generateAuthTokenRequest(\n installations,\n installationEntry\n );\n const updatedInstallationEntry: RegisteredInstallationEntry = {\n ...installationEntry,\n authToken\n };\n await set(installations.appConfig, updatedInstallationEntry);\n return authToken;\n } catch (e) {\n if (\n isServerError(e) &&\n (e.customData.serverCode === 401 || e.customData.serverCode === 404)\n ) {\n // Server returned a \"FID not found\" or a \"Invalid authentication\" error.\n // Generate a new ID next time.\n await remove(installations.appConfig);\n } else {\n const updatedInstallationEntry: RegisteredInstallationEntry = {\n ...installationEntry,\n authToken: { requestStatus: RequestStatus.NOT_STARTED }\n };\n await set(installations.appConfig, updatedInstallationEntry);\n }\n throw e;\n }\n}\n\nfunction isEntryRegistered(\n installationEntry: InstallationEntry | undefined\n): installationEntry is RegisteredInstallationEntry {\n return (\n installationEntry !== undefined &&\n installationEntry.registrationStatus === RequestStatus.COMPLETED\n );\n}\n\nfunction isAuthTokenValid(authToken: AuthToken): boolean {\n return (\n authToken.requestStatus === RequestStatus.COMPLETED &&\n !isAuthTokenExpired(authToken)\n );\n}\n\nfunction isAuthTokenExpired(authToken: CompletedAuthToken): boolean {\n const now = Date.now();\n return (\n now < authToken.creationTime ||\n authToken.creationTime + authToken.expiresIn < now + TOKEN_EXPIRATION_BUFFER\n );\n}\n\n/** Returns an updated InstallationEntry with an InProgressAuthToken. */\nfunction makeAuthTokenRequestInProgressEntry(\n oldEntry: RegisteredInstallationEntry\n): RegisteredInstallationEntry {\n const inProgressAuthToken: InProgressAuthToken = {\n requestStatus: RequestStatus.IN_PROGRESS,\n requestTime: Date.now()\n };\n return {\n ...oldEntry,\n authToken: inProgressAuthToken\n };\n}\n\nfunction hasAuthTokenRequestTimedOut(authToken: AuthToken): boolean {\n return (\n authToken.requestStatus === RequestStatus.IN_PROGRESS &&\n authToken.requestTime + PENDING_TIMEOUT_MS < Date.now()\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getInstallationEntry } from '../helpers/get-installation-entry';\nimport { refreshAuthToken } from '../helpers/refresh-auth-token';\nimport { FirebaseInstallationsImpl } from '../interfaces/installation-impl';\nimport { Installations } from '../interfaces/public-types';\n\n/**\n * Creates a Firebase Installation if there isn't one for the app and\n * returns the Installation ID.\n * @param installations - The `Installations` instance.\n *\n * @public\n */\nexport async function getId(installations: Installations): Promise {\n const installationsImpl = installations as FirebaseInstallationsImpl;\n const { installationEntry, registrationPromise } = await getInstallationEntry(\n installationsImpl\n );\n\n if (registrationPromise) {\n registrationPromise.catch(console.error);\n } else {\n // If the installation is already registered, update the authentication\n // token if needed.\n refreshAuthToken(installationsImpl).catch(console.error);\n }\n\n return installationEntry.fid;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getInstallationEntry } from '../helpers/get-installation-entry';\nimport { refreshAuthToken } from '../helpers/refresh-auth-token';\nimport { FirebaseInstallationsImpl } from '../interfaces/installation-impl';\nimport { Installations } from '../interfaces/public-types';\n\n/**\n * Returns a Firebase Installations auth token, identifying the current\n * Firebase Installation.\n * @param installations - The `Installations` instance.\n * @param forceRefresh - Force refresh regardless of token expiration.\n *\n * @public\n */\nexport async function getToken(\n installations: Installations,\n forceRefresh = false\n): Promise {\n const installationsImpl = installations as FirebaseInstallationsImpl;\n await completeInstallationRegistration(installationsImpl);\n\n // At this point we either have a Registered Installation in the DB, or we've\n // already thrown an error.\n const authToken = await refreshAuthToken(installationsImpl, forceRefresh);\n return authToken.token;\n}\n\nasync function completeInstallationRegistration(\n installations: FirebaseInstallationsImpl\n): Promise {\n const { registrationPromise } = await getInstallationEntry(installations);\n\n if (registrationPromise) {\n // A createInstallation request is in progress. Wait until it finishes.\n await registrationPromise;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp, FirebaseOptions } from '@firebase/app';\nimport { FirebaseError } from '@firebase/util';\nimport { AppConfig } from '../interfaces/installation-impl';\nimport { ERROR_FACTORY, ErrorCode } from '../util/errors';\n\nexport function extractAppConfig(app: FirebaseApp): AppConfig {\n if (!app || !app.options) {\n throw getMissingValueError('App Configuration');\n }\n\n if (!app.name) {\n throw getMissingValueError('App Name');\n }\n\n // Required app config keys\n const configKeys: Array = [\n 'projectId',\n 'apiKey',\n 'appId'\n ];\n\n for (const keyName of configKeys) {\n if (!app.options[keyName]) {\n throw getMissingValueError(keyName);\n }\n }\n\n return {\n appName: app.name,\n projectId: app.options.projectId!,\n apiKey: app.options.apiKey!,\n appId: app.options.appId!\n };\n}\n\nfunction getMissingValueError(valueName: string): FirebaseError {\n return ERROR_FACTORY.create(ErrorCode.MISSING_APP_CONFIG_VALUES, {\n valueName\n });\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _registerComponent, _getProvider } from '@firebase/app';\nimport {\n Component,\n ComponentType,\n InstanceFactory,\n ComponentContainer\n} from '@firebase/component';\nimport { getId, getToken } from '../api/index';\nimport { _FirebaseInstallationsInternal } from '../interfaces/public-types';\nimport { FirebaseInstallationsImpl } from '../interfaces/installation-impl';\nimport { extractAppConfig } from '../helpers/extract-app-config';\n\nconst INSTALLATIONS_NAME = 'installations';\nconst INSTALLATIONS_NAME_INTERNAL = 'installations-internal';\n\nconst publicFactory: InstanceFactory<'installations'> = (\n container: ComponentContainer\n) => {\n const app = container.getProvider('app').getImmediate();\n // Throws if app isn't configured properly.\n const appConfig = extractAppConfig(app);\n const heartbeatServiceProvider = _getProvider(app, 'heartbeat');\n\n const installationsImpl: FirebaseInstallationsImpl = {\n app,\n appConfig,\n heartbeatServiceProvider,\n _delete: () => Promise.resolve()\n };\n return installationsImpl;\n};\n\nconst internalFactory: InstanceFactory<'installations-internal'> = (\n container: ComponentContainer\n) => {\n const app = container.getProvider('app').getImmediate();\n // Internal FIS instance relies on public FIS instance.\n const installations = _getProvider(app, INSTALLATIONS_NAME).getImmediate();\n\n const installationsInternal: _FirebaseInstallationsInternal = {\n getId: () => getId(installations),\n getToken: (forceRefresh?: boolean) => getToken(installations, forceRefresh)\n };\n return installationsInternal;\n};\n\nexport function registerInstallations(): void {\n _registerComponent(\n new Component(INSTALLATIONS_NAME, publicFactory, ComponentType.PUBLIC)\n );\n _registerComponent(\n new Component(\n INSTALLATIONS_NAME_INTERNAL,\n internalFactory,\n ComponentType.PRIVATE\n )\n );\n}\n","/**\n * Firebase Installations\n *\n * @packageDocumentation\n */\n\n/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { registerInstallations } from './functions/config';\nimport { registerVersion } from '@firebase/app';\nimport { name, version } from '../package.json';\n\nexport * from './api';\nexport * from './interfaces/public-types';\n\nregisterInstallations();\nregisterVersion(name, version);\n// BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\nregisterVersion(name, version, '__BUILD_TARGET__');\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Defines a client, as in https://en.wikipedia.org/wiki/Client%E2%80%93server_model, for the\n * Remote Config server (https://firebase.google.com/docs/reference/remote-config/rest).\n *\n *

Abstracts throttle, response cache and network implementation details.\n *\n *

Modeled after the native {@link GlobalFetch} interface, which is relatively modern and\n * convenient, but simplified for Remote Config's use case.\n *\n * Disambiguation: {@link GlobalFetch} interface and the Remote Config service define \"fetch\"\n * methods. The RestClient uses the former to make HTTP calls. This interface abstracts the latter.\n */\nexport interface RemoteConfigFetchClient {\n /**\n * @throws if response status is not 200 or 304.\n */\n fetch(request: FetchRequest): Promise;\n}\n\n/**\n * Defines a self-descriptive reference for config key-value pairs.\n */\nexport interface FirebaseRemoteConfigObject {\n [key: string]: string;\n}\n\n/**\n * Shims a minimal AbortSignal.\n *\n *

AbortController's AbortSignal conveniently decouples fetch timeout logic from other aspects\n * of networking, such as retries. Firebase doesn't use AbortController enough to justify a\n * polyfill recommendation, like we do with the Fetch API, but this minimal shim can easily be\n * swapped out if/when we do.\n */\nexport class RemoteConfigAbortSignal {\n listeners: Array<() => void> = [];\n addEventListener(listener: () => void): void {\n this.listeners.push(listener);\n }\n abort(): void {\n this.listeners.forEach(listener => listener());\n }\n}\n\n/**\n * Defines per-request inputs for the Remote Config fetch request.\n *\n *

Modeled after the native {@link Request} interface, but simplified for Remote Config's\n * use case.\n */\nexport interface FetchRequest {\n /**\n * Uses cached config if it is younger than this age.\n *\n *

Required because it's defined by settings, which always have a value.\n *\n *

Comparable to passing `headers = { 'Cache-Control': max-age }` to the native\n * Fetch API.\n */\n cacheMaxAgeMillis: number;\n\n /**\n * An event bus for the signal to abort a request.\n *\n *

Required because all requests should be abortable.\n *\n *

Comparable to the native\n * Fetch API's \"signal\" field on its request configuration object\n * https://fetch.spec.whatwg.org/#dom-requestinit-signal.\n *\n *

Disambiguation: Remote Config commonly refers to API inputs as\n * \"signals\". See the private ConfigFetchRequestBody interface for those:\n * http://google3/firebase/remote_config/web/src/core/rest_client.ts?l=14&rcl=255515243.\n */\n signal: RemoteConfigAbortSignal;\n\n /**\n * The ETag header value from the last response.\n *\n *

Optional in case this is the first request.\n *\n *

Comparable to passing `headers = { 'If-None-Match': }` to the native Fetch API.\n */\n eTag?: string;\n}\n\n/**\n * Defines a successful response (200 or 304).\n *\n *

Modeled after the native {@link Response} interface, but simplified for Remote Config's\n * use case.\n */\nexport interface FetchResponse {\n /**\n * The HTTP status, which is useful for differentiating success responses with data from\n * those without.\n *\n *

{@link RemoteConfigClient} is modeled after the native {@link GlobalFetch} interface, so\n * HTTP status is first-class.\n *\n *

Disambiguation: the fetch response returns a legacy \"state\" value that is redundant with the\n * HTTP status code. The former is normalized into the latter.\n */\n status: number;\n\n /**\n * Defines the ETag response header value.\n *\n *

Only defined for 200 and 304 responses.\n */\n eTag?: string;\n\n /**\n * Defines the map of parameters returned as \"entries\" in the fetch response body.\n *\n *

Only defined for 200 responses.\n */\n config?: FirebaseRemoteConfigObject;\n\n // Note: we're not extracting experiment metadata until\n // ABT and Analytics have Web SDKs.\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const RC_COMPONENT_NAME = 'remote-config';\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, FirebaseError } from '@firebase/util';\n\nexport const enum ErrorCode {\n REGISTRATION_WINDOW = 'registration-window',\n REGISTRATION_PROJECT_ID = 'registration-project-id',\n REGISTRATION_API_KEY = 'registration-api-key',\n REGISTRATION_APP_ID = 'registration-app-id',\n STORAGE_OPEN = 'storage-open',\n STORAGE_GET = 'storage-get',\n STORAGE_SET = 'storage-set',\n STORAGE_DELETE = 'storage-delete',\n FETCH_NETWORK = 'fetch-client-network',\n FETCH_TIMEOUT = 'fetch-timeout',\n FETCH_THROTTLE = 'fetch-throttle',\n FETCH_PARSE = 'fetch-client-parse',\n FETCH_STATUS = 'fetch-status',\n INDEXED_DB_UNAVAILABLE = 'indexed-db-unavailable'\n}\n\nconst ERROR_DESCRIPTION_MAP: { readonly [key in ErrorCode]: string } = {\n [ErrorCode.REGISTRATION_WINDOW]:\n 'Undefined window object. This SDK only supports usage in a browser environment.',\n [ErrorCode.REGISTRATION_PROJECT_ID]:\n 'Undefined project identifier. Check Firebase app initialization.',\n [ErrorCode.REGISTRATION_API_KEY]:\n 'Undefined API key. Check Firebase app initialization.',\n [ErrorCode.REGISTRATION_APP_ID]:\n 'Undefined app identifier. Check Firebase app initialization.',\n [ErrorCode.STORAGE_OPEN]:\n 'Error thrown when opening storage. Original error: {$originalErrorMessage}.',\n [ErrorCode.STORAGE_GET]:\n 'Error thrown when reading from storage. Original error: {$originalErrorMessage}.',\n [ErrorCode.STORAGE_SET]:\n 'Error thrown when writing to storage. Original error: {$originalErrorMessage}.',\n [ErrorCode.STORAGE_DELETE]:\n 'Error thrown when deleting from storage. Original error: {$originalErrorMessage}.',\n [ErrorCode.FETCH_NETWORK]:\n 'Fetch client failed to connect to a network. Check Internet connection.' +\n ' Original error: {$originalErrorMessage}.',\n [ErrorCode.FETCH_TIMEOUT]:\n 'The config fetch request timed out. ' +\n ' Configure timeout using \"fetchTimeoutMillis\" SDK setting.',\n [ErrorCode.FETCH_THROTTLE]:\n 'The config fetch request timed out while in an exponential backoff state.' +\n ' Configure timeout using \"fetchTimeoutMillis\" SDK setting.' +\n ' Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.',\n [ErrorCode.FETCH_PARSE]:\n 'Fetch client could not parse response.' +\n ' Original error: {$originalErrorMessage}.',\n [ErrorCode.FETCH_STATUS]:\n 'Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.',\n [ErrorCode.INDEXED_DB_UNAVAILABLE]:\n 'Indexed DB is not supported by current browser'\n};\n\n// Note this is effectively a type system binding a code to params. This approach overlaps with the\n// role of TS interfaces, but works well for a few reasons:\n// 1) JS is unaware of TS interfaces, eg we can't test for interface implementation in JS\n// 2) callers should have access to a human-readable summary of the error and this interpolates\n// params into an error message;\n// 3) callers should be able to programmatically access data associated with an error, which\n// ErrorData provides.\ninterface ErrorParams {\n [ErrorCode.STORAGE_OPEN]: { originalErrorMessage: string | undefined };\n [ErrorCode.STORAGE_GET]: { originalErrorMessage: string | undefined };\n [ErrorCode.STORAGE_SET]: { originalErrorMessage: string | undefined };\n [ErrorCode.STORAGE_DELETE]: { originalErrorMessage: string | undefined };\n [ErrorCode.FETCH_NETWORK]: { originalErrorMessage: string };\n [ErrorCode.FETCH_THROTTLE]: { throttleEndTimeMillis: number };\n [ErrorCode.FETCH_PARSE]: { originalErrorMessage: string };\n [ErrorCode.FETCH_STATUS]: { httpStatus: number };\n}\n\nexport const ERROR_FACTORY = new ErrorFactory(\n 'remoteconfig' /* service */,\n 'Remote Config' /* service name */,\n ERROR_DESCRIPTION_MAP\n);\n\n// Note how this is like typeof/instanceof, but for ErrorCode.\nexport function hasErrorCode(e: Error, errorCode: ErrorCode): boolean {\n return e instanceof FirebaseError && e.code.indexOf(errorCode) !== -1;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Value as ValueType, ValueSource } from '@firebase/remote-config-types';\n\nconst DEFAULT_VALUE_FOR_BOOLEAN = false;\nconst DEFAULT_VALUE_FOR_STRING = '';\nconst DEFAULT_VALUE_FOR_NUMBER = 0;\n\nconst BOOLEAN_TRUTHY_VALUES = ['1', 'true', 't', 'yes', 'y', 'on'];\n\nexport class Value implements ValueType {\n constructor(\n private readonly _source: ValueSource,\n private readonly _value: string = DEFAULT_VALUE_FOR_STRING\n ) {}\n\n asString(): string {\n return this._value;\n }\n\n asBoolean(): boolean {\n if (this._source === 'static') {\n return DEFAULT_VALUE_FOR_BOOLEAN;\n }\n return BOOLEAN_TRUTHY_VALUES.indexOf(this._value.toLowerCase()) >= 0;\n }\n\n asNumber(): number {\n if (this._source === 'static') {\n return DEFAULT_VALUE_FOR_NUMBER;\n }\n let num = Number(this._value);\n if (isNaN(num)) {\n num = DEFAULT_VALUE_FOR_NUMBER;\n }\n return num;\n }\n\n getSource(): ValueSource {\n return this._source;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _getProvider, FirebaseApp, getApp } from '@firebase/app';\nimport {\n LogLevel as RemoteConfigLogLevel,\n RemoteConfig,\n Value\n} from './public_types';\nimport { RemoteConfigAbortSignal } from './client/remote_config_fetch_client';\nimport { RC_COMPONENT_NAME } from './constants';\nimport { ErrorCode, hasErrorCode } from './errors';\nimport { RemoteConfig as RemoteConfigImpl } from './remote_config';\nimport { Value as ValueImpl } from './value';\nimport { LogLevel as FirebaseLogLevel } from '@firebase/logger';\nimport { getModularInstance } from '@firebase/util';\n\n/**\n *\n * @param app - The {@link @firebase/app#FirebaseApp} instance.\n * @returns A {@link RemoteConfig} instance.\n *\n * @public\n */\nexport function getRemoteConfig(app: FirebaseApp = getApp()): RemoteConfig {\n app = getModularInstance(app);\n const rcProvider = _getProvider(app, RC_COMPONENT_NAME);\n return rcProvider.getImmediate();\n}\n\n/**\n * Makes the last fetched config available to the getters.\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @returns A `Promise` which resolves to true if the current call activated the fetched configs.\n * If the fetched configs were already activated, the `Promise` will resolve to false.\n *\n * @public\n */\nexport async function activate(remoteConfig: RemoteConfig): Promise {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n const [lastSuccessfulFetchResponse, activeConfigEtag] = await Promise.all([\n rc._storage.getLastSuccessfulFetchResponse(),\n rc._storage.getActiveConfigEtag()\n ]);\n if (\n !lastSuccessfulFetchResponse ||\n !lastSuccessfulFetchResponse.config ||\n !lastSuccessfulFetchResponse.eTag ||\n lastSuccessfulFetchResponse.eTag === activeConfigEtag\n ) {\n // Either there is no successful fetched config, or is the same as current active\n // config.\n return false;\n }\n await Promise.all([\n rc._storageCache.setActiveConfig(lastSuccessfulFetchResponse.config),\n rc._storage.setActiveConfigEtag(lastSuccessfulFetchResponse.eTag)\n ]);\n return true;\n}\n\n/**\n * Ensures the last activated config are available to the getters.\n * @param remoteConfig - The {@link RemoteConfig} instance.\n *\n * @returns A `Promise` that resolves when the last activated config is available to the getters.\n * @public\n */\nexport function ensureInitialized(remoteConfig: RemoteConfig): Promise {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n if (!rc._initializePromise) {\n rc._initializePromise = rc._storageCache.loadFromStorage().then(() => {\n rc._isInitializationComplete = true;\n });\n }\n return rc._initializePromise;\n}\n\n/**\n * Fetches and caches configuration from the Remote Config service.\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @public\n */\nexport async function fetchConfig(remoteConfig: RemoteConfig): Promise {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n // Aborts the request after the given timeout, causing the fetch call to\n // reject with an `AbortError`.\n //\n //

Aborting after the request completes is a no-op, so we don't need a\n // corresponding `clearTimeout`.\n //\n // Locating abort logic here because:\n // * it uses a developer setting (timeout)\n // * it applies to all retries (like curl's max-time arg)\n // * it is consistent with the Fetch API's signal input\n const abortSignal = new RemoteConfigAbortSignal();\n\n setTimeout(async () => {\n // Note a very low delay, eg < 10ms, can elapse before listeners are initialized.\n abortSignal.abort();\n }, rc.settings.fetchTimeoutMillis);\n\n // Catches *all* errors thrown by client so status can be set consistently.\n try {\n await rc._client.fetch({\n cacheMaxAgeMillis: rc.settings.minimumFetchIntervalMillis,\n signal: abortSignal\n });\n\n await rc._storageCache.setLastFetchStatus('success');\n } catch (e) {\n const lastFetchStatus = hasErrorCode(e as Error, ErrorCode.FETCH_THROTTLE)\n ? 'throttle'\n : 'failure';\n await rc._storageCache.setLastFetchStatus(lastFetchStatus);\n throw e;\n }\n}\n\n/**\n * Gets all config.\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @returns All config.\n *\n * @public\n */\nexport function getAll(remoteConfig: RemoteConfig): Record {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n return getAllKeys(\n rc._storageCache.getActiveConfig(),\n rc.defaultConfig\n ).reduce((allConfigs, key) => {\n allConfigs[key] = getValue(remoteConfig, key);\n return allConfigs;\n }, {} as Record);\n}\n\n/**\n * Gets the value for the given key as a boolean.\n *\n * Convenience method for calling remoteConfig.getValue(key).asBoolean().\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @param key - The name of the parameter.\n *\n * @returns The value for the given key as a boolean.\n * @public\n */\nexport function getBoolean(remoteConfig: RemoteConfig, key: string): boolean {\n return getValue(getModularInstance(remoteConfig), key).asBoolean();\n}\n\n/**\n * Gets the value for the given key as a number.\n *\n * Convenience method for calling remoteConfig.getValue(key).asNumber().\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @param key - The name of the parameter.\n *\n * @returns The value for the given key as a number.\n *\n * @public\n */\nexport function getNumber(remoteConfig: RemoteConfig, key: string): number {\n return getValue(getModularInstance(remoteConfig), key).asNumber();\n}\n\n/**\n * Gets the value for the given key as a string.\n * Convenience method for calling remoteConfig.getValue(key).asString().\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @param key - The name of the parameter.\n *\n * @returns The value for the given key as a string.\n *\n * @public\n */\nexport function getString(remoteConfig: RemoteConfig, key: string): string {\n return getValue(getModularInstance(remoteConfig), key).asString();\n}\n\n/**\n * Gets the {@link Value} for the given key.\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @param key - The name of the parameter.\n *\n * @returns The value for the given key.\n *\n * @public\n */\nexport function getValue(remoteConfig: RemoteConfig, key: string): Value {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n if (!rc._isInitializationComplete) {\n rc._logger.debug(\n `A value was requested for key \"${key}\" before SDK initialization completed.` +\n ' Await on ensureInitialized if the intent was to get a previously activated value.'\n );\n }\n const activeConfig = rc._storageCache.getActiveConfig();\n if (activeConfig && activeConfig[key] !== undefined) {\n return new ValueImpl('remote', activeConfig[key]);\n } else if (rc.defaultConfig && rc.defaultConfig[key] !== undefined) {\n return new ValueImpl('default', String(rc.defaultConfig[key]));\n }\n rc._logger.debug(\n `Returning static value for key \"${key}\".` +\n ' Define a default or remote value if this is unintentional.'\n );\n return new ValueImpl('static');\n}\n\n/**\n * Defines the log level to use.\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n * @param logLevel - The log level to set.\n *\n * @public\n */\nexport function setLogLevel(\n remoteConfig: RemoteConfig,\n logLevel: RemoteConfigLogLevel\n): void {\n const rc = getModularInstance(remoteConfig) as RemoteConfigImpl;\n switch (logLevel) {\n case 'debug':\n rc._logger.logLevel = FirebaseLogLevel.DEBUG;\n break;\n case 'silent':\n rc._logger.logLevel = FirebaseLogLevel.SILENT;\n break;\n default:\n rc._logger.logLevel = FirebaseLogLevel.ERROR;\n }\n}\n\n/**\n * Dedupes and returns an array of all the keys of the received objects.\n */\nfunction getAllKeys(obj1: {} = {}, obj2: {} = {}): string[] {\n return Object.keys({ ...obj1, ...obj2 });\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { StorageCache } from '../storage/storage_cache';\nimport {\n FetchResponse,\n RemoteConfigFetchClient,\n FetchRequest\n} from './remote_config_fetch_client';\nimport { Storage } from '../storage/storage';\nimport { Logger } from '@firebase/logger';\n\n/**\n * Implements the {@link RemoteConfigClient} abstraction with success response caching.\n *\n *

Comparable to the browser's Cache API for responses, but the Cache API requires a Service\n * Worker, which requires HTTPS, which would significantly complicate SDK installation. Also, the\n * Cache API doesn't support matching entries by time.\n */\nexport class CachingClient implements RemoteConfigFetchClient {\n constructor(\n private readonly client: RemoteConfigFetchClient,\n private readonly storage: Storage,\n private readonly storageCache: StorageCache,\n private readonly logger: Logger\n ) {}\n\n /**\n * Returns true if the age of the cached fetched configs is less than or equal to\n * {@link Settings#minimumFetchIntervalInSeconds}.\n *\n *

This is comparable to passing `headers = { 'Cache-Control': max-age }` to the\n * native Fetch API.\n *\n *

Visible for testing.\n */\n isCachedDataFresh(\n cacheMaxAgeMillis: number,\n lastSuccessfulFetchTimestampMillis: number | undefined\n ): boolean {\n // Cache can only be fresh if it's populated.\n if (!lastSuccessfulFetchTimestampMillis) {\n this.logger.debug('Config fetch cache check. Cache unpopulated.');\n return false;\n }\n\n // Calculates age of cache entry.\n const cacheAgeMillis = Date.now() - lastSuccessfulFetchTimestampMillis;\n\n const isCachedDataFresh = cacheAgeMillis <= cacheMaxAgeMillis;\n\n this.logger.debug(\n 'Config fetch cache check.' +\n ` Cache age millis: ${cacheAgeMillis}.` +\n ` Cache max age millis (minimumFetchIntervalMillis setting): ${cacheMaxAgeMillis}.` +\n ` Is cache hit: ${isCachedDataFresh}.`\n );\n\n return isCachedDataFresh;\n }\n\n async fetch(request: FetchRequest): Promise {\n // Reads from persisted storage to avoid cache miss if callers don't wait on initialization.\n const [lastSuccessfulFetchTimestampMillis, lastSuccessfulFetchResponse] =\n await Promise.all([\n this.storage.getLastSuccessfulFetchTimestampMillis(),\n this.storage.getLastSuccessfulFetchResponse()\n ]);\n\n // Exits early on cache hit.\n if (\n lastSuccessfulFetchResponse &&\n this.isCachedDataFresh(\n request.cacheMaxAgeMillis,\n lastSuccessfulFetchTimestampMillis\n )\n ) {\n return lastSuccessfulFetchResponse;\n }\n\n // Deviates from pure decorator by not honoring a passed ETag since we don't have a public API\n // that allows the caller to pass an ETag.\n request.eTag =\n lastSuccessfulFetchResponse && lastSuccessfulFetchResponse.eTag;\n\n // Falls back to service on cache miss.\n const response = await this.client.fetch(request);\n\n // Fetch throws for non-success responses, so success is guaranteed here.\n\n const storageOperations = [\n // Uses write-through cache for consistency with synchronous public API.\n this.storageCache.setLastSuccessfulFetchTimestampMillis(Date.now())\n ];\n\n if (response.status === 200) {\n // Caches response only if it has changed, ie non-304 responses.\n storageOperations.push(\n this.storage.setLastSuccessfulFetchResponse(response)\n );\n }\n\n await Promise.all(storageOperations);\n\n return response;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Attempts to get the most accurate browser language setting.\n *\n *

Adapted from getUserLanguage in packages/auth/src/utils.js for TypeScript.\n *\n *

Defers default language specification to server logic for consistency.\n *\n * @param navigatorLanguage Enables tests to override read-only {@link NavigatorLanguage}.\n */\nexport function getUserLanguage(\n navigatorLanguage: NavigatorLanguage = navigator\n): string {\n return (\n // Most reliable, but only supported in Chrome/Firefox.\n (navigatorLanguage.languages && navigatorLanguage.languages[0]) ||\n // Supported in most browsers, but returns the language of the browser\n // UI, not the language set in browser settings.\n navigatorLanguage.language\n // Polyfill otherwise.\n );\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FetchResponse,\n RemoteConfigFetchClient,\n FirebaseRemoteConfigObject,\n FetchRequest\n} from './remote_config_fetch_client';\nimport { ERROR_FACTORY, ErrorCode } from '../errors';\nimport { getUserLanguage } from '../language';\nimport { _FirebaseInstallationsInternal } from '@firebase/installations';\n\n/**\n * Defines request body parameters required to call the fetch API:\n * https://firebase.google.com/docs/reference/remote-config/rest\n *\n *

Not exported because this file encapsulates REST API specifics.\n *\n *

Not passing User Properties because Analytics' source of truth on Web is server-side.\n */\ninterface FetchRequestBody {\n // Disables camelcase linting for request body params.\n /* eslint-disable camelcase*/\n sdk_version: string;\n app_instance_id: string;\n app_instance_id_token: string;\n app_id: string;\n language_code: string;\n /* eslint-enable camelcase */\n}\n\n/**\n * Implements the Client abstraction for the Remote Config REST API.\n */\nexport class RestClient implements RemoteConfigFetchClient {\n constructor(\n private readonly firebaseInstallations: _FirebaseInstallationsInternal,\n private readonly sdkVersion: string,\n private readonly namespace: string,\n private readonly projectId: string,\n private readonly apiKey: string,\n private readonly appId: string\n ) {}\n\n /**\n * Fetches from the Remote Config REST API.\n *\n * @throws a {@link ErrorCode.FETCH_NETWORK} error if {@link GlobalFetch#fetch} can't\n * connect to the network.\n * @throws a {@link ErrorCode.FETCH_PARSE} error if {@link Response#json} can't parse the\n * fetch response.\n * @throws a {@link ErrorCode.FETCH_STATUS} error if the service returns an HTTP error status.\n */\n async fetch(request: FetchRequest): Promise {\n const [installationId, installationToken] = await Promise.all([\n this.firebaseInstallations.getId(),\n this.firebaseInstallations.getToken()\n ]);\n\n const urlBase =\n window.FIREBASE_REMOTE_CONFIG_URL_BASE ||\n 'https://firebaseremoteconfig.googleapis.com';\n\n const url = `${urlBase}/v1/projects/${this.projectId}/namespaces/${this.namespace}:fetch?key=${this.apiKey}`;\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Content-Encoding': 'gzip',\n // Deviates from pure decorator by not passing max-age header since we don't currently have\n // service behavior using that header.\n 'If-None-Match': request.eTag || '*'\n };\n\n const requestBody: FetchRequestBody = {\n /* eslint-disable camelcase */\n sdk_version: this.sdkVersion,\n app_instance_id: installationId,\n app_instance_id_token: installationToken,\n app_id: this.appId,\n language_code: getUserLanguage()\n /* eslint-enable camelcase */\n };\n\n const options = {\n method: 'POST',\n headers,\n body: JSON.stringify(requestBody)\n };\n\n // This logic isn't REST-specific, but shimming abort logic isn't worth another decorator.\n const fetchPromise = fetch(url, options);\n const timeoutPromise = new Promise((_resolve, reject) => {\n // Maps async event listener to Promise API.\n request.signal.addEventListener(() => {\n // Emulates https://heycam.github.io/webidl/#aborterror\n const error = new Error('The operation was aborted.');\n error.name = 'AbortError';\n reject(error);\n });\n });\n\n let response;\n try {\n await Promise.race([fetchPromise, timeoutPromise]);\n response = await fetchPromise;\n } catch (originalError) {\n let errorCode = ErrorCode.FETCH_NETWORK;\n if ((originalError as Error)?.name === 'AbortError') {\n errorCode = ErrorCode.FETCH_TIMEOUT;\n }\n throw ERROR_FACTORY.create(errorCode, {\n originalErrorMessage: (originalError as Error)?.message\n });\n }\n\n let status = response.status;\n\n // Normalizes nullable header to optional.\n const responseEtag = response.headers.get('ETag') || undefined;\n\n let config: FirebaseRemoteConfigObject | undefined;\n let state: string | undefined;\n\n // JSON parsing throws SyntaxError if the response body isn't a JSON string.\n // Requesting application/json and checking for a 200 ensures there's JSON data.\n if (response.status === 200) {\n let responseBody;\n try {\n responseBody = await response.json();\n } catch (originalError) {\n throw ERROR_FACTORY.create(ErrorCode.FETCH_PARSE, {\n originalErrorMessage: (originalError as Error)?.message\n });\n }\n config = responseBody['entries'];\n state = responseBody['state'];\n }\n\n // Normalizes based on legacy state.\n if (state === 'INSTANCE_STATE_UNSPECIFIED') {\n status = 500;\n } else if (state === 'NO_CHANGE') {\n status = 304;\n } else if (state === 'NO_TEMPLATE' || state === 'EMPTY_CONFIG') {\n // These cases can be fixed remotely, so normalize to safe value.\n config = {};\n }\n\n // Normalize to exception-based control flow for non-success cases.\n // Encapsulates HTTP specifics in this class as much as possible. Status is still the best for\n // differentiating success states (200 from 304; the state body param is undefined in a\n // standard 304).\n if (status !== 304 && status !== 200) {\n throw ERROR_FACTORY.create(ErrorCode.FETCH_STATUS, {\n httpStatus: status\n });\n }\n\n return { status, eTag: responseEtag, config };\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n RemoteConfigAbortSignal,\n RemoteConfigFetchClient,\n FetchResponse,\n FetchRequest\n} from './remote_config_fetch_client';\nimport { ThrottleMetadata, Storage } from '../storage/storage';\nimport { ErrorCode, ERROR_FACTORY } from '../errors';\nimport { FirebaseError, calculateBackoffMillis } from '@firebase/util';\n\n/**\n * Supports waiting on a backoff by:\n *\n *

    \n *
  • Promisifying setTimeout, so we can set a timeout in our Promise chain
  • \n *
  • Listening on a signal bus for abort events, just like the Fetch API
  • \n *
  • Failing in the same way the Fetch API fails, so timing out a live request and a throttled\n * request appear the same.
  • \n *
\n *\n *

Visible for testing.\n */\nexport function setAbortableTimeout(\n signal: RemoteConfigAbortSignal,\n throttleEndTimeMillis: number\n): Promise {\n return new Promise((resolve, reject) => {\n // Derives backoff from given end time, normalizing negative numbers to zero.\n const backoffMillis = Math.max(throttleEndTimeMillis - Date.now(), 0);\n\n const timeout = setTimeout(resolve, backoffMillis);\n\n // Adds listener, rather than sets onabort, because signal is a shared object.\n signal.addEventListener(() => {\n clearTimeout(timeout);\n\n // If the request completes before this timeout, the rejection has no effect.\n reject(\n ERROR_FACTORY.create(ErrorCode.FETCH_THROTTLE, {\n throttleEndTimeMillis\n })\n );\n });\n });\n}\n\ntype RetriableError = FirebaseError & { customData: { httpStatus: string } };\n/**\n * Returns true if the {@link Error} indicates a fetch request may succeed later.\n */\nfunction isRetriableError(e: Error): e is RetriableError {\n if (!(e instanceof FirebaseError) || !e.customData) {\n return false;\n }\n\n // Uses string index defined by ErrorData, which FirebaseError implements.\n const httpStatus = Number(e.customData['httpStatus']);\n\n return (\n httpStatus === 429 ||\n httpStatus === 500 ||\n httpStatus === 503 ||\n httpStatus === 504\n );\n}\n\n/**\n * Decorates a Client with retry logic.\n *\n *

Comparable to CachingClient, but uses backoff logic instead of cache max age and doesn't cache\n * responses (because the SDK has no use for error responses).\n */\nexport class RetryingClient implements RemoteConfigFetchClient {\n constructor(\n private readonly client: RemoteConfigFetchClient,\n private readonly storage: Storage\n ) {}\n\n async fetch(request: FetchRequest): Promise {\n const throttleMetadata = (await this.storage.getThrottleMetadata()) || {\n backoffCount: 0,\n throttleEndTimeMillis: Date.now()\n };\n\n return this.attemptFetch(request, throttleMetadata);\n }\n\n /**\n * A recursive helper for attempting a fetch request repeatedly.\n *\n * @throws any non-retriable errors.\n */\n async attemptFetch(\n request: FetchRequest,\n { throttleEndTimeMillis, backoffCount }: ThrottleMetadata\n ): Promise {\n // Starts with a (potentially zero) timeout to support resumption from stored state.\n // Ensures the throttle end time is honored if the last attempt timed out.\n // Note the SDK will never make a request if the fetch timeout expires at this point.\n await setAbortableTimeout(request.signal, throttleEndTimeMillis);\n\n try {\n const response = await this.client.fetch(request);\n\n // Note the SDK only clears throttle state if response is success or non-retriable.\n await this.storage.deleteThrottleMetadata();\n\n return response;\n } catch (e) {\n if (!isRetriableError(e as Error)) {\n throw e;\n }\n\n // Increments backoff state.\n const throttleMetadata = {\n throttleEndTimeMillis:\n Date.now() + calculateBackoffMillis(backoffCount),\n backoffCount: backoffCount + 1\n };\n\n // Persists state.\n await this.storage.setThrottleMetadata(throttleMetadata);\n\n return this.attemptFetch(request, throttleMetadata);\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseApp } from '@firebase/app';\nimport {\n RemoteConfig as RemoteConfigType,\n FetchStatus,\n RemoteConfigSettings\n} from './public_types';\nimport { StorageCache } from './storage/storage_cache';\nimport { RemoteConfigFetchClient } from './client/remote_config_fetch_client';\nimport { Storage } from './storage/storage';\nimport { Logger } from '@firebase/logger';\n\nconst DEFAULT_FETCH_TIMEOUT_MILLIS = 60 * 1000; // One minute\nconst DEFAULT_CACHE_MAX_AGE_MILLIS = 12 * 60 * 60 * 1000; // Twelve hours.\n\n/**\n * Encapsulates business logic mapping network and storage dependencies to the public SDK API.\n *\n * See {@link https://github.com/FirebasePrivate/firebase-js-sdk/blob/master/packages/firebase/index.d.ts|interface documentation} for method descriptions.\n */\nexport class RemoteConfig implements RemoteConfigType {\n /**\n * Tracks completion of initialization promise.\n * @internal\n */\n _isInitializationComplete = false;\n\n /**\n * De-duplicates initialization calls.\n * @internal\n */\n _initializePromise?: Promise;\n\n settings: RemoteConfigSettings = {\n fetchTimeoutMillis: DEFAULT_FETCH_TIMEOUT_MILLIS,\n minimumFetchIntervalMillis: DEFAULT_CACHE_MAX_AGE_MILLIS\n };\n\n defaultConfig: { [key: string]: string | number | boolean } = {};\n\n get fetchTimeMillis(): number {\n return this._storageCache.getLastSuccessfulFetchTimestampMillis() || -1;\n }\n\n get lastFetchStatus(): FetchStatus {\n return this._storageCache.getLastFetchStatus() || 'no-fetch-yet';\n }\n\n constructor(\n // Required by FirebaseServiceFactory interface.\n readonly app: FirebaseApp,\n // JS doesn't support private yet\n // (https://github.com/tc39/proposal-class-fields#private-fields), so we hint using an\n // underscore prefix.\n /**\n * @internal\n */\n readonly _client: RemoteConfigFetchClient,\n /**\n * @internal\n */\n readonly _storageCache: StorageCache,\n /**\n * @internal\n */\n readonly _storage: Storage,\n /**\n * @internal\n */\n readonly _logger: Logger\n ) {}\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FetchStatus } from '@firebase/remote-config-types';\nimport {\n FetchResponse,\n FirebaseRemoteConfigObject\n} from '../client/remote_config_fetch_client';\nimport { ERROR_FACTORY, ErrorCode } from '../errors';\nimport { FirebaseError } from '@firebase/util';\n\n/**\n * Converts an error event associated with a {@link IDBRequest} to a {@link FirebaseError}.\n */\nfunction toFirebaseError(event: Event, errorCode: ErrorCode): FirebaseError {\n const originalError = (event.target as IDBRequest).error || undefined;\n return ERROR_FACTORY.create(errorCode, {\n originalErrorMessage: originalError && (originalError as Error)?.message\n });\n}\n\n/**\n * A general-purpose store keyed by app + namespace + {@link\n * ProjectNamespaceKeyFieldValue}.\n *\n *

The Remote Config SDK can be used with multiple app installations, and each app can interact\n * with multiple namespaces, so this store uses app (ID + name) and namespace as common parent keys\n * for a set of key-value pairs. See {@link Storage#createCompositeKey}.\n *\n *

Visible for testing.\n */\nexport const APP_NAMESPACE_STORE = 'app_namespace_store';\n\nconst DB_NAME = 'firebase_remote_config';\nconst DB_VERSION = 1;\n\n/**\n * Encapsulates metadata concerning throttled fetch requests.\n */\nexport interface ThrottleMetadata {\n // The number of times fetch has backed off. Used for resuming backoff after a timeout.\n backoffCount: number;\n // The Unix timestamp in milliseconds when callers can retry a request.\n throttleEndTimeMillis: number;\n}\n\n/**\n * Provides type-safety for the \"key\" field used by {@link APP_NAMESPACE_STORE}.\n *\n *

This seems like a small price to avoid potentially subtle bugs caused by a typo.\n */\ntype ProjectNamespaceKeyFieldValue =\n | 'active_config'\n | 'active_config_etag'\n | 'last_fetch_status'\n | 'last_successful_fetch_timestamp_millis'\n | 'last_successful_fetch_response'\n | 'settings'\n | 'throttle_metadata';\n\n// Visible for testing.\nexport function openDatabase(): Promise {\n return new Promise((resolve, reject) => {\n try {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = event => {\n reject(toFirebaseError(event, ErrorCode.STORAGE_OPEN));\n };\n request.onsuccess = event => {\n resolve((event.target as IDBOpenDBRequest).result);\n };\n request.onupgradeneeded = event => {\n const db = (event.target as IDBOpenDBRequest).result;\n\n // We don't use 'break' in this switch statement, the fall-through\n // behavior is what we want, because if there are multiple versions between\n // the old version and the current version, we want ALL the migrations\n // that correspond to those versions to run, not only the last one.\n // eslint-disable-next-line default-case\n switch (event.oldVersion) {\n case 0:\n db.createObjectStore(APP_NAMESPACE_STORE, {\n keyPath: 'compositeKey'\n });\n }\n };\n } catch (error) {\n reject(\n ERROR_FACTORY.create(ErrorCode.STORAGE_OPEN, {\n originalErrorMessage: (error as Error)?.message\n })\n );\n }\n });\n}\n\n/**\n * Abstracts data persistence.\n */\nexport class Storage {\n /**\n * @param appId enables storage segmentation by app (ID + name).\n * @param appName enables storage segmentation by app (ID + name).\n * @param namespace enables storage segmentation by namespace.\n */\n constructor(\n private readonly appId: string,\n private readonly appName: string,\n private readonly namespace: string,\n private readonly openDbPromise = openDatabase()\n ) {}\n\n getLastFetchStatus(): Promise {\n return this.get('last_fetch_status');\n }\n\n setLastFetchStatus(status: FetchStatus): Promise {\n return this.set('last_fetch_status', status);\n }\n\n // This is comparable to a cache entry timestamp. If we need to expire other data, we could\n // consider adding timestamp to all storage records and an optional max age arg to getters.\n getLastSuccessfulFetchTimestampMillis(): Promise {\n return this.get('last_successful_fetch_timestamp_millis');\n }\n\n setLastSuccessfulFetchTimestampMillis(timestamp: number): Promise {\n return this.set(\n 'last_successful_fetch_timestamp_millis',\n timestamp\n );\n }\n\n getLastSuccessfulFetchResponse(): Promise {\n return this.get('last_successful_fetch_response');\n }\n\n setLastSuccessfulFetchResponse(response: FetchResponse): Promise {\n return this.set('last_successful_fetch_response', response);\n }\n\n getActiveConfig(): Promise {\n return this.get('active_config');\n }\n\n setActiveConfig(config: FirebaseRemoteConfigObject): Promise {\n return this.set('active_config', config);\n }\n\n getActiveConfigEtag(): Promise {\n return this.get('active_config_etag');\n }\n\n setActiveConfigEtag(etag: string): Promise {\n return this.set('active_config_etag', etag);\n }\n\n getThrottleMetadata(): Promise {\n return this.get('throttle_metadata');\n }\n\n setThrottleMetadata(metadata: ThrottleMetadata): Promise {\n return this.set('throttle_metadata', metadata);\n }\n\n deleteThrottleMetadata(): Promise {\n return this.delete('throttle_metadata');\n }\n\n async get(key: ProjectNamespaceKeyFieldValue): Promise {\n const db = await this.openDbPromise;\n return new Promise((resolve, reject) => {\n const transaction = db.transaction([APP_NAMESPACE_STORE], 'readonly');\n const objectStore = transaction.objectStore(APP_NAMESPACE_STORE);\n const compositeKey = this.createCompositeKey(key);\n try {\n const request = objectStore.get(compositeKey);\n request.onerror = event => {\n reject(toFirebaseError(event, ErrorCode.STORAGE_GET));\n };\n request.onsuccess = event => {\n const result = (event.target as IDBRequest).result;\n if (result) {\n resolve(result.value);\n } else {\n resolve(undefined);\n }\n };\n } catch (e) {\n reject(\n ERROR_FACTORY.create(ErrorCode.STORAGE_GET, {\n originalErrorMessage: (e as Error)?.message\n })\n );\n }\n });\n }\n\n async set(key: ProjectNamespaceKeyFieldValue, value: T): Promise {\n const db = await this.openDbPromise;\n return new Promise((resolve, reject) => {\n const transaction = db.transaction([APP_NAMESPACE_STORE], 'readwrite');\n const objectStore = transaction.objectStore(APP_NAMESPACE_STORE);\n const compositeKey = this.createCompositeKey(key);\n try {\n const request = objectStore.put({\n compositeKey,\n value\n });\n request.onerror = (event: Event) => {\n reject(toFirebaseError(event, ErrorCode.STORAGE_SET));\n };\n request.onsuccess = () => {\n resolve();\n };\n } catch (e) {\n reject(\n ERROR_FACTORY.create(ErrorCode.STORAGE_SET, {\n originalErrorMessage: (e as Error)?.message\n })\n );\n }\n });\n }\n\n async delete(key: ProjectNamespaceKeyFieldValue): Promise {\n const db = await this.openDbPromise;\n return new Promise((resolve, reject) => {\n const transaction = db.transaction([APP_NAMESPACE_STORE], 'readwrite');\n const objectStore = transaction.objectStore(APP_NAMESPACE_STORE);\n const compositeKey = this.createCompositeKey(key);\n try {\n const request = objectStore.delete(compositeKey);\n request.onerror = (event: Event) => {\n reject(toFirebaseError(event, ErrorCode.STORAGE_DELETE));\n };\n request.onsuccess = () => {\n resolve();\n };\n } catch (e) {\n reject(\n ERROR_FACTORY.create(ErrorCode.STORAGE_DELETE, {\n originalErrorMessage: (e as Error)?.message\n })\n );\n }\n });\n }\n\n // Facilitates composite key functionality (which is unsupported in IE).\n createCompositeKey(key: ProjectNamespaceKeyFieldValue): string {\n return [this.appId, this.appName, this.namespace, key].join();\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FetchStatus } from '@firebase/remote-config-types';\nimport { FirebaseRemoteConfigObject } from '../client/remote_config_fetch_client';\nimport { Storage } from './storage';\n\n/**\n * A memory cache layer over storage to support the SDK's synchronous read requirements.\n */\nexport class StorageCache {\n constructor(private readonly storage: Storage) {}\n\n /**\n * Memory caches.\n */\n private lastFetchStatus?: FetchStatus;\n private lastSuccessfulFetchTimestampMillis?: number;\n private activeConfig?: FirebaseRemoteConfigObject;\n\n /**\n * Memory-only getters\n */\n getLastFetchStatus(): FetchStatus | undefined {\n return this.lastFetchStatus;\n }\n\n getLastSuccessfulFetchTimestampMillis(): number | undefined {\n return this.lastSuccessfulFetchTimestampMillis;\n }\n\n getActiveConfig(): FirebaseRemoteConfigObject | undefined {\n return this.activeConfig;\n }\n\n /**\n * Read-ahead getter\n */\n async loadFromStorage(): Promise {\n const lastFetchStatusPromise = this.storage.getLastFetchStatus();\n const lastSuccessfulFetchTimestampMillisPromise =\n this.storage.getLastSuccessfulFetchTimestampMillis();\n const activeConfigPromise = this.storage.getActiveConfig();\n\n // Note:\n // 1. we consistently check for undefined to avoid clobbering defined values\n // in memory\n // 2. we defer awaiting to improve readability, as opposed to destructuring\n // a Promise.all result, for example\n\n const lastFetchStatus = await lastFetchStatusPromise;\n if (lastFetchStatus) {\n this.lastFetchStatus = lastFetchStatus;\n }\n\n const lastSuccessfulFetchTimestampMillis =\n await lastSuccessfulFetchTimestampMillisPromise;\n if (lastSuccessfulFetchTimestampMillis) {\n this.lastSuccessfulFetchTimestampMillis =\n lastSuccessfulFetchTimestampMillis;\n }\n\n const activeConfig = await activeConfigPromise;\n if (activeConfig) {\n this.activeConfig = activeConfig;\n }\n }\n\n /**\n * Write-through setters\n */\n setLastFetchStatus(status: FetchStatus): Promise {\n this.lastFetchStatus = status;\n return this.storage.setLastFetchStatus(status);\n }\n\n setLastSuccessfulFetchTimestampMillis(\n timestampMillis: number\n ): Promise {\n this.lastSuccessfulFetchTimestampMillis = timestampMillis;\n return this.storage.setLastSuccessfulFetchTimestampMillis(timestampMillis);\n }\n\n setActiveConfig(activeConfig: FirebaseRemoteConfigObject): Promise {\n this.activeConfig = activeConfig;\n return this.storage.setActiveConfig(activeConfig);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RemoteConfig } from './public_types';\nimport { activate, fetchConfig } from './api';\nimport {\n getModularInstance,\n isIndexedDBAvailable,\n validateIndexedDBOpenable\n} from '@firebase/util';\n\n// This API is put in a separate file, so we can stub fetchConfig and activate in tests.\n// It's not possible to stub standalone functions from the same module.\n/**\n *\n * Performs fetch and activate operations, as a convenience.\n *\n * @param remoteConfig - The {@link RemoteConfig} instance.\n *\n * @returns A `Promise` which resolves to true if the current call activated the fetched configs.\n * If the fetched configs were already activated, the `Promise` will resolve to false.\n *\n * @public\n */\nexport async function fetchAndActivate(\n remoteConfig: RemoteConfig\n): Promise {\n remoteConfig = getModularInstance(remoteConfig);\n await fetchConfig(remoteConfig);\n return activate(remoteConfig);\n}\n\n/**\n * This method provides two different checks:\n *\n * 1. Check if IndexedDB exists in the browser environment.\n * 2. Check if the current browser context allows IndexedDB `open()` calls.\n *\n * @returns A `Promise` which resolves to true if a {@link RemoteConfig} instance\n * can be initialized in this environment, or false if it cannot.\n * @public\n */\nexport async function isSupported(): Promise {\n if (!isIndexedDBAvailable()) {\n return false;\n }\n\n try {\n const isDBOpenable: boolean = await validateIndexedDBOpenable();\n return isDBOpenable;\n } catch (error) {\n return false;\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n _registerComponent,\n registerVersion,\n SDK_VERSION\n} from '@firebase/app';\nimport { isIndexedDBAvailable } from '@firebase/util';\nimport {\n Component,\n ComponentType,\n ComponentContainer,\n InstanceFactoryOptions\n} from '@firebase/component';\nimport { Logger, LogLevel as FirebaseLogLevel } from '@firebase/logger';\nimport { RemoteConfig } from './public_types';\nimport { name as packageName, version } from '../package.json';\nimport { ensureInitialized } from './api';\nimport { CachingClient } from './client/caching_client';\nimport { RestClient } from './client/rest_client';\nimport { RetryingClient } from './client/retrying_client';\nimport { RC_COMPONENT_NAME } from './constants';\nimport { ErrorCode, ERROR_FACTORY } from './errors';\nimport { RemoteConfig as RemoteConfigImpl } from './remote_config';\nimport { Storage } from './storage/storage';\nimport { StorageCache } from './storage/storage_cache';\n// This needs to be in the same file that calls `getProvider()` on the component\n// or it will get tree-shaken out.\nimport '@firebase/installations';\n\nexport function registerRemoteConfig(): void {\n _registerComponent(\n new Component(\n RC_COMPONENT_NAME,\n remoteConfigFactory,\n ComponentType.PUBLIC\n ).setMultipleInstances(true)\n );\n\n registerVersion(packageName, version);\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n registerVersion(packageName, version, '__BUILD_TARGET__');\n\n function remoteConfigFactory(\n container: ComponentContainer,\n { instanceIdentifier: namespace }: InstanceFactoryOptions\n ): RemoteConfig {\n /* Dependencies */\n // getImmediate for FirebaseApp will always succeed\n const app = container.getProvider('app').getImmediate();\n // The following call will always succeed because rc has `import '@firebase/installations'`\n const installations = container\n .getProvider('installations-internal')\n .getImmediate();\n\n // Guards against the SDK being used in non-browser environments.\n if (typeof window === 'undefined') {\n throw ERROR_FACTORY.create(ErrorCode.REGISTRATION_WINDOW);\n }\n // Guards against the SDK being used when indexedDB is not available.\n if (!isIndexedDBAvailable()) {\n throw ERROR_FACTORY.create(ErrorCode.INDEXED_DB_UNAVAILABLE);\n }\n // Normalizes optional inputs.\n const { projectId, apiKey, appId } = app.options;\n if (!projectId) {\n throw ERROR_FACTORY.create(ErrorCode.REGISTRATION_PROJECT_ID);\n }\n if (!apiKey) {\n throw ERROR_FACTORY.create(ErrorCode.REGISTRATION_API_KEY);\n }\n if (!appId) {\n throw ERROR_FACTORY.create(ErrorCode.REGISTRATION_APP_ID);\n }\n namespace = namespace || 'firebase';\n\n const storage = new Storage(appId, app.name, namespace);\n const storageCache = new StorageCache(storage);\n\n const logger = new Logger(packageName);\n\n // Sets ERROR as the default log level.\n // See RemoteConfig#setLogLevel for corresponding normalization to ERROR log level.\n logger.logLevel = FirebaseLogLevel.ERROR;\n\n const restClient = new RestClient(\n installations,\n // Uses the JS SDK version, by which the RC package version can be deduced, if necessary.\n SDK_VERSION,\n namespace,\n projectId,\n apiKey,\n appId\n );\n const retryingClient = new RetryingClient(restClient, storage);\n const cachingClient = new CachingClient(\n retryingClient,\n storage,\n storageCache,\n logger\n );\n\n const remoteConfigInstance = new RemoteConfigImpl(\n app,\n cachingClient,\n storageCache,\n storage,\n logger\n );\n\n // Starts warming cache.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ensureInitialized(remoteConfigInstance);\n\n return remoteConfigInstance;\n }\n}\n","import firebase from 'firebase/compat/app';\nimport { getAuth, signInAnonymously } from 'firebase/auth';\nimport {\n getRemoteConfig,\n fetchAndActivate,\n getAll,\n} from 'firebase/remote-config';\n\nconst config = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n appId: process.env.REACT_APP_FIREBASE_APP_ID,\n measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID,\n};\n\nconst remoteConfigDefaults = {\n default_extended_product_code: 'co-loona-web-ar-q-t7-59',\n default_standard_product_code: 'co-loona-web-ar-q-t14-59',\n promo_extended_product_code: 'year-extend-promo-2w-trial',\n promo_standard_product_code: 'year-promo-1w-trial',\n skip_trial_default_product_code: 'co-loona-web-ar-q-t7-1-59',\n promo_skip_trial_no_trial_product_code: 'co-loona-web-ar-q-t0-48-st',\n promo_skip_trial_no_trial_product_code_plan_select: 'co-loona-web-ar-m-t0-23',\n premium_invite_product_code: 'co-loona-web-ar-y-t30-39',\n default_product_code: 'co-loona-web-ar-q-t7-59-pt0099',\n plan_select_month_direct_product_code: 'co-loona-web-ar-m-t0-29-r19',\n plan_select_month_upsell_step1_product_code: 'co-loona-web-ar-q-t0-44',\n plan_select_month_upsell_step2_product_code: 'co-loona-web-ar-q-t0-39',\n plan_select_quarter_direct_product_code: 'co-loona-web-ar-q-t0-59-r29',\n plan_select_week_direct_product_code: 'co-loona-web-ar-wm-t0-29-5',\n plan_select_week_upsell_step1_product_code: 'co-loona-web-ar-q-t0-55',\n plan_select_week_upsell_step2_product_code: 'co-loona-web-ar-q-t0-47',\n workbook_addon_product_code: 'co-loona-web-nc-workbook',\n workbook_addon_with_discount_product_code: 'co-loona-web-nc-workbook-dsc',\n web_audio_product_code: 'co-loona-web-nc-workbook-dac',\n};\n\nexport let firebaseId: string | undefined = undefined;\n\nexport const firebaseApp = firebase.initializeApp(config);\n\nconst auth = getAuth(firebaseApp);\nsignInAnonymously(auth).then((userCredential) => {\n firebaseId = userCredential.user?.uid;\n});\n\nexport const remoteConfig = getRemoteConfig(firebaseApp);\n\nremoteConfig.settings.minimumFetchIntervalMillis = 3600000;\nremoteConfig.defaultConfig = remoteConfigDefaults;\nfetchAndActivate(remoteConfig).then((_) => {\n getAll(remoteConfig);\n});\n","export const LINK_PARAMS_MAP: Record = {\n mediaSource: 'pid',\n webDp: 'af_web_dp',\n campaign: 'c',\n campaignId: 'af_c_id',\n retargeting: 'is_retargeting',\n iosUrl: 'af_ios_url',\n androidUrl: 'af_android_url',\n utmSource: 'utm_source',\n utmMedium: 'utm_medium',\n utmCampaign: 'utm_campaign',\n utmContent: 'utm_content',\n deepLink: 'deep_link_value',\n qr: 'af_qr',\n utm_source: 'c',\n utm_medium: 'af_adset',\n utm_campaign: 'af_ad',\n experience: 'af_xp',\n};\n\nexport const EMAIL_VALIDATION_ERROR = 'Please enter a valid email';\nexport const PASSWORD_VALIDATION_ERROR = 'Please enter a valid password';\n\nexport const RECURLY_KEY = process.env.REACT_APP_RECURLY_KEY || '';\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';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\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;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\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: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\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 var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\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, options) : '';\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, options);\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.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: \"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};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\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\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\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 key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\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 parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _slicedToArray(_opt$split, 2),\n key = _opt$split2[0],\n val = _opt$split2[1];\n\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread({}, options, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread({}, formatOptions, options, valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\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 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: true\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.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.defaultNS && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread({}, defOpts, this.options, transformOptions(options));\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\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 formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\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\n if (formatter && this.options.interpolation.format === defOpts.interpolation.format) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\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 this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\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 === 'formatter') {\n this.modules.formatter = 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 setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < _this4.languages.length; li++) {\n var lngInLngs = _this4.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (_this4.store.hasLanguageSomeTranslations(lngInLngs)) {\n _this4.resolvedLanguage = lngInLngs;\n break;\n }\n }\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(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 setLngProps(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.resolvedLanguage || 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.resolvedLanguage || (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', 'ckb'];\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 resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = name + '=' + value;\n\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n\n case 'lax':\n str += '; SameSite=Lax';\n break;\n\n case 'strict':\n str += '; SameSite=Strict';\n break;\n\n case 'none':\n str += '; SameSite=None';\n break;\n\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n};\n\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = name + '=';\n var ca = document.cookie.split(';');\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var query = window.location.search.substring(1);\n var params = query.split('&');\n\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\n\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n\n return hasLocalStorageSupport;\n};\n\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\n\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n\n return hasSessionStorageSupport;\n};\n\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.href.match(/(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromSubdomainIndex === 'number') {\n found = language[options.lookupFromSubdomainIndex].replace('http://', '').replace('https://', '').replace('.', '');\n } else {\n found = language[0].replace('http://', '').replace('https://', '').replace('.', '');\n }\n }\n }\n\n return found;\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'] //cookieMinutes: 10,\n //cookieDomain: 'myDomain'\n\n };\n}\n\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Browser);\n\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults()); // backwards compatibility\n\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n\n return Browser;\n}();\n\nBrowser.type = 'languageDetector';\n\nexport default Browser;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\n\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\n\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n\n return Promise.resolve(maybePromise);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defaults, hasXMLHttpRequest } from './utils.js';\nimport * as fetchNode from './getFetch.cjs';\nvar fetchApi;\n\nif (typeof fetch === 'function') {\n if (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n } else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n }\n}\n\nvar XmlHttpRequestApi;\n\nif (hasXMLHttpRequest()) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\n\nvar ActiveXObjectApi;\n\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\n\nif (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode;\nif (typeof fetchApi !== 'function') fetchApi = undefined;\n\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n};\n\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n var headers = defaults({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (payload) headers['Content-Type'] = 'application/json';\n fetchApi(url, defaults({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions)).then(function (response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n }).catch(callback);\n};\n\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XmlHttpRequestApi) {\n x = new XmlHttpRequestApi();\n } else {\n x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(payload ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\n\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n\n callback = callback || function () {};\n\n if (fetchApi) {\n return requestWithFetch(options, url, payload, callback);\n }\n\n if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n};\n\nexport default request;","function _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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\nimport { defaults, makePromise } from './utils.js';\nimport request from './request.js';\n\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\n\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Backend);\n\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n this.allOptions = allOptions;\n\n if (this.services && this.options.reloadInterval) {\n setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n\n var url = _this2.services.interpolator.interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n\n this.options.request(this.options, url, undefined, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message && err.message.indexOf('Failed to fetch') > -1) return callback('failed loading ' + url + ': ' + err.message, true);\n if (err) return callback(err, false);\n var ret, parseErr;\n\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n\n var url = _this4.services.interpolator.interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n\n if (finished === languages.length) {\n if (callback) callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\nexport default Backend;","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\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}","import i18n from 'i18next';\nimport detector from 'i18next-browser-languagedetector';\nimport backend from 'i18next-http-backend';\nimport { initReactI18next } from 'react-i18next';\nimport en from './en/en.json';\nimport de from './de/de.json';\nimport es from './es/es.json';\nimport pt from './pt/pt.json';\n\nexport const resources = {\n en: en,\n de: de,\n es: es,\n pt: pt,\n};\n\ni18n\n .use(detector)\n .use(backend)\n .use(initReactI18next)\n .init({\n resources,\n fallbackLng: 'en',\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n ns: ['translation'],\n defaultNS: 'translation',\n react: {\n wait: true,\n },\n });\n\nexport default i18n;\n","import { push } from 'connected-react-router';\nimport { Amplitude } from 'analytics/Amplitude';\nimport { firebaseId } from 'analytics/Firebase';\nimport { LINK_PARAMS_MAP } from './utils.constants';\nimport i18n, { resources } from 'locales/i18n';\nimport moment from 'moment';\n\nexport function formatPrice(\n price?: number | string,\n currencySign?: string,\n minFractions = 2,\n maxFractions = 2,\n): string {\n const amount =\n typeof price === 'number' ? price : parseFloat(price || '0.00');\n\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencySign,\n minimumFractionDigits: minFractions,\n maximumFractionDigits: maxFractions,\n }).format(amount);\n}\n\nexport const validateEmail = (email: string): boolean => {\n const re =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(email.toLowerCase());\n};\n\nexport const prefersDark = false; // window.matchMedia('(prefers-color-scheme: light)').matches\n\nexport function pushWithSearchQuery(path: string, exclude?: string[]) {\n let search;\n if (exclude && exclude.length > 0) {\n search = window.location.search\n .substring(1)\n .split('&')\n .filter((query) => !exclude.includes(query.split('=')[0]))\n .join('&');\n if (search.length > 0) {\n search = '?' + search;\n }\n } else {\n search = window.location.search;\n }\n\n return push({\n pathname: path,\n search: search,\n });\n}\n\nexport function getQueryVariable(variable: string): string | undefined {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (const pair of vars) {\n const [key, value] = pair.split('=');\n if (decodeURIComponent(key) === variable) {\n return decodeURIComponent(value);\n }\n }\n return undefined;\n}\n\nexport async function sha256(message: string) {\n const msgBuffer = new TextEncoder().encode(message);\n const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n}\n\nexport const percentToHex = (p: number) => {\n const percent = Math.max(0, Math.min(100, p));\n const intValue = Math.round((percent / 100) * 255);\n const hexValue = intValue.toString(16);\n return typeof hexValue === 'string'\n ? hexValue.padStart(2, '0').toUpperCase()\n : '';\n};\n\nexport const getOneLink = (params: Object, oneLink?: string) => {\n const link = oneLink || 'https://loona.onelink.me/Jfkp';\n const url = new URL(link);\n const currentParams = Object.fromEntries(\n new URLSearchParams(window.location.search),\n );\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.append(LINK_PARAMS_MAP[key], value);\n }\n\n Object.keys(currentParams).forEach((key) => {\n if (LINK_PARAMS_MAP[key]) {\n url.searchParams.append(LINK_PARAMS_MAP[key], currentParams[key]);\n }\n });\n\n return url.href;\n};\n\nexport const getCookie = (name: string) => {\n const cookies = Object.assign(\n {},\n ...document.cookie.split('; ').map((cookie) => {\n const name = cookie.split('=')[0];\n const value = cookie.split('=')[1];\n\n return { [name]: value };\n }),\n );\n\n return cookies[name];\n};\n\nexport async function retry(\n fn: () => Promise,\n retriesLeft = 3,\n interval = 1000,\n): Promise {\n try {\n const response = await fn();\n return response;\n } catch (error) {\n if (retriesLeft) {\n await new Promise((resolve) => setTimeout(resolve, interval));\n return retry(fn, retriesLeft - 1, interval);\n } else throw new Error(`Max retries reached for function ${fn.name}`);\n }\n}\n\nexport const isCookiesAccepted = (): boolean => {\n return localStorage.getItem('cookies-accepted') === 'true';\n};\n\nexport const getDeviceInfo = () => {\n if (!firebaseId && !Amplitude.amplitudeId) {\n return undefined;\n } else {\n return {\n data: {\n idxs: {\n firebase_idx: firebaseId,\n amplitude_idx: Amplitude.amplitudeId,\n },\n user_agent: navigator.userAgent,\n },\n platform: 'web',\n };\n }\n};\n\nexport const setWindowUrlSearchParams = (params: string) => {\n const location = {\n ...window.location,\n search: params,\n };\n\n Object.defineProperty(window, 'location', {\n value: location,\n writable: true,\n });\n};\n\nexport const getLocaleDateString = (\n date: Date,\n options: Intl.DateTimeFormatOptions,\n language?: string,\n) => {\n const formatter = new Intl.DateTimeFormat(\n getCurrentLanguage(language),\n options,\n );\n return formatter.format(date);\n};\n\nexport const getLocaleTimeString = (time: string, language?: string) => {\n const dateFormatTime = moment(time, 'HH:mm').toDate();\n\n const shortTimeFormat = new Intl.DateTimeFormat(\n getCurrentLanguage(language),\n {\n timeStyle: 'short',\n },\n );\n\n if (!isNaN(dateFormatTime.getTime())) {\n return shortTimeFormat.format(dateFormatTime);\n }\n\n return '';\n};\n\nexport const getLocaleIntervalTimeString = (timeInterval: string): string => {\n const [time1, time2] = timeInterval.split('-');\n if (!time1 || !time2) return '';\n\n return `${getLocaleTimeString(time1)}-${getLocaleTimeString(time2)}`;\n};\n\nexport const isLanguageSupported = (language: string) =>\n Object.keys(resources).includes(language);\n\nexport const getCurrentLanguage = (language?: string): string => {\n const currentLanguage =\n language?.split('-')[0] || i18n.language.split('-')[0];\n\n return isLanguageSupported(currentLanguage) ? currentLanguage : 'en';\n};\n\nexport const getAcceptLanguageHeader = (language?: string): string => {\n const languageRegionMap: Record = {\n en: 'en-US',\n de: 'de-DE',\n es: 'es-ES',\n pt: 'pt-PT',\n };\n\n return languageRegionMap[getCurrentLanguage(language)];\n};\n\nexport const isIos = (userAgent: string) => {\n const isIPad = !!userAgent.match(/iPad/i);\n const isIPhone = !!userAgent.match(/iPhone/i);\n const isIPod = !!userAgent.match(/iPod/i);\n const isMacIntel = navigator?.platform === 'MacIntel';\n const hasTouchPoints =\n 'maxTouchPoints' in navigator && navigator.maxTouchPoints > 0;\n return isIPad || isIPhone || isIPod || (isMacIntel && hasTouchPoints);\n};\n\nexport const isTouchDevice = () => {\n return (\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n // @ts-ignore\n navigator.msMaxTouchPoints > 0\n );\n};\n\nexport const isDevEnv = (): boolean =>\n process.env.REACT_APP_HOST_ENV === 'development';\n\nexport const hexToRgb = (hex: string): string => {\n const bigint = parseInt(hex.substring(1), 16);\n\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return `${r},${g},${b}`;\n};\n","import ReactPixel from 'react-facebook-pixel';\nimport { getCookie, sha256 } from 'utils';\nimport { Analytics } from './Analytics';\nimport { Events } from './Events';\nimport { Event } from './Event';\n\nconst FACEBOOK_PIXEL_ID = process.env.REACT_APP_FACEBOOK_PIXEL_ID || '';\n\nconst mappedEvents: Record = {\n [Events.SignUp]: 'CompleteRegistration',\n [Events.Subscribe]: 'AddPaymentInfo',\n [Events.ContinueWelcome]: 'Lead',\n [Events.ContinueBoardingPersonalizationD1]: 'ViewContent',\n [Events.SubscriptionSuccess]: 'Purchase',\n [Events.SubscriptionStarted]: 'SubscriptionStarted',\n};\n\ndeclare global {\n interface AdvancedMatching {\n ct: string;\n country: string;\n db: string;\n em: string;\n fn: string;\n ge: string;\n ln: string;\n ph: string;\n st: string;\n zp: string;\n fbp: string;\n subscription_id: string;\n }\n}\n\nexport class FacebookPixel extends Analytics {\n advancedMatching: AdvancedMatching = {\n ct: '',\n country: '',\n db: '',\n em: '',\n fn: '',\n ge: '',\n ln: '',\n ph: '',\n st: '',\n zp: '',\n fbp: '',\n subscription_id: '',\n };\n\n supportedEvents = [\n Events.SignUp,\n Events.Subscribe,\n Events.Install,\n Events.ContinueWelcome,\n Events.ContinueBoardingPersonalizationD1,\n Events.SubscriptionSuccess,\n Events.SubscriptionStarted,\n ];\n\n constructor() {\n super();\n ReactPixel.init(FACEBOOK_PIXEL_ID, undefined, {\n debug: process.env.NODE_ENV !== 'production',\n autoConfig: true,\n });\n }\n\n trackEvent(event: Event) {\n const eventName = mappedEvents[event.name];\n\n if (!this.advancedMatching.fbp) {\n this.advancedMatching.fbp = getCookie('_fbp');\n }\n\n const track = () => {\n if (event.optionalParams?.eventId) {\n ReactPixel.fbq(\n 'track',\n eventName,\n typeof event.params === 'object'\n ? {\n ...event.params,\n subscription_id: event.optionalParams.eventId,\n }\n : event.params,\n {\n eventID: event.optionalParams.eventId,\n },\n );\n } else {\n ReactPixel.track(eventName, event.params);\n }\n };\n if (!!event.optionalParams) {\n const hashPromises: Promise[] = [];\n event.optionalParams.email &&\n hashPromises.push(sha256(event.optionalParams.email));\n event.optionalParams.zip &&\n hashPromises.push(sha256(event.optionalParams.zip));\n event.optionalParams.firstName &&\n hashPromises.push(sha256(event.optionalParams.firstName.toLowerCase()));\n event.optionalParams.lastName &&\n hashPromises.push(sha256(event.optionalParams.lastName.toLowerCase()));\n Promise.allSettled(hashPromises)\n .then(([email, zip, firstName, lastName]) => {\n email.status === 'fulfilled' &&\n (this.advancedMatching.em = email.value);\n zip.status === 'fulfilled' && (this.advancedMatching.zp = zip.value);\n firstName.status === 'fulfilled' &&\n (this.advancedMatching.fn = firstName.value);\n lastName.status === 'fulfilled' &&\n (this.advancedMatching.ln = lastName.value);\n\n ReactPixel.init(FACEBOOK_PIXEL_ID, this.advancedMatching, {\n debug: process.env.NODE_ENV !== 'production',\n autoConfig: true,\n });\n track();\n })\n .catch(() => {\n track();\n });\n } else {\n track();\n }\n }\n}\n","import { Events } from './Events';\n\ntype EventParams = {} | string[] | string;\n\nexport type OptionalParams = {\n eventId?: string;\n email?: string;\n zip?: string;\n firstName?: string;\n lastName?: string;\n onboardingType: string;\n};\n\nexport class Event {\n name: Events;\n params?: EventParams;\n optionalParams?: OptionalParams;\n\n constructor(\n name: Events,\n params?: EventParams,\n optionalParams?: OptionalParams,\n ) {\n this.name = name;\n this.params = params;\n this.optionalParams = optionalParams;\n }\n}\n","import UAParser from 'ua-parser-js';\n\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Event, OptionalParams } from './Event';\nimport { Events } from './Events';\nimport { getQueryVariable } from 'utils';\nimport { getCurrentLanguage } from 'utils/utils';\n\nexport class ScreenOpened extends Event {\n constructor(screenName: string, params?: any) {\n super(Events.ScreenOpened, {\n screenName,\n page_language: getCurrentLanguage(),\n ...params,\n });\n }\n}\nexport class GoBack extends Event {\n constructor(screenName: string) {\n super(Events.GoBack, { screenName });\n }\n}\n\nexport class ContinueUnfoldPayment extends Event {\n constructor(source: string) {\n super(Events.ContinueUnfoldPaymentMethod, { source });\n }\n}\n\nexport class ContinueWelcome extends Event {\n constructor(reply: 'reduceStress' | 'sleepBetter' | 'rmeq' | 'gad' | 'adhd') {\n super(Events.ContinueWelcome, { reply });\n }\n}\n\nexport class ContinueBoardingSkipTrial extends Event {\n constructor(reply: 'skipTrial' | 'continueWithTrial') {\n super(Events.ContinueBoardingSkipTrial, { reply });\n }\n}\n\nexport class SignUp extends Event {\n constructor(\n type: 'email' | 'google' | 'facebook',\n isRestrictMarketing?: boolean,\n isNewUser?: boolean,\n ) {\n const platform = new UAParser().getResult().os.name;\n const utm_term = getQueryVariable('utm_term');\n\n super(Events.SignUp, {\n accountType: type,\n restrictMarketingComms: isRestrictMarketing || false,\n isNewUser,\n platform,\n utm_term,\n });\n }\n}\n\nexport class SignUpError extends Event {\n constructor(type: 'email' | 'google' | 'facebook', error: string) {\n super(Events.SignUpError, { accountType: type, errorType: error });\n }\n}\n\nexport class RecaptchaError extends Event {\n constructor(error: string) {\n super(Events.RecaptchaError, { errorType: error });\n }\n}\n\nexport class SwitchPlan extends Event {\n constructor(isExtendedTrial: boolean, productId: string) {\n super(Events.SwitchPlan, {\n productId,\n plan: isExtendedTrial ? 'extendedFreeTrial' : 'freeTrial',\n });\n }\n}\n\nexport class SwitchAddon extends Event {\n constructor(isActiveState: boolean, price?: number) {\n super(Events.SwitchAddon, {\n addon: 'workbook',\n price,\n state: isActiveState ? 'enable' : 'disable',\n });\n }\n}\n\nexport class SwitchPresalePlanCode extends Event {\n constructor(planCode: string, previousPlanCode: string) {\n super(Events.SwitchBoardingPrice, {\n planCode,\n previousPlanCode,\n });\n }\n}\n\nexport class ViewSwitchPlanPrompt extends Event {\n constructor() {\n super(Events.ViewSwitchPlanPrompt);\n }\n}\n\nexport class UnfoldPayment extends Event {\n constructor(isExtendedTrial: boolean) {\n super(Events.UnfoldPayment, {\n plan: isExtendedTrial ? 'extendedFreeTrial' : 'freeTrial',\n });\n }\n}\n\nexport class ViewWhyNowPrompt extends Event {\n constructor() {\n super(Events.ViewWhyNowPrompt);\n }\n}\n\nexport class Subscribe extends Event {\n constructor() {\n super(Events.Subscribe);\n }\n}\n\nexport class SubscriptionSuccess extends Event {\n constructor(\n startPrice = 0,\n currency: string,\n planCode: string,\n optionalParams: OptionalParams,\n ) {\n super(\n Events.SubscriptionSuccess,\n {\n value: startPrice,\n currency: currency,\n planCode: planCode,\n },\n optionalParams,\n );\n }\n}\n\nexport class SubscriptionStarted extends Event {\n constructor(\n startPrice = 0,\n currency: string,\n planCode: string,\n optionalParams: OptionalParams,\n ) {\n super(\n Events.SubscriptionStarted,\n {\n value: startPrice,\n currency: currency,\n planCode: planCode,\n },\n optionalParams,\n );\n }\n}\n\nexport class SubscriptionError extends Event {\n constructor(error: string) {\n super(Events.SubscriptionError, { error });\n }\n}\n\nexport class ViewCongrats extends Event {\n constructor(isNewSubscriber: boolean) {\n super(Events.ViewCongrats, {\n type: isNewSubscriber\n ? 'congratsNewSubscriber'\n : 'congratsExistedSubscriber',\n });\n }\n}\n\nexport class Install extends Event {\n constructor() {\n super(Events.Install);\n }\n}\n\nexport class InstallQR extends Event {\n constructor(platform: string, token: string | boolean) {\n super(Events.InstallQR, { platform, token });\n }\n}\n\nexport class ExperimentStarted extends Event {\n constructor(name: string, value: string) {\n super(Events.ExperimentStarted, {\n experiment: name,\n variant: value,\n });\n }\n}\n\nexport class PageView extends Event {\n constructor() {\n super(Events.PageView);\n }\n}\n\nexport class ViewInstallQRScreen extends Event {\n constructor() {\n super(Events.ViewInstallQRScreen);\n }\n}\n\nexport class OnboardingScreenOpened extends Event {\n constructor(questionId: QuestionIds) {\n super(Events.ScreenOpened, {\n screenName: `onboarding${questionId}`,\n page_language: getCurrentLanguage(),\n });\n }\n}\n\nexport class SaveAnswer extends Event {\n constructor(questionId: QuestionIds, reply?: string | string[]) {\n // @ts-ignore\n const event: Events = Events[`ContinueBoarding${questionId}`];\n super(event, reply && { reply: reply });\n }\n}\n\nexport class BlitzAlertViewed extends Event {\n constructor(questionId: QuestionIds) {\n super(Events.BlitzAlertViewed, { screenName: `onboarding${questionId}` });\n }\n}\n\nexport class ViewPopup extends Event {\n constructor(screenType: string) {\n super(Events.ViewPopup, { screenType });\n }\n}\n\nexport class ClickPreventGoBack extends Event {\n constructor(reply: 'yes' | 'no') {\n super(Events.ClickPreventGoBack, { reply });\n }\n}\n\nexport class ViewSkipTrialPopup extends Event {\n constructor() {\n super(Events.ViewSkipTrialPopup);\n }\n}\n\nexport class ViewSkipBasicUpsellPopup extends Event {\n constructor() {\n super(Events.ViewSkipBasicUpsellPopup);\n }\n}\n\nexport class ViewSkipWeekMonthUpsellPopup extends Event {\n constructor() {\n super(Events.ViewSkipWeekMonthUpsellPopup);\n }\n}\n\nexport class ProductSelected extends Event {\n constructor(\n productCode: string,\n isPreselected: boolean,\n preselectedPlanCode: string,\n ) {\n super(Events.ProductSelected, {\n reply: productCode,\n isPreselected,\n preselectedPlanCode,\n });\n }\n}\n\nexport class PayPalClicked extends Event {\n constructor() {\n super(Events.PayPalClicked);\n }\n}\n\nexport class ApplePayClicked extends Event {\n constructor() {\n super(Events.ApplePayClicked);\n }\n}\n\nexport class CardFormInputStarted extends Event {\n constructor() {\n super(Events.CardFormInputStarted);\n }\n}\n\nexport class UnfoldFaq extends Event {\n constructor(element: string) {\n super(Events.UnfoldFaq, { element });\n }\n}\n","import { sha256 } from 'utils';\nimport { ExperimentStarted } from './AllEvents';\nimport { Analytics } from './Analytics';\nimport { Event } from './Event';\nimport { Events } from './Events';\nimport { appAnalytics } from './index';\n\ntype GoogleAnalyticsEventInfo = {\n action: string;\n category?: string;\n};\n\ndeclare global {\n interface Window {\n dataLayer: Record[];\n }\n}\n\nconst mappedEvents: Record = {\n [Events.SignUp]: {\n action: 'sign_up',\n category: 'engagement',\n },\n [Events.Subscribe]: {\n action: 'add_payment_info',\n category: 'ecommerce',\n },\n [Events.ContinueWelcome]: {\n action: 'generate_lead',\n category: 'engagement',\n },\n [Events.ContinueBoardingPersonalizationD1]: {\n action: 'select_content',\n category: 'engagement',\n },\n [Events.SubscriptionSuccess]: {\n action: 'purchase',\n category: 'ecommerce',\n },\n [Events.SubscriptionStarted]: {\n action: 'subscription_started',\n category: 'ecommerce',\n },\n [Events.ScreenOpened]: {\n action: 'pageview',\n },\n};\n\nexport class GoogleAnalytics extends Analytics {\n supportedEvents = [\n Events.SignUp,\n Events.Subscribe,\n Events.ContinueWelcome,\n Events.ContinueBoardingPersonalizationD1,\n Events.SubscriptionSuccess,\n Events.ScreenOpened,\n Events.SubscriptionStarted,\n ];\n\n constructor() {\n super();\n\n activateOptimize();\n }\n\n trackEvent(event: Event) {\n const eventInfo = mappedEvents[event.name] || event.name;\n const params: any = event.params;\n if (event.name === Events.SubscriptionSuccess) {\n params['transaction_id'] = event.optionalParams?.eventId;\n window.dataLayer?.push({\n transaction_id: params['transaction_id'],\n currency_code: params['currency'],\n });\n\n event.optionalParams?.email &&\n sha256(event.optionalParams.email).then((email) => {\n window.dataLayer?.push({\n email: email,\n });\n });\n }\n\n window.dataLayer?.push({\n event: eventInfo.action,\n eventProps: {\n category: eventInfo.category,\n action: eventInfo.action,\n value: params,\n },\n ...params,\n });\n }\n}\n\nexport const activateOptimize = () => {\n // @ts-ignore\n window.dataLayer?.push({ event: 'optimize.activate' });\n};\n\nexport const initOptimize = () => {\n // @ts-ignore\n gtag('event', 'optimize.callback', {\n callback: (value: any, name: any) => {\n if (name && value) {\n appAnalytics.trackEvent(new ExperimentStarted(name, value));\n }\n },\n });\n};\n\nfunction gtag() {\n // @ts-ignore\n // eslint-disable-next-line\n window.dataLayer?.push(arguments);\n}\n","import { Amplitude } from './Amplitude';\nimport { Analytics } from './Analytics';\nimport { DummyAnalytics } from './DummyAnalytics';\nimport { Event } from './Event';\nimport { FacebookPixel } from './FacebookPixel';\nimport { GoogleAnalytics } from './GoogleAnalytics';\n\nclass AppAnalytics {\n private analytics: Analytics[];\n\n constructor(analytics: Analytics[]) {\n this.analytics = analytics;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initialize() {}\n\n trackEvent(event: Event) {\n this.analytics.forEach((it: Analytics) => {\n if (it.supportedEvents.includes(event.name)) {\n it.trackEvent(event);\n }\n });\n }\n}\n\nexport const appAnalytics = new AppAnalytics(\n process.env.NODE_ENV === 'production'\n ? [new GoogleAnalytics(), new FacebookPixel(), new Amplitude()]\n : [\n new DummyAnalytics(),\n new GoogleAnalytics(),\n new FacebookPixel(),\n new Amplitude(),\n ],\n);\n","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { cloneElement, createElement, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Route, Switch, matchPath, useLocation } from 'react-router-dom';\nimport TransitionMotion from 'react-motion/lib/TransitionMotion';\nimport spring from 'react-motion/lib/spring'; // Helpers\n\nfunction ensureSpring(styles) {\n var obj = {};\n\n for (var key in styles) {\n var value = styles[key];\n\n if (typeof value === 'number') {\n obj[key] = spring(value);\n } else {\n obj[key] = value;\n }\n }\n\n return obj;\n}\n\nfunction identity(v) {\n return v;\n}\n\nfunction noop() {} // Components\n\n\nfunction RouteTransition(_ref) {\n var children = _ref.children,\n className = _ref.className,\n atEnter = _ref.atEnter,\n atActive = _ref.atActive,\n atLeave = _ref.atLeave,\n _ref$wrapperComponent = _ref.wrapperComponent,\n wrapperComponent = _ref$wrapperComponent === void 0 ? 'div' : _ref$wrapperComponent,\n _ref$didLeave = _ref.didLeave,\n didLeave = _ref$didLeave === void 0 ? noop : _ref$didLeave,\n _ref$mapStyles = _ref.mapStyles,\n mapStyles = _ref$mapStyles === void 0 ? identity : _ref$mapStyles,\n _ref$runOnMount = _ref.runOnMount,\n runOnMount = _ref$runOnMount === void 0 ? false : _ref$runOnMount;\n var defaultStyles = runOnMount === false ? null : children == undefined ? [] : [{\n key: children.key,\n data: children,\n style: atEnter\n }];\n var styles = children == undefined ? [] : [{\n key: children.key,\n data: children,\n style: ensureSpring(atActive)\n }];\n return React.createElement(TransitionMotion, {\n defaultStyles: defaultStyles,\n styles: styles,\n willEnter: function willEnter() {\n return atEnter;\n },\n willLeave: function willLeave() {\n return ensureSpring(atLeave);\n },\n didLeave: didLeave\n }, function (interpolatedStyles) {\n return React.createElement(\"div\", {\n className: className\n }, interpolatedStyles.map(function (config) {\n var props = {\n style: mapStyles(config.style),\n key: config.key\n };\n return wrapperComponent !== false ? createElement(wrapperComponent, props, config.data) : cloneElement(config.data, props);\n }));\n });\n}\n\nRouteTransition.propTypes = {\n className: PropTypes.string,\n wrapperComponent: PropTypes.oneOfType([PropTypes.bool, PropTypes.element, PropTypes.string, PropTypes.func]),\n atEnter: PropTypes.object.isRequired,\n atActive: PropTypes.object.isRequired,\n atLeave: PropTypes.object.isRequired,\n didLeave: PropTypes.func,\n mapStyles: PropTypes.func,\n runOnMount: PropTypes.bool\n}; // AnimatedRoute\n// The key-getter for RouteTransition. It's either on or off.\n\nfunction getKey(_ref2, path, exact) {\n var pathname = _ref2.pathname;\n return matchPath(pathname, {\n exact: exact,\n path: path\n }) ? 'match' : 'no-match';\n}\n\nfunction AnimatedRoute(_ref3) {\n var render = _ref3.render,\n component = _ref3.component,\n path = _ref3.path,\n exact = _ref3.exact,\n strict = _ref3.strict,\n sensitive = _ref3.sensitive,\n children = _ref3.children,\n routeTransitionProps = _objectWithoutProperties(_ref3, [\"render\", \"component\", \"path\", \"exact\", \"strict\", \"sensitive\", \"children\"]);\n\n var location = useLocation();\n return React.createElement(RouteTransition, routeTransitionProps, React.createElement(Route, {\n key: getKey(location, path, exact),\n path: path,\n exact: exact,\n strict: strict,\n sensitive: sensitive,\n location: location,\n component: component,\n render: render,\n children: children\n }));\n} // AnimatedSwitch\n\n\nvar NO_MATCH = {\n key: 'no-match'\n}; // Not every location object has a `key` property (e.g. HashHistory).\n\nfunction getLocationKey(location) {\n return typeof location.key === 'string' ? location.key : '';\n} // Some superfluous work, but something we need to do in order\n// to persist matches/allow for nesting/etc.\n\n\nfunction getMatchedRoute(children, _ref4) {\n var pathname = _ref4.pathname;\n var childrenArray = React.Children.toArray(children);\n\n for (var i = 0; i < childrenArray.length; i++) {\n var child = childrenArray[i];\n var matches = matchPath(pathname, {\n exact: child.props.exact,\n path: child.props.path\n });\n\n if (matches) {\n return child;\n }\n }\n\n return NO_MATCH;\n}\n\nvar counter = 0;\n\nfunction AnimatedSwitch(_ref5) {\n var children = _ref5.children,\n routeTransitionProps = _objectWithoutProperties(_ref5, [\"children\"]);\n\n var location = useLocation();\n var match = useRef(null);\n var key = useRef(null);\n var nextMatch = getMatchedRoute(children, location);\n\n if (match.current === null) {\n // Persist a reference to the most recent match\n match.current = nextMatch;\n key.current = getLocationKey(location);\n } else if (match.current.key !== nextMatch.key) {\n // Update the key given to Switch anytime the matched route changes\n match.current = nextMatch;\n key.current = getLocationKey(location) + ++counter;\n }\n\n return React.createElement(RouteTransition, routeTransitionProps, React.createElement(Switch, {\n key: key.current,\n location: location\n }, children));\n}\n\nexport { ensureSpring, spring, RouteTransition, AnimatedRoute, AnimatedSwitch };","export enum QuestionIds {\n Welcome = 'Welcome',\n AboutYouGuided = 'AboutYouGuided',\n AboutYouD1 = 'AboutYouD1',\n AboutYouGender = 'AboutYouGender',\n AboutYouAge = 'AboutYouAge',\n AboutYouRoutine = 'AboutYouRoutine',\n AboutYouD2 = 'AboutYouD2',\n AboutYouKids = 'AboutYouKids',\n AboutYouD3 = 'AboutYouD3',\n AboutYouActivity = 'AboutYouActivity',\n AboutYouD4 = 'AboutYouD4',\n AboutYouProof1 = 'AboutYouProof1',\n\n RMeqQ1 = 'RMeqQ1',\n RMeqQ2 = 'RMeqQ2',\n RMeqQ3 = 'RMeqQ3',\n RMeqQ3V2 = 'RMeqQ3V2',\n RMeqQ4 = 'RMeqQ4',\n RMeqQ5 = 'RMeqQ5',\n RMeqQ6 = 'RMeqQ6',\n MeqResults = 'MeqResults',\n\n EduD1 = 'EduD1',\n EduQ1 = 'EduQ1',\n EduQ1Answer = 'EduQ1Answer',\n EduQ2 = 'EduQ2',\n EduQ2Answer = 'EduQ2Answer',\n EduQ3 = 'EduQ3',\n EduQ3Answer = 'EduQ3Answer',\n EduQ4 = 'EduQ4',\n EduQ4Answer = 'EduQ4Answer',\n EduQ5 = 'EduQ5',\n EduQ5Answer = 'EduQ5Answer',\n\n GadQ1 = 'GadQ1',\n GadQ2 = 'GadQ2',\n GadQ3 = 'GadQ3',\n GadQ4 = 'GadQ4',\n GadQ5 = 'GadQ5',\n GadQ6 = 'GadQ6',\n GadQ7 = 'GadQ7',\n GadResults = 'GadResults',\n\n IsiQ1 = 'IsiQ1',\n IsiQ2 = 'IsiQ2',\n IsiQ3 = 'IsiQ3',\n IsiQ4 = 'IsiQ4',\n IsiQ5 = 'IsiQ5',\n IsiD1 = 'IsiD1',\n\n SleepAndActivityQ1 = 'SleepAndActivityQ1',\n SleepAndActivityQ2 = 'SleepAndActivityQ2',\n SleepAndActivityD1 = 'SleepAndActivityD1',\n SleepAndActivityQ3 = 'SleepAndActivityQ3',\n SleepAndActivityProof1 = 'SleepAndActivityProof1',\n SleepAndActivityProof2 = 'SleepAndActivityProof2',\n SleepAndActivityCoffee = 'SleepAndActivityCoffee',\n SleepAndActivityDinner = 'SleepAndActivityDinner',\n SleepAndActivityAfterMidnight = 'SleepAndActivityAfterMidnight',\n SleepAndActivityLessThanEightHours = 'SleepAndActivityLessThanEightHours',\n SleepAndActivityExtraMotivation = 'SleepAndActivityExtraMotivation',\n SleepAndActivityD2 = 'SleepAndActivityD2',\n SleepAndActivityLoader = 'SleepAndActivityLoader',\n\n PersonalizationD1 = 'PersonalizationD1',\n PersonalizationColors1 = 'PersonalizationColors1',\n PersonalizationColors2 = 'PersonalizationColors2',\n PersonalizationColors3 = 'PersonalizationColors3',\n PersonalizationColors4 = 'PersonalizationColors4',\n PersonalizationProof1 = 'PersonalizationProof1',\n PersonalizationArtwork1 = 'PersonalizationArtwork1',\n PersonalizationArtwork2 = 'PersonalizationArtwork2',\n PersonalizationArtwork3 = 'PersonalizationArtwork3',\n PersonalizationArtwork4 = 'PersonalizationArtwork4',\n PersonalizationNarrative = 'PersonalizationNarrative',\n PersonalizationLoader = 'PersonalizationLoader',\n PersonalizationD2 = 'PersonalizationD2',\n PersonalizationD3 = 'PersonalizationD3',\n PersonalizationGoal = 'PersonalizationGoal',\n\n PersonalizationLength = 'PersonalizationLength',\n PersonalizationFrequency = 'PersonalizationFrequency',\n PersonalizationFeelingHoping = 'PersonalizationFeelingHoping',\n PersonalizationSounds = 'PersonalizationSounds',\n PersonalizationPlaces = 'PersonalizationPlaces',\n PersonalizationFeeling = 'PersonalizationFeeling',\n\n IntroSignInLoader = 'IntroSignInLoader',\n\n BlitzArt = 'BlitzArt',\n BlitzDaydream = 'BlitzDaydream',\n BlitzTinnitus = 'BlitzTinnitus',\n BlitzRead = 'BlitzRead',\n BlitzShiftWork = 'BlitzShiftWork',\n BlitzADHD = 'BlitzADHD',\n}\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\n\nexport enum QuestionTypes {\n Option,\n Color,\n Places,\n Info,\n Custom,\n Optional,\n Statement,\n Image,\n Blitz,\n EduAnswer,\n}\n\nexport abstract class Question {\n id: QuestionIds;\n variationId: QuestionIds;\n type: QuestionTypes;\n hasStepper: boolean;\n\n protected constructor(\n type: QuestionTypes,\n id: QuestionIds,\n hasStepper: boolean,\n variationId?: QuestionIds,\n ) {\n this.type = type;\n this.id = id;\n this.hasStepper = hasStepper;\n this.variationId = variationId ?? id;\n }\n}\n\nexport class CustomQuestion extends Question {\n constructor(id: QuestionIds, hasStepper = false, variationId?: QuestionIds) {\n super(QuestionTypes.Custom, id, hasStepper, variationId);\n }\n}\n","var _path,_path2,_path3,_path4,_path5,_path6,_path7,_path8,_path9,_path10,_path11,_path12,_path13,_path14,_path15,_path16,_path17,_path18,_path19,_path20,_path21,_path22,_path23,_path24,_path25,_path26,_path27,_path28,_path29,_path30,_path31,_path32,_path33,_path34,_path35,_path36,_path37,_path38,_path39,_path40,_path41,_path42,_path43,_path44,_path45,_path46,_path47,_path48,_path49,_path50,_path51,_path52,_path53,_path54,_path55,_path56,_path57,_path58,_path59,_path60,_path61,_path62,_path63,_path64,_path65,_path66,_path67,_path68,_path69,_path70,_path71,_path72,_path73,_path74,_path75,_path76,_path77,_path78,_path79,_path80,_path81,_path82,_path83,_path84,_path85,_path86,_path87,_path88,_path89,_path90,_path91,_path92,_path93,_path94,_path95,_path96,_path97,_path98,_path99,_path100,_path101,_path102,_path103,_path104,_path105,_path106,_path107,_path108,_path109,_path110,_path111,_path112,_path113,_path114,_path115,_path116,_path117,_path118,_path119,_path120,_path121,_path122,_path123,_path124,_path125,_path126,_path127,_path128,_path129,_path130,_path131,_path132,_path133,_path134,_path135,_path136,_path137,_path138,_path139,_path140,_path141,_path142,_path143,_path144,_path145,_path146,_path147,_path148,_path149,_path150,_path151,_path152,_path153,_path154,_path155,_path156,_path157,_path158,_path159,_path160,_path161,_path162,_path163,_path164,_path165,_path166,_path167,_path168,_path169,_path170,_path171,_path172,_path173,_path174,_path175,_path176,_path177,_path178,_path179,_path180,_path181,_path182,_path183,_path184,_path185,_path186,_path187,_path188,_path189,_path190,_path191,_path192,_path193,_path194,_path195,_path196,_path197,_path198,_path199,_path200,_path201,_path202,_path203,_path204,_path205,_path206,_path207,_path208,_path209,_path210,_path211,_path212,_path213,_path214,_path215,_path216,_path217,_path218,_path219,_path220,_path221,_path222,_path223,_path224,_path225,_path226,_path227,_path228,_path229,_path230,_path231,_path232,_path233,_path234,_path235,_path236,_path237,_path238,_path239,_path240,_path241,_path242,_path243,_path244,_path245,_path246,_path247,_path248,_path249,_path250,_path251,_path252,_path253,_path254,_path255,_path256,_path257,_path258,_path259,_path260,_path261,_path262,_path263,_path264,_path265,_path266,_path267,_path268,_path269,_path270,_path271,_path272,_path273,_path274,_path275,_path276,_path277,_path278,_path279,_path280,_path281,_path282,_path283,_path284,_path285,_path286,_path287,_path288,_path289,_path290,_path291,_path292,_path293,_path294,_path295,_path296,_path297,_path298,_path299,_path300,_path301,_path302,_path303,_path304,_path305,_path306,_path307,_path308,_path309,_path310,_path311,_path312,_path313,_path314,_path315,_path316,_path317,_path318,_path319,_path320,_path321,_path322,_path323,_path324,_path325,_path326,_path327,_path328,_path329,_path330,_path331,_path332,_path333,_path334,_path335,_path336,_path337,_path338,_path339,_path340,_path341,_path342,_path343,_path344,_path345,_path346,_path347,_path348,_path349,_path350,_path351,_path352,_path353,_path354,_path355,_path356,_path357,_path358,_path359,_path360,_path361,_path362,_path363,_path364,_path365,_path366,_path367,_path368,_path369,_path370,_path371,_path372,_path373,_path374,_path375,_path376,_path377,_path378,_path379,_path380,_path381,_path382,_path383,_path384,_path385,_path386,_path387,_path388,_path389,_path390,_path391,_path392,_path393,_path394,_path395,_path396,_path397,_path398,_path399,_path400,_path401,_path402,_path403,_path404,_path405,_path406,_path407,_path408,_path409,_path410,_path411,_path412,_path413,_path414,_path415,_path416,_path417,_path418,_path419,_path420,_path421,_path422,_path423,_path424,_path425,_path426,_path427,_path428,_path429,_path430,_path431,_path432,_path433,_path434,_path435,_path436,_path437,_path438,_path439,_path440,_path441,_path442,_path443,_path444,_path445,_path446,_path447,_path448,_path449,_path450,_path451,_path452,_path453,_path454,_path455,_path456,_path457,_path458,_path459,_path460,_path461,_path462,_path463,_path464,_path465,_path466,_path467,_path468,_path469,_path470,_path471,_path472,_path473,_path474,_path475,_path476,_path477,_path478,_path479,_path480,_path481,_path482,_path483,_path484,_path485,_path486,_path487,_path488,_path489,_path490,_path491,_path492,_path493,_path494,_path495,_path496,_path497,_path498,_path499,_path500,_path501,_path502,_path503,_path504,_path505,_path506,_path507,_path508,_path509,_path510,_path511,_path512,_path513,_path514,_path515,_path516,_path517,_path518,_path519,_path520,_path521,_path522,_path523,_path524,_path525,_path526,_path527,_path528,_path529,_path530,_path531,_path532,_path533,_path534,_path535,_path536,_path537,_path538,_path539,_path540,_path541,_path542,_path543,_path544,_path545,_path546,_path547,_path548,_path549,_path550,_path551,_path552,_path553,_path554,_path555,_path556,_path557,_path558,_path559,_path560,_path561,_path562,_path563,_path564,_path565,_path566,_path567,_path568,_path569,_path570,_path571,_path572,_path573,_path574,_path575,_path576,_path577,_path578,_path579,_path580,_path581,_path582,_path583,_path584,_path585,_path586,_path587,_path588,_path589,_path590,_path591,_path592,_path593,_path594,_path595,_path596,_path597,_path598,_path599,_path600,_path601,_path602,_path603,_path604,_path605,_path606,_path607,_path608,_path609,_path610,_path611,_path612,_path613,_path614,_path615,_path616,_path617,_path618,_path619,_path620,_path621,_path622,_path623,_path624,_path625,_path626,_path627,_path628,_path629,_path630,_path631,_path632,_path633,_path634,_path635,_path636,_path637,_path638,_path639,_path640,_path641,_path642,_path643,_path644,_path645,_path646,_path647,_path648,_path649,_path650,_path651,_path652,_path653,_path654,_path655,_path656,_path657,_path658,_path659,_path660,_path661,_path662,_path663,_path664,_path665,_path666,_path667,_path668,_path669,_path670,_path671,_path672,_path673,_path674,_path675,_path676,_path677,_path678,_path679,_path680,_path681,_path682,_path683,_path684,_path685,_path686,_path687,_path688,_path689,_path690,_path691,_path692,_path693,_path694,_path695,_path696,_path697,_path698,_path699,_path700,_path701,_path702,_path703,_path704,_path705,_path706,_path707,_path708,_path709,_path710,_path711,_path712,_path713,_path714,_path715,_path716,_path717,_path718,_path719,_path720,_path721,_path722,_path723,_path724,_path725,_path726,_path727,_path728,_path729,_path730,_path731,_path732,_path733,_path734,_path735,_path736,_path737,_path738,_path739,_path740,_path741,_path742,_path743,_path744,_path745,_path746,_path747,_path748,_path749,_path750,_path751,_path752,_path753,_path754,_path755,_path756,_path757,_path758,_path759,_path760,_path761,_path762,_path763,_path764,_path765,_path766,_path767,_path768,_path769,_path770,_path771,_path772,_path773,_path774,_path775,_path776,_path777,_path778,_path779,_path780,_path781,_path782,_path783,_path784,_path785,_path786,_path787,_path788,_path789,_path790,_path791,_path792,_path793,_path794,_path795,_path796,_path797,_path798,_path799,_path800,_path801,_path802,_path803,_path804,_path805,_path806,_path807,_path808,_path809,_path810,_path811,_path812,_path813,_path814,_path815,_path816,_path817,_path818,_path819,_path820,_path821,_path822,_path823,_path824,_path825,_path826,_path827,_path828,_path829,_path830,_path831,_path832,_path833,_path834,_path835,_path836,_path837,_path838,_path839,_path840,_path841,_path842,_path843,_path844,_path845,_path846,_path847,_path848,_path849,_path850,_path851,_path852,_path853,_path854,_path855,_path856,_path857,_path858,_path859,_path860,_path861,_path862,_path863,_path864,_path865,_path866,_path867,_path868,_path869,_path870,_path871,_path872,_path873,_path874,_path875,_path876,_path877,_path878,_path879,_path880,_path881,_path882,_path883,_path884,_path885,_path886,_path887,_path888,_path889,_path890,_path891,_path892,_path893,_path894,_path895,_path896,_path897,_path898,_path899,_path900,_path901,_path902,_path903,_path904,_path905,_path906,_path907,_path908,_path909,_path910,_path911,_path912,_path913,_path914,_path915,_path916,_path917,_path918,_path919,_path920,_path921,_path922,_path923,_path924,_path925,_path926,_path927,_path928,_path929,_path930,_path931,_path932,_path933,_path934,_path935,_path936,_path937,_path938,_path939,_path940,_path941,_path942,_path943,_path944,_path945,_path946,_path947,_path948,_path949,_path950,_path951,_path952,_path953,_path954,_path955,_path956,_path957,_path958,_path959,_path960,_path961,_path962,_path963,_path964,_path965,_path966,_path967,_path968,_path969,_path970,_path971,_path972,_path973,_path974,_path975,_path976,_path977,_path978,_path979,_path980,_path981,_path982,_path983,_path984,_path985,_path986,_path987,_path988,_path989,_path990,_path991,_path992,_path993,_path994,_path995,_path996,_path997,_path998,_path999,_path1000,_path1001,_path1002,_path1003,_path1004,_path1005,_path1006,_path1007,_path1008,_path1009,_path1010,_path1011,_path1012,_path1013,_path1014,_path1015,_path1016,_path1017,_path1018,_path1019,_path1020,_path1021,_path1022,_path1023,_path1024,_path1025,_path1026,_path1027,_path1028,_path1029,_path1030,_path1031,_path1032,_path1033,_path1034,_path1035,_path1036,_path1037,_path1038,_path1039,_path1040,_path1041,_path1042,_path1043,_path1044,_path1045,_path1046,_path1047,_path1048,_path1049,_path1050,_path1051,_path1052,_path1053,_path1054,_path1055,_path1056,_path1057,_path1058,_path1059,_path1060,_path1061,_path1062,_path1063,_path1064,_path1065,_path1066,_path1067,_path1068,_path1069,_path1070,_path1071,_path1072,_path1073,_path1074,_path1075,_path1076,_path1077,_path1078,_path1079,_path1080,_path1081,_path1082,_path1083,_path1084,_path1085,_path1086,_path1087,_path1088,_path1089,_path1090,_path1091,_path1092,_path1093,_path1094,_path1095,_path1096,_path1097,_path1098,_path1099,_path1100,_path1101,_path1102,_path1103,_path1104,_path1105,_path1106,_path1107,_path1108,_path1109,_path1110,_path1111,_path1112,_path1113,_path1114,_path1115,_path1116,_path1117,_path1118,_path1119,_path1120,_path1121,_path1122,_path1123,_path1124,_path1125,_path1126,_path1127,_path1128,_path1129,_path1130,_path1131,_path1132,_path1133,_path1134,_path1135,_path1136,_path1137,_path1138,_path1139,_path1140,_path1141,_path1142,_path1143,_path1144,_path1145,_path1146,_path1147,_path1148,_path1149,_path1150,_path1151,_path1152,_path1153,_path1154,_path1155,_path1156,_path1157,_path1158,_path1159,_path1160,_path1161,_path1162,_path1163,_path1164,_path1165,_path1166,_path1167,_path1168,_path1169,_path1170,_path1171,_path1172,_path1173,_path1174,_path1175,_path1176,_path1177,_path1178,_path1179,_path1180,_path1181,_path1182,_path1183,_path1184,_path1185,_path1186,_path1187,_path1188,_path1189,_path1190,_path1191,_path1192,_path1193,_path1194,_path1195,_path1196,_path1197,_path1198,_path1199,_path1200,_path1201,_path1202,_path1203,_path1204,_path1205,_path1206,_path1207,_path1208,_path1209,_path1210,_path1211,_path1212,_path1213,_path1214,_path1215,_path1216,_path1217,_path1218,_path1219,_path1220,_path1221,_path1222,_path1223,_path1224,_path1225,_path1226,_path1227,_path1228,_path1229,_path1230,_path1231,_path1232,_path1233,_path1234,_path1235,_path1236,_path1237,_path1238,_path1239,_path1240,_path1241,_path1242,_path1243,_path1244,_path1245,_path1246,_path1247,_path1248,_path1249,_path1250,_path1251,_path1252,_path1253,_path1254,_path1255,_path1256,_path1257,_path1258,_path1259,_path1260,_path1261,_path1262,_path1263,_path1264,_path1265,_path1266,_path1267,_path1268,_path1269,_path1270,_path1271,_path1272,_path1273,_path1274,_path1275,_path1276,_path1277,_path1278,_path1279,_path1280,_path1281,_path1282,_path1283,_path1284,_path1285,_path1286,_path1287,_path1288,_path1289,_path1290,_path1291,_path1292,_path1293,_path1294,_path1295,_path1296,_path1297,_path1298,_path1299,_path1300,_path1301,_path1302,_path1303,_path1304,_path1305,_path1306,_path1307,_path1308,_path1309,_path1310,_path1311,_path1312,_path1313,_path1314,_path1315,_path1316,_path1317,_path1318,_path1319,_path1320,_path1321,_path1322,_path1323,_path1324,_path1325,_path1326,_path1327,_path1328,_path1329,_path1330,_path1331,_path1332,_path1333,_path1334,_path1335,_path1336,_path1337,_path1338,_path1339,_path1340,_path1341,_path1342,_path1343,_path1344,_path1345,_path1346,_path1347,_path1348,_path1349,_path1350,_path1351,_path1352,_path1353,_path1354,_path1355,_path1356,_path1357,_path1358,_path1359,_path1360,_path1361,_path1362,_path1363,_path1364,_path1365,_path1366,_path1367,_path1368,_path1369,_path1370,_path1371,_path1372,_path1373,_path1374,_path1375,_path1376,_path1377,_path1378,_path1379,_path1380,_path1381,_path1382,_path1383,_path1384,_path1385,_path1386,_path1387,_path1388,_path1389,_path1390,_path1391,_path1392,_path1393,_path1394,_path1395,_path1396,_path1397,_path1398,_path1399,_path1400,_path1401,_path1402,_path1403,_path1404,_path1405,_path1406,_path1407,_path1408,_path1409,_path1410,_path1411,_path1412,_path1413,_path1414,_path1415,_path1416,_path1417,_path1418,_path1419,_path1420,_path1421,_path1422,_path1423,_path1424,_path1425,_path1426,_path1427,_path1428,_path1429,_path1430,_path1431,_path1432,_path1433,_path1434,_path1435,_path1436,_path1437,_path1438,_path1439,_path1440,_path1441,_path1442,_path1443,_path1444,_path1445,_path1446,_path1447,_path1448,_path1449,_path1450,_path1451,_path1452,_path1453,_path1454,_path1455,_path1456,_path1457,_path1458,_path1459,_path1460,_path1461,_path1462,_path1463,_path1464,_path1465,_path1466,_path1467,_path1468,_path1469,_path1470,_path1471,_path1472,_path1473,_path1474,_path1475,_path1476,_path1477,_path1478,_path1479,_path1480,_path1481,_path1482,_path1483,_path1484,_path1485,_path1486,_path1487,_path1488,_path1489,_path1490,_path1491,_path1492,_path1493,_path1494,_path1495,_path1496,_path1497,_path1498,_path1499,_path1500,_path1501,_path1502,_path1503,_path1504,_path1505,_path1506,_path1507,_path1508,_path1509,_path1510,_path1511,_path1512,_path1513,_path1514,_path1515,_path1516,_path1517,_path1518,_path1519,_path1520,_path1521,_path1522,_path1523,_path1524,_path1525,_path1526,_path1527,_path1528,_path1529,_path1530,_path1531,_path1532,_path1533,_path1534,_path1535,_path1536,_path1537,_path1538,_path1539,_path1540,_path1541,_path1542,_path1543,_path1544,_path1545,_path1546,_path1547,_path1548,_path1549,_path1550,_path1551,_path1552,_path1553,_path1554,_path1555,_path1556,_path1557,_path1558,_path1559,_path1560,_path1561,_path1562,_path1563,_path1564,_path1565,_path1566,_path1567,_path1568,_path1569,_path1570,_path1571,_path1572,_path1573,_path1574,_path1575,_path1576,_path1577,_path1578,_path1579,_path1580,_path1581,_path1582,_path1583,_path1584,_path1585,_path1586,_path1587,_path1588,_path1589,_path1590,_path1591,_path1592,_path1593,_path1594,_path1595,_path1596,_path1597,_path1598,_path1599,_path1600,_path1601,_path1602,_path1603,_path1604,_path1605,_path1606,_path1607,_path1608,_path1609,_path1610,_path1611,_path1612,_path1613,_path1614,_path1615,_path1616,_path1617,_path1618,_path1619,_path1620,_path1621,_path1622,_path1623,_path1624,_path1625,_path1626,_path1627,_path1628,_path1629,_path1630,_path1631,_path1632,_path1633,_path1634,_path1635,_path1636,_path1637,_path1638,_path1639,_path1640,_path1641,_path1642,_path1643,_path1644,_path1645,_path1646,_path1647,_path1648,_path1649,_path1650,_path1651,_path1652,_path1653,_path1654,_path1655,_path1656,_path1657,_path1658,_path1659,_path1660,_path1661,_path1662,_path1663,_path1664,_path1665,_path1666,_path1667,_path1668,_path1669,_path1670,_path1671,_path1672,_path1673,_path1674,_path1675,_path1676,_path1677,_path1678,_path1679,_path1680,_path1681,_path1682,_path1683,_path1684,_path1685,_path1686,_path1687,_path1688,_path1689,_path1690,_path1691,_path1692,_path1693,_path1694,_path1695,_path1696,_path1697,_path1698,_path1699,_path1700,_path1701,_path1702,_path1703,_path1704,_path1705,_path1706,_path1707,_path1708,_path1709,_path1710,_path1711,_path1712,_path1713,_path1714,_path1715,_path1716,_path1717,_path1718,_path1719,_path1720,_path1721,_path1722,_path1723,_path1724,_path1725,_path1726,_path1727,_path1728,_path1729,_path1730,_path1731,_path1732,_path1733,_path1734,_path1735,_path1736,_path1737,_path1738,_path1739,_path1740,_path1741,_path1742,_path1743,_path1744,_path1745,_path1746,_path1747,_path1748,_path1749,_path1750,_path1751,_path1752,_path1753,_path1754,_path1755,_path1756,_path1757,_path1758,_path1759,_path1760,_path1761,_path1762,_path1763,_path1764,_path1765,_path1766,_path1767,_path1768,_path1769,_path1770,_path1771,_path1772,_path1773,_path1774,_path1775,_path1776,_path1777,_path1778,_path1779,_path1780,_path1781,_path1782,_path1783,_path1784,_path1785,_path1786,_path1787,_path1788,_path1789,_path1790,_path1791,_path1792,_path1793,_path1794,_path1795,_path1796,_path1797,_path1798,_path1799,_path1800,_path1801,_path1802,_path1803,_path1804,_path1805,_path1806,_path1807,_path1808,_path1809,_path1810,_path1811,_path1812,_path1813,_path1814,_path1815,_path1816,_path1817,_path1818,_path1819,_path1820,_path1821,_path1822,_path1823,_path1824,_path1825,_path1826,_path1827,_path1828,_path1829,_path1830,_path1831,_path1832,_path1833,_path1834,_path1835,_path1836,_path1837,_path1838,_path1839,_path1840,_path1841,_path1842,_path1843,_path1844,_path1845,_path1846,_path1847,_path1848,_path1849,_path1850,_path1851,_path1852,_path1853,_path1854,_path1855,_path1856,_path1857,_path1858,_path1859,_path1860,_path1861,_path1862,_path1863,_path1864,_path1865,_path1866,_path1867,_path1868,_path1869,_path1870,_path1871,_path1872,_path1873,_path1874,_path1875,_path1876,_path1877,_path1878,_path1879,_path1880,_path1881,_path1882,_path1883,_path1884,_path1885,_path1886,_path1887,_path1888,_path1889,_path1890,_path1891,_path1892,_path1893,_path1894,_path1895,_path1896,_path1897,_path1898,_path1899,_path1900,_path1901,_path1902,_path1903,_path1904,_path1905,_path1906,_path1907,_path1908,_path1909,_path1910,_path1911,_path1912,_path1913,_path1914,_path1915,_path1916,_path1917,_path1918,_path1919,_path1920,_path1921,_path1922,_path1923,_path1924,_path1925,_path1926,_path1927,_path1928,_path1929,_path1930,_path1931,_path1932,_path1933,_path1934,_path1935,_path1936,_path1937,_path1938,_path1939,_path1940,_path1941,_path1942,_path1943,_path1944,_path1945,_path1946,_path1947,_path1948,_path1949,_path1950,_path1951,_path1952,_path1953,_path1954,_path1955,_path1956,_path1957,_path1958,_path1959,_path1960,_path1961,_path1962,_path1963,_path1964,_path1965,_path1966,_path1967,_path1968,_path1969,_path1970,_path1971,_path1972,_path1973,_path1974,_path1975,_path1976,_path1977,_path1978,_path1979,_path1980,_path1981,_path1982,_path1983,_path1984,_path1985,_path1986,_path1987,_path1988,_path1989,_path1990,_path1991,_path1992,_path1993,_path1994,_path1995,_path1996,_path1997,_path1998,_path1999,_path2000,_path2001,_path2002,_path2003,_path2004,_path2005,_path2006,_path2007,_path2008,_path2009,_path2010,_path2011,_path2012,_path2013,_path2014,_path2015,_path2016,_path2017,_path2018,_path2019,_path2020,_path2021,_path2022,_path2023,_path2024,_path2025,_path2026,_path2027,_path2028,_path2029,_path2030,_path2031,_path2032,_path2033,_path2034,_path2035,_path2036,_path2037,_path2038,_path2039,_path2040,_path2041,_path2042,_path2043,_path2044,_path2045,_path2046,_path2047,_path2048,_path2049,_path2050,_path2051,_path2052,_path2053,_path2054,_path2055,_path2056,_path2057,_path2058,_path2059,_path2060,_path2061,_path2062,_path2063,_path2064,_path2065,_path2066,_path2067,_path2068,_path2069,_path2070,_path2071,_path2072,_path2073,_path2074,_path2075,_path2076,_path2077,_path2078,_path2079,_path2080,_path2081,_path2082,_path2083,_path2084,_path2085,_path2086,_path2087,_path2088,_path2089,_path2090,_path2091,_path2092,_path2093,_path2094,_path2095,_path2096,_path2097,_path2098,_path2099,_path2100,_path2101,_path2102,_path2103,_path2104,_path2105,_path2106,_path2107,_path2108,_path2109,_path2110,_path2111,_path2112,_path2113,_path2114,_path2115,_path2116,_path2117,_path2118,_path2119,_path2120,_path2121,_path2122,_path2123,_path2124,_path2125,_path2126,_path2127,_path2128,_path2129,_path2130,_path2131,_path2132,_path2133,_path2134,_path2135,_path2136,_path2137,_path2138,_path2139,_path2140,_path2141,_path2142,_path2143,_path2144,_path2145,_path2146,_path2147,_path2148,_path2149,_path2150,_path2151,_path2152,_path2153,_path2154,_path2155,_path2156,_path2157,_path2158,_path2159,_path2160,_path2161,_path2162,_path2163,_path2164,_path2165,_path2166,_path2167,_path2168,_path2169,_path2170,_path2171,_path2172,_path2173,_path2174,_path2175,_path2176,_path2177,_path2178,_path2179,_path2180,_path2181,_path2182,_path2183,_path2184,_path2185,_path2186,_path2187,_path2188,_path2189,_path2190,_path2191,_path2192,_path2193,_path2194,_path2195,_path2196,_path2197,_path2198,_path2199,_path2200,_path2201,_path2202,_path2203,_path2204,_path2205,_path2206,_path2207,_path2208,_path2209,_path2210,_path2211,_path2212,_path2213,_path2214,_path2215,_path2216;var _excluded=[\"title\",\"titleId\"];function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i=0)continue;target[key]=source[key];}return target;}import*as React from\"react\";function SvgActiveUsersMapGraph(_ref,svgRef){var title=_ref.title,titleId=_ref.titleId,props=_objectWithoutProperties(_ref,_excluded);return/*#__PURE__*/React.createElement(\"svg\",_extends({xmlns:\"http://www.w3.org/2000/svg\",width:375,height:215,viewBox:\"0 0 375 215\",fill:\"none\",ref:svgRef,\"aria-labelledby\":titleId},props),title?/*#__PURE__*/React.createElement(\"title\",{id:titleId},title):null,_path||(_path=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 107.75C186.793 108.253 186.251 108.564 185.672 108.564C185.1 108.564 184.564 108.261 184.276 107.767C183.984 107.267 183.984 106.648 184.276 106.147C184.564 105.654 185.1 105.35 185.672 105.35C186.251 105.35 186.793 105.661 187.078 106.165C187.356 106.656 187.356 107.258 187.078 107.75Z\",fill:\"#E9DFF2\"})),_path2||(_path2=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.567 109.798C183.283 110.294 182.755 110.6 182.183 110.6C181.612 110.6 181.084 110.294 180.799 109.798L180.786 109.776C180.499 109.275 180.502 108.657 180.793 108.158C181.081 107.664 181.611 107.359 182.183 107.359C182.755 107.359 183.285 107.664 183.574 108.158C183.865 108.657 183.868 109.275 183.58 109.776L183.567 109.798Z\",fill:\"#E9DFF2\"})),_path3||(_path3=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.08 111.791C186.793 112.296 186.253 112.609 185.672 112.609C185.098 112.609 184.563 112.304 184.274 111.808C183.983 111.309 183.981 110.693 184.268 110.192L184.278 110.175C184.565 109.676 185.096 109.368 185.672 109.368C186.255 109.368 186.792 109.683 187.076 110.192L187.085 110.209C187.36 110.701 187.357 111.301 187.08 111.791Z\",fill:\"#E9DFF2\"})),_path4||(_path4=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 109.798C190.274 110.294 189.746 110.6 189.174 110.6C188.603 110.6 188.075 110.294 187.79 109.798L187.777 109.776C187.49 109.275 187.493 108.657 187.784 108.158C188.072 107.664 188.602 107.359 189.174 107.359C189.747 107.359 190.276 107.664 190.565 108.158C190.856 108.657 190.859 109.275 190.571 109.776L190.558 109.798Z\",fill:\"#E9DFF2\"})),_path5||(_path5=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.565 105.756C190.276 106.25 189.747 106.555 189.174 106.555C188.602 106.555 188.072 106.25 187.784 105.756C187.493 105.257 187.49 104.639 187.777 104.138L187.79 104.116C188.075 103.62 188.603 103.314 189.174 103.314C189.746 103.314 190.274 103.62 190.558 104.116L190.571 104.138C190.859 104.639 190.856 105.257 190.565 105.756Z\",fill:\"#E9DFF2\"})),_path6||(_path6=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.076 103.722C186.792 104.231 186.255 104.546 185.672 104.546C185.096 104.546 184.565 104.238 184.278 103.739L184.268 103.722C183.981 103.221 183.983 102.605 184.274 102.106C184.563 101.61 185.098 101.305 185.672 101.305C186.253 101.305 186.793 101.618 187.08 102.123C187.357 102.613 187.36 103.213 187.085 103.704L187.076 103.722Z\",fill:\"#E9DFF2\"})),_path7||(_path7=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.574 105.756C183.285 106.25 182.755 106.555 182.183 106.555C181.611 106.555 181.081 106.25 180.793 105.756C180.502 105.257 180.499 104.639 180.786 104.138L180.799 104.116C181.084 103.62 181.612 103.314 182.183 103.314C182.755 103.314 183.283 103.62 183.567 104.116L183.58 104.138C183.868 104.639 183.865 105.257 183.574 105.756Z\",fill:\"#E9DFF2\"})),_path8||(_path8=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.089 111.791C179.802 112.296 179.262 112.609 178.681 112.609C178.107 112.609 177.572 112.304 177.283 111.808C176.992 111.309 176.99 110.693 177.277 110.192L177.287 110.175C177.573 109.676 178.105 109.368 178.681 109.368C179.264 109.368 179.801 109.683 180.085 110.192L180.094 110.209C180.368 110.701 180.366 111.301 180.089 111.791Z\",fill:\"#E9DFF2\"})),_path9||(_path9=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.572 113.82C183.284 114.314 182.755 114.618 182.183 114.618C181.612 114.618 181.082 114.314 180.794 113.82C180.502 113.32 180.502 112.701 180.794 112.201C181.082 111.707 181.612 111.403 182.183 111.403C182.755 111.403 183.284 111.707 183.572 112.201C183.864 112.701 183.864 113.32 183.572 113.82Z\",fill:\"#E9DFF2\"})),_path10||(_path10=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.076 115.829C186.792 116.338 186.255 116.654 185.672 116.654C185.096 116.654 184.565 116.346 184.278 115.846L184.268 115.83C183.981 115.329 183.983 114.712 184.274 114.213C184.563 113.717 185.098 113.413 185.672 113.413C186.253 113.413 186.793 113.725 187.08 114.231C187.357 114.721 187.36 115.32 187.085 115.812L187.076 115.829Z\",fill:\"#E9DFF2\"})),_path11||(_path11=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 113.82C190.276 114.314 189.746 114.618 189.174 114.618C188.603 114.618 188.073 114.314 187.785 113.82C187.493 113.32 187.493 112.701 187.785 112.201C188.073 111.707 188.603 111.403 189.174 111.403C189.746 111.403 190.276 111.707 190.564 112.201C190.855 112.701 190.855 113.32 190.564 113.82Z\",fill:\"#E9DFF2\"})),_path12||(_path12=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 111.808C193.785 112.304 193.254 112.609 192.68 112.609H192.659C192.085 112.609 191.554 112.304 191.265 111.808C190.974 111.309 190.975 110.687 191.262 110.186C191.551 109.683 192.09 109.368 192.67 109.368C193.25 109.368 193.788 109.683 194.077 110.186C194.364 110.687 194.365 111.309 194.074 111.808Z\",fill:\"#E9DFF2\"})),_path13||(_path13=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 107.767C193.784 108.261 193.256 108.564 192.684 108.564H192.655C192.084 108.564 191.555 108.261 191.267 107.767C190.975 107.267 190.975 106.648 191.267 106.147C191.555 105.654 192.084 105.35 192.655 105.35H192.684C193.256 105.35 193.784 105.654 194.072 106.147C194.364 106.648 194.364 107.267 194.072 107.767Z\",fill:\"#E9DFF2\"})),_path14||(_path14=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 103.728C193.788 104.231 193.25 104.546 192.67 104.546C192.09 104.546 191.551 104.231 191.262 103.728C190.975 103.227 190.974 102.605 191.265 102.106C191.554 101.61 192.085 101.305 192.659 101.305H192.68C193.254 101.305 193.785 101.61 194.074 102.106C194.365 102.605 194.364 103.227 194.077 103.728Z\",fill:\"#E9DFF2\"})),_path15||(_path15=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 101.713C190.276 102.207 189.746 102.511 189.174 102.511C188.603 102.511 188.073 102.207 187.785 101.713C187.493 101.213 187.493 100.594 187.785 100.094C188.073 99.6 188.603 99.2964 189.174 99.2964C189.746 99.2964 190.276 99.6 190.564 100.094C190.855 100.594 190.855 101.213 190.564 101.713Z\",fill:\"#E9DFF2\"})),_path16||(_path16=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.08 99.6837C186.793 100.189 186.253 100.502 185.672 100.502C185.098 100.502 184.563 100.197 184.274 99.7012C183.983 99.2022 183.981 98.5858 184.268 98.0848L184.278 98.0681C184.565 97.5687 185.096 97.2607 185.672 97.2607C186.255 97.2607 186.792 97.5763 187.076 98.0855L187.085 98.1025C187.36 98.5944 187.357 99.1937 187.08 99.6837Z\",fill:\"#E9DFF2\"})),_path17||(_path17=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.572 101.713C183.284 102.207 182.755 102.511 182.183 102.511C181.612 102.511 181.082 102.207 180.794 101.713C180.502 101.213 180.502 100.594 180.794 100.094C181.082 99.6 181.612 99.2964 182.183 99.2964C182.755 99.2964 183.284 99.6 183.572 100.094C183.864 100.594 183.864 101.213 183.572 101.713Z\",fill:\"#E9DFF2\"})),_path18||(_path18=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.085 103.722C179.801 104.231 179.264 104.546 178.681 104.546C178.105 104.546 177.573 104.238 177.287 103.739L177.277 103.722C176.99 103.221 176.992 102.605 177.283 102.106C177.572 101.61 178.107 101.305 178.681 101.305C179.262 101.305 179.802 101.618 180.089 102.123C180.366 102.613 180.368 103.213 180.094 103.704L180.085 103.722Z\",fill:\"#E9DFF2\"})),_path19||(_path19=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.087 107.75C179.801 108.253 179.26 108.564 178.681 108.564C178.109 108.564 177.573 108.261 177.285 107.767C176.993 107.267 176.993 106.648 177.285 106.147C177.573 105.654 178.109 105.35 178.681 105.35C179.26 105.35 179.801 105.661 180.087 106.165C180.365 106.656 180.365 107.258 180.087 107.75Z\",fill:\"#E9DFF2\"})),_path20||(_path20=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.581 113.82C176.293 114.314 175.764 114.618 175.192 114.618C174.62 114.618 174.091 114.314 173.803 113.82C173.511 113.32 173.511 112.701 173.803 112.201C174.091 111.707 174.62 111.403 175.192 111.403C175.764 111.403 176.293 111.707 176.581 112.201C176.873 112.701 176.873 113.32 176.581 113.82Z\",fill:\"#E9DFF2\"})),_path21||(_path21=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.085 115.829C179.801 116.338 179.264 116.654 178.681 116.654C178.105 116.654 177.573 116.346 177.287 115.846L177.277 115.83C176.99 115.329 176.992 114.712 177.283 114.213C177.572 113.717 178.107 113.413 178.681 113.413C179.262 113.413 179.802 113.725 180.089 114.231C180.366 114.721 180.368 115.32 180.094 115.812L180.085 115.829Z\",fill:\"#E9DFF2\"})),_path22||(_path22=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.572 117.865C183.284 118.359 182.755 118.663 182.183 118.663C181.612 118.663 181.082 118.359 180.794 117.865C180.502 117.365 180.502 116.746 180.794 116.246C181.082 115.752 181.612 115.448 182.183 115.448C182.755 115.448 183.284 115.752 183.572 116.246C183.864 116.746 183.864 117.365 183.572 117.865Z\",fill:\"#E9DFF2\"})),_path23||(_path23=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 119.856C186.793 120.36 186.251 120.671 185.672 120.671C185.1 120.671 184.564 120.367 184.276 119.873C183.984 119.373 183.984 118.754 184.276 118.254C184.564 117.76 185.1 117.457 185.672 117.457C186.251 117.457 186.793 117.768 187.078 118.271C187.356 118.763 187.356 119.365 187.078 119.856Z\",fill:\"#E9DFF2\"})),_path24||(_path24=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 117.865C190.276 118.359 189.746 118.663 189.174 118.663C188.603 118.663 188.073 118.359 187.785 117.865C187.493 117.365 187.493 116.746 187.785 116.246C188.073 115.752 188.603 115.448 189.174 115.448C189.746 115.448 190.276 115.752 190.564 116.246C190.855 116.746 190.855 117.365 190.564 117.865Z\",fill:\"#E9DFF2\"})),_path25||(_path25=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 115.835C193.788 116.338 193.25 116.654 192.67 116.654C192.09 116.654 191.551 116.338 191.262 115.835C190.975 115.334 190.974 114.712 191.265 114.213C191.554 113.717 192.085 113.413 192.659 113.413H192.68C193.254 113.413 193.785 113.717 194.074 114.213C194.365 114.712 194.364 115.334 194.077 115.835Z\",fill:\"#E9DFF2\"})),_path26||(_path26=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 113.82C197.266 114.314 196.737 114.618 196.165 114.618C195.593 114.618 195.064 114.314 194.776 113.82C194.484 113.32 194.484 112.701 194.776 112.201C195.064 111.707 195.593 111.403 196.165 111.403C196.737 111.403 197.266 111.707 197.554 112.201C197.846 112.701 197.846 113.32 197.554 113.82Z\",fill:\"#E9DFF2\"})),_path27||(_path27=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 109.798C197.265 110.294 196.737 110.6 196.165 110.6C195.593 110.6 195.066 110.294 194.781 109.798L194.768 109.776C194.481 109.275 194.484 108.657 194.775 108.158C195.063 107.664 195.593 107.359 196.165 107.359C196.737 107.359 197.267 107.664 197.556 108.158C197.847 108.657 197.849 109.275 197.562 109.776L197.549 109.798Z\",fill:\"#E9DFF2\"})),_path28||(_path28=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 105.756C197.267 106.25 196.737 106.555 196.165 106.555C195.593 106.555 195.063 106.25 194.775 105.756C194.484 105.257 194.481 104.639 194.768 104.138L194.781 104.116C195.066 103.62 195.593 103.314 196.165 103.314C196.737 103.314 197.265 103.62 197.549 104.116L197.562 104.138C197.849 104.639 197.847 105.257 197.556 105.756Z\",fill:\"#E9DFF2\"})),_path29||(_path29=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 101.713C197.266 102.207 196.737 102.511 196.165 102.511C195.593 102.511 195.064 102.207 194.776 101.713C194.484 101.213 194.484 100.594 194.776 100.094C195.064 99.6 195.593 99.2964 196.165 99.2964C196.737 99.2964 197.266 99.6 197.554 100.094C197.846 100.594 197.846 101.213 197.554 101.713Z\",fill:\"#E9DFF2\"})),_path30||(_path30=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 99.7012C193.785 100.197 193.254 100.502 192.68 100.502H192.659C192.085 100.502 191.554 100.197 191.265 99.7012C190.974 99.2022 190.975 98.5804 191.262 98.0794C191.551 97.5764 192.09 97.2607 192.67 97.2607C193.25 97.2607 193.788 97.5764 194.077 98.0794C194.364 98.5804 194.365 99.2022 194.074 99.7012Z\",fill:\"#E9DFF2\"})),_path31||(_path31=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 97.691C190.274 98.1868 189.746 98.4925 189.174 98.4925C188.603 98.4925 188.075 98.1868 187.79 97.691L187.777 97.6684C187.49 97.1675 187.493 96.5498 187.784 96.0509C188.072 95.5566 188.602 95.2515 189.174 95.2515C189.747 95.2515 190.276 95.5566 190.565 96.0509C190.856 96.5498 190.859 97.1675 190.571 97.6684L190.558 97.691Z\",fill:\"#E9DFF2\"})),_path32||(_path32=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 95.6426C186.793 96.1462 186.251 96.4575 185.672 96.4575C185.1 96.4575 184.564 96.1538 184.276 95.6601C183.984 95.1597 183.984 94.5409 184.276 94.0405C184.564 93.5468 185.1 93.2432 185.672 93.2432C186.251 93.2432 186.793 93.5544 187.078 94.058C187.356 94.5495 187.356 95.1511 187.078 95.6426Z\",fill:\"#E9DFF2\"})),_path33||(_path33=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.567 97.691C183.283 98.1868 182.755 98.4925 182.183 98.4925C181.612 98.4925 181.084 98.1868 180.799 97.691L180.786 97.6684C180.499 97.1675 180.502 96.5498 180.793 96.0509C181.081 95.5566 181.611 95.2515 182.183 95.2515C182.755 95.2515 183.285 95.5566 183.574 96.0509C183.865 96.5498 183.868 97.1675 183.58 97.6684L183.567 97.691Z\",fill:\"#E9DFF2\"})),_path34||(_path34=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.089 99.6837C179.802 100.189 179.262 100.502 178.681 100.502C178.107 100.502 177.572 100.197 177.283 99.7012C176.992 99.2022 176.99 98.5858 177.277 98.0848L177.287 98.0681C177.573 97.5687 178.105 97.2607 178.681 97.2607C179.264 97.2607 179.801 97.5763 180.085 98.0855L180.094 98.1025C180.368 98.5944 180.366 99.1937 180.089 99.6837Z\",fill:\"#E9DFF2\"})),_path35||(_path35=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.581 101.713C176.293 102.207 175.764 102.511 175.192 102.511C174.62 102.511 174.091 102.207 173.803 101.713C173.511 101.213 173.511 100.594 173.803 100.094C174.091 99.6 174.62 99.2964 175.192 99.2964C175.764 99.2964 176.293 99.6 176.581 100.094C176.873 100.594 176.873 101.213 176.581 101.713Z\",fill:\"#E9DFF2\"})),_path36||(_path36=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.582 105.756C176.294 106.25 175.764 106.555 175.192 106.555C174.62 106.555 174.09 106.25 173.801 105.756C173.51 105.257 173.508 104.639 173.795 104.138L173.808 104.116C174.092 103.62 174.62 103.314 175.192 103.314C175.764 103.314 176.291 103.62 176.576 104.116L176.589 104.138C176.876 104.639 176.873 105.257 176.582 105.756Z\",fill:\"#E9DFF2\"})),_path37||(_path37=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.576 109.798C176.291 110.294 175.764 110.6 175.192 110.6C174.62 110.6 174.092 110.294 173.808 109.798L173.795 109.776C173.508 109.275 173.51 108.657 173.801 108.158C174.09 107.664 174.62 107.359 175.192 107.359C175.764 107.359 176.294 107.664 176.582 108.158C176.873 108.657 176.876 109.275 176.589 109.776L176.576 109.798Z\",fill:\"#E9DFF2\"})),_path38||(_path38=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.093 115.829C172.81 116.338 172.272 116.654 171.69 116.654C171.114 116.654 170.582 116.346 170.296 115.846L170.286 115.83C169.998 115.329 170.001 114.712 170.292 114.213C170.581 113.717 171.116 113.413 171.69 113.413C172.271 113.413 172.811 113.725 173.097 114.231C173.375 114.721 173.377 115.32 173.103 115.812L173.093 115.829Z\",fill:\"#E9DFF2\"})),_path39||(_path39=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.581 117.865C176.293 118.359 175.764 118.663 175.192 118.663C174.62 118.663 174.091 118.359 173.803 117.865C173.511 117.365 173.511 116.746 173.803 116.246C174.091 115.752 174.62 115.448 175.192 115.448C175.764 115.448 176.293 115.752 176.581 116.246C176.873 116.746 176.873 117.365 176.581 117.865Z\",fill:\"#E9DFF2\"})),_path40||(_path40=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.087 119.856C179.801 120.36 179.26 120.671 178.681 120.671C178.109 120.671 177.573 120.367 177.285 119.873C176.993 119.373 176.993 118.754 177.285 118.254C177.573 117.76 178.109 117.457 178.681 117.457C179.26 117.457 179.801 117.768 180.087 118.271C180.365 118.763 180.365 119.365 180.087 119.856Z\",fill:\"#E9DFF2\"})),_path41||(_path41=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.574 121.907C183.285 122.401 182.755 122.706 182.183 122.706C181.611 122.706 181.081 122.401 180.793 121.907C180.502 121.408 180.499 120.79 180.786 120.289L180.799 120.267C181.084 119.771 181.612 119.465 182.183 119.465C182.755 119.465 183.283 119.771 183.567 120.267L183.58 120.289C183.868 120.79 183.865 121.408 183.574 121.907Z\",fill:\"#E9DFF2\"})),_path42||(_path42=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 123.9C186.793 124.404 186.251 124.715 185.672 124.715C185.1 124.715 184.564 124.412 184.276 123.918C183.984 123.418 183.984 122.799 184.276 122.298C184.564 121.805 185.1 121.501 185.672 121.501C186.251 121.501 186.793 121.812 187.078 122.316C187.356 122.807 187.356 123.409 187.078 123.9Z\",fill:\"#E9DFF2\"})),_path43||(_path43=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M190.565 121.907C190.276 122.401 189.747 122.706 189.174 122.706C188.602 122.706 188.072 122.401 187.784 121.907C187.493 121.408 187.49 120.79 187.777 120.289L187.79 120.267C188.075 119.771 188.603 119.465 189.174 119.465C189.746 119.465 190.274 119.771 190.558 120.267L190.571 120.289C190.859 120.79 190.856 121.408 190.565 121.907Z\",fill:\"#802DF6\"})),_path44||(_path44=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 119.873C193.784 120.367 193.256 120.671 192.684 120.671H192.655C192.084 120.671 191.555 120.367 191.267 119.873C190.975 119.373 190.975 118.754 191.267 118.254C191.555 117.76 192.084 117.457 192.655 117.457H192.684C193.256 117.457 193.784 117.76 194.072 118.254C194.364 118.754 194.364 119.373 194.072 119.873Z\",fill:\"#E9DFF2\"})),_path45||(_path45=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 117.865C197.266 118.359 196.737 118.663 196.165 118.663C195.593 118.663 195.064 118.359 194.776 117.865C194.484 117.365 194.484 116.746 194.776 116.246C195.064 115.752 195.593 115.448 196.165 115.448C196.737 115.448 197.266 115.752 197.554 116.246C197.846 116.746 197.846 117.365 197.554 117.865Z\",fill:\"#E9DFF2\"})),_path46||(_path46=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 115.835C200.779 116.338 200.241 116.654 199.661 116.654C199.081 116.654 198.542 116.338 198.253 115.835C197.966 115.334 197.965 114.712 198.256 114.213C198.545 113.717 199.076 113.413 199.65 113.413H199.671C200.245 113.413 200.776 113.717 201.065 114.213C201.356 114.712 201.355 115.334 201.068 115.835Z\",fill:\"#E9DFF2\"})),_path47||(_path47=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 111.808C200.776 112.304 200.245 112.609 199.671 112.609H199.65C199.076 112.609 198.545 112.304 198.256 111.808C197.965 111.309 197.966 110.687 198.253 110.186C198.542 109.683 199.081 109.368 199.661 109.368C200.241 109.368 200.779 109.683 201.068 110.186C201.355 110.687 201.356 111.309 201.065 111.808Z\",fill:\"#E9DFF2\"})),_path48||(_path48=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 107.767C200.775 108.261 200.247 108.564 199.675 108.564H199.646C199.075 108.564 198.546 108.261 198.258 107.767C197.966 107.267 197.966 106.648 198.258 106.147C198.546 105.654 199.075 105.35 199.646 105.35H199.675C200.247 105.35 200.775 105.654 201.063 106.147C201.355 106.648 201.355 107.267 201.063 107.767Z\",fill:\"#E9DFF2\"})),_path49||(_path49=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 103.728C200.779 104.231 200.241 104.546 199.661 104.546C199.081 104.546 198.542 104.231 198.253 103.728C197.966 103.227 197.965 102.605 198.256 102.106C198.545 101.61 199.076 101.305 199.65 101.305H199.671C200.245 101.305 200.776 101.61 201.065 102.106C201.356 102.605 201.355 103.227 201.068 103.728Z\",fill:\"#E9DFF2\"})),_path50||(_path50=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 99.7012C200.776 100.197 200.245 100.502 199.671 100.502H199.65C199.076 100.502 198.545 100.197 198.256 99.7012C197.965 99.2022 197.966 98.5804 198.253 98.0794C198.542 97.5764 199.081 97.2607 199.661 97.2607C200.241 97.2607 200.779 97.5764 201.068 98.0794C201.355 98.5804 201.356 99.2022 201.065 99.7012Z\",fill:\"#E9DFF2\"})),_path51||(_path51=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 97.691C197.265 98.1868 196.737 98.4925 196.165 98.4925C195.593 98.4925 195.066 98.1868 194.781 97.691L194.768 97.6684C194.481 97.1675 194.484 96.5498 194.775 96.0509C195.063 95.5566 195.593 95.2515 196.165 95.2515C196.737 95.2515 197.267 95.5566 197.556 96.0509C197.847 96.5498 197.849 97.1675 197.562 97.6684L197.549 97.691Z\",fill:\"#E9DFF2\"})),_path52||(_path52=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.069 95.6427C193.783 96.1462 193.248 96.4575 192.669 96.4575C192.091 96.4575 191.556 96.1462 191.27 95.6426C190.992 95.1511 190.992 94.5495 191.27 94.058C191.556 93.5544 192.091 93.2432 192.669 93.2432C193.248 93.2432 193.783 93.5544 194.069 94.058C194.347 94.5495 194.347 95.1511 194.069 95.6427Z\",fill:\"#E9DFF2\"})),_path53||(_path53=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.556 93.6273C190.273 94.1189 189.742 94.4219 189.174 94.4219C188.607 94.4219 188.075 94.1189 187.792 93.6273C187.512 93.1404 187.513 92.5344 187.79 92.0455C188.072 91.5486 188.603 91.2344 189.174 91.2344C189.745 91.2344 190.276 91.5486 190.558 92.0455C190.835 92.5344 190.837 93.1404 190.556 93.6273Z\",fill:\"#E9DFF2\"})),_path54||(_path54=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 91.5977C186.793 92.1013 186.251 92.4125 185.672 92.4125C185.1 92.4125 184.564 92.1089 184.276 91.6152C183.984 91.1148 183.984 90.496 184.276 89.9956C184.564 89.5018 185.1 89.1982 185.672 89.1982C186.251 89.1982 186.793 89.5095 187.078 90.0131C187.356 90.5046 187.356 91.1062 187.078 91.5977Z\",fill:\"#E9DFF2\"})),_path55||(_path55=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.574 93.6482C183.285 94.1425 182.755 94.4476 182.183 94.4476C181.611 94.4476 181.081 94.1425 180.793 93.6482C180.502 93.1493 180.499 92.5316 180.786 92.0306L180.799 92.0081C181.084 91.5123 181.612 91.2065 182.183 91.2065C182.755 91.2065 183.283 91.5123 183.567 92.0081L183.58 92.0306C183.868 92.5316 183.865 93.1493 183.574 93.6482Z\",fill:\"#E9DFF2\"})),_path56||(_path56=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.087 95.6427C179.801 96.1462 179.26 96.4575 178.681 96.4575C178.109 96.4575 177.573 96.1538 177.285 95.6601C176.993 95.1597 176.993 94.5409 177.285 94.0405C177.573 93.5468 178.109 93.2432 178.681 93.2432C179.26 93.2432 179.801 93.5544 180.087 94.058C180.365 94.5495 180.365 95.1511 180.087 95.6427Z\",fill:\"#E9DFF2\"})),_path57||(_path57=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.576 97.691C176.291 98.1868 175.764 98.4925 175.192 98.4925C174.62 98.4925 174.092 98.1868 173.808 97.691L173.795 97.6684C173.508 97.1675 173.51 96.5498 173.801 96.0509C174.09 95.5566 174.62 95.2515 175.192 95.2515C175.764 95.2515 176.294 95.5566 176.582 96.0509C176.873 96.5498 176.876 97.1675 176.589 97.6684L176.576 97.691Z\",fill:\"#E9DFF2\"})),_path58||(_path58=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.097 99.6837C172.811 100.189 172.271 100.502 171.69 100.502C171.116 100.502 170.581 100.197 170.292 99.7012C170.001 99.2022 169.998 98.5858 170.286 98.0848L170.296 98.0681C170.582 97.5687 171.114 97.2607 171.69 97.2607C172.272 97.2607 172.81 97.5763 173.093 98.0855L173.103 98.1025C173.377 98.5944 173.375 99.1937 173.097 99.6837Z\",fill:\"#E9DFF2\"})),_path59||(_path59=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M173.093 103.722C172.81 104.231 172.272 104.546 171.69 104.546C171.114 104.546 170.582 104.238 170.296 103.739L170.286 103.722C169.998 103.221 170.001 102.605 170.292 102.106C170.581 101.61 171.116 101.305 171.69 101.305C172.271 101.305 172.811 101.618 173.097 102.123C173.375 102.613 173.377 103.213 173.103 103.704L173.093 103.722Z\",fill:\"#802DF6\"})),_path60||(_path60=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.096 107.75C172.81 108.253 172.268 108.564 171.69 108.564C171.118 108.564 170.582 108.261 170.294 107.767C170.002 107.267 170.002 106.648 170.294 106.147C170.582 105.654 171.118 105.35 171.69 105.35C172.268 105.35 172.81 105.661 173.096 106.165C173.374 106.656 173.374 107.258 173.096 107.75Z\",fill:\"#E9DFF2\"})),_path61||(_path61=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.097 111.791C172.811 112.296 172.271 112.609 171.69 112.609C171.116 112.609 170.581 112.304 170.292 111.808C170.001 111.309 169.998 110.693 170.286 110.192L170.296 110.175C170.582 109.676 171.114 109.368 171.69 109.368C172.272 109.368 172.81 109.683 173.093 110.192L173.103 110.209C173.377 110.701 173.375 111.301 173.097 111.791Z\",fill:\"#E9DFF2\"})),_path62||(_path62=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.59 117.865C169.302 118.359 168.766 118.663 168.194 118.663C167.615 118.663 167.073 118.351 166.788 117.848C166.51 117.356 166.51 116.755 166.788 116.263C167.073 115.759 167.615 115.448 168.194 115.448C168.766 115.448 169.302 115.752 169.59 116.246C169.882 116.746 169.882 117.365 169.59 117.865Z\",fill:\"#E9DFF2\"})),_path63||(_path63=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.096 119.856C172.81 120.36 172.268 120.671 171.69 120.671C171.118 120.671 170.582 120.367 170.294 119.873C170.002 119.373 170.002 118.754 170.294 118.254C170.582 117.76 171.118 117.457 171.69 117.457C172.268 117.457 172.81 117.768 173.096 118.271C173.374 118.763 173.374 119.365 173.096 119.856Z\",fill:\"#E9DFF2\"})),_path64||(_path64=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.582 121.907C176.294 122.401 175.764 122.706 175.192 122.706C174.62 122.706 174.09 122.401 173.801 121.907C173.51 121.408 173.508 120.79 173.795 120.289L173.808 120.267C174.092 119.771 174.62 119.465 175.192 119.465C175.764 119.465 176.291 119.771 176.576 120.267L176.589 120.289C176.876 120.79 176.873 121.408 176.582 121.907Z\",fill:\"#E9DFF2\"})),_path65||(_path65=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.087 123.9C179.801 124.404 179.26 124.715 178.681 124.715C178.109 124.715 177.573 124.412 177.285 123.918C176.993 123.418 176.993 122.799 177.285 122.298C177.573 121.805 178.109 121.501 178.681 121.501C179.26 121.501 179.801 121.812 180.087 122.316C180.365 122.807 180.365 123.409 180.087 123.9Z\",fill:\"#E9DFF2\"})),_path66||(_path66=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.567 125.95C183.283 126.446 182.755 126.751 182.183 126.751C181.612 126.751 181.084 126.446 180.799 125.95L180.786 125.927C180.499 125.426 180.502 124.809 180.793 124.31C181.081 123.815 181.611 123.51 182.183 123.51C182.755 123.51 183.285 123.815 183.574 124.31C183.865 124.809 183.868 125.426 183.58 125.927L183.567 125.95Z\",fill:\"#E9DFF2\"})),_path67||(_path67=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.08 127.942C186.793 128.448 186.253 128.76 185.672 128.76C185.098 128.76 184.563 128.455 184.274 127.959C183.983 127.461 183.981 126.844 184.268 126.343L184.278 126.326C184.565 125.827 185.096 125.519 185.672 125.519C186.255 125.519 186.792 125.835 187.076 126.344L187.085 126.361C187.36 126.853 187.357 127.452 187.08 127.942Z\",fill:\"#E9DFF2\"})),_path68||(_path68=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 125.95C190.274 126.446 189.746 126.751 189.174 126.751C188.603 126.751 188.075 126.446 187.79 125.95L187.777 125.927C187.49 125.426 187.493 124.809 187.784 124.31C188.072 123.815 188.602 123.51 189.174 123.51C189.747 123.51 190.276 123.815 190.565 124.31C190.856 124.809 190.859 125.426 190.571 125.927L190.558 125.95Z\",fill:\"#E9DFF2\"})),_path69||(_path69=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 123.918C193.784 124.412 193.256 124.715 192.684 124.715H192.655C192.084 124.715 191.555 124.412 191.267 123.918C190.975 123.418 190.975 122.799 191.267 122.298C191.555 121.805 192.084 121.501 192.655 121.501H192.684C193.256 121.501 193.784 121.805 194.072 122.298C194.364 122.799 194.364 123.418 194.072 123.918Z\",fill:\"#E9DFF2\"})),_path70||(_path70=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 121.907C197.267 122.401 196.737 122.706 196.165 122.706C195.593 122.706 195.063 122.401 194.775 121.907C194.484 121.408 194.481 120.79 194.768 120.289L194.781 120.267C195.066 119.771 195.593 119.465 196.165 119.465C196.737 119.465 197.265 119.771 197.549 120.267L197.562 120.289C197.849 120.79 197.847 121.408 197.556 121.907Z\",fill:\"#E9DFF2\"})),_path71||(_path71=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 119.873C200.775 120.367 200.247 120.671 199.675 120.671H199.646C199.075 120.671 198.546 120.367 198.258 119.873C197.966 119.373 197.966 118.754 198.258 118.254C198.546 117.76 199.075 117.457 199.646 117.457H199.675C200.247 117.457 200.775 117.76 201.063 118.254C201.355 118.754 201.355 119.373 201.063 119.873Z\",fill:\"#E9DFF2\"})),_path72||(_path72=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 117.865C204.258 118.359 203.728 118.663 203.156 118.663C202.585 118.663 202.055 118.359 201.767 117.865C201.475 117.365 201.475 116.746 201.767 116.246C202.055 115.752 202.585 115.448 203.156 115.448C203.728 115.448 204.258 115.752 204.546 116.246C204.837 116.746 204.837 117.365 204.546 117.865Z\",fill:\"#E9DFF2\"})),_path73||(_path73=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 113.82C204.258 114.314 203.728 114.618 203.156 114.618C202.585 114.618 202.055 114.314 201.767 113.82C201.475 113.32 201.475 112.701 201.767 112.201C202.055 111.707 202.585 111.403 203.156 111.403C203.728 111.403 204.258 111.707 204.546 112.201C204.837 112.701 204.837 113.32 204.546 113.82Z\",fill:\"#E9DFF2\"})),_path74||(_path74=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.54 109.798C204.256 110.294 203.728 110.6 203.156 110.6C202.585 110.6 202.057 110.294 201.772 109.798L201.759 109.776C201.472 109.275 201.475 108.657 201.766 108.158C202.054 107.664 202.584 107.359 203.156 107.359C203.729 107.359 204.258 107.664 204.547 108.158C204.838 108.657 204.841 109.275 204.553 109.776L204.54 109.798Z\",fill:\"#802DF6\"})),_path75||(_path75=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.547 105.756C204.258 106.25 203.729 106.555 203.156 106.555C202.584 106.555 202.054 106.25 201.766 105.756C201.475 105.257 201.472 104.639 201.759 104.138L201.772 104.116C202.057 103.62 202.585 103.314 203.156 103.314C203.728 103.314 204.256 103.62 204.54 104.116L204.553 104.138C204.841 104.639 204.838 105.257 204.547 105.756Z\",fill:\"#E9DFF2\"})),_path76||(_path76=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 101.713C204.258 102.207 203.728 102.511 203.156 102.511C202.585 102.511 202.055 102.207 201.767 101.713C201.475 101.213 201.475 100.594 201.767 100.094C202.055 99.6 202.585 99.2964 203.156 99.2964C203.728 99.2964 204.258 99.6 204.546 100.094C204.837 100.594 204.837 101.213 204.546 101.713Z\",fill:\"#E9DFF2\"})),_path77||(_path77=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.54 97.691C204.256 98.1868 203.728 98.4925 203.156 98.4925C202.585 98.4925 202.057 98.1868 201.772 97.691L201.759 97.6684C201.472 97.1675 201.475 96.5498 201.766 96.0509C202.054 95.5566 202.584 95.2515 203.156 95.2515C203.729 95.2515 204.258 95.5566 204.547 96.0509C204.838 96.5498 204.841 97.1675 204.553 97.6684L204.54 97.691Z\",fill:\"#E9DFF2\"})),_path78||(_path78=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.915 95.596C200.654 96.0439 200.172 96.3239 199.654 96.3239C199.129 96.3239 198.641 96.0362 198.383 95.5785C198.13 95.1294 198.13 94.5719 198.383 94.1228C198.641 93.6651 199.129 93.3774 199.654 93.3774C200.172 93.3774 200.654 93.6574 200.915 94.1053C201.181 94.5633 201.181 95.138 200.915 95.596Z\",fill:\"#E9DFF2\"})),_path79||(_path79=/*#__PURE__*/React.createElement(\"path\",{d:\"M189.557 89.0317C189.477 89.1676 189.332 89.251 189.174 89.251C189.016 89.251 188.87 89.1676 188.79 89.0317L188.787 89.0266C188.704 88.8841 188.704 88.7073 188.787 88.5648L188.79 88.5597C188.87 88.4238 189.016 88.3403 189.174 88.3403C189.332 88.3403 189.477 88.4238 189.557 88.5597L189.56 88.5648C189.644 88.7073 189.644 88.8841 189.56 89.0266L189.557 89.0317Z\",fill:\"#E9DFF2\"})),_path80||(_path80=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.531 87.2911C186.352 87.5936 186.024 87.7789 185.672 87.7789C185.313 87.7789 184.98 87.586 184.803 87.2738C184.632 86.9719 184.629 86.6027 184.797 86.2989L184.808 86.2798C184.982 85.9653 185.313 85.77 185.672 85.77C186.024 85.77 186.35 85.9578 186.527 86.2627L186.537 86.2812C186.718 86.594 186.716 86.9804 186.531 87.2911Z\",fill:\"#E9DFF2\"})),_path81||(_path81=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.527 89.5645C183.251 90.05 182.735 90.3498 182.176 90.3498C181.625 90.3498 181.114 90.0576 180.836 89.5819C180.551 89.0967 180.551 88.4957 180.836 88.0106C181.114 87.5349 181.625 87.2427 182.176 87.2427C182.735 87.2427 183.251 87.5425 183.527 88.028C183.798 88.5043 183.798 89.0882 183.527 89.5645Z\",fill:\"#E9DFF2\"})),_path82||(_path82=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.087 91.5977C179.801 92.1013 179.26 92.4125 178.681 92.4125C178.109 92.4125 177.573 92.1089 177.285 91.6152C176.993 91.1148 176.993 90.496 177.285 89.9956C177.573 89.5018 178.109 89.1982 178.681 89.1982C179.26 89.1982 179.801 89.5095 180.087 90.013C180.365 90.5046 180.365 91.1062 180.087 91.5977Z\",fill:\"#E9DFF2\"})),_path83||(_path83=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.582 93.6482C176.294 94.1425 175.764 94.4476 175.192 94.4476C174.62 94.4476 174.09 94.1425 173.801 93.6482C173.51 93.1493 173.508 92.5316 173.795 92.0306L173.808 92.0081C174.092 91.5123 174.62 91.2065 175.192 91.2065C175.764 91.2065 176.291 91.5123 176.576 92.0081L176.589 92.0306C176.876 92.5316 176.873 93.1493 176.582 93.6482Z\",fill:\"#E9DFF2\"})),_path84||(_path84=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.096 95.6427C172.81 96.1462 172.268 96.4575 171.69 96.4575C171.118 96.4575 170.582 96.1538 170.294 95.6601C170.002 95.1597 170.002 94.5409 170.294 94.0405C170.582 93.5468 171.118 93.2432 171.69 93.2432C172.268 93.2432 172.81 93.5544 173.096 94.058C173.374 94.5495 173.374 95.1511 173.096 95.6427Z\",fill:\"#E9DFF2\"})),_path85||(_path85=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.588 97.6852C169.302 98.1846 168.77 98.4925 168.194 98.4925C167.611 98.4925 167.074 98.177 166.79 97.6678L166.781 97.6508C166.506 97.1588 166.509 96.5596 166.786 96.0696C167.073 95.564 167.613 95.2515 168.194 95.2515C168.768 95.2515 169.303 95.5563 169.592 96.0521C169.883 96.551 169.885 97.1675 169.598 97.6684L169.588 97.6852Z\",fill:\"#E9DFF2\"})),_path86||(_path86=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.59 101.713C169.302 102.207 168.766 102.511 168.194 102.511C167.615 102.511 167.073 102.199 166.788 101.696C166.51 101.204 166.51 100.603 166.788 100.111C167.073 99.6076 167.615 99.2964 168.194 99.2964C168.766 99.2964 169.302 99.6 169.59 100.094C169.882 100.594 169.882 101.213 169.59 101.713Z\",fill:\"#E9DFF2\"})),_path87||(_path87=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.592 105.754C169.303 106.25 168.768 106.555 168.194 106.555C167.613 106.555 167.073 106.243 166.786 105.737C166.509 105.247 166.506 104.648 166.781 104.156L166.79 104.139C167.074 103.63 167.611 103.314 168.194 103.314C168.77 103.314 169.302 103.622 169.588 104.121L169.598 104.138C169.885 104.639 169.883 105.255 169.592 105.754Z\",fill:\"#E9DFF2\"})),_path88||(_path88=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.588 109.793C169.302 110.292 168.77 110.6 168.194 110.6C167.611 110.6 167.074 110.284 166.79 109.775L166.781 109.758C166.506 109.266 166.509 108.667 166.786 108.177C167.073 107.671 167.613 107.359 168.194 107.359C168.768 107.359 169.303 107.664 169.592 108.16C169.883 108.658 169.885 109.275 169.598 109.776L169.588 109.793Z\",fill:\"#E9DFF2\"})),_path89||(_path89=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.59 113.82C169.302 114.314 168.766 114.618 168.194 114.618C167.615 114.618 167.073 114.306 166.788 113.803C166.51 113.311 166.51 112.71 166.788 112.218C167.073 111.715 167.615 111.403 168.194 111.403C168.766 111.403 169.302 111.707 169.59 112.201C169.882 112.701 169.882 113.32 169.59 113.82Z\",fill:\"#E9DFF2\"})),_path90||(_path90=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.105 119.856C165.819 120.36 165.278 120.671 164.699 120.671C164.127 120.671 163.591 120.367 163.303 119.873C163.011 119.373 163.011 118.754 163.303 118.254C163.591 117.76 164.127 117.457 164.699 117.457C165.278 117.457 165.819 117.768 166.105 118.271C166.383 118.763 166.383 119.365 166.105 119.856Z\",fill:\"#E9DFF2\"})),_path91||(_path91=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.592 121.906C169.303 122.402 168.768 122.706 168.194 122.706C167.613 122.706 167.073 122.394 166.786 121.888C166.509 121.398 166.506 120.799 166.781 120.307L166.79 120.29C167.074 119.781 167.611 119.465 168.194 119.465C168.77 119.465 169.302 119.773 169.588 120.273L169.598 120.289C169.885 120.79 169.883 121.407 169.592 121.906Z\",fill:\"#E9DFF2\"})),_path92||(_path92=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.096 123.9C172.81 124.404 172.268 124.715 171.69 124.715C171.118 124.715 170.582 124.412 170.294 123.918C170.002 123.418 170.002 122.799 170.294 122.298C170.582 121.805 171.118 121.501 171.69 121.501C172.268 121.501 172.81 121.812 173.096 122.316C173.374 122.807 173.374 123.409 173.096 123.9Z\",fill:\"#E9DFF2\"})),_path93||(_path93=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.576 125.95C176.291 126.446 175.764 126.751 175.192 126.751C174.62 126.751 174.092 126.446 173.808 125.95L173.795 125.927C173.508 125.426 173.51 124.809 173.801 124.31C174.09 123.815 174.62 123.51 175.192 123.51C175.764 123.51 176.294 123.815 176.582 124.31C176.873 124.809 176.876 125.426 176.589 125.927L176.576 125.95Z\",fill:\"#E9DFF2\"})),_path94||(_path94=/*#__PURE__*/React.createElement(\"path\",{d:\"M180.089 127.942C179.802 128.448 179.262 128.76 178.681 128.76C178.107 128.76 177.572 128.455 177.283 127.959C176.992 127.461 176.99 126.844 177.277 126.343L177.287 126.326C177.573 125.827 178.105 125.519 178.681 125.519C179.264 125.519 179.801 125.835 180.085 126.344L180.094 126.361C180.368 126.853 180.366 127.452 180.089 127.942Z\",fill:\"#E9DFF2\"})),_path95||(_path95=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.572 129.973C183.284 130.466 182.755 130.77 182.183 130.77C181.612 130.77 181.082 130.466 180.794 129.973C180.502 129.472 180.502 128.853 180.794 128.353C181.082 127.859 181.612 127.556 182.183 127.556C182.755 127.556 183.284 127.859 183.572 128.353C183.864 128.853 183.864 129.472 183.572 129.973Z\",fill:\"#E9DFF2\"})),_path96||(_path96=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.322 131.546C186.19 131.776 185.944 131.921 185.679 131.921C185.414 131.921 185.168 131.776 185.036 131.546C184.904 131.316 184.904 131.027 185.036 130.796C185.168 130.566 185.414 130.421 185.679 130.421C185.944 130.421 186.19 130.566 186.322 130.796C186.454 131.027 186.454 131.316 186.322 131.546Z\",fill:\"#E9DFF2\"})),_path97||(_path97=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 129.973C190.276 130.466 189.746 130.77 189.174 130.77C188.603 130.77 188.073 130.466 187.785 129.973C187.493 129.472 187.493 128.853 187.785 128.353C188.073 127.859 188.603 127.556 189.174 127.556C189.746 127.556 190.276 127.859 190.564 128.353C190.855 128.853 190.855 129.472 190.564 129.973Z\",fill:\"#E9DFF2\"})),_path98||(_path98=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 127.959C193.785 128.455 193.254 128.76 192.68 128.76H192.659C192.085 128.76 191.554 128.455 191.265 127.959C190.974 127.461 190.975 126.839 191.262 126.338C191.551 125.835 192.09 125.519 192.67 125.519C193.25 125.519 193.788 125.835 194.077 126.338C194.364 126.839 194.365 127.461 194.074 127.959Z\",fill:\"#E9DFF2\"})),_path99||(_path99=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 125.95C197.265 126.446 196.737 126.751 196.165 126.751C195.593 126.751 195.066 126.446 194.781 125.95L194.768 125.927C194.481 125.426 194.484 124.809 194.775 124.31C195.063 123.815 195.593 123.51 196.165 123.51C196.737 123.51 197.267 123.815 197.556 124.31C197.847 124.809 197.849 125.426 197.562 125.927L197.549 125.95Z\",fill:\"#E9DFF2\"})),_path100||(_path100=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 123.918C200.775 124.412 200.247 124.715 199.675 124.715H199.646C199.075 124.715 198.546 124.412 198.258 123.918C197.966 123.418 197.966 122.799 198.258 122.298C198.546 121.805 199.075 121.501 199.646 121.501H199.675C200.247 121.501 200.775 121.805 201.063 122.298C201.355 122.799 201.355 123.418 201.063 123.918Z\",fill:\"#E9DFF2\"})),_path101||(_path101=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.547 121.907C204.258 122.401 203.729 122.706 203.156 122.706C202.584 122.706 202.054 122.401 201.766 121.907C201.475 121.408 201.472 120.79 201.759 120.289L201.772 120.267C202.057 119.771 202.585 119.465 203.156 119.465C203.728 119.465 204.256 119.771 204.54 120.267L204.553 120.289C204.841 120.79 204.838 121.408 204.547 121.907Z\",fill:\"#E9DFF2\"})),_path102||(_path102=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 119.873C207.766 120.367 207.238 120.671 206.666 120.671H206.637C206.066 120.671 205.537 120.367 205.249 119.873C204.957 119.373 204.957 118.754 205.249 118.254C205.537 117.76 206.066 117.457 206.637 117.457H206.666C207.238 117.457 207.766 117.76 208.054 118.254C208.346 118.754 208.346 119.373 208.054 119.873Z\",fill:\"#E9DFF2\"})),_path103||(_path103=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 115.835C207.77 116.338 207.231 116.654 206.652 116.654C206.072 116.654 205.533 116.338 205.244 115.835C204.957 115.334 204.956 114.712 205.247 114.213C205.536 113.717 206.067 113.413 206.641 113.413H206.662C207.236 113.413 207.767 113.717 208.056 114.213C208.347 114.712 208.346 115.334 208.059 115.835Z\",fill:\"#E9DFF2\"})),_path104||(_path104=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 111.808C207.767 112.304 207.236 112.609 206.662 112.609H206.641C206.067 112.609 205.536 112.304 205.247 111.808C204.956 111.309 204.957 110.687 205.244 110.186C205.533 109.683 206.072 109.368 206.652 109.368C207.231 109.368 207.77 109.683 208.059 110.186C208.346 110.687 208.347 111.309 208.056 111.808Z\",fill:\"#E9DFF2\"})),_path105||(_path105=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 107.767C207.766 108.261 207.238 108.564 206.666 108.564H206.637C206.066 108.564 205.537 108.261 205.249 107.767C204.957 107.267 204.957 106.648 205.249 106.147C205.537 105.654 206.066 105.35 206.637 105.35H206.666C207.238 105.35 207.766 105.654 208.054 106.147C208.346 106.648 208.346 107.267 208.054 107.767Z\",fill:\"#E9DFF2\"})),_path106||(_path106=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 103.728C207.77 104.231 207.231 104.546 206.652 104.546C206.072 104.546 205.533 104.231 205.244 103.728C204.957 103.227 204.956 102.605 205.247 102.106C205.536 101.61 206.067 101.305 206.641 101.305H206.662C207.236 101.305 207.767 101.61 208.056 102.106C208.347 102.605 208.346 103.227 208.059 103.728Z\",fill:\"#E9DFF2\"})),_path107||(_path107=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 99.7012C207.767 100.197 207.236 100.502 206.662 100.502H206.641C206.067 100.502 205.536 100.197 205.247 99.7012C204.956 99.2022 204.957 98.5804 205.244 98.0794C205.533 97.5764 206.072 97.2607 206.652 97.2607C207.231 97.2607 207.77 97.5764 208.059 98.0794C208.346 98.5804 208.347 99.2022 208.056 99.7012Z\",fill:\"#E9DFF2\"})),_path108||(_path108=/*#__PURE__*/React.createElement(\"path\",{d:\"M207.979 95.6117C207.705 96.0851 207.199 96.3767 206.652 96.3767C206.105 96.3767 205.599 96.0851 205.325 95.6117C205.052 95.14 205.05 94.5587 205.32 94.085L205.331 94.0647C205.601 93.5897 206.106 93.2964 206.652 93.2964C207.199 93.2964 207.703 93.5897 207.973 94.0647L207.985 94.085C208.254 94.5587 208.252 95.14 207.979 95.6117Z\",fill:\"#E9DFF2\"})),_path109||(_path109=/*#__PURE__*/React.createElement(\"path\",{d:\"M203.783 93.207C203.652 93.4284 203.414 93.5645 203.156 93.5645C202.899 93.5645 202.66 93.4285 202.529 93.2071C202.395 92.9812 202.393 92.7005 202.523 92.4725L202.535 92.4518C202.662 92.2289 202.9 92.0913 203.156 92.0913C203.413 92.0913 203.65 92.2289 203.777 92.4518L203.789 92.4725C203.92 92.7005 203.917 92.9812 203.783 93.207Z\",fill:\"#E9DFF2\"})),_path110||(_path110=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.032 87.0002C192.957 87.1335 192.816 87.216 192.663 87.216C192.517 87.216 192.382 87.1408 192.304 87.017L192.301 87.0113C192.215 86.8737 192.212 86.6997 192.295 86.5598L192.31 86.5345C192.383 86.409 192.518 86.332 192.664 86.332C192.816 86.332 192.955 86.4161 193.027 86.5506L193.041 86.5776C193.11 86.7084 193.108 86.8653 193.036 86.9943L193.032 87.0002Z\",fill:\"#E9DFF2\"})),_path111||(_path111=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.442 83.1848C186.285 83.4577 185.993 83.6267 185.678 83.6267C185.364 83.6267 185.072 83.4576 184.915 83.1848C184.758 82.9118 184.758 82.5739 184.915 82.3009C185.072 82.028 185.364 81.8589 185.678 81.8589C185.993 81.8589 186.285 82.028 186.442 82.3008C186.599 82.5739 186.599 82.9118 186.442 83.1848Z\",fill:\"#E9DFF2\"})),_path112||(_path112=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.333 89.4476C176.1 89.8565 175.663 90.1089 175.192 90.1089C174.721 90.1089 174.284 89.8565 174.051 89.4476C173.82 89.0441 173.82 88.5487 174.051 88.1452C174.284 87.7363 174.721 87.4839 175.192 87.4839C175.663 87.4839 176.1 87.7363 176.333 88.1452C176.564 88.5487 176.564 89.0441 176.333 89.4476Z\",fill:\"#E9DFF2\"})),_path113||(_path113=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.072 91.6161C172.786 92.1068 172.258 92.4126 171.69 92.4126C171.115 92.4126 170.581 92.0991 170.298 91.5986C170.021 91.1097 170.021 90.5066 170.301 90.0197C170.585 89.5281 171.109 89.2251 171.676 89.2251H171.703C172.264 89.2251 172.783 89.5206 173.068 90.0025C173.362 90.4981 173.362 91.1183 173.072 91.6161Z\",fill:\"#E9DFF2\"})),_path114||(_path114=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.592 93.647C169.303 94.1427 168.768 94.4476 168.194 94.4476C167.613 94.4476 167.073 94.1351 166.786 93.6295C166.509 93.1395 166.506 92.5402 166.781 92.0483L166.79 92.0313C167.074 91.5221 167.611 91.2065 168.194 91.2065C168.77 91.2065 169.302 91.5145 169.588 92.0139L169.598 92.0306C169.885 92.5316 169.883 93.148 169.592 93.647Z\",fill:\"#E9DFF2\"})),_path115||(_path115=/*#__PURE__*/React.createElement(\"path\",{d:\"M165.544 95.3174C165.374 95.6235 165.049 95.8133 164.699 95.8133C164.356 95.8133 164.037 95.6312 163.864 95.3349C163.689 95.0347 163.689 94.6634 163.864 94.3632C164.037 94.0669 164.356 93.8848 164.699 93.8848C165.049 93.8848 165.374 94.0746 165.544 94.3808C165.705 94.672 165.705 95.0261 165.544 95.3174Z\",fill:\"#E9DFF2\"})),_path116||(_path116=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.065 99.6598C165.788 100.147 165.27 100.448 164.709 100.448H164.689C164.135 100.448 163.623 100.155 163.343 99.6772C163.059 99.1935 163.06 98.5892 163.34 98.1034C163.62 97.6188 164.14 97.3145 164.699 97.3145C165.265 97.3145 165.791 97.6266 166.068 98.121C166.334 98.5978 166.335 99.185 166.065 99.6598Z\",fill:\"#E9DFF2\"})),_path117||(_path117=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.103 103.722C165.819 104.231 165.282 104.546 164.699 104.546C164.123 104.546 163.591 104.238 163.305 103.739L163.295 103.722C163.008 103.221 163.01 102.605 163.301 102.106C163.59 101.61 164.125 101.305 164.699 101.305C165.28 101.305 165.82 101.618 166.107 102.123C166.384 102.613 166.386 103.213 166.112 103.704L166.103 103.722Z\",fill:\"#E9DFF2\"})),_path118||(_path118=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.105 107.75C165.819 108.253 165.278 108.564 164.699 108.564C164.127 108.564 163.591 108.261 163.303 107.767C163.011 107.267 163.011 106.648 163.303 106.147C163.591 105.654 164.127 105.35 164.699 105.35C165.278 105.35 165.819 105.661 166.105 106.165C166.383 106.656 166.383 107.258 166.105 107.75Z\",fill:\"#E9DFF2\"})),_path119||(_path119=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.107 111.791C165.82 112.296 165.28 112.609 164.699 112.609C164.125 112.609 163.59 112.304 163.301 111.808C163.01 111.309 163.008 110.693 163.295 110.192L163.305 110.175C163.591 109.676 164.123 109.368 164.699 109.368C165.282 109.368 165.819 109.683 166.103 110.192L166.112 110.209C166.386 110.701 166.384 111.301 166.107 111.791Z\",fill:\"#E9DFF2\"})),_path120||(_path120=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.103 115.829C165.819 116.338 165.282 116.654 164.699 116.654C164.123 116.654 163.591 116.346 163.305 115.846L163.295 115.83C163.008 115.329 163.01 114.712 163.301 114.213C163.59 113.717 164.125 113.413 164.699 113.413C165.28 113.413 165.82 113.725 166.107 114.231C166.384 114.721 166.386 115.32 166.112 115.812L166.103 115.829Z\",fill:\"#E9DFF2\"})),_path121||(_path121=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.601 121.906C162.312 122.402 161.778 122.706 161.204 122.706C160.622 122.706 160.082 122.394 159.796 121.888C159.518 121.398 159.516 120.799 159.79 120.307L159.8 120.29C160.083 119.781 160.621 119.465 161.204 119.465C161.779 119.465 162.311 119.773 162.598 120.273L162.607 120.289C162.895 120.79 162.892 121.407 162.601 121.906Z\",fill:\"#E9DFF2\"})),_path122||(_path122=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.105 123.9C165.819 124.404 165.278 124.715 164.699 124.715C164.127 124.715 163.591 124.412 163.303 123.918C163.011 123.418 163.011 122.799 163.303 122.298C163.591 121.805 164.127 121.501 164.699 121.501C165.278 121.501 165.819 121.812 166.105 122.316C166.383 122.807 166.383 123.409 166.105 123.9Z\",fill:\"#E9DFF2\"})),_path123||(_path123=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.588 125.944C169.302 126.443 168.77 126.751 168.194 126.751C167.611 126.751 167.074 126.436 166.79 125.927L166.781 125.91C166.506 125.418 166.509 124.818 166.786 124.328C167.073 123.823 167.613 123.51 168.194 123.51C168.768 123.51 169.303 123.815 169.592 124.311C169.883 124.81 169.885 125.426 169.598 125.927L169.588 125.944Z\",fill:\"#E9DFF2\"})),_path124||(_path124=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.097 127.942C172.811 128.448 172.271 128.76 171.69 128.76C171.116 128.76 170.581 128.455 170.292 127.959C170.001 127.461 169.998 126.844 170.286 126.343L170.296 126.326C170.582 125.827 171.114 125.519 171.69 125.519C172.272 125.519 172.81 125.835 173.093 126.344L173.103 126.361C173.377 126.853 173.375 127.452 173.097 127.942Z\",fill:\"#E9DFF2\"})),_path125||(_path125=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.42 129.879C176.166 130.314 175.699 130.581 175.195 130.581H175.176C174.665 130.581 174.193 130.306 173.941 129.861C173.695 129.427 173.695 128.896 173.941 128.463C174.193 128.017 174.665 127.742 175.176 127.742H175.195C175.699 127.742 176.166 128.01 176.42 128.445C176.679 128.888 176.679 129.436 176.42 129.879Z\",fill:\"#E9DFF2\"})),_path126||(_path126=/*#__PURE__*/React.createElement(\"path\",{d:\"M179.086 131.419C179.005 131.564 178.853 131.653 178.688 131.653C178.522 131.653 178.37 131.564 178.29 131.419L178.28 131.402C178.201 131.259 178.203 131.085 178.286 130.944C178.369 130.802 178.52 130.716 178.684 130.716H178.691C178.855 130.716 179.007 130.802 179.09 130.944C179.173 131.085 179.175 131.259 179.095 131.402L179.086 131.419Z\",fill:\"#E9DFF2\"})),_path127||(_path127=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.198 135.516C186.092 135.695 185.899 135.806 185.691 135.806H185.667C185.459 135.806 185.266 135.695 185.16 135.516C185.05 135.331 185.05 135.101 185.16 134.916C185.266 134.737 185.459 134.627 185.667 134.627H185.691C185.899 134.627 186.092 134.737 186.198 134.916C186.307 135.101 186.307 135.331 186.198 135.516Z\",fill:\"#E9DFF2\"})),_path128||(_path128=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.565 134.015C190.276 134.509 189.747 134.814 189.174 134.814C188.602 134.814 188.072 134.509 187.784 134.015C187.493 133.516 187.49 132.898 187.777 132.397L187.79 132.375C188.075 131.879 188.603 131.573 189.174 131.573C189.746 131.573 190.274 131.879 190.558 132.375L190.571 132.397C190.859 132.898 190.856 133.516 190.565 134.015Z\",fill:\"#E9DFF2\"})),_path129||(_path129=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 131.987C193.788 132.49 193.25 132.806 192.67 132.806C192.09 132.806 191.551 132.49 191.262 131.987C190.975 131.486 190.974 130.864 191.265 130.365C191.554 129.869 192.085 129.564 192.659 129.564H192.68C193.254 129.564 193.785 129.869 194.074 130.365C194.365 130.864 194.364 131.486 194.077 131.987Z\",fill:\"#E9DFF2\"})),_path130||(_path130=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 129.973C197.266 130.466 196.737 130.77 196.165 130.77C195.593 130.77 195.064 130.466 194.776 129.973C194.484 129.472 194.484 128.853 194.776 128.353C195.064 127.859 195.593 127.556 196.165 127.556C196.737 127.556 197.266 127.859 197.554 128.353C197.846 128.853 197.846 129.472 197.554 129.973Z\",fill:\"#E9DFF2\"})),_path131||(_path131=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 127.959C200.776 128.455 200.245 128.76 199.671 128.76H199.65C199.076 128.76 198.545 128.455 198.256 127.959C197.965 127.461 197.966 126.839 198.253 126.338C198.542 125.835 199.081 125.519 199.661 125.519C200.241 125.519 200.779 125.835 201.068 126.338C201.355 126.839 201.356 127.461 201.065 127.959Z\",fill:\"#E9DFF2\"})),_path132||(_path132=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.54 125.95C204.256 126.446 203.728 126.751 203.156 126.751C202.585 126.751 202.057 126.446 201.772 125.95L201.759 125.927C201.472 125.426 201.475 124.809 201.766 124.31C202.054 123.815 202.584 123.51 203.156 123.51C203.729 123.51 204.258 123.815 204.547 124.31C204.838 124.809 204.841 125.426 204.553 125.927L204.54 125.95Z\",fill:\"#E9DFF2\"})),_path133||(_path133=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 123.918C207.766 124.412 207.238 124.715 206.666 124.715H206.637C206.066 124.715 205.537 124.412 205.249 123.918C204.957 123.418 204.957 122.799 205.249 122.298C205.537 121.805 206.066 121.501 206.637 121.501H206.666C207.238 121.501 207.766 121.805 208.054 122.298C208.346 122.799 208.346 123.418 208.054 123.918Z\",fill:\"#E9DFF2\"})),_path134||(_path134=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 121.907C211.249 122.401 210.719 122.706 210.147 122.706C209.575 122.706 209.045 122.401 208.757 121.907C208.466 121.408 208.463 120.79 208.75 120.289L208.763 120.267C209.048 119.771 209.576 119.465 210.147 119.465C210.719 119.465 211.247 119.771 211.531 120.267L211.544 120.289C211.832 120.79 211.829 121.408 211.538 121.907Z\",fill:\"#E9DFF2\"})),_path135||(_path135=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 117.865C211.248 118.359 210.719 118.663 210.147 118.663C209.576 118.663 209.046 118.359 208.758 117.865C208.466 117.365 208.466 116.746 208.758 116.246C209.046 115.752 209.576 115.448 210.147 115.448C210.719 115.448 211.248 115.752 211.536 116.246C211.828 116.746 211.828 117.365 211.536 117.865Z\",fill:\"#E9DFF2\"})),_path136||(_path136=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 113.82C211.248 114.314 210.719 114.618 210.147 114.618C209.576 114.618 209.046 114.314 208.758 113.82C208.466 113.32 208.466 112.701 208.758 112.201C209.046 111.707 209.576 111.403 210.147 111.403C210.719 111.403 211.248 111.707 211.536 112.201C211.828 112.701 211.828 113.32 211.536 113.82Z\",fill:\"#E9DFF2\"})),_path137||(_path137=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 109.798C211.247 110.294 210.719 110.6 210.147 110.6C209.576 110.6 209.048 110.294 208.763 109.798L208.75 109.776C208.463 109.275 208.466 108.657 208.757 108.158C209.045 107.664 209.575 107.359 210.147 107.359C210.719 107.359 211.249 107.664 211.538 108.158C211.829 108.657 211.832 109.275 211.544 109.776L211.531 109.798Z\",fill:\"#E9DFF2\"})),_path138||(_path138=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 105.756C211.249 106.25 210.719 106.555 210.147 106.555C209.575 106.555 209.045 106.25 208.757 105.756C208.466 105.257 208.463 104.639 208.75 104.138L208.763 104.116C209.048 103.62 209.576 103.314 210.147 103.314C210.719 103.314 211.247 103.62 211.531 104.116L211.544 104.138C211.832 104.639 211.829 105.257 211.538 105.756Z\",fill:\"#E9DFF2\"})),_path139||(_path139=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 101.713C211.248 102.207 210.719 102.511 210.147 102.511C209.576 102.511 209.046 102.207 208.758 101.713C208.466 101.213 208.466 100.594 208.758 100.094C209.046 99.6 209.576 99.2964 210.147 99.2964C210.719 99.2964 211.248 99.6 211.536 100.094C211.828 100.594 211.828 101.213 211.536 101.713Z\",fill:\"#E9DFF2\"})),_path140||(_path140=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 97.691C211.247 98.1868 210.719 98.4925 210.147 98.4925C209.576 98.4925 209.048 98.1868 208.763 97.691L208.75 97.6684C208.463 97.1675 208.466 96.5498 208.757 96.0509C209.045 95.5566 209.575 95.2515 210.147 95.2515C210.719 95.2515 211.249 95.5566 211.538 96.0509C211.829 96.5498 211.832 97.1675 211.544 97.6684L211.531 97.691Z\",fill:\"#E9DFF2\"})),_path141||(_path141=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.023 89.3114C203.844 89.6199 203.512 89.8145 203.156 89.8145C202.799 89.8145 202.467 89.6199 202.289 89.3114C202.106 88.996 202.106 88.5973 202.289 88.2819C202.467 87.9734 202.799 87.7788 203.156 87.7788C203.512 87.7788 203.844 87.9734 204.023 88.2819C204.206 88.5973 204.206 88.996 204.023 89.3114Z\",fill:\"#E9DFF2\"})),_path142||(_path142=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.512 87.2933C200.334 87.5931 200.009 87.7789 199.661 87.7789C199.312 87.7789 198.988 87.5931 198.809 87.2933C198.625 86.9826 198.621 86.594 198.802 86.2812L198.816 86.2568C198.991 85.9555 199.312 85.77 199.661 85.77C200.009 85.77 200.33 85.9555 200.505 86.2568L200.519 86.2812C200.7 86.594 200.697 86.9826 200.512 87.2933Z\",fill:\"#E9DFF2\"})),_path143||(_path143=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.104 82.9732C193.018 83.1283 192.855 83.2245 192.677 83.2245H192.663C192.485 83.2245 192.322 83.1283 192.236 82.9732C192.156 82.8292 192.154 82.6544 192.23 82.5086L192.238 82.4941C192.322 82.3338 192.489 82.2334 192.67 82.2334C192.851 82.2334 193.017 82.3338 193.102 82.4941L193.109 82.5086C193.186 82.6544 193.184 82.8292 193.104 82.9732Z\",fill:\"#E9DFF2\"})),_path144||(_path144=/*#__PURE__*/React.createElement(\"path\",{d:\"M189.565 80.9659C189.48 81.1045 189.33 81.189 189.167 81.189C188.998 81.189 188.842 81.0972 188.76 80.9492L188.754 80.9377C188.674 80.7947 188.676 80.6202 188.759 80.4792C188.842 80.3381 188.994 80.2515 189.157 80.2515H189.177C189.334 80.2515 189.48 80.331 189.565 80.4627C189.662 80.6119 189.665 80.8033 189.572 80.955L189.565 80.9659Z\",fill:\"#E9DFF2\"})),_path145||(_path145=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.682 79.2771C186.476 79.6317 186.096 79.85 185.686 79.85H185.672C185.262 79.85 184.883 79.6317 184.676 79.2771C184.468 78.9192 184.468 78.4772 184.676 78.1193C184.883 77.7646 185.262 77.5464 185.672 77.5464H185.686C186.096 77.5464 186.476 77.7646 186.682 78.1193C186.89 78.4772 186.89 78.9192 186.682 79.2771Z\",fill:\"#E9DFF2\"})),_path146||(_path146=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.502 85.519C176.232 85.9853 175.731 86.2782 175.192 86.2782C174.653 86.2782 174.152 85.9853 173.882 85.519C173.609 85.0484 173.608 84.4617 173.884 83.9932C174.155 83.5336 174.649 83.2515 175.182 83.2515H175.202C175.735 83.2515 176.229 83.5336 176.5 83.9932C176.776 84.4617 176.774 85.0484 176.502 85.519Z\",fill:\"#E9DFF2\"})),_path147||(_path147=/*#__PURE__*/React.createElement(\"path\",{d:\"M172.746 87.4042C172.527 87.7693 172.133 87.9927 171.707 87.9927H171.673C171.24 87.9927 170.84 87.7618 170.624 87.387C170.409 87.0154 170.409 86.5547 170.62 86.1811C170.837 85.7964 171.248 85.5552 171.69 85.5552C172.125 85.5552 172.53 85.7887 172.75 86.1635C172.975 86.546 172.974 87.0239 172.746 87.4042Z\",fill:\"#E9DFF2\"})),_path148||(_path148=/*#__PURE__*/React.createElement(\"path\",{d:\"M168.466 88.9614C168.41 89.0581 168.306 89.1175 168.194 89.1175C168.075 89.1175 167.966 89.0502 167.913 88.9436L167.911 88.9398C167.866 88.8493 167.866 88.7428 167.911 88.6523L167.913 88.6484C167.966 88.5419 168.075 88.4746 168.194 88.4746C168.306 88.4746 168.41 88.534 168.466 88.6306L168.468 88.6341C168.526 88.7342 168.526 88.8579 168.468 88.958L168.466 88.9614Z\",fill:\"#E9DFF2\"})),_path149||(_path149=/*#__PURE__*/React.createElement(\"path\",{d:\"M161.991 101.35C161.832 101.635 161.53 101.814 161.203 101.814C160.883 101.814 160.587 101.643 160.425 101.367C160.257 101.082 160.257 100.724 160.425 100.439C160.587 100.164 160.883 99.9927 161.203 99.9927C161.53 99.9927 161.832 100.172 161.991 100.457C162.146 100.733 162.146 101.074 161.991 101.35Z\",fill:\"#E9DFF2\"})),_path150||(_path150=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.601 105.754C162.312 106.25 161.778 106.555 161.204 106.555C160.622 106.555 160.082 106.243 159.796 105.737C159.518 105.247 159.516 104.648 159.79 104.156L159.8 104.139C160.083 103.63 160.621 103.314 161.204 103.314C161.779 103.314 162.311 103.622 162.598 104.121L162.607 104.138C162.895 104.639 162.892 105.255 162.601 105.754Z\",fill:\"#E9DFF2\"})),_path151||(_path151=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.598 109.793C162.311 110.292 161.779 110.6 161.204 110.6C160.621 110.6 160.083 110.284 159.8 109.775L159.79 109.758C159.516 109.266 159.518 108.667 159.796 108.177C160.082 107.671 160.622 107.359 161.204 107.359C161.778 107.359 162.312 107.664 162.601 108.16C162.892 108.658 162.895 109.275 162.607 109.776L162.598 109.793Z\",fill:\"#E9DFF2\"})),_path152||(_path152=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.599 113.82C162.311 114.314 161.775 114.618 161.204 114.618C160.625 114.618 160.083 114.306 159.798 113.803C159.519 113.311 159.519 112.71 159.798 112.218C160.083 111.715 160.625 111.403 161.204 111.403C161.775 111.403 162.311 111.707 162.599 112.201C162.891 112.701 162.891 113.32 162.599 113.82Z\",fill:\"#E9DFF2\"})),_path153||(_path153=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.599 117.865C162.311 118.359 161.775 118.663 161.204 118.663C160.625 118.663 160.083 118.351 159.798 117.848C159.519 117.356 159.519 116.755 159.798 116.263C160.083 115.759 160.625 115.448 161.204 115.448C161.775 115.448 162.311 115.752 162.599 116.246C162.891 116.746 162.891 117.365 162.599 117.865Z\",fill:\"#E9DFF2\"})),_path154||(_path154=/*#__PURE__*/React.createElement(\"path\",{d:\"M157.989 123.256C157.936 123.363 157.827 123.43 157.708 123.43C157.596 123.43 157.492 123.371 157.436 123.274L157.434 123.27C157.376 123.17 157.376 123.047 157.434 122.947L157.436 122.943C157.492 122.847 157.596 122.787 157.708 122.787C157.827 122.787 157.936 122.854 157.989 122.961L157.991 122.965C158.036 123.055 158.036 123.162 157.991 123.252L157.989 123.256Z\",fill:\"#E9DFF2\"})),_path155||(_path155=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.594 125.913C162.312 126.41 161.781 126.725 161.21 126.725C160.639 126.725 160.108 126.41 159.826 125.913C159.549 125.425 159.547 124.819 159.828 124.332C160.111 123.84 160.642 123.537 161.21 123.537C161.777 123.537 162.309 123.84 162.592 124.332C162.872 124.819 162.871 125.425 162.594 125.913Z\",fill:\"#E9DFF2\"})),_path156||(_path156=/*#__PURE__*/React.createElement(\"path\",{d:\"M166.107 127.942C165.82 128.448 165.28 128.76 164.699 128.76C164.125 128.76 163.59 128.455 163.301 127.959C163.01 127.461 163.008 126.844 163.295 126.343L163.305 126.326C163.591 125.827 164.123 125.519 164.699 125.519C165.282 125.519 165.819 125.835 166.103 126.344L166.112 126.361C166.386 126.853 166.384 127.452 166.107 127.942Z\",fill:\"#E9DFF2\"})),_path157||(_path157=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.59 129.973C169.302 130.466 168.766 130.77 168.194 130.77C167.615 130.77 167.073 130.459 166.788 129.955C166.51 129.464 166.51 128.862 166.788 128.37C167.073 127.867 167.615 127.556 168.194 127.556C168.766 127.556 169.302 127.859 169.59 128.353C169.882 128.853 169.882 129.472 169.59 129.973Z\",fill:\"#E9DFF2\"})),_path158||(_path158=/*#__PURE__*/React.createElement(\"path\",{d:\"M172.662 131.731C172.463 132.079 172.092 132.296 171.69 132.296C171.295 132.296 170.929 132.087 170.727 131.748C170.516 131.393 170.516 130.949 170.727 130.594C170.929 130.255 171.295 130.046 171.69 130.046C172.092 130.046 172.463 130.263 172.662 130.611C172.86 130.957 172.86 131.385 172.662 131.731Z\",fill:\"#E9DFF2\"})),_path159||(_path159=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.842 139.933C186.603 140.346 186.156 140.6 185.679 140.6C185.201 140.6 184.754 140.346 184.515 139.933C184.274 139.517 184.274 139.004 184.515 138.589C184.754 138.176 185.201 137.921 185.679 137.921C186.156 137.921 186.603 138.176 186.842 138.589C187.083 139.004 187.083 139.517 186.842 139.933Z\",fill:\"#E9DFF2\"})),_path160||(_path160=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 138.057C190.274 138.553 189.746 138.859 189.174 138.859C188.603 138.859 188.075 138.553 187.79 138.057L187.777 138.035C187.49 137.534 187.493 136.916 187.784 136.417C188.072 135.923 188.602 135.618 189.174 135.618C189.747 135.618 190.276 135.923 190.565 136.417C190.856 136.916 190.859 137.534 190.571 138.035L190.558 138.057Z\",fill:\"#E9DFF2\"})),_path161||(_path161=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 136.026C193.784 136.52 193.256 136.824 192.684 136.824H192.655C192.084 136.824 191.555 136.52 191.267 136.026C190.975 135.526 190.975 134.907 191.267 134.407C191.555 133.913 192.084 133.609 192.655 133.609H192.684C193.256 133.609 193.784 133.913 194.072 134.407C194.364 134.907 194.364 135.526 194.072 136.026Z\",fill:\"#E9DFF2\"})),_path162||(_path162=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 134.015C197.267 134.509 196.737 134.814 196.165 134.814C195.593 134.814 195.063 134.509 194.775 134.015C194.484 133.516 194.481 132.898 194.768 132.397L194.781 132.375C195.066 131.879 195.593 131.573 196.165 131.573C196.737 131.573 197.265 131.879 197.549 132.375L197.562 132.397C197.849 132.898 197.847 133.516 197.556 134.015Z\",fill:\"#E9DFF2\"})),_path163||(_path163=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 131.987C200.779 132.49 200.241 132.806 199.661 132.806C199.081 132.806 198.542 132.49 198.253 131.987C197.966 131.486 197.965 130.864 198.256 130.365C198.545 129.869 199.076 129.564 199.65 129.564H199.671C200.245 129.564 200.776 129.869 201.065 130.365C201.356 130.864 201.355 131.486 201.068 131.987Z\",fill:\"#E9DFF2\"})),_path164||(_path164=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 129.973C204.258 130.466 203.728 130.77 203.156 130.77C202.585 130.77 202.055 130.466 201.767 129.973C201.475 129.472 201.475 128.853 201.767 128.353C202.055 127.859 202.585 127.556 203.156 127.556C203.728 127.556 204.258 127.859 204.546 128.353C204.837 128.853 204.837 129.472 204.546 129.973Z\",fill:\"#E9DFF2\"})),_path165||(_path165=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 127.959C207.767 128.455 207.236 128.76 206.662 128.76H206.641C206.067 128.76 205.536 128.455 205.247 127.959C204.956 127.461 204.957 126.839 205.244 126.338C205.533 125.835 206.072 125.519 206.652 125.519C207.231 125.519 207.77 125.835 208.059 126.338C208.346 126.839 208.347 127.461 208.056 127.959Z\",fill:\"#E9DFF2\"})),_path166||(_path166=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 125.95C211.247 126.446 210.719 126.751 210.147 126.751C209.576 126.751 209.048 126.446 208.763 125.95L208.75 125.927C208.463 125.426 208.466 124.809 208.757 124.31C209.045 123.815 209.575 123.51 210.147 123.51C210.719 123.51 211.249 123.815 211.538 124.31C211.829 124.809 211.832 125.426 211.544 125.927L211.531 125.95Z\",fill:\"#E9DFF2\"})),_path167||(_path167=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 123.918C214.758 124.412 214.229 124.715 213.657 124.715H213.629C213.057 124.715 212.528 124.412 212.24 123.918C211.949 123.418 211.949 122.799 212.24 122.298C212.528 121.805 213.057 121.501 213.629 121.501H213.657C214.229 121.501 214.758 121.805 215.046 122.298C215.338 122.799 215.338 123.418 215.046 123.918Z\",fill:\"#E9DFF2\"})),_path168||(_path168=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 119.873C214.758 120.367 214.229 120.671 213.657 120.671H213.629C213.057 120.671 212.528 120.367 212.24 119.873C211.949 119.373 211.949 118.754 212.24 118.254C212.528 117.76 213.057 117.457 213.629 117.457H213.657C214.229 117.457 214.758 117.76 215.046 118.254C215.338 118.754 215.338 119.373 215.046 119.873Z\",fill:\"#E9DFF2\"})),_path169||(_path169=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 115.835C214.762 116.338 214.223 116.654 213.643 116.654C213.063 116.654 212.524 116.338 212.236 115.835C211.948 115.334 211.947 114.712 212.239 114.213C212.528 113.717 213.059 113.413 213.632 113.413H213.654C214.228 113.413 214.758 113.717 215.048 114.213C215.339 114.712 215.338 115.334 215.05 115.835Z\",fill:\"#E9DFF2\"})),_path170||(_path170=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 111.808C214.758 112.304 214.228 112.609 213.654 112.609H213.632C213.059 112.609 212.528 112.304 212.239 111.808C211.947 111.309 211.948 110.687 212.236 110.186C212.524 109.683 213.063 109.368 213.643 109.368C214.223 109.368 214.762 109.683 215.05 110.186C215.338 110.687 215.339 111.309 215.048 111.808Z\",fill:\"#E9DFF2\"})),_path171||(_path171=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 107.767C214.758 108.261 214.229 108.564 213.657 108.564H213.629C213.057 108.564 212.528 108.261 212.24 107.767C211.949 107.267 211.949 106.648 212.24 106.147C212.528 105.654 213.057 105.35 213.629 105.35H213.657C214.229 105.35 214.758 105.654 215.046 106.147C215.338 106.648 215.338 107.267 215.046 107.767Z\",fill:\"#E9DFF2\"})),_path172||(_path172=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 103.728C214.762 104.231 214.223 104.546 213.643 104.546C213.063 104.546 212.524 104.231 212.236 103.728C211.948 103.227 211.947 102.605 212.239 102.106C212.528 101.61 213.059 101.305 213.632 101.305H213.654C214.228 101.305 214.758 101.61 215.048 102.106C215.339 102.605 215.338 103.227 215.05 103.728Z\",fill:\"#E9DFF2\"})),_path173||(_path173=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 99.7012C214.758 100.197 214.228 100.502 213.654 100.502H213.632C213.059 100.502 212.528 100.197 212.239 99.7012C211.947 99.2022 211.948 98.5804 212.236 98.0794C212.524 97.5764 213.063 97.2607 213.643 97.2607C214.223 97.2607 214.762 97.5764 215.05 98.0794C215.338 98.5804 215.339 99.2022 215.048 99.7012Z\",fill:\"#E9DFF2\"})),_path174||(_path174=/*#__PURE__*/React.createElement(\"path\",{d:\"M214.613 95.426C214.41 95.7668 214.04 95.9756 213.643 95.9756C213.246 95.9756 212.876 95.7668 212.673 95.426C212.462 95.0714 212.462 94.6298 212.673 94.2752C212.876 93.9344 213.246 93.7256 213.643 93.7256C214.04 93.7256 214.41 93.9344 214.613 94.2752C214.824 94.6298 214.824 95.0714 214.613 95.426Z\",fill:\"#E9DFF2\"})),_path175||(_path175=/*#__PURE__*/React.createElement(\"path\",{d:\"M213.876 90.9291C213.832 91.0172 213.742 91.0728 213.643 91.0728C213.545 91.0728 213.454 91.0172 213.41 90.9291L213.408 90.9248C213.371 90.8493 213.371 90.7606 213.408 90.6852L213.41 90.6809C213.454 90.5928 213.545 90.5371 213.643 90.5371C213.742 90.5371 213.832 90.5928 213.876 90.6809L213.878 90.6852C213.915 90.7606 213.915 90.8493 213.878 90.9248L213.876 90.9291Z\",fill:\"#E9DFF2\"})),_path176||(_path176=/*#__PURE__*/React.createElement(\"path\",{d:\"M210.885 89.2098C210.735 89.4677 210.459 89.6265 210.161 89.6265H210.134C209.835 89.6265 209.56 89.4677 209.41 89.2098C209.261 88.9534 209.261 88.6334 209.406 88.3751C209.557 88.1083 209.841 87.939 210.147 87.939C210.453 87.939 210.738 88.1083 210.888 88.3751C211.034 88.6334 211.034 88.9534 210.885 89.2098Z\",fill:\"#E9DFF2\"})),_path177||(_path177=/*#__PURE__*/React.createElement(\"path\",{d:\"M207.979 87.5497C207.705 88.0231 207.199 88.3147 206.652 88.3147C206.105 88.3147 205.599 88.0231 205.325 87.5497C205.052 87.078 205.05 86.4967 205.32 86.023L205.331 86.0027C205.601 85.5277 206.106 85.2344 206.652 85.2344C207.199 85.2344 207.703 85.5277 207.973 86.0027L207.985 86.023C208.254 86.4967 208.252 87.078 207.979 87.5497Z\",fill:\"#E9DFF2\"})),_path178||(_path178=/*#__PURE__*/React.createElement(\"path\",{d:\"M203.662 85.0523C203.556 85.231 203.364 85.3412 203.156 85.3412C202.949 85.3412 202.756 85.231 202.651 85.0523C202.541 84.8674 202.541 84.6364 202.651 84.4515C202.756 84.2728 202.949 84.1626 203.156 84.1626C203.364 84.1626 203.556 84.2728 203.662 84.4515C203.771 84.6364 203.771 84.8674 203.662 85.0523Z\",fill:\"#E9DFF2\"})),_path179||(_path179=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.02 83.5079C200.743 83.9954 200.222 84.2965 199.661 84.2965C199.1 84.2965 198.579 83.9954 198.301 83.5079C198.031 83.0331 198.029 82.4516 198.296 81.9748L198.306 81.9574C198.58 81.4666 199.098 81.1626 199.661 81.1626C200.223 81.1626 200.742 81.4666 201.016 81.9574L201.026 81.9748C201.293 82.4516 201.29 83.0331 201.02 83.5079Z\",fill:\"#E9DFF2\"})),_path180||(_path180=/*#__PURE__*/React.createElement(\"path\",{d:\"M196.984 81.185C196.818 81.4849 196.502 81.6708 196.159 81.6708C195.823 81.6708 195.512 81.4924 195.343 81.2022L195.335 81.1891C195.162 80.8915 195.164 80.5229 195.341 80.2275C195.512 79.9431 195.819 79.769 196.151 79.769H196.167C196.505 79.769 196.818 79.9506 196.986 80.2447C197.15 80.5314 197.152 80.8829 196.992 81.1715L196.984 81.185Z\",fill:\"#E9DFF2\"})),_path181||(_path181=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.347 79.0729C193.21 79.3207 192.946 79.4745 192.663 79.4745C192.387 79.4745 192.129 79.3284 191.989 79.0905C191.847 78.8479 191.847 78.5474 191.989 78.3049C192.129 78.067 192.387 77.9209 192.663 77.9209C192.946 77.9209 193.21 78.0747 193.347 78.3224C193.475 78.556 193.475 78.8394 193.347 79.0729Z\",fill:\"#E9DFF2\"})),_path182||(_path182=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.565 77.4973C190.276 77.9916 189.747 78.2967 189.174 78.2967C188.602 78.2967 188.072 77.9916 187.784 77.4973C187.493 76.9984 187.49 76.3808 187.777 75.8798L187.79 75.8572C188.075 75.3614 188.603 75.0557 189.174 75.0557C189.746 75.0557 190.274 75.3614 190.558 75.8572L190.571 75.8798C190.859 76.3808 190.856 76.9984 190.565 77.4973Z\",fill:\"#E9DFF2\"})),_path183||(_path183=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M187.076 75.4627C186.792 75.9719 186.255 76.2875 185.672 76.2875C185.096 76.2875 184.565 75.9795 184.278 75.4801L184.268 75.4634C183.981 74.9624 183.983 74.346 184.274 73.8471C184.563 73.3513 185.098 73.0464 185.672 73.0464C186.253 73.0464 186.793 73.3589 187.08 73.8645C187.357 74.3545 187.36 74.9538 187.085 75.4457L187.076 75.4627Z\",fill:\"#802DF6\"})),_path184||(_path184=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M183.324 77.3402C183.091 77.7491 182.654 78.0015 182.183 78.0015C181.712 78.0015 181.275 77.7491 181.042 77.3402C180.811 76.9366 180.811 76.4413 181.042 76.0378C181.275 75.6288 181.712 75.3765 182.183 75.3765C182.654 75.3765 183.091 75.6288 183.324 76.0378C183.555 76.4413 183.555 76.9366 183.324 77.3402Z\",fill:\"#802DF6\"})),_path185||(_path185=/*#__PURE__*/React.createElement(\"path\",{d:\"M179.727 79.286C179.516 79.6654 179.115 79.9034 178.681 79.9034C178.254 79.9034 177.858 79.6732 177.645 79.3036C177.429 78.9305 177.429 78.4655 177.645 78.0924C177.858 77.7229 178.254 77.4927 178.681 77.4927C179.115 77.4927 179.516 77.7307 179.727 78.1101C179.929 78.4741 179.929 78.922 179.727 79.286Z\",fill:\"#E9DFF2\"})),_path186||(_path186=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.576 81.5396C176.291 82.0354 175.764 82.3412 175.192 82.3412C174.62 82.3412 174.092 82.0354 173.808 81.5396L173.795 81.5171C173.508 81.0161 173.51 80.3985 173.801 79.8995C174.09 79.4053 174.62 79.1001 175.192 79.1001C175.764 79.1001 176.294 79.4053 176.582 79.8995C176.873 80.3985 176.876 81.0161 176.589 81.5171L176.576 81.5396Z\",fill:\"#E9DFF2\"})),_path187||(_path187=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.096 83.5347C172.81 84.0383 172.268 84.3495 171.69 84.3495C171.118 84.3495 170.582 84.0459 170.294 83.5522C170.002 83.0518 170.002 82.433 170.294 81.9326C170.582 81.4389 171.118 81.1353 171.69 81.1353C172.268 81.1353 172.81 81.4465 173.096 81.9501C173.374 82.4416 173.374 83.0432 173.096 83.5347Z\",fill:\"#E9DFF2\"})),_path188||(_path188=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.59 85.5615C169.302 86.0552 168.766 86.3588 168.194 86.3588C167.615 86.3588 167.073 86.0476 166.788 85.544C166.51 85.0525 166.51 84.4508 166.788 83.9593C167.073 83.4558 167.615 83.1445 168.194 83.1445C168.766 83.1445 169.302 83.4481 169.59 83.9419C169.882 84.4423 169.882 85.0611 169.59 85.5615Z\",fill:\"#E9DFF2\"})),_path189||(_path189=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.284 107.301C158.163 107.503 157.943 107.626 157.708 107.626C157.465 107.626 157.239 107.495 157.121 107.284C157.007 107.081 157.007 106.833 157.121 106.63C157.239 106.418 157.465 106.287 157.708 106.287C157.943 106.287 158.163 106.411 158.284 106.612C158.412 106.824 158.412 107.089 158.284 107.301Z\",fill:\"#E9DFF2\"})),_path190||(_path190=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.97 111.744C158.707 112.195 158.224 112.475 157.701 112.475C157.179 112.475 156.695 112.195 156.432 111.744C156.166 111.286 156.166 110.717 156.432 110.259C156.695 109.808 157.179 109.528 157.701 109.528C158.224 109.528 158.707 109.808 158.97 110.259C159.237 110.717 159.237 111.286 158.97 111.744Z\",fill:\"#E9DFF2\"})),_path191||(_path191=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.971 115.761C158.708 116.212 158.223 116.493 157.701 116.493C157.179 116.493 156.694 116.212 156.431 115.761C156.166 115.305 156.167 114.739 156.435 114.286C156.697 113.844 157.172 113.573 157.685 113.573H157.717C158.23 113.573 158.705 113.844 158.967 114.286C159.236 114.739 159.236 115.305 158.971 115.761Z\",fill:\"#E9DFF2\"})),_path192||(_path192=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.97 119.806C158.707 120.257 158.224 120.537 157.701 120.537C157.179 120.537 156.695 120.257 156.432 119.806C156.166 119.348 156.166 118.779 156.432 118.321C156.695 117.87 157.179 117.59 157.701 117.59C158.224 117.59 158.707 117.87 158.97 118.321C159.237 118.779 159.237 119.348 158.97 119.806Z\",fill:\"#E9DFF2\"})),_path193||(_path193=/*#__PURE__*/React.createElement(\"path\",{d:\"M161.433 129.304C161.386 129.383 161.301 129.431 161.21 129.431C161.118 129.431 161.034 129.383 160.987 129.304L160.985 129.301C160.934 129.216 160.934 129.11 160.985 129.025L160.987 129.021C161.034 128.943 161.118 128.895 161.21 128.895C161.301 128.895 161.386 128.943 161.433 129.021L161.435 129.025C161.486 129.11 161.486 129.216 161.435 129.301L161.433 129.304Z\",fill:\"#E9DFF2\"})),_path194||(_path194=/*#__PURE__*/React.createElement(\"path\",{d:\"M165.187 131.452C165.089 131.625 164.904 131.733 164.705 131.733C164.507 131.733 164.322 131.625 164.223 131.452C164.124 131.279 164.124 131.063 164.223 130.89C164.322 130.717 164.507 130.608 164.705 130.608C164.904 130.608 165.089 130.717 165.187 130.89C165.286 131.063 165.286 131.279 165.187 131.452Z\",fill:\"#E9DFF2\"})),_path195||(_path195=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 142.079C190.276 142.573 189.746 142.876 189.174 142.876C188.603 142.876 188.073 142.573 187.785 142.079C187.493 141.579 187.493 140.96 187.785 140.459C188.073 139.966 188.603 139.662 189.174 139.662C189.746 139.662 190.276 139.966 190.564 140.459C190.855 140.96 190.855 141.579 190.564 142.079Z\",fill:\"#E9DFF2\"})),_path196||(_path196=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 140.067C193.785 140.563 193.254 140.868 192.68 140.868H192.659C192.085 140.868 191.554 140.563 191.265 140.067C190.974 139.568 190.975 138.947 191.262 138.446C191.551 137.943 192.09 137.627 192.67 137.627C193.25 137.627 193.788 137.943 194.077 138.446C194.364 138.947 194.365 139.568 194.074 140.067Z\",fill:\"#E9DFF2\"})),_path197||(_path197=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 138.057C197.265 138.553 196.737 138.859 196.165 138.859C195.593 138.859 195.066 138.553 194.781 138.057L194.768 138.035C194.481 137.534 194.484 136.916 194.775 136.417C195.063 135.923 195.593 135.618 196.165 135.618C196.737 135.618 197.267 135.923 197.556 136.417C197.847 136.916 197.849 137.534 197.562 138.035L197.549 138.057Z\",fill:\"#E9DFF2\"})),_path198||(_path198=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 136.026C200.775 136.52 200.247 136.824 199.675 136.824H199.646C199.075 136.824 198.546 136.52 198.258 136.026C197.966 135.526 197.966 134.907 198.258 134.407C198.546 133.913 199.075 133.609 199.646 133.609H199.675C200.247 133.609 200.775 133.913 201.063 134.407C201.355 134.907 201.355 135.526 201.063 136.026Z\",fill:\"#E9DFF2\"})),_path199||(_path199=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.547 134.015C204.258 134.509 203.729 134.814 203.156 134.814C202.584 134.814 202.054 134.509 201.766 134.015C201.475 133.516 201.472 132.898 201.759 132.397L201.772 132.375C202.057 131.879 202.585 131.573 203.156 131.573C203.728 131.573 204.256 131.879 204.54 132.375L204.553 132.397C204.841 132.898 204.838 133.516 204.547 134.015Z\",fill:\"#E9DFF2\"})),_path200||(_path200=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 131.987C207.77 132.49 207.231 132.806 206.652 132.806C206.072 132.806 205.533 132.49 205.244 131.987C204.957 131.486 204.956 130.864 205.247 130.365C205.536 129.869 206.067 129.564 206.641 129.564H206.662C207.236 129.564 207.767 129.869 208.056 130.365C208.347 130.864 208.346 131.486 208.059 131.987Z\",fill:\"#E9DFF2\"})),_path201||(_path201=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 129.973C211.248 130.466 210.719 130.77 210.147 130.77C209.576 130.77 209.046 130.466 208.758 129.973C208.466 129.472 208.466 128.853 208.758 128.353C209.046 127.859 209.576 127.556 210.147 127.556C210.719 127.556 211.248 127.859 211.536 128.353C211.828 128.853 211.828 129.472 211.536 129.973Z\",fill:\"#E9DFF2\"})),_path202||(_path202=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 127.959C214.758 128.455 214.228 128.76 213.654 128.76H213.632C213.059 128.76 212.528 128.455 212.239 127.959C211.947 127.461 211.948 126.839 212.236 126.338C212.524 125.835 213.063 125.519 213.643 125.519C214.223 125.519 214.762 125.835 215.05 126.338C215.338 126.839 215.339 127.461 215.048 127.959Z\",fill:\"#E9DFF2\"})),_path203||(_path203=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 125.95C218.238 126.446 217.71 126.751 217.138 126.751C216.567 126.751 216.039 126.446 215.754 125.95L215.742 125.927C215.454 125.426 215.457 124.809 215.748 124.31C216.036 123.815 216.566 123.51 217.138 123.51C217.711 123.51 218.241 123.815 218.529 124.31C218.82 124.809 218.823 125.426 218.535 125.927L218.522 125.95Z\",fill:\"#E9DFF2\"})),_path204||(_path204=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.529 121.907C218.241 122.401 217.711 122.706 217.138 122.706C216.566 122.706 216.036 122.401 215.748 121.907C215.457 121.408 215.454 120.79 215.742 120.289L215.754 120.267C216.039 119.771 216.567 119.465 217.138 119.465C217.71 119.465 218.238 119.771 218.522 120.267L218.535 120.289C218.823 120.79 218.82 121.408 218.529 121.907Z\",fill:\"#E9DFF2\"})),_path205||(_path205=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 117.865C218.24 118.359 217.71 118.663 217.138 118.663C216.567 118.663 216.037 118.359 215.749 117.865C215.457 117.365 215.457 116.746 215.749 116.246C216.037 115.752 216.567 115.448 217.138 115.448C217.71 115.448 218.24 115.752 218.528 116.246C218.82 116.746 218.82 117.365 218.528 117.865Z\",fill:\"#E9DFF2\"})),_path206||(_path206=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 113.82C218.24 114.314 217.71 114.618 217.138 114.618C216.567 114.618 216.037 114.314 215.749 113.82C215.457 113.32 215.457 112.701 215.749 112.201C216.037 111.707 216.567 111.403 217.138 111.403C217.71 111.403 218.24 111.707 218.528 112.201C218.82 112.701 218.82 113.32 218.528 113.82Z\",fill:\"#E9DFF2\"})),_path207||(_path207=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.519 109.755C218.236 110.244 217.714 110.546 217.149 110.546H217.128C216.563 110.546 216.041 110.244 215.758 109.755C215.477 109.266 215.477 108.665 215.758 108.177C216.041 107.687 216.563 107.385 217.128 107.385H217.149C217.714 107.385 218.236 107.687 218.519 108.177C218.8 108.665 218.8 109.266 218.519 109.755Z\",fill:\"#E9DFF2\"})),_path208||(_path208=/*#__PURE__*/React.createElement(\"path\",{d:\"M217.595 105.2C217.503 105.359 217.333 105.457 217.149 105.457H217.127C216.944 105.457 216.774 105.359 216.681 105.2C216.591 105.043 216.589 104.851 216.676 104.693L216.682 104.682C216.773 104.516 216.948 104.412 217.138 104.412C217.328 104.412 217.503 104.516 217.595 104.682L217.601 104.693C217.688 104.851 217.686 105.043 217.595 105.2Z\",fill:\"#E9DFF2\"})),_path209||(_path209=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 101.713C218.24 102.207 217.71 102.511 217.138 102.511C216.567 102.511 216.037 102.207 215.749 101.713C215.457 101.213 215.457 100.594 215.749 100.094C216.037 99.6 216.567 99.2964 217.138 99.2964C217.71 99.2964 218.24 99.6 218.528 100.094C218.82 100.594 218.82 101.213 218.528 101.713Z\",fill:\"#E9DFF2\"})),_path210||(_path210=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.522 97.691C218.238 98.1868 217.71 98.4925 217.138 98.4925C216.567 98.4925 216.039 98.1868 215.754 97.691L215.742 97.6684C215.454 97.1675 215.457 96.5498 215.748 96.0509C216.036 95.5566 216.566 95.2515 217.138 95.2515C217.711 95.2515 218.241 95.5566 218.529 96.0509C218.82 96.5498 218.823 97.1675 218.535 97.6684L218.522 97.691Z\",fill:\"#802DF6\"})),_path211||(_path211=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.529 93.6482C218.241 94.1425 217.711 94.4476 217.138 94.4476C216.566 94.4476 216.036 94.1425 215.748 93.6482C215.457 93.1493 215.454 92.5316 215.742 92.0306L215.754 92.0081C216.039 91.5123 216.567 91.2065 217.138 91.2065C217.71 91.2065 218.238 91.5123 218.522 92.0081L218.535 92.0306C218.823 92.5316 218.82 93.1493 218.529 93.6482Z\",fill:\"#802DF6\"})),_path212||(_path212=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.528 89.6059C218.24 90.0996 217.71 90.4033 217.138 90.4033C216.567 90.4033 216.037 90.0996 215.749 89.6059C215.457 89.1055 215.457 88.4867 215.749 87.9863C216.037 87.4926 216.567 87.189 217.138 87.189C217.71 87.189 218.24 87.4926 218.528 87.9863C218.82 88.4867 218.82 89.1055 218.528 89.6059Z\",fill:\"#802DF6\"})),_path213||(_path213=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.01 87.5758C214.729 88.0641 214.207 88.3677 213.643 88.3677C213.08 88.3677 212.558 88.0641 212.276 87.5758C211.996 87.0889 211.992 86.4872 212.269 85.9983L212.284 85.9725C212.561 85.4828 213.08 85.1802 213.643 85.1802C214.206 85.1802 214.725 85.4828 215.003 85.9725L215.018 85.9983C215.295 86.4872 215.291 87.0889 215.01 87.5758Z\",fill:\"#E9DFF2\"})),_path214||(_path214=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 85.5615C211.248 86.0552 210.719 86.3588 210.147 86.3588C209.576 86.3588 209.046 86.0552 208.758 85.5615C208.466 85.0611 208.466 84.4423 208.758 83.9419C209.046 83.4481 209.576 83.1445 210.147 83.1445C210.719 83.1445 211.248 83.4481 211.536 83.9419C211.828 84.4423 211.828 85.0611 211.536 85.5615Z\",fill:\"#E9DFF2\"})),_path215||(_path215=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 83.5522C207.766 84.0459 207.238 84.3495 206.666 84.3495H206.637C206.066 84.3495 205.537 84.0459 205.249 83.5522C204.957 83.0518 204.957 82.433 205.249 81.9326C205.537 81.4389 206.066 81.1353 206.637 81.1353H206.666C207.238 81.1353 207.766 81.4389 208.054 81.9326C208.346 82.433 208.346 83.0518 208.054 83.5522Z\",fill:\"#E9DFF2\"})),_path216||(_path216=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.502 81.5093C204.225 81.9903 203.712 82.2868 203.156 82.2868C202.601 82.2868 202.088 81.9903 201.811 81.5093L201.801 81.4921C201.521 81.0064 201.523 80.4077 201.807 79.9241C202.087 79.4463 202.603 79.1528 203.156 79.1528C203.71 79.1528 204.226 79.4463 204.506 79.924C204.789 80.4077 204.792 81.0064 204.512 81.4922L204.502 81.5093Z\",fill:\"#E9DFF2\"})),_path217||(_path217=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 79.5082C200.775 80.002 200.247 80.3056 199.675 80.3056H199.646C199.075 80.3056 198.546 80.002 198.258 79.5082C197.966 79.0078 197.966 78.3891 198.258 77.8887C198.546 77.3949 199.075 77.0913 199.646 77.0913H199.675C200.247 77.0913 200.775 77.3949 201.063 77.8887C201.355 78.3891 201.355 79.0078 201.063 79.5082Z\",fill:\"#E9DFF2\"})),_path218||(_path218=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M197.556 77.4973C197.267 77.9916 196.737 78.2967 196.165 78.2967C195.593 78.2967 195.063 77.9916 194.775 77.4973C194.484 76.9984 194.481 76.3808 194.768 75.8798L194.781 75.8572C195.066 75.3614 195.593 75.0557 196.165 75.0557C196.737 75.0557 197.265 75.3614 197.549 75.8572L197.562 75.8798C197.849 76.3808 197.847 76.9984 197.556 77.4973Z\",fill:\"#802DF6\"})),_path219||(_path219=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.004 75.4389C193.725 75.9145 193.215 76.2068 192.663 76.2068C192.105 76.2068 191.589 75.9069 191.312 75.4215C191.041 74.9451 191.041 74.3612 191.312 73.8849C191.589 73.3994 192.105 73.0996 192.663 73.0996C193.215 73.0996 193.725 73.3918 194.004 73.8675C194.288 74.3527 194.288 74.9537 194.004 75.4389Z\",fill:\"#E9DFF2\"})),_path220||(_path220=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M190.564 73.4545C190.276 73.9483 189.746 74.2519 189.174 74.2519C188.603 74.2519 188.073 73.9483 187.785 73.4545C187.493 72.9541 187.493 72.3354 187.785 71.8349C188.073 71.3412 188.603 71.0376 189.174 71.0376C189.746 71.0376 190.276 71.3412 190.564 71.8349C190.855 72.3354 190.855 72.9541 190.564 73.4545Z\",fill:\"#802DF6\"})),_path221||(_path221=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M187.08 71.4239C186.793 71.9296 186.253 72.2421 185.672 72.2421C185.098 72.2421 184.563 71.9372 184.274 71.4414C183.983 70.9425 183.981 70.3261 184.268 69.8251L184.278 69.8083C184.565 69.3089 185.096 69.001 185.672 69.001C186.255 69.001 186.792 69.3166 187.076 69.8257L187.085 69.8427C187.36 70.3347 187.357 70.934 187.08 71.4239Z\",fill:\"#802DF6\"})),_path222||(_path222=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M183.572 73.4545C183.284 73.9483 182.755 74.2519 182.183 74.2519C181.612 74.2519 181.082 73.9483 180.794 73.4545C180.502 72.9541 180.502 72.3354 180.794 71.8349C181.082 71.3412 181.612 71.0376 182.183 71.0376C182.755 71.0376 183.284 71.3412 183.572 71.8349C183.864 72.3354 183.864 72.9541 183.572 73.4545Z\",fill:\"#802DF6\"})),_path223||(_path223=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M180.085 75.4627C179.801 75.9719 179.264 76.2875 178.681 76.2875C178.105 76.2875 177.573 75.9795 177.287 75.4801L177.277 75.4634C176.99 74.9624 176.992 74.346 177.283 73.8471C177.572 73.3513 178.107 73.0464 178.681 73.0464C179.262 73.0464 179.802 73.3589 180.089 73.8645C180.366 74.3545 180.368 74.9538 180.094 75.4457L180.085 75.4627Z\",fill:\"#802DF6\"})),_path224||(_path224=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.464 77.4265C176.199 77.882 175.706 78.1622 175.179 78.1622C174.652 78.1622 174.159 77.882 173.894 77.4265C173.628 76.97 173.63 76.3992 173.892 75.9406C174.155 75.4804 174.649 75.189 175.179 75.189C175.709 75.189 176.203 75.4804 176.466 75.9406C176.728 76.3992 176.73 76.97 176.464 77.4265Z\",fill:\"#E9DFF2\"})),_path225||(_path225=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M173.096 79.4908C172.81 79.9944 172.268 80.3056 171.69 80.3056C171.118 80.3056 170.582 80.002 170.294 79.5082C170.002 79.0078 170.002 78.3891 170.294 77.8887C170.582 77.3949 171.118 77.0913 171.69 77.0913C172.268 77.0913 172.81 77.4025 173.096 77.9061C173.374 78.3976 173.374 78.9993 173.096 79.4908Z\",fill:\"#802DF6\"})),_path226||(_path226=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.588 81.5338C169.302 82.0332 168.77 82.3412 168.194 82.3412C167.611 82.3412 167.074 82.0256 166.79 81.5164L166.781 81.4994C166.506 81.0075 166.509 80.4082 166.786 79.9182C167.073 79.4126 167.613 79.1001 168.194 79.1001C168.768 79.1001 169.303 79.405 169.592 79.9008C169.883 80.3997 169.885 81.0161 169.598 81.5171L169.588 81.5338Z\",fill:\"#E9DFF2\"})),_path227||(_path227=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.443 146.057C190.18 146.508 189.696 146.788 189.174 146.788C188.652 146.788 188.168 146.508 187.905 146.057C187.639 145.599 187.639 145.03 187.905 144.572C188.168 144.121 188.652 143.841 189.174 143.841C189.696 143.841 190.18 144.121 190.443 144.572C190.709 145.03 190.709 145.599 190.443 146.057Z\",fill:\"#E9DFF2\"})),_path228||(_path228=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 144.094C193.788 144.597 193.25 144.912 192.67 144.912C192.09 144.912 191.551 144.597 191.262 144.094C190.975 143.593 190.974 142.971 191.265 142.472C191.554 141.976 192.085 141.671 192.659 141.671H192.68C193.254 141.671 193.785 141.976 194.074 142.472C194.365 142.971 194.364 143.593 194.077 144.094Z\",fill:\"#E9DFF2\"})),_path229||(_path229=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 142.079C197.266 142.573 196.737 142.876 196.165 142.876C195.593 142.876 195.064 142.573 194.776 142.079C194.484 141.579 194.484 140.96 194.776 140.459C195.064 139.966 195.593 139.662 196.165 139.662C196.737 139.662 197.266 139.966 197.554 140.459C197.846 140.96 197.846 141.579 197.554 142.079Z\",fill:\"#E9DFF2\"})),_path230||(_path230=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 140.067C200.776 140.563 200.245 140.868 199.671 140.868H199.65C199.076 140.868 198.545 140.563 198.256 140.067C197.965 139.568 197.966 138.947 198.253 138.446C198.542 137.943 199.081 137.627 199.661 137.627C200.241 137.627 200.779 137.943 201.068 138.446C201.355 138.947 201.356 139.568 201.065 140.067Z\",fill:\"#E9DFF2\"})),_path231||(_path231=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.54 138.057C204.256 138.553 203.728 138.859 203.156 138.859C202.585 138.859 202.057 138.553 201.772 138.057L201.759 138.035C201.472 137.534 201.475 136.916 201.766 136.417C202.054 135.923 202.584 135.618 203.156 135.618C203.729 135.618 204.258 135.923 204.547 136.417C204.838 136.916 204.841 137.534 204.553 138.035L204.54 138.057Z\",fill:\"#E9DFF2\"})),_path232||(_path232=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 136.026C207.766 136.52 207.238 136.824 206.666 136.824H206.637C206.066 136.824 205.537 136.52 205.249 136.026C204.957 135.526 204.957 134.907 205.249 134.407C205.537 133.913 206.066 133.609 206.637 133.609H206.666C207.238 133.609 207.766 133.913 208.054 134.407C208.346 134.907 208.346 135.526 208.054 136.026Z\",fill:\"#E9DFF2\"})),_path233||(_path233=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 134.015C211.249 134.509 210.719 134.814 210.147 134.814C209.575 134.814 209.045 134.509 208.757 134.015C208.466 133.516 208.463 132.898 208.75 132.397L208.763 132.375C209.048 131.879 209.576 131.573 210.147 131.573C210.719 131.573 211.247 131.879 211.531 132.375L211.544 132.397C211.832 132.898 211.829 133.516 211.538 134.015Z\",fill:\"#E9DFF2\"})),_path234||(_path234=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 131.987C214.762 132.49 214.223 132.806 213.643 132.806C213.063 132.806 212.524 132.49 212.236 131.987C211.948 131.486 211.947 130.864 212.239 130.365C212.528 129.869 213.059 129.564 213.632 129.564H213.654C214.228 129.564 214.758 129.869 215.048 130.365C215.339 130.864 215.338 131.486 215.05 131.987Z\",fill:\"#E9DFF2\"})),_path235||(_path235=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 129.973C218.24 130.466 217.71 130.77 217.138 130.77C216.567 130.77 216.037 130.466 215.749 129.973C215.457 129.472 215.457 128.853 215.749 128.353C216.037 127.859 216.567 127.556 217.138 127.556C217.71 127.556 218.24 127.859 218.528 128.353C218.82 128.853 218.82 129.472 218.528 129.973Z\",fill:\"#E9DFF2\"})),_path236||(_path236=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.039 127.959C221.749 128.455 221.219 128.76 220.645 128.76H220.623C220.049 128.76 219.519 128.455 219.229 127.959C218.938 127.461 218.939 126.839 219.227 126.338C219.515 125.835 220.054 125.519 220.634 125.519C221.214 125.519 221.753 125.835 222.041 126.338C222.329 126.839 222.33 127.461 222.039 127.959Z\",fill:\"#E9DFF2\"})),_path237||(_path237=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 123.918C221.749 124.412 221.22 124.715 220.648 124.715H220.62C220.048 124.715 219.519 124.412 219.231 123.918C218.94 123.418 218.94 122.799 219.231 122.298C219.519 121.805 220.048 121.501 220.62 121.501H220.648C221.22 121.501 221.749 121.805 222.037 122.298C222.329 122.799 222.329 123.418 222.037 123.918Z\",fill:\"#E9DFF2\"})),_path238||(_path238=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 119.873C221.749 120.367 221.22 120.671 220.648 120.671H220.62C220.048 120.671 219.519 120.367 219.231 119.873C218.94 119.373 218.94 118.754 219.231 118.254C219.519 117.76 220.048 117.457 220.62 117.457H220.648C221.22 117.457 221.749 117.76 222.037 118.254C222.329 118.754 222.329 119.373 222.037 119.873Z\",fill:\"#E9DFF2\"})),_path239||(_path239=/*#__PURE__*/React.createElement(\"path\",{d:\"M221.596 115.586C221.398 115.932 221.031 116.145 220.634 116.145C220.236 116.145 219.869 115.932 219.672 115.586L219.665 115.574C219.469 115.231 219.471 114.809 219.671 114.468C219.869 114.129 220.232 113.921 220.624 113.921H220.643C221.036 113.921 221.399 114.129 221.597 114.468C221.796 114.809 221.799 115.231 221.603 115.574L221.596 115.586Z\",fill:\"#E9DFF2\"})),_path240||(_path240=/*#__PURE__*/React.createElement(\"path\",{d:\"M220.907 111.14C220.854 111.236 220.753 111.296 220.643 111.296H220.625C220.515 111.296 220.414 111.236 220.361 111.14C220.314 111.053 220.312 110.949 220.356 110.861L220.362 110.848C220.414 110.745 220.519 110.68 220.634 110.68C220.749 110.68 220.854 110.745 220.905 110.848L220.912 110.861C220.956 110.949 220.954 111.053 220.907 111.14Z\",fill:\"#E9DFF2\"})),_path241||(_path241=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.033 107.75C221.748 108.253 221.213 108.564 220.634 108.564C220.055 108.564 219.52 108.253 219.235 107.75C218.956 107.258 218.956 106.656 219.235 106.165C219.52 105.661 220.055 105.35 220.634 105.35C221.213 105.35 221.748 105.661 222.033 106.165C222.312 106.656 222.312 107.258 222.033 107.75Z\",fill:\"#E9DFF2\"})),_path242||(_path242=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.041 103.728C221.753 104.231 221.214 104.546 220.634 104.546C220.054 104.546 219.515 104.231 219.227 103.728C218.939 103.227 218.938 102.605 219.229 102.106C219.519 101.61 220.049 101.305 220.623 101.305H220.645C221.219 101.305 221.749 101.61 222.039 102.106C222.33 102.605 222.329 103.227 222.041 103.728Z\",fill:\"#E9DFF2\"})),_path243||(_path243=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M222.039 99.7012C221.749 100.197 221.219 100.502 220.645 100.502H220.623C220.049 100.502 219.519 100.197 219.229 99.7012C218.938 99.2022 218.939 98.5804 219.227 98.0794C219.515 97.5764 220.054 97.2607 220.634 97.2607C221.214 97.2607 221.753 97.5764 222.041 98.0794C222.329 98.5804 222.33 99.2022 222.039 99.7012Z\",fill:\"#802DF6\"})),_path244||(_path244=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M222.037 95.6601C221.749 96.1538 221.22 96.4575 220.648 96.4575H220.62C220.048 96.4575 219.519 96.1538 219.231 95.6601C218.94 95.1597 218.94 94.5409 219.231 94.0405C219.519 93.5468 220.048 93.2432 220.62 93.2432H220.648C221.22 93.2432 221.749 93.5468 222.037 94.0405C222.329 94.5409 222.329 95.1597 222.037 95.6601Z\",fill:\"#802DF6\"})),_path245||(_path245=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M222.037 91.6152C221.749 92.1089 221.22 92.4125 220.648 92.4125H220.62C220.048 92.4125 219.519 92.1089 219.231 91.6152C218.94 91.1148 218.94 90.496 219.231 89.9956C219.519 89.5018 220.048 89.1982 220.62 89.1982H220.648C221.22 89.1982 221.749 89.5018 222.037 89.9956C222.329 90.496 222.329 91.1148 222.037 91.6152Z\",fill:\"#802DF6\"})),_path246||(_path246=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M222.039 87.5942C221.749 88.09 221.219 88.3949 220.645 88.3949H220.623C220.049 88.3949 219.519 88.09 219.229 87.5942C218.938 87.0953 218.939 86.4734 219.227 85.9724C219.515 85.4695 220.054 85.1538 220.634 85.1538C221.214 85.1538 221.753 85.4695 222.041 85.9724C222.329 86.4734 222.33 87.0953 222.039 87.5942Z\",fill:\"#802DF6\"})),_path247||(_path247=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 85.5615C218.24 86.0552 217.71 86.3588 217.138 86.3588C216.567 86.3588 216.037 86.0552 215.749 85.5615C215.457 85.0611 215.457 84.4423 215.749 83.9419C216.037 83.4481 216.567 83.1445 217.138 83.1445C217.71 83.1445 218.24 83.4481 218.528 83.9419C218.82 84.4423 218.82 85.0611 218.528 85.5615Z\",fill:\"#E9DFF2\"})),_path248||(_path248=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 83.5522C214.758 84.0459 214.229 84.3495 213.657 84.3495H213.629C213.057 84.3495 212.528 84.0459 212.24 83.5522C211.949 83.0518 211.949 82.433 212.24 81.9326C212.528 81.4389 213.057 81.1353 213.629 81.1353H213.657C214.229 81.1353 214.758 81.4389 215.046 81.9326C215.338 82.433 215.338 83.0518 215.046 83.5522Z\",fill:\"#E9DFF2\"})),_path249||(_path249=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M211.531 81.5396C211.247 82.0354 210.719 82.3412 210.147 82.3412C209.576 82.3412 209.048 82.0354 208.763 81.5396L208.75 81.5171C208.463 81.0161 208.466 80.3985 208.757 79.8995C209.045 79.4053 209.575 79.1001 210.147 79.1001C210.719 79.1001 211.249 79.4053 211.538 79.8995C211.829 80.3985 211.832 81.0161 211.544 81.5171L211.531 81.5396Z\",fill:\"#802DF6\"})),_path250||(_path250=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 79.5082C207.766 80.002 207.238 80.3056 206.666 80.3056H206.637C206.066 80.3056 205.537 80.002 205.249 79.5082C204.957 79.0078 204.957 78.3891 205.249 77.8887C205.537 77.3949 206.066 77.0913 206.637 77.0913H206.666C207.238 77.0913 207.766 77.3949 208.054 77.8887C208.346 78.3891 208.346 79.0078 208.054 79.5082Z\",fill:\"#E9DFF2\"})),_path251||(_path251=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.547 77.4973C204.258 77.9916 203.729 78.2967 203.156 78.2967C202.584 78.2967 202.054 77.9916 201.766 77.4973C201.475 76.9984 201.472 76.3808 201.759 75.8798L201.772 75.8572C202.057 75.3614 202.585 75.0557 203.156 75.0557C203.728 75.0557 204.256 75.3614 204.54 75.8572L204.553 75.8798C204.841 76.3808 204.838 76.9984 204.547 77.4973Z\",fill:\"#E9DFF2\"})),_path252||(_path252=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 75.4688C200.779 75.9718 200.241 76.2875 199.661 76.2875C199.081 76.2875 198.542 75.9718 198.253 75.4688C197.966 74.9678 197.965 74.346 198.256 73.8471C198.545 73.3513 199.076 73.0464 199.65 73.0464H199.671C200.245 73.0464 200.776 73.3513 201.065 73.8471C201.356 74.346 201.355 74.9678 201.068 75.4688Z\",fill:\"#E9DFF2\"})),_path253||(_path253=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 73.4545C197.266 73.9483 196.737 74.2519 196.165 74.2519C195.593 74.2519 195.064 73.9483 194.776 73.4545C194.484 72.9541 194.484 72.3354 194.776 71.8349C195.064 71.3412 195.593 71.0376 196.165 71.0376C196.737 71.0376 197.266 71.3412 197.554 71.8349C197.846 72.3354 197.846 72.9541 197.554 73.4545Z\",fill:\"#E9DFF2\"})),_path254||(_path254=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 71.4414C193.785 71.9372 193.254 72.2421 192.68 72.2421H192.659C192.085 72.2421 191.554 71.9372 191.265 71.4414C190.974 70.9425 190.975 70.3206 191.262 69.8196C191.551 69.3166 192.09 69.001 192.67 69.001C193.25 69.001 193.788 69.3166 194.077 69.8196C194.364 70.3206 194.365 70.9425 194.074 71.4414Z\",fill:\"#E9DFF2\"})),_path255||(_path255=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M190.558 69.4332C190.274 69.929 189.746 70.2347 189.174 70.2347C188.603 70.2347 188.075 69.929 187.79 69.4332L187.777 69.4106C187.49 68.9096 187.493 68.292 187.784 67.7931C188.072 67.2988 188.602 66.9937 189.174 66.9937C189.747 66.9937 190.276 67.2988 190.565 67.7931C190.856 68.292 190.859 68.9096 190.571 69.4106L190.558 69.4332Z\",fill:\"#802DF6\"})),_path256||(_path256=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M187.078 67.3834C186.793 67.8869 186.251 68.1982 185.672 68.1982C185.1 68.1982 184.564 67.8946 184.276 67.4008C183.984 66.9004 183.984 66.2816 184.276 65.7812C184.564 65.2875 185.1 64.9839 185.672 64.9839C186.251 64.9839 186.793 65.2951 187.078 65.7987C187.356 66.2902 187.356 66.8919 187.078 67.3834Z\",fill:\"#802DF6\"})),_path257||(_path257=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.567 69.4332C183.283 69.929 182.755 70.2347 182.183 70.2347C181.612 70.2347 181.084 69.929 180.799 69.4332L180.786 69.4106C180.499 68.9096 180.502 68.292 180.793 67.7931C181.081 67.2988 181.611 66.9937 182.183 66.9937C182.755 66.9937 183.285 67.2988 183.574 67.7931C183.865 68.292 183.868 68.9096 183.58 69.4106L183.567 69.4332Z\",fill:\"#802DF6\"})),_path258||(_path258=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M180.089 71.4239C179.802 71.9296 179.262 72.2421 178.681 72.2421C178.107 72.2421 177.572 71.9372 177.283 71.4414C176.992 70.9425 176.99 70.3261 177.277 69.8251L177.287 69.8083C177.573 69.3089 178.105 69.001 178.681 69.001C179.264 69.001 179.801 69.3166 180.085 69.8257L180.094 69.8427C180.368 70.3347 180.366 70.934 180.089 71.4239Z\",fill:\"#802DF6\"})),_path259||(_path259=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M176.536 73.4122C176.26 73.8976 175.744 74.1975 175.185 74.1975C174.634 74.1975 174.123 73.9052 173.844 73.4296C173.56 72.9444 173.56 72.3434 173.844 71.8582C174.123 71.3826 174.634 71.0903 175.185 71.0903C175.744 71.0903 176.26 71.3902 176.536 71.8756C176.807 72.352 176.807 72.9359 176.536 73.4122Z\",fill:\"#802DF6\"})),_path260||(_path260=/*#__PURE__*/React.createElement(\"path\",{d:\"M168.58 76.8961C168.503 77.0331 168.358 77.1178 168.201 77.1178H168.188C168.038 77.1178 167.898 77.0405 167.819 76.9132C167.733 76.7756 167.73 76.6015 167.813 76.4616L167.821 76.4476C167.899 76.3152 168.041 76.2339 168.195 76.2339C168.355 76.2339 168.502 76.3226 168.578 76.4646L168.586 76.4795C168.655 76.6102 168.653 76.7672 168.58 76.8961Z\",fill:\"#E9DFF2\"})),_path261||(_path261=/*#__PURE__*/React.createElement(\"path\",{d:\"M150.961 115.172C150.914 115.259 150.822 115.313 150.723 115.313C150.624 115.313 150.533 115.259 150.486 115.172L150.477 115.157C150.43 115.071 150.433 114.968 150.483 114.884C150.532 114.802 150.622 114.751 150.718 114.751H150.729C150.825 114.751 150.914 114.802 150.964 114.884C151.014 114.968 151.016 115.071 150.97 115.157L150.961 115.172Z\",fill:\"#E9DFF2\"})),_path262||(_path262=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.077 149.881C189.891 150.204 189.547 150.403 189.174 150.403C188.801 150.403 188.457 150.204 188.271 149.881L188.261 149.863C188.072 149.534 188.074 149.13 188.266 148.804C188.455 148.484 188.802 148.287 189.174 148.287C189.546 148.287 189.893 148.484 190.082 148.804C190.274 149.13 190.276 149.534 190.088 149.863L190.077 149.881Z\",fill:\"#E9DFF2\"})),_path263||(_path263=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 148.133C193.784 148.626 193.256 148.93 192.684 148.93H192.655C192.084 148.93 191.555 148.626 191.267 148.133C190.975 147.632 190.975 147.014 191.267 146.513C191.555 146.019 192.084 145.716 192.655 145.716H192.684C193.256 145.716 193.784 146.019 194.072 146.513C194.364 147.014 194.364 147.632 194.072 148.133Z\",fill:\"#E9DFF2\"})),_path264||(_path264=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 146.122C197.267 146.616 196.737 146.921 196.165 146.921C195.593 146.921 195.063 146.616 194.775 146.122C194.484 145.623 194.481 145.005 194.768 144.504L194.781 144.482C195.066 143.986 195.593 143.68 196.165 143.68C196.737 143.68 197.265 143.986 197.549 144.482L197.562 144.504C197.849 145.005 197.847 145.623 197.556 146.122Z\",fill:\"#E9DFF2\"})),_path265||(_path265=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 144.094C200.779 144.597 200.241 144.912 199.661 144.912C199.081 144.912 198.542 144.597 198.253 144.094C197.966 143.593 197.965 142.971 198.256 142.472C198.545 141.976 199.076 141.671 199.65 141.671H199.671C200.245 141.671 200.776 141.976 201.065 142.472C201.356 142.971 201.355 143.593 201.068 144.094Z\",fill:\"#E9DFF2\"})),_path266||(_path266=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 142.079C204.258 142.573 203.728 142.876 203.156 142.876C202.585 142.876 202.055 142.573 201.767 142.079C201.475 141.579 201.475 140.96 201.767 140.459C202.055 139.966 202.585 139.662 203.156 139.662C203.728 139.662 204.258 139.966 204.546 140.459C204.837 140.96 204.837 141.579 204.546 142.079Z\",fill:\"#E9DFF2\"})),_path267||(_path267=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 140.067C207.767 140.563 207.236 140.868 206.662 140.868H206.641C206.067 140.868 205.536 140.563 205.247 140.067C204.956 139.568 204.957 138.947 205.244 138.446C205.533 137.943 206.072 137.627 206.652 137.627C207.231 137.627 207.77 137.943 208.059 138.446C208.346 138.947 208.347 139.568 208.056 140.067Z\",fill:\"#E9DFF2\"})),_path268||(_path268=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 138.057C211.247 138.553 210.719 138.859 210.147 138.859C209.576 138.859 209.048 138.553 208.763 138.057L208.75 138.035C208.463 137.534 208.466 136.916 208.757 136.417C209.045 135.923 209.575 135.618 210.147 135.618C210.719 135.618 211.249 135.923 211.538 136.417C211.829 136.916 211.832 137.534 211.544 138.035L211.531 138.057Z\",fill:\"#E9DFF2\"})),_path269||(_path269=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 136.026C214.758 136.52 214.229 136.824 213.657 136.824H213.629C213.057 136.824 212.528 136.52 212.24 136.026C211.949 135.526 211.949 134.907 212.24 134.407C212.528 133.913 213.057 133.609 213.629 133.609H213.657C214.229 133.609 214.758 133.913 215.046 134.407C215.338 134.907 215.338 135.526 215.046 136.026Z\",fill:\"#E9DFF2\"})),_path270||(_path270=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.529 134.015C218.241 134.509 217.711 134.814 217.138 134.814C216.566 134.814 216.036 134.509 215.748 134.015C215.457 133.516 215.454 132.898 215.742 132.397L215.754 132.375C216.039 131.879 216.567 131.573 217.138 131.573C217.71 131.573 218.238 131.879 218.522 132.375L218.535 132.397C218.823 132.898 218.82 133.516 218.529 134.015Z\",fill:\"#E9DFF2\"})),_path271||(_path271=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.041 131.987C221.753 132.49 221.214 132.806 220.634 132.806C220.054 132.806 219.515 132.49 219.227 131.987C218.939 131.486 218.938 130.864 219.229 130.365C219.519 129.869 220.049 129.564 220.623 129.564H220.645C221.219 129.564 221.749 129.869 222.039 130.365C222.33 130.864 222.329 131.486 222.041 131.987Z\",fill:\"#E9DFF2\"})),_path272||(_path272=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.519 129.973C225.231 130.466 224.701 130.77 224.13 130.77C223.558 130.77 223.028 130.466 222.74 129.973C222.449 129.472 222.449 128.853 222.74 128.353C223.028 127.859 223.558 127.556 224.13 127.556C224.701 127.556 225.231 127.859 225.519 128.353C225.811 128.853 225.811 129.472 225.519 129.973Z\",fill:\"#E9DFF2\"})),_path273||(_path273=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.514 125.95C225.229 126.446 224.701 126.751 224.13 126.751C223.558 126.751 223.03 126.446 222.746 125.95L222.733 125.927C222.445 125.426 222.448 124.809 222.739 124.31C223.028 123.815 223.557 123.51 224.13 123.51C224.702 123.51 225.232 123.815 225.52 124.31C225.811 124.809 225.814 125.426 225.527 125.927L225.514 125.95Z\",fill:\"#E9DFF2\"})),_path274||(_path274=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.512 121.885C225.228 122.377 224.697 122.68 224.129 122.68C223.562 122.68 223.031 122.377 222.747 121.885C222.467 121.398 222.469 120.792 222.746 120.303C223.027 119.806 223.558 119.492 224.129 119.492C224.701 119.492 225.232 119.806 225.513 120.303C225.79 120.792 225.792 121.398 225.512 121.885Z\",fill:\"#E9DFF2\"})),_path275||(_path275=/*#__PURE__*/React.createElement(\"path\",{d:\"M224.596 117.328C224.497 117.491 224.32 117.591 224.129 117.591C223.939 117.591 223.761 117.491 223.663 117.328C223.562 117.159 223.56 116.95 223.658 116.779L223.669 116.76C223.763 116.595 223.939 116.493 224.129 116.493C224.32 116.493 224.496 116.595 224.59 116.76L224.601 116.779C224.699 116.95 224.696 117.159 224.596 117.328Z\",fill:\"#E9DFF2\"})),_path276||(_path276=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.389 113.734C225.133 114.179 224.657 114.457 224.143 114.457C223.63 114.457 223.153 114.179 222.898 113.734C222.642 113.288 222.642 112.733 222.898 112.287C223.153 111.842 223.63 111.564 224.143 111.564C224.657 111.564 225.133 111.842 225.389 112.287C225.645 112.733 225.645 113.288 225.389 113.734Z\",fill:\"#E9DFF2\"})),_path277||(_path277=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.514 109.798C225.229 110.294 224.701 110.6 224.13 110.6C223.558 110.6 223.03 110.294 222.746 109.798L222.733 109.776C222.445 109.275 222.448 108.657 222.739 108.158C223.028 107.664 223.557 107.359 224.13 107.359C224.702 107.359 225.232 107.664 225.52 108.158C225.811 108.657 225.814 109.275 225.527 109.776L225.514 109.798Z\",fill:\"#E9DFF2\"})),_path278||(_path278=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.52 105.756C225.232 106.25 224.702 106.555 224.13 106.555C223.557 106.555 223.028 106.25 222.739 105.756C222.448 105.257 222.445 104.639 222.733 104.138L222.746 104.116C223.03 103.62 223.558 103.314 224.13 103.314C224.701 103.314 225.229 103.62 225.514 104.116L225.527 104.138C225.814 104.639 225.811 105.257 225.52 105.756Z\",fill:\"#E9DFF2\"})),_path279||(_path279=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M225.519 101.713C225.231 102.207 224.701 102.511 224.13 102.511C223.558 102.511 223.028 102.207 222.74 101.713C222.449 101.213 222.449 100.594 222.74 100.094C223.028 99.6 223.558 99.2964 224.13 99.2964C224.701 99.2964 225.231 99.6 225.519 100.094C225.811 100.594 225.811 101.213 225.519 101.713Z\",fill:\"#802DF6\"})),_path280||(_path280=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M225.514 97.691C225.229 98.1868 224.701 98.4925 224.13 98.4925C223.558 98.4925 223.03 98.1868 222.746 97.691L222.733 97.6684C222.445 97.1675 222.448 96.5498 222.739 96.0509C223.028 95.5566 223.557 95.2515 224.13 95.2515C224.702 95.2515 225.232 95.5566 225.52 96.0509C225.811 96.5498 225.814 97.1675 225.527 97.6684L225.514 97.691Z\",fill:\"#802DF6\"})),_path281||(_path281=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.52 93.6482C225.232 94.1425 224.702 94.4476 224.13 94.4476C223.557 94.4476 223.028 94.1425 222.739 93.6482C222.448 93.1493 222.445 92.5316 222.733 92.0306L222.746 92.0081C223.03 91.5123 223.558 91.2065 224.13 91.2065C224.701 91.2065 225.229 91.5123 225.514 92.0081L225.527 92.0306C225.814 92.5316 225.811 93.1493 225.52 93.6482Z\",fill:\"#802DF6\"})),_path282||(_path282=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M225.519 89.6059C225.231 90.0996 224.701 90.4033 224.13 90.4033C223.558 90.4033 223.028 90.0996 222.74 89.6059C222.449 89.1055 222.449 88.4867 222.74 87.9863C223.028 87.4926 223.558 87.189 224.13 87.189C224.701 87.189 225.231 87.4926 225.519 87.9863C225.811 88.4867 225.811 89.1055 225.519 89.6059Z\",fill:\"#802DF6\"})),_path283||(_path283=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M225.519 85.5615C225.231 86.0552 224.701 86.3588 224.13 86.3588C223.558 86.3588 223.028 86.0552 222.74 85.5615C222.449 85.0611 222.449 84.4423 222.74 83.9419C223.028 83.4481 223.558 83.1445 224.13 83.1445C224.701 83.1445 225.231 83.4481 225.519 83.9419C225.811 84.4423 225.811 85.0611 225.519 85.5615Z\",fill:\"#802DF6\"})),_path284||(_path284=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 83.5522C221.749 84.0459 221.22 84.3495 220.648 84.3495H220.62C220.048 84.3495 219.519 84.0459 219.231 83.5522C218.94 83.0518 218.94 82.433 219.231 81.9326C219.519 81.4389 220.048 81.1353 220.62 81.1353H220.648C221.22 81.1353 221.749 81.4389 222.037 81.9326C222.329 82.433 222.329 83.0518 222.037 83.5522Z\",fill:\"#E9DFF2\"})),_path285||(_path285=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 81.5396C218.238 82.0354 217.71 82.3412 217.138 82.3412C216.567 82.3412 216.039 82.0354 215.754 81.5396L215.742 81.5171C215.454 81.0161 215.457 80.3984 215.748 79.8995C216.036 79.4053 216.566 79.1001 217.138 79.1001C217.711 79.1001 218.241 79.4053 218.529 79.8995C218.82 80.3984 218.823 81.0161 218.535 81.5171L218.522 81.5396Z\",fill:\"#E9DFF2\"})),_path286||(_path286=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 79.5082C214.758 80.002 214.229 80.3056 213.657 80.3056H213.629C213.057 80.3056 212.528 80.002 212.24 79.5082C211.949 79.0078 211.949 78.3891 212.24 77.8887C212.528 77.3949 213.057 77.0913 213.629 77.0913H213.657C214.229 77.0913 214.758 77.3949 215.046 77.8887C215.338 78.3891 215.338 79.0078 215.046 79.5082Z\",fill:\"#E9DFF2\"})),_path287||(_path287=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 77.4973C211.249 77.9916 210.719 78.2967 210.147 78.2967C209.575 78.2967 209.045 77.9916 208.757 77.4973C208.466 76.9984 208.463 76.3808 208.75 75.8798L208.763 75.8572C209.048 75.3614 209.576 75.0557 210.147 75.0557C210.719 75.0557 211.247 75.3614 211.531 75.8572L211.544 75.8798C211.832 76.3808 211.829 76.9984 211.538 77.4973Z\",fill:\"#E9DFF2\"})),_path288||(_path288=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 75.4688C207.77 75.9718 207.231 76.2875 206.652 76.2875C206.072 76.2875 205.533 75.9718 205.244 75.4688C204.957 74.9678 204.956 74.346 205.247 73.8471C205.536 73.3513 206.067 73.0464 206.641 73.0464H206.662C207.236 73.0464 207.767 73.3513 208.056 73.8471C208.347 74.346 208.346 74.9678 208.059 75.4688Z\",fill:\"#E9DFF2\"})),_path289||(_path289=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 73.4545C204.258 73.9483 203.728 74.2519 203.156 74.2519C202.585 74.2519 202.055 73.9483 201.767 73.4545C201.475 72.9541 201.475 72.3354 201.767 71.8349C202.055 71.3412 202.585 71.0376 203.156 71.0376C203.728 71.0376 204.258 71.3412 204.546 71.8349C204.837 72.3354 204.837 72.9541 204.546 73.4545Z\",fill:\"#E9DFF2\"})),_path290||(_path290=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 71.4414C200.776 71.9372 200.245 72.2421 199.671 72.2421H199.65C199.076 72.2421 198.545 71.9372 198.256 71.4414C197.965 70.9425 197.966 70.3206 198.253 69.8196C198.542 69.3166 199.081 69.001 199.661 69.001C200.241 69.001 200.779 69.3166 201.068 69.8196C201.355 70.3206 201.356 70.9425 201.065 71.4414Z\",fill:\"#E9DFF2\"})),_path291||(_path291=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 69.4332C197.265 69.929 196.737 70.2347 196.165 70.2347C195.593 70.2347 195.066 69.929 194.781 69.4332L194.768 69.4106C194.481 68.9096 194.484 68.292 194.775 67.7931C195.063 67.2988 195.593 66.9937 196.165 66.9937C196.737 66.9937 197.267 67.2988 197.556 67.7931C197.847 68.292 197.849 68.9096 197.562 69.4106L197.549 69.4332Z\",fill:\"#E9DFF2\"})),_path292||(_path292=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 67.4008C193.784 67.8946 193.256 68.1982 192.684 68.1982H192.655C192.084 68.1982 191.555 67.8946 191.267 67.4008C190.975 66.9004 190.975 66.2816 191.267 65.7812C191.555 65.2875 192.084 64.9839 192.655 64.9839H192.684C193.256 64.9839 193.784 65.2875 194.072 65.7812C194.364 66.2816 194.364 66.9004 194.072 67.4008Z\",fill:\"#E9DFF2\"})),_path293||(_path293=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M190.565 65.3899C190.276 65.8842 189.747 66.1893 189.174 66.1893C188.602 66.1893 188.072 65.8842 187.784 65.3899C187.493 64.891 187.49 64.2733 187.777 63.7723L187.79 63.7498C188.075 63.254 188.603 62.9482 189.174 62.9482C189.746 62.9482 190.274 63.254 190.558 63.7498L190.571 63.7723C190.859 64.2733 190.856 64.891 190.565 65.3899Z\",fill:\"#802DF6\"})),_path294||(_path294=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M187.076 63.3553C186.792 63.8644 186.255 64.18 185.672 64.18C185.096 64.18 184.565 63.8721 184.278 63.3727L184.268 63.3559C183.981 62.855 183.983 62.2385 184.274 61.7396C184.563 61.2438 185.098 60.939 185.672 60.939C186.253 60.939 186.793 61.2515 187.08 61.7571C187.357 62.2471 187.36 62.8463 187.085 63.3383L187.076 63.3553Z\",fill:\"#802DF6\"})),_path295||(_path295=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M183.574 65.3899C183.285 65.8842 182.755 66.1893 182.183 66.1893C181.611 66.1893 181.081 65.8842 180.793 65.3899C180.502 64.891 180.499 64.2733 180.786 63.7723L180.799 63.7498C181.084 63.254 181.612 62.9482 182.183 62.9482C182.755 62.9482 183.283 63.254 183.567 63.7498L183.58 63.7723C183.868 64.2733 183.865 64.891 183.574 65.3899Z\",fill:\"#802DF6\"})),_path296||(_path296=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M180.087 67.3834C179.801 67.8869 179.26 68.1982 178.681 68.1982C178.109 68.1982 177.573 67.8946 177.285 67.4008C176.993 66.9004 176.993 66.2816 177.285 65.7812C177.573 65.2875 178.109 64.9839 178.681 64.9839C179.26 64.9839 179.801 65.2951 180.087 65.7987C180.365 66.2902 180.365 66.8919 180.087 67.3834Z\",fill:\"#802DF6\"})),_path297||(_path297=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M176.577 69.393C176.294 69.8935 175.761 70.207 175.185 70.207C174.617 70.207 174.089 69.9012 173.803 69.4105C173.513 68.9127 173.513 68.2925 173.807 67.7969C174.093 67.315 174.611 67.0195 175.172 67.0195H175.199C175.766 67.0195 176.291 67.3225 176.574 67.8141C176.855 68.301 176.854 68.9041 176.577 69.393Z\",fill:\"#802DF6\"})),_path298||(_path298=/*#__PURE__*/React.createElement(\"path\",{d:\"M172.902 71.332C172.653 71.7627 172.193 72.0284 171.696 72.0284C171.199 72.0284 170.739 71.7627 170.491 71.332C170.242 70.9012 170.242 70.3699 170.491 69.9391C170.739 69.5084 171.199 69.2427 171.696 69.2427C172.193 69.2427 172.653 69.5084 172.902 69.9391C173.15 70.3699 173.15 70.9012 172.902 71.332Z\",fill:\"#E9DFF2\"})),_path299||(_path299=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 152.178C193.784 152.671 193.256 152.975 192.684 152.975H192.655C192.084 152.975 191.555 152.671 191.267 152.178C190.975 151.677 190.975 151.058 191.267 150.558C191.555 150.064 192.084 149.761 192.655 149.761H192.684C193.256 149.761 193.784 150.064 194.072 150.558C194.364 151.058 194.364 151.677 194.072 152.178Z\",fill:\"#E9DFF2\"})),_path300||(_path300=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M197.549 150.164C197.265 150.66 196.737 150.966 196.165 150.966C195.593 150.966 195.066 150.66 194.781 150.164L194.768 150.142C194.481 149.641 194.484 149.023 194.775 148.524C195.063 148.03 195.593 147.725 196.165 147.725C196.737 147.725 197.267 148.03 197.556 148.524C197.847 149.023 197.849 149.641 197.562 150.142L197.549 150.164Z\",fill:\"#802DF6\"})),_path301||(_path301=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 148.133C200.775 148.626 200.247 148.93 199.675 148.93H199.646C199.075 148.93 198.546 148.626 198.258 148.133C197.966 147.632 197.966 147.014 198.258 146.513C198.546 146.019 199.075 145.716 199.646 145.716H199.675C200.247 145.716 200.775 146.019 201.063 146.513C201.355 147.014 201.355 147.632 201.063 148.133Z\",fill:\"#E9DFF2\"})),_path302||(_path302=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.547 146.122C204.258 146.616 203.729 146.921 203.156 146.921C202.584 146.921 202.054 146.616 201.766 146.122C201.475 145.623 201.472 145.005 201.759 144.504L201.772 144.482C202.057 143.986 202.585 143.68 203.156 143.68C203.728 143.68 204.256 143.986 204.54 144.482L204.553 144.504C204.841 145.005 204.838 145.623 204.547 146.122Z\",fill:\"#E9DFF2\"})),_path303||(_path303=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 144.094C207.77 144.597 207.231 144.912 206.652 144.912C206.072 144.912 205.533 144.597 205.244 144.094C204.957 143.593 204.956 142.971 205.247 142.472C205.536 141.976 206.067 141.671 206.641 141.671H206.662C207.236 141.671 207.767 141.976 208.056 142.472C208.347 142.971 208.346 143.593 208.059 144.094Z\",fill:\"#E9DFF2\"})),_path304||(_path304=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M211.536 142.079C211.248 142.573 210.719 142.876 210.147 142.876C209.576 142.876 209.046 142.573 208.758 142.079C208.466 141.579 208.466 140.96 208.758 140.459C209.046 139.966 209.576 139.662 210.147 139.662C210.719 139.662 211.248 139.966 211.536 140.459C211.828 140.96 211.828 141.579 211.536 142.079Z\",fill:\"#802DF6\"})),_path305||(_path305=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 140.067C214.758 140.563 214.228 140.868 213.654 140.868H213.632C213.059 140.868 212.528 140.563 212.239 140.067C211.947 139.568 211.948 138.947 212.236 138.446C212.524 137.943 213.063 137.627 213.643 137.627C214.223 137.627 214.762 137.943 215.05 138.446C215.338 138.947 215.339 139.568 215.048 140.067Z\",fill:\"#E9DFF2\"})),_path306||(_path306=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 138.057C218.238 138.553 217.71 138.859 217.138 138.859C216.567 138.859 216.039 138.553 215.754 138.057L215.742 138.035C215.454 137.534 215.457 136.916 215.748 136.417C216.036 135.923 216.566 135.618 217.138 135.618C217.711 135.618 218.241 135.923 218.529 136.417C218.82 136.916 218.823 137.534 218.535 138.035L218.522 138.057Z\",fill:\"#E9DFF2\"})),_path307||(_path307=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 136.026C221.749 136.52 221.22 136.824 220.648 136.824H220.62C220.048 136.824 219.519 136.52 219.231 136.026C218.94 135.526 218.94 134.907 219.231 134.407C219.519 133.913 220.048 133.609 220.62 133.609H220.648C221.22 133.609 221.749 133.913 222.037 134.407C222.329 134.907 222.329 135.526 222.037 136.026Z\",fill:\"#E9DFF2\"})),_path308||(_path308=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.52 134.015C225.232 134.509 224.702 134.814 224.13 134.814C223.557 134.814 223.028 134.509 222.739 134.015C222.448 133.516 222.445 132.898 222.733 132.397L222.746 132.375C223.03 131.879 223.558 131.573 224.13 131.573C224.701 131.573 225.229 131.879 225.514 132.375L225.527 132.397C225.814 132.898 225.811 133.516 225.52 134.015Z\",fill:\"#E9DFF2\"})),_path309||(_path309=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 131.987C228.744 132.49 228.205 132.806 227.625 132.806C227.045 132.806 226.507 132.49 226.218 131.987C225.931 131.486 225.93 130.864 226.221 130.365C226.51 129.869 227.041 129.564 227.615 129.564H227.636C228.21 129.564 228.741 129.869 229.03 130.365C229.321 130.864 229.32 131.486 229.032 131.987Z\",fill:\"#E9DFF2\"})),_path310||(_path310=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.03 127.959C228.741 128.455 228.21 128.76 227.636 128.76H227.615C227.041 128.76 226.51 128.455 226.221 127.959C225.93 127.461 225.931 126.839 226.218 126.338C226.507 125.835 227.045 125.519 227.625 125.519C228.205 125.519 228.744 125.835 229.032 126.338C229.32 126.839 229.321 127.461 229.03 127.959Z\",fill:\"#E9DFF2\"})),_path311||(_path311=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.024 123.9C228.739 124.404 228.204 124.715 227.625 124.715C227.046 124.715 226.511 124.404 226.226 123.9C225.947 123.409 225.947 122.807 226.226 122.316C226.511 121.812 227.046 121.501 227.625 121.501C228.204 121.501 228.739 121.812 229.024 122.316C229.303 122.807 229.303 123.409 229.024 123.9Z\",fill:\"#E9DFF2\"})),_path312||(_path312=/*#__PURE__*/React.createElement(\"path\",{d:\"M228.917 119.826C228.648 120.283 228.156 120.564 227.625 120.564C227.094 120.564 226.602 120.283 226.333 119.826C226.056 119.356 226.056 118.772 226.333 118.302C226.602 117.845 227.094 117.564 227.625 117.564C228.156 117.564 228.648 117.845 228.917 118.302C229.194 118.772 229.194 119.356 228.917 119.826Z\",fill:\"#E9DFF2\"})),_path313||(_path313=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 115.835C228.744 116.338 228.205 116.654 227.625 116.654C227.045 116.654 226.507 116.338 226.218 115.835C225.931 115.334 225.93 114.712 226.221 114.213C226.51 113.717 227.041 113.413 227.615 113.413H227.636C228.21 113.413 228.741 113.717 229.03 114.213C229.321 114.712 229.32 115.334 229.032 115.835Z\",fill:\"#E9DFF2\"})),_path314||(_path314=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.03 111.808C228.741 112.304 228.21 112.609 227.636 112.609H227.615C227.041 112.609 226.51 112.304 226.221 111.808C225.93 111.309 225.931 110.687 226.218 110.186C226.507 109.683 227.045 109.368 227.625 109.368C228.205 109.368 228.744 109.683 229.032 110.186C229.32 110.687 229.321 111.309 229.03 111.808Z\",fill:\"#E9DFF2\"})),_path315||(_path315=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 107.767C228.74 108.261 228.211 108.564 227.64 108.564H227.611C227.039 108.564 226.511 108.261 226.223 107.767C225.931 107.267 225.931 106.648 226.223 106.147C226.511 105.654 227.039 105.35 227.611 105.35H227.64C228.211 105.35 228.74 105.654 229.028 106.147C229.32 106.648 229.32 107.267 229.028 107.767Z\",fill:\"#E9DFF2\"})),_path316||(_path316=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 103.728C228.744 104.231 228.205 104.546 227.625 104.546C227.045 104.546 226.507 104.231 226.218 103.728C225.931 103.227 225.93 102.605 226.221 102.106C226.51 101.61 227.041 101.305 227.615 101.305H227.636C228.21 101.305 228.741 101.61 229.03 102.106C229.321 102.605 229.32 103.227 229.032 103.728Z\",fill:\"#E9DFF2\"})),_path317||(_path317=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M229.03 99.7012C228.741 100.197 228.21 100.502 227.636 100.502H227.615C227.041 100.502 226.51 100.197 226.221 99.7012C225.93 99.2022 225.931 98.5804 226.218 98.0794C226.507 97.5764 227.045 97.2607 227.625 97.2607C228.205 97.2607 228.744 97.5764 229.032 98.0794C229.32 98.5804 229.321 99.2022 229.03 99.7012Z\",fill:\"#802DF6\"})),_path318||(_path318=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M229.028 95.6601C228.74 96.1538 228.211 96.4575 227.64 96.4575H227.611C227.039 96.4575 226.511 96.1538 226.223 95.6601C225.931 95.1597 225.931 94.5409 226.223 94.0405C226.511 93.5468 227.039 93.2432 227.611 93.2432H227.64C228.211 93.2432 228.74 93.5468 229.028 94.0405C229.32 94.5409 229.32 95.1597 229.028 95.6601Z\",fill:\"#802DF6\"})),_path319||(_path319=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M229.028 91.6152C228.74 92.1089 228.211 92.4125 227.64 92.4125H227.611C227.039 92.4125 226.511 92.1089 226.223 91.6152C225.931 91.1148 225.931 90.496 226.223 89.9956C226.511 89.5018 227.039 89.1982 227.611 89.1982H227.64C228.211 89.1982 228.74 89.5018 229.028 89.9956C229.32 90.496 229.32 91.1148 229.028 91.6152Z\",fill:\"#802DF6\"})),_path320||(_path320=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M229.03 87.5942C228.741 88.09 228.21 88.3949 227.636 88.3949H227.615C227.041 88.3949 226.51 88.09 226.221 87.5942C225.93 87.0953 225.931 86.4734 226.218 85.9724C226.507 85.4695 227.045 85.1538 227.625 85.1538C228.205 85.1538 228.744 85.4695 229.032 85.9724C229.32 86.4734 229.321 87.0953 229.03 87.5942Z\",fill:\"#802DF6\"})),_path321||(_path321=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 83.5522C228.74 84.0459 228.211 84.3495 227.64 84.3495H227.611C227.039 84.3495 226.511 84.0459 226.223 83.5522C225.931 83.0518 225.931 82.433 226.223 81.9326C226.511 81.4389 227.039 81.1353 227.611 81.1353H227.64C228.211 81.1353 228.74 81.4389 229.028 81.9326C229.32 82.433 229.32 83.0518 229.028 83.5522Z\",fill:\"#E9DFF2\"})),_path322||(_path322=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.514 81.5396C225.229 82.0354 224.701 82.3412 224.13 82.3412C223.558 82.3412 223.03 82.0354 222.746 81.5396L222.733 81.5171C222.445 81.0161 222.448 80.3985 222.739 79.8995C223.028 79.4053 223.557 79.1001 224.13 79.1001C224.702 79.1001 225.232 79.4053 225.52 79.8995C225.811 80.3985 225.814 81.0161 225.527 81.5171L225.514 81.5396Z\",fill:\"#E9DFF2\"})),_path323||(_path323=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 79.5082C221.749 80.002 221.22 80.3056 220.648 80.3056H220.62C220.048 80.3056 219.519 80.002 219.231 79.5082C218.94 79.0078 218.94 78.3891 219.231 77.8887C219.519 77.3949 220.048 77.0913 220.62 77.0913H220.648C221.22 77.0913 221.749 77.3949 222.037 77.8887C222.329 78.3891 222.329 79.0078 222.037 79.5082Z\",fill:\"#E9DFF2\"})),_path324||(_path324=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.529 77.4973C218.241 77.9916 217.711 78.2967 217.138 78.2967C216.566 78.2967 216.036 77.9916 215.748 77.4973C215.457 76.9984 215.454 76.3808 215.742 75.8798L215.754 75.8572C216.039 75.3614 216.567 75.0557 217.138 75.0557C217.71 75.0557 218.238 75.3614 218.522 75.8572L218.535 75.8798C218.823 76.3808 218.82 76.9984 218.529 77.4973Z\",fill:\"#E9DFF2\"})),_path325||(_path325=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 75.4688C214.762 75.9718 214.223 76.2875 213.643 76.2875C213.063 76.2875 212.524 75.9718 212.236 75.4688C211.948 74.9678 211.947 74.346 212.239 73.8471C212.528 73.3513 213.059 73.0464 213.632 73.0464H213.654C214.228 73.0464 214.758 73.3513 215.048 73.8471C215.339 74.346 215.338 74.9678 215.05 75.4688Z\",fill:\"#E9DFF2\"})),_path326||(_path326=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 73.4545C211.248 73.9483 210.719 74.2519 210.147 74.2519C209.576 74.2519 209.046 73.9483 208.758 73.4545C208.466 72.9541 208.466 72.3354 208.758 71.8349C209.046 71.3412 209.576 71.0376 210.147 71.0376C210.719 71.0376 211.248 71.3412 211.536 71.8349C211.828 72.3354 211.828 72.9541 211.536 73.4545Z\",fill:\"#E9DFF2\"})),_path327||(_path327=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 71.4414C207.767 71.9372 207.236 72.2421 206.662 72.2421H206.641C206.067 72.2421 205.536 71.9372 205.247 71.4414C204.956 70.9425 204.957 70.3206 205.244 69.8196C205.533 69.3166 206.072 69.001 206.652 69.001C207.231 69.001 207.77 69.3166 208.059 69.8196C208.346 70.3206 208.347 70.9425 208.056 71.4414Z\",fill:\"#E9DFF2\"})),_path328||(_path328=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.628 69.4849C204.344 69.9807 203.816 70.2865 203.244 70.2865C202.673 70.2865 202.145 69.9807 201.86 69.4849L201.847 69.4624C201.56 68.9614 201.563 68.3438 201.854 67.8448C202.142 67.3506 202.672 67.0454 203.244 67.0454C203.816 67.0454 204.346 67.3506 204.635 67.8448C204.926 68.3438 204.929 68.9614 204.641 69.4624L204.628 69.4849Z\",fill:\"#802DF6\"})),_path329||(_path329=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M200.813 67.4169C200.525 67.9107 199.996 68.2143 199.424 68.2143C198.853 68.2143 198.323 67.9107 198.035 67.4169C197.743 66.9165 197.743 66.2978 198.035 65.7974C198.323 65.3036 198.853 65 199.424 65C199.996 65 200.525 65.3036 200.813 65.7974C201.105 66.2978 201.105 66.9165 200.813 67.4169Z\",fill:\"#802DF6\"})),_path330||(_path330=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 65.3899C197.267 65.8842 196.737 66.1893 196.165 66.1893C195.593 66.1893 195.063 65.8842 194.775 65.3899C194.484 64.891 194.481 64.2733 194.768 63.7723L194.781 63.7498C195.066 63.254 195.593 62.9482 196.165 62.9482C196.737 62.9482 197.265 63.254 197.549 63.7498L197.562 63.7723C197.849 64.2733 197.847 64.891 197.556 65.3899Z\",fill:\"#E9DFF2\"})),_path331||(_path331=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 63.3614C193.788 63.8644 193.25 64.18 192.67 64.18C192.09 64.18 191.551 63.8644 191.262 63.3614C190.975 62.8604 190.974 62.2385 191.265 61.7396C191.554 61.2438 192.085 60.939 192.659 60.939H192.68C193.254 60.939 193.785 61.2438 194.074 61.7396C194.365 62.2385 194.364 62.8604 194.077 63.3614Z\",fill:\"#E9DFF2\"})),_path332||(_path332=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 61.3466C190.276 61.8404 189.746 62.144 189.174 62.144C188.603 62.144 188.073 61.8404 187.785 61.3466C187.493 60.8462 187.493 60.2274 187.785 59.727C188.073 59.2333 188.603 58.9297 189.174 58.9297C189.746 58.9297 190.276 59.2333 190.564 59.727C190.855 60.2274 190.855 60.8462 190.564 61.3466Z\",fill:\"#E9DFF2\"})),_path333||(_path333=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.964 59.2659C186.699 59.7213 186.212 60.0015 185.685 60.0015H185.659C185.14 60.0015 184.658 59.7288 184.39 59.283C184.111 58.8179 184.112 58.2328 184.387 57.7655C184.655 57.3115 185.145 57.0283 185.672 57.0283C186.206 57.0283 186.702 57.3191 186.967 57.7829C187.229 58.2414 187.229 58.8094 186.964 59.2659Z\",fill:\"#E9DFF2\"})),_path334||(_path334=/*#__PURE__*/React.createElement(\"path\",{d:\"M182.926 60.9917C182.773 61.2574 182.49 61.4212 182.183 61.4212C181.877 61.4212 181.593 61.2574 181.44 60.9917L181.433 60.9783C181.275 60.7053 181.275 60.3692 181.433 60.0962L181.44 60.0828C181.593 59.8171 181.877 59.6533 182.183 59.6533C182.49 59.6533 182.773 59.8171 182.926 60.0828L182.934 60.0962C183.091 60.3692 183.091 60.7053 182.934 60.9783L182.926 60.9917Z\",fill:\"#E9DFF2\"})),_path335||(_path335=/*#__PURE__*/React.createElement(\"path\",{d:\"M178.894 62.6933C178.849 62.7683 178.768 62.8141 178.681 62.8141C178.587 62.8141 178.5 62.7609 178.458 62.6766L178.451 62.6628C178.415 62.5899 178.417 62.5036 178.456 62.4323C178.5 62.3538 178.583 62.3052 178.672 62.3052H178.689C178.772 62.3052 178.849 62.3466 178.895 62.4156C178.948 62.4954 178.951 62.5987 178.902 62.6809L178.894 62.6933Z\",fill:\"#E9DFF2\"})),_path336||(_path336=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.574 65.368C176.291 65.8596 175.766 66.1626 175.199 66.1626H175.172C174.611 66.1626 174.093 65.8671 173.807 65.3852C173.513 64.8896 173.513 64.2694 173.803 63.7716C174.089 63.2809 174.617 62.9751 175.185 62.9751C175.761 62.9751 176.294 63.2886 176.577 63.7891C176.854 64.278 176.855 64.8811 176.574 65.368Z\",fill:\"#E9DFF2\"})),_path337||(_path337=/*#__PURE__*/React.createElement(\"path\",{d:\"M171.979 66.7497C171.92 66.8504 171.812 66.9123 171.695 66.9123H171.685C171.575 66.9123 171.472 66.8574 171.411 66.766C171.34 66.6593 171.338 66.5209 171.405 66.4116L171.414 66.397C171.473 66.3011 171.577 66.2427 171.69 66.2427C171.809 66.2427 171.919 66.3082 171.976 66.4133L171.984 66.429C172.038 66.5296 172.036 66.651 171.979 66.7497Z\",fill:\"#E9DFF2\"})),_path338||(_path338=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.001 157.909C189.83 158.203 189.514 158.386 189.174 158.386C188.834 158.386 188.519 158.203 188.347 157.909C188.172 157.609 188.172 157.234 188.347 156.933C188.519 156.64 188.834 156.457 189.174 156.457C189.514 156.457 189.83 156.64 190.001 156.933C190.176 157.234 190.176 157.609 190.001 157.909Z\",fill:\"#E9DFF2\"})),_path339||(_path339=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 156.218C193.785 156.714 193.254 157.019 192.68 157.019H192.659C192.085 157.019 191.554 156.714 191.265 156.218C190.974 155.719 190.975 155.097 191.262 154.596C191.551 154.093 192.09 153.778 192.67 153.778C193.25 153.778 193.788 154.093 194.077 154.596C194.364 155.097 194.365 155.719 194.074 156.218Z\",fill:\"#E9DFF2\"})),_path340||(_path340=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 154.186C197.266 154.68 196.737 154.984 196.165 154.984C195.593 154.984 195.064 154.68 194.776 154.186C194.484 153.686 194.484 153.067 194.776 152.567C195.064 152.073 195.593 151.77 196.165 151.77C196.737 151.77 197.266 152.073 197.554 152.567C197.846 153.067 197.846 153.686 197.554 154.186Z\",fill:\"#E9DFF2\"})),_path341||(_path341=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 152.178C200.775 152.671 200.247 152.975 199.675 152.975H199.646C199.075 152.975 198.546 152.671 198.258 152.178C197.966 151.677 197.966 151.058 198.258 150.558C198.546 150.064 199.075 149.761 199.646 149.761H199.675C200.247 149.761 200.775 150.064 201.063 150.558C201.355 151.058 201.355 151.677 201.063 152.178Z\",fill:\"#E9DFF2\"})),_path342||(_path342=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.54 150.164C204.256 150.66 203.728 150.966 203.156 150.966C202.585 150.966 202.057 150.66 201.772 150.164L201.759 150.142C201.472 149.641 201.475 149.023 201.766 148.524C202.054 148.03 202.584 147.725 203.156 147.725C203.729 147.725 204.258 148.03 204.547 148.524C204.838 149.023 204.841 149.641 204.553 150.142L204.54 150.164Z\",fill:\"#E9DFF2\"})),_path343||(_path343=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 148.133C207.766 148.626 207.238 148.93 206.666 148.93H206.637C206.066 148.93 205.537 148.626 205.249 148.133C204.957 147.632 204.957 147.014 205.249 146.513C205.537 146.019 206.066 145.716 206.637 145.716H206.666C207.238 145.716 207.766 146.019 208.054 146.513C208.346 147.014 208.346 147.632 208.054 148.133Z\",fill:\"#E9DFF2\"})),_path344||(_path344=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 146.122C211.249 146.616 210.719 146.921 210.147 146.921C209.575 146.921 209.045 146.616 208.757 146.122C208.466 145.623 208.463 145.005 208.75 144.504L208.763 144.482C209.048 143.986 209.576 143.68 210.147 143.68C210.719 143.68 211.247 143.986 211.531 144.482L211.544 144.504C211.832 145.005 211.829 145.623 211.538 146.122Z\",fill:\"#E9DFF2\"})),_path345||(_path345=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 144.094C214.762 144.597 214.223 144.912 213.643 144.912C213.063 144.912 212.524 144.597 212.236 144.094C211.948 143.593 211.947 142.971 212.239 142.472C212.528 141.976 213.059 141.671 213.632 141.671H213.654C214.228 141.671 214.758 141.976 215.048 142.472C215.339 142.971 215.338 143.593 215.05 144.094Z\",fill:\"#E9DFF2\"})),_path346||(_path346=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 142.079C218.24 142.573 217.71 142.876 217.138 142.876C216.567 142.876 216.037 142.573 215.749 142.079C215.457 141.579 215.457 140.96 215.749 140.459C216.037 139.966 216.567 139.662 217.138 139.662C217.71 139.662 218.24 139.966 218.528 140.459C218.82 140.96 218.82 141.579 218.528 142.079Z\",fill:\"#E9DFF2\"})),_path347||(_path347=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.039 140.067C221.749 140.563 221.219 140.868 220.645 140.868H220.623C220.049 140.868 219.519 140.563 219.229 140.067C218.938 139.568 218.939 138.947 219.227 138.446C219.515 137.943 220.054 137.627 220.634 137.627C221.214 137.627 221.753 137.943 222.041 138.446C222.329 138.947 222.33 139.568 222.039 140.067Z\",fill:\"#E9DFF2\"})),_path348||(_path348=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.433 138.005C225.165 138.467 224.671 138.752 224.136 138.752C223.594 138.752 223.095 138.46 222.83 137.988L222.82 137.97C222.56 137.508 222.563 136.944 222.825 136.485C223.093 136.015 223.596 135.726 224.136 135.726C224.67 135.726 225.166 136.008 225.437 136.467C225.713 136.936 225.715 137.517 225.443 137.987L225.433 138.005Z\",fill:\"#E9DFF2\"})),_path349||(_path349=/*#__PURE__*/React.createElement(\"path\",{d:\"M228.392 135.688C228.232 135.96 227.941 136.127 227.625 136.127C227.31 136.127 227.018 135.96 226.858 135.688L226.852 135.678C226.685 135.393 226.685 135.039 226.852 134.754L226.858 134.744C227.018 134.472 227.31 134.305 227.625 134.305C227.941 134.305 228.232 134.472 228.392 134.744L228.398 134.754C228.566 135.039 228.566 135.393 228.398 135.678L228.392 135.688Z\",fill:\"#E9DFF2\"})),_path350||(_path350=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.339 129.858C232.091 130.289 231.631 130.555 231.134 130.555C230.637 130.555 230.177 130.289 229.928 129.858C229.68 129.428 229.68 128.896 229.928 128.465C230.177 128.035 230.637 127.769 231.134 127.769C231.631 127.769 232.091 128.035 232.339 128.465C232.588 128.896 232.588 129.428 232.339 129.858Z\",fill:\"#E9DFF2\"})),_path351||(_path351=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 125.95C232.22 126.446 231.692 126.751 231.12 126.751C230.549 126.751 230.021 126.446 229.736 125.95L229.723 125.927C229.436 125.426 229.439 124.809 229.73 124.31C230.018 123.815 230.548 123.51 231.12 123.51C231.693 123.51 232.223 123.815 232.511 124.31C232.802 124.809 232.805 125.426 232.517 125.927L232.504 125.95Z\",fill:\"#E9DFF2\"})),_path352||(_path352=/*#__PURE__*/React.createElement(\"path\",{d:\"M231.739 121.445C231.613 121.663 231.381 121.797 231.13 121.797H231.112C230.86 121.797 230.628 121.663 230.503 121.445C230.379 121.231 230.377 120.968 230.497 120.752L230.504 120.74C230.628 120.516 230.864 120.377 231.121 120.377C231.377 120.377 231.613 120.516 231.737 120.74L231.744 120.752C231.864 120.968 231.862 121.231 231.739 121.445Z\",fill:\"#E9DFF2\"})),_path353||(_path353=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.508 117.868C232.222 118.358 231.695 118.663 231.127 118.663C230.552 118.663 230.02 118.351 229.736 117.85C229.458 117.359 229.458 116.752 229.736 116.261C230.02 115.76 230.552 115.448 231.127 115.448C231.695 115.448 232.222 115.752 232.508 116.243C232.8 116.744 232.8 117.367 232.508 117.868Z\",fill:\"#E9DFF2\"})),_path354||(_path354=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 113.82C232.222 114.314 231.692 114.618 231.12 114.618C230.549 114.618 230.019 114.314 229.731 113.82C229.439 113.32 229.439 112.701 229.731 112.201C230.019 111.707 230.549 111.403 231.12 111.403C231.692 111.403 232.222 111.707 232.51 112.201C232.802 112.701 232.802 113.32 232.51 113.82Z\",fill:\"#E9DFF2\"})),_path355||(_path355=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 109.798C232.22 110.294 231.692 110.6 231.12 110.6C230.549 110.6 230.021 110.294 229.736 109.798L229.723 109.776C229.436 109.275 229.439 108.657 229.73 108.158C230.018 107.664 230.548 107.359 231.12 107.359C231.693 107.359 232.223 107.664 232.511 108.158C232.802 108.657 232.805 109.275 232.517 109.776L232.504 109.798Z\",fill:\"#E9DFF2\"})),_path356||(_path356=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.511 105.756C232.223 106.25 231.693 106.555 231.12 106.555C230.548 106.555 230.018 106.25 229.73 105.756C229.439 105.257 229.436 104.639 229.723 104.138L229.736 104.116C230.021 103.62 230.549 103.314 231.12 103.314C231.692 103.314 232.22 103.62 232.504 104.116L232.517 104.138C232.805 104.639 232.802 105.257 232.511 105.756Z\",fill:\"#E9DFF2\"})),_path357||(_path357=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 101.713C232.222 102.207 231.692 102.511 231.12 102.511C230.549 102.511 230.019 102.207 229.731 101.713C229.439 101.213 229.439 100.594 229.731 100.094C230.019 99.6 230.549 99.2964 231.12 99.2964C231.692 99.2964 232.222 99.6 232.51 100.094C232.802 100.594 232.802 101.213 232.51 101.713Z\",fill:\"#E9DFF2\"})),_path358||(_path358=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.504 97.691C232.22 98.1868 231.692 98.4925 231.12 98.4925C230.549 98.4925 230.021 98.1868 229.736 97.691L229.723 97.6684C229.436 97.1675 229.439 96.5498 229.73 96.0509C230.018 95.5566 230.548 95.2515 231.12 95.2515C231.693 95.2515 232.223 95.5566 232.511 96.0509C232.802 96.5498 232.805 97.1675 232.517 97.6684L232.504 97.691Z\",fill:\"#802DF6\"})),_path359||(_path359=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.511 93.6482C232.223 94.1425 231.693 94.4476 231.12 94.4476C230.548 94.4476 230.018 94.1425 229.73 93.6482C229.439 93.1493 229.436 92.5316 229.723 92.0306L229.736 92.0081C230.021 91.5123 230.549 91.2065 231.12 91.2065C231.692 91.2065 232.22 91.5123 232.504 92.0081L232.517 92.0306C232.805 92.5316 232.802 93.1493 232.511 93.6482Z\",fill:\"#802DF6\"})),_path360||(_path360=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.51 89.6059C232.222 90.0996 231.692 90.4033 231.12 90.4033C230.549 90.4033 230.019 90.0996 229.731 89.6059C229.439 89.1055 229.439 88.4867 229.731 87.9863C230.019 87.4926 230.549 87.189 231.12 87.189C231.692 87.189 232.222 87.4926 232.51 87.9863C232.802 88.4867 232.802 89.1055 232.51 89.6059Z\",fill:\"#802DF6\"})),_path361||(_path361=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 85.5615C232.222 86.0552 231.692 86.3588 231.12 86.3588C230.549 86.3588 230.019 86.0552 229.731 85.5615C229.439 85.0611 229.439 84.4423 229.731 83.9419C230.019 83.4481 230.549 83.1445 231.12 83.1445C231.692 83.1445 232.222 83.4481 232.51 83.9419C232.802 84.4423 232.802 85.0611 232.51 85.5615Z\",fill:\"#E9DFF2\"})),_path362||(_path362=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 81.5396C232.22 82.0354 231.692 82.3412 231.12 82.3412C230.549 82.3412 230.021 82.0354 229.736 81.5396L229.723 81.5171C229.436 81.0161 229.439 80.3984 229.73 79.8995C230.018 79.4053 230.548 79.1001 231.12 79.1001C231.693 79.1001 232.223 79.4053 232.511 79.8995C232.802 80.3984 232.805 81.0161 232.517 81.5171L232.504 81.5396Z\",fill:\"#E9DFF2\"})),_path363||(_path363=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 79.5082C228.74 80.002 228.211 80.3056 227.64 80.3056H227.611C227.039 80.3056 226.511 80.002 226.223 79.5082C225.931 79.0078 225.931 78.3891 226.223 77.8887C226.511 77.3949 227.039 77.0913 227.611 77.0913H227.64C228.211 77.0913 228.74 77.3949 229.028 77.8887C229.32 78.3891 229.32 79.0078 229.028 79.5082Z\",fill:\"#E9DFF2\"})),_path364||(_path364=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.52 77.4973C225.232 77.9916 224.702 78.2967 224.13 78.2967C223.557 78.2967 223.028 77.9916 222.739 77.4973C222.448 76.9984 222.445 76.3808 222.733 75.8798L222.746 75.8572C223.03 75.3614 223.558 75.0557 224.13 75.0557C224.701 75.0557 225.229 75.3614 225.514 75.8572L225.527 75.8798C225.814 76.3808 225.811 76.9984 225.52 77.4973Z\",fill:\"#E9DFF2\"})),_path365||(_path365=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.041 75.4688C221.753 75.9718 221.214 76.2875 220.634 76.2875C220.054 76.2875 219.515 75.9718 219.227 75.4688C218.939 74.9678 218.938 74.346 219.229 73.8471C219.519 73.3513 220.049 73.0464 220.623 73.0464H220.645C221.219 73.0464 221.749 73.3513 222.039 73.8471C222.33 74.346 222.329 74.9678 222.041 75.4688Z\",fill:\"#E9DFF2\"})),_path366||(_path366=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 73.4545C218.24 73.9483 217.71 74.2519 217.138 74.2519C216.567 74.2519 216.037 73.9483 215.749 73.4545C215.457 72.9541 215.457 72.3354 215.749 71.8349C216.037 71.3412 216.567 71.0376 217.138 71.0376C217.71 71.0376 218.24 71.3412 218.528 71.8349C218.82 72.3354 218.82 72.9541 218.528 73.4545Z\",fill:\"#E9DFF2\"})),_path367||(_path367=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 71.4414C214.758 71.9372 214.228 72.2421 213.654 72.2421H213.632C213.059 72.2421 212.528 71.9372 212.239 71.4414C211.947 70.9425 211.948 70.3206 212.236 69.8196C212.524 69.3166 213.063 69.001 213.643 69.001C214.223 69.001 214.762 69.3166 215.05 69.8196C215.338 70.3206 215.339 70.9425 215.048 71.4414Z\",fill:\"#E9DFF2\"})),_path368||(_path368=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 69.4332C211.247 69.929 210.719 70.2347 210.147 70.2347C209.576 70.2347 209.048 69.929 208.763 69.4332L208.75 69.4106C208.463 68.9096 208.466 68.292 208.757 67.7931C209.045 67.2988 209.575 66.9937 210.147 66.9937C210.719 66.9937 211.249 67.2988 211.538 67.7931C211.829 68.292 211.832 68.9096 211.544 69.4106L211.531 69.4332Z\",fill:\"#E9DFF2\"})),_path369||(_path369=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.567 65.4332C204.283 65.929 203.755 66.2347 203.183 66.2347C202.612 66.2347 202.084 65.929 201.799 65.4332L201.786 65.4106C201.499 64.9096 201.502 64.292 201.793 63.7931C202.081 63.2988 202.611 62.9937 203.183 62.9937C203.755 62.9937 204.285 63.2988 204.574 63.7931C204.865 64.292 204.868 64.9096 204.58 65.4106L204.567 65.4332Z\",fill:\"#802DF6\"})),_path370||(_path370=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M200.965 63.3466C200.677 63.8404 200.147 64.144 199.576 64.144C199.004 64.144 198.475 63.8404 198.187 63.3466C197.895 62.8462 197.895 62.2274 198.187 61.727C198.475 61.2333 199.004 60.9297 199.576 60.9297C200.147 60.9297 200.677 61.2333 200.965 61.727C201.257 62.2274 201.257 62.8462 200.965 63.3466Z\",fill:\"#802DF6\"})),_path371||(_path371=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 61.3466C197.266 61.8404 196.737 62.144 196.165 62.144C195.593 62.144 195.064 61.8404 194.776 61.3466C194.484 60.8462 194.484 60.2274 194.776 59.727C195.064 59.2333 195.593 58.9297 196.165 58.9297C196.737 58.9297 197.266 59.2333 197.554 59.727C197.846 60.2274 197.846 60.8462 197.554 61.3466Z\",fill:\"#E9DFF2\"})),_path372||(_path372=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.6 59.0759C193.405 59.4006 193.049 59.5993 192.67 59.5993C192.291 59.5993 191.935 59.4006 191.74 59.0759C191.537 58.738 191.535 58.3165 191.734 57.9764L191.743 57.9614C191.935 57.6321 192.288 57.4297 192.67 57.4297C193.051 57.4297 193.404 57.6321 193.597 57.9614L193.606 57.9764C193.805 58.3165 193.803 58.738 193.6 59.0759Z\",fill:\"#E9DFF2\"})),_path373||(_path373=/*#__PURE__*/React.createElement(\"path\",{d:\"M189.883 56.9099C189.735 57.1658 189.457 57.3233 189.161 57.3233C188.865 57.3233 188.587 57.1658 188.439 56.9099C188.289 56.6521 188.289 56.3338 188.439 56.076C188.587 55.8201 188.865 55.6626 189.161 55.6626C189.457 55.6626 189.735 55.8201 189.883 56.076C190.033 56.3338 190.033 56.6521 189.883 56.9099Z\",fill:\"#E9DFF2\"})),_path374||(_path374=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.555 54.9701C186.377 55.2823 186.046 55.4752 185.687 55.4752H185.657C185.305 55.4752 184.979 55.2899 184.799 54.9874C184.614 54.6767 184.614 54.2868 184.795 53.974C184.976 53.6619 185.311 53.4663 185.672 53.4663C186.04 53.4663 186.38 53.6698 186.558 53.9917C186.726 54.2955 186.726 54.6682 186.555 54.9701Z\",fill:\"#E9DFF2\"})),_path375||(_path375=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.567 61.4332C176.283 61.929 175.755 62.2347 175.183 62.2347C174.612 62.2347 174.084 61.929 173.799 61.4332L173.786 61.4106C173.499 60.9096 173.502 60.292 173.793 59.7931C174.081 59.2988 174.611 58.9937 175.183 58.9937C175.755 58.9937 176.285 59.2988 176.574 59.7931C176.865 60.292 176.868 60.9096 176.58 61.4106L176.567 61.4332Z\",fill:\"#802DF6\"})),_path376||(_path376=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.093 63.3553C172.81 63.8645 172.272 64.18 171.69 64.18C171.114 64.18 170.582 63.8721 170.296 63.3727L170.286 63.3559C169.998 62.855 170.001 62.2385 170.292 61.7396C170.581 61.2438 171.116 60.939 171.69 60.939C172.271 60.939 172.811 61.2515 173.097 61.7571C173.375 62.2471 173.377 62.8463 173.103 63.3383L173.093 63.3553Z\",fill:\"#E9DFF2\"})),_path377||(_path377=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.435 162.186C190.177 162.635 189.692 162.912 189.174 162.912C188.656 162.912 188.171 162.635 187.913 162.186C187.657 161.74 187.657 161.192 187.913 160.746C188.171 160.297 188.656 160.02 189.174 160.02C189.692 160.02 190.177 160.297 190.435 160.746C190.691 161.192 190.691 161.74 190.435 162.186Z\",fill:\"#E9DFF2\"})),_path378||(_path378=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 160.245C193.788 160.748 193.25 161.064 192.67 161.064C192.09 161.064 191.551 160.748 191.262 160.245C190.975 159.744 190.974 159.122 191.265 158.623C191.554 158.128 192.085 157.823 192.659 157.823H192.68C193.254 157.823 193.785 158.128 194.074 158.623C194.365 159.122 194.364 159.744 194.077 160.245Z\",fill:\"#E9DFF2\"})),_path379||(_path379=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.554 158.231C197.266 158.725 196.737 159.028 196.165 159.028C195.593 159.028 195.064 158.725 194.776 158.231C194.484 157.73 194.484 157.112 194.776 156.611C195.064 156.118 195.593 155.814 196.165 155.814C196.737 155.814 197.266 156.118 197.554 156.611C197.846 157.112 197.846 157.73 197.554 158.231Z\",fill:\"#E9DFF2\"})),_path380||(_path380=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 156.218C200.776 156.714 200.245 157.019 199.671 157.019H199.65C199.076 157.019 198.545 156.714 198.256 156.218C197.965 155.719 197.966 155.097 198.253 154.596C198.542 154.093 199.081 153.778 199.661 153.778C200.241 153.778 200.779 154.093 201.068 154.596C201.355 155.097 201.356 155.719 201.065 156.218Z\",fill:\"#E9DFF2\"})),_path381||(_path381=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 154.186C204.258 154.68 203.728 154.984 203.156 154.984C202.585 154.984 202.055 154.68 201.767 154.186C201.475 153.686 201.475 153.067 201.767 152.567C202.055 152.073 202.585 151.77 203.156 151.77C203.728 151.77 204.258 152.073 204.546 152.567C204.837 153.067 204.837 153.686 204.546 154.186Z\",fill:\"#E9DFF2\"})),_path382||(_path382=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 152.178C207.766 152.671 207.238 152.975 206.666 152.975H206.637C206.066 152.975 205.537 152.671 205.249 152.178C204.957 151.677 204.957 151.058 205.249 150.558C205.537 150.064 206.066 149.761 206.637 149.761H206.666C207.238 149.761 207.766 150.064 208.054 150.558C208.346 151.058 208.346 151.677 208.054 152.178Z\",fill:\"#E9DFF2\"})),_path383||(_path383=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 150.164C211.247 150.66 210.719 150.966 210.147 150.966C209.576 150.966 209.048 150.66 208.763 150.164L208.75 150.142C208.463 149.641 208.466 149.023 208.757 148.524C209.045 148.03 209.575 147.725 210.147 147.725C210.719 147.725 211.249 148.03 211.538 148.524C211.829 149.023 211.832 149.641 211.544 150.142L211.531 150.164Z\",fill:\"#E9DFF2\"})),_path384||(_path384=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 148.133C214.758 148.626 214.229 148.93 213.657 148.93H213.629C213.057 148.93 212.528 148.626 212.24 148.133C211.949 147.632 211.949 147.014 212.24 146.513C212.528 146.019 213.057 145.716 213.629 145.716H213.657C214.229 145.716 214.758 146.019 215.046 146.513C215.338 147.014 215.338 147.632 215.046 148.133Z\",fill:\"#E9DFF2\"})),_path385||(_path385=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.529 146.122C218.241 146.616 217.711 146.921 217.138 146.921C216.566 146.921 216.036 146.616 215.748 146.122C215.457 145.623 215.454 145.005 215.742 144.504L215.754 144.482C216.039 143.986 216.567 143.68 217.138 143.68C217.71 143.68 218.238 143.986 218.522 144.482L218.535 144.504C218.823 145.005 218.82 145.623 218.529 146.122Z\",fill:\"#E9DFF2\"})),_path386||(_path386=/*#__PURE__*/React.createElement(\"path\",{d:\"M222 144.105C221.718 144.589 221.2 144.886 220.64 144.886C220.074 144.886 219.55 144.581 219.271 144.088L219.26 144.068C218.983 143.579 218.985 142.98 219.265 142.493C219.549 142.002 220.073 141.699 220.641 141.699C221.201 141.699 221.72 141.994 222.006 142.476C222.3 142.972 222.302 143.588 222.012 144.086L222 144.105Z\",fill:\"#E9DFF2\"})),_path387||(_path387=/*#__PURE__*/React.createElement(\"path\",{d:\"M235.297 123.502C235.157 123.739 234.899 123.886 234.623 123.886C234.34 123.886 234.076 123.732 233.939 123.484C233.81 123.25 233.81 122.967 233.939 122.734C234.076 122.486 234.34 122.332 234.623 122.332C234.899 122.332 235.157 122.478 235.297 122.716C235.439 122.959 235.439 123.259 235.297 123.502Z\",fill:\"#E9DFF2\"})),_path388||(_path388=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.017 115.846C235.73 116.346 235.198 116.654 234.623 116.654C234.04 116.654 233.503 116.338 233.219 115.829L233.209 115.812C232.935 115.32 232.937 114.721 233.215 114.231C233.501 113.725 234.042 113.413 234.623 113.413C235.197 113.413 235.731 113.717 236.021 114.213C236.312 114.712 236.314 115.329 236.026 115.83L236.017 115.846Z\",fill:\"#E9DFF2\"})),_path389||(_path389=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.021 111.808C235.731 112.304 235.197 112.609 234.623 112.609C234.042 112.609 233.501 112.296 233.215 111.791C232.937 111.301 232.935 110.701 233.209 110.209L233.219 110.192C233.503 109.683 234.04 109.368 234.623 109.368C235.198 109.368 235.73 109.676 236.017 110.175L236.026 110.192C236.314 110.693 236.312 111.309 236.021 111.808Z\",fill:\"#E9DFF2\"})),_path390||(_path390=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 107.767C235.731 108.261 235.194 108.564 234.623 108.564C234.044 108.564 233.502 108.253 233.217 107.75C232.938 107.258 232.938 106.656 233.217 106.165C233.502 105.661 234.044 105.35 234.623 105.35C235.194 105.35 235.731 105.654 236.019 106.147C236.311 106.648 236.311 107.267 236.019 107.767Z\",fill:\"#E9DFF2\"})),_path391||(_path391=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.015 103.705C235.73 104.208 235.195 104.519 234.616 104.519C234.037 104.519 233.502 104.208 233.217 103.705C232.938 103.213 232.938 102.611 233.217 102.12C233.502 101.616 234.037 101.305 234.616 101.305C235.195 101.305 235.73 101.616 236.015 102.12C236.294 102.611 236.294 103.213 236.015 103.705Z\",fill:\"#E9DFF2\"})),_path392||(_path392=/*#__PURE__*/React.createElement(\"path\",{d:\"M235.009 99.1017C234.932 99.2386 234.787 99.3234 234.63 99.3234H234.616C234.466 99.3234 234.327 99.246 234.247 99.1187C234.161 98.9811 234.159 98.8071 234.241 98.6672L234.249 98.6532C234.327 98.5208 234.469 98.4395 234.623 98.4395C234.784 98.4395 234.931 98.5282 235.006 98.6701L235.014 98.685C235.083 98.8158 235.081 98.9728 235.009 99.1017Z\",fill:\"#E9DFF2\"})),_path393||(_path393=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 95.6601C235.731 96.1538 235.194 96.4575 234.623 96.4575C234.044 96.4575 233.502 96.1462 233.217 95.6427C232.938 95.1511 232.938 94.5495 233.217 94.058C233.502 93.5544 234.044 93.2432 234.623 93.2432C235.194 93.2432 235.731 93.5468 236.019 94.0405C236.311 94.5409 236.311 95.1597 236.019 95.6601Z\",fill:\"#E9DFF2\"})),_path394||(_path394=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 91.6152C235.731 92.1089 235.194 92.4125 234.623 92.4125C234.044 92.4125 233.502 92.1013 233.217 91.5977C232.938 91.1062 232.938 90.5046 233.217 90.013C233.502 89.5095 234.044 89.1982 234.623 89.1982C235.194 89.1982 235.731 89.5018 236.019 89.9956C236.311 90.496 236.311 91.1148 236.019 91.6152Z\",fill:\"#E9DFF2\"})),_path395||(_path395=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.021 87.5942C235.731 88.09 235.197 88.3949 234.623 88.3949C234.042 88.3949 233.501 88.0824 233.215 87.5768C232.937 87.0868 232.935 86.4875 233.209 85.9956L233.219 85.9785C233.503 85.4694 234.04 85.1538 234.623 85.1538C235.198 85.1538 235.73 85.4618 236.017 85.9612L236.026 85.9779C236.314 86.4789 236.312 87.0953 236.021 87.5942Z\",fill:\"#E9DFF2\"})),_path396||(_path396=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 83.5522C235.731 84.0459 235.194 84.3495 234.623 84.3495C234.044 84.3495 233.502 84.0383 233.217 83.5347C232.938 83.0432 232.938 82.4416 233.217 81.9501C233.502 81.4465 234.044 81.1353 234.623 81.1353C235.194 81.1353 235.731 81.4389 236.019 81.9326C236.311 82.433 236.311 83.0518 236.019 83.5522Z\",fill:\"#E9DFF2\"})),_path397||(_path397=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 79.5082C235.731 80.002 235.194 80.3056 234.623 80.3056C234.044 80.3056 233.502 79.9944 233.217 79.4908C232.938 78.9993 232.938 78.3976 233.217 77.9061C233.502 77.4025 234.044 77.0913 234.623 77.0913C235.194 77.0913 235.731 77.3949 236.019 77.8887C236.311 78.3891 236.311 79.0078 236.019 79.5082Z\",fill:\"#E9DFF2\"})),_path398||(_path398=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.511 77.4973C232.223 77.9916 231.693 78.2967 231.12 78.2967C230.548 78.2967 230.018 77.9916 229.73 77.4973C229.439 76.9984 229.436 76.3808 229.723 75.8798L229.736 75.8572C230.021 75.3614 230.549 75.0557 231.12 75.0557C231.692 75.0557 232.22 75.3614 232.504 75.8572L232.517 75.8798C232.805 76.3808 232.802 76.9984 232.511 77.4973Z\",fill:\"#E9DFF2\"})),_path399||(_path399=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 75.4688C228.744 75.9718 228.205 76.2875 227.625 76.2875C227.045 76.2875 226.507 75.9718 226.218 75.4688C225.931 74.9678 225.93 74.346 226.221 73.8471C226.51 73.3513 227.041 73.0464 227.615 73.0464H227.636C228.21 73.0464 228.741 73.3513 229.03 73.8471C229.321 74.346 229.32 74.9678 229.032 75.4688Z\",fill:\"#E9DFF2\"})),_path400||(_path400=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.519 73.4545C225.231 73.9483 224.701 74.2519 224.13 74.2519C223.558 74.2519 223.028 73.9483 222.74 73.4545C222.449 72.9541 222.449 72.3354 222.74 71.8349C223.028 71.3412 223.558 71.0376 224.13 71.0376C224.701 71.0376 225.231 71.3412 225.519 71.8349C225.811 72.3354 225.811 72.9541 225.519 73.4545Z\",fill:\"#E9DFF2\"})),_path401||(_path401=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.039 71.4414C221.749 71.9372 221.219 72.2421 220.645 72.2421H220.623C220.049 72.2421 219.519 71.9372 219.229 71.4414C218.938 70.9425 218.939 70.3206 219.227 69.8196C219.515 69.3166 220.054 69.001 220.634 69.001C221.214 69.001 221.753 69.3166 222.041 69.8196C222.329 70.3206 222.33 70.9425 222.039 71.4414Z\",fill:\"#E9DFF2\"})),_path402||(_path402=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 69.4332C218.238 69.929 217.71 70.2347 217.138 70.2347C216.567 70.2347 216.039 69.929 215.754 69.4332L215.742 69.4106C215.454 68.9096 215.457 68.292 215.748 67.7931C216.036 67.2988 216.566 66.9937 217.138 66.9937C217.711 66.9937 218.241 67.2988 218.529 67.7931C218.82 68.292 218.823 68.9096 218.535 69.4106L218.522 69.4332Z\",fill:\"#E9DFF2\"})),_path403||(_path403=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 67.4008C214.758 67.8946 214.229 68.1982 213.657 68.1982H213.629C213.057 68.1982 212.528 67.8946 212.24 67.4008C211.949 66.9004 211.949 66.2816 212.24 65.7812C212.528 65.2875 213.057 64.9839 213.629 64.9839H213.657C214.229 64.9839 214.758 65.2875 215.046 65.7812C215.338 66.2816 215.338 66.9004 215.046 67.4008Z\",fill:\"#E9DFF2\"})),_path404||(_path404=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 65.3899C211.249 65.8842 210.719 66.1893 210.147 66.1893C209.575 66.1893 209.045 65.8842 208.757 65.3899C208.466 64.891 208.463 64.2733 208.75 63.7723L208.763 63.7498C209.048 63.254 209.576 62.9482 210.147 62.9482C210.719 62.9482 211.247 63.254 211.531 63.7498L211.544 63.7723C211.832 64.2733 211.829 64.891 211.538 65.3899Z\",fill:\"#E9DFF2\"})),_path405||(_path405=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M208.246 67.4849C207.961 67.9807 207.433 68.2865 206.862 68.2865C206.29 68.2865 205.762 67.9807 205.478 67.4849L205.465 67.4624C205.177 66.9614 205.18 66.3438 205.471 65.8448C205.759 65.3506 206.289 65.0454 206.862 65.0454C207.434 65.0454 207.964 65.3506 208.252 65.8448C208.543 66.3438 208.546 66.9614 208.259 67.4624L208.246 67.4849Z\",fill:\"#802DF6\"})),_path406||(_path406=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M208.252 63.4416C207.964 63.9359 207.434 64.2411 206.862 64.2411C206.289 64.2411 205.759 63.9359 205.471 63.4416C205.18 62.9427 205.177 62.3251 205.465 61.8241L205.478 61.8015C205.762 61.3058 206.29 61 206.862 61C207.433 61 207.961 61.3058 208.246 61.8015L208.259 61.8241C208.546 62.3251 208.543 62.9427 208.252 63.4416Z\",fill:\"#802DF6\"})),_path407||(_path407=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.546 61.3466C204.258 61.8404 203.728 62.144 203.156 62.144C202.585 62.144 202.055 61.8404 201.767 61.3466C201.475 60.8462 201.475 60.2274 201.767 59.727C202.055 59.2333 202.585 58.9297 203.156 58.9297C203.728 58.9297 204.258 59.2333 204.546 59.727C204.837 60.2274 204.837 60.8462 204.546 61.3466Z\",fill:\"#802DF6\"})),_path408||(_path408=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.065 59.3344C200.776 59.8302 200.245 60.1351 199.671 60.1351H199.65C199.076 60.1351 198.545 59.8302 198.256 59.3344C197.965 58.8355 197.966 58.2137 198.253 57.7127C198.542 57.2097 199.081 56.894 199.661 56.894C200.241 56.894 200.779 57.2097 201.068 57.7127C201.355 58.2137 201.356 58.8355 201.065 59.3344Z\",fill:\"#E9DFF2\"})),_path409||(_path409=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.069 55.2755C193.783 55.779 193.248 56.0903 192.669 56.0903C192.091 56.0903 191.556 55.779 191.27 55.2755C190.992 54.7839 190.992 54.1823 191.27 53.6908C191.556 53.1872 192.091 52.876 192.669 52.876C193.248 52.876 193.783 53.1872 194.069 53.6908C194.347 54.1823 194.347 54.784 194.069 55.2755Z\",fill:\"#E9DFF2\"})),_path410||(_path410=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 53.2436C190.276 53.7404 189.745 54.0547 189.174 54.0547C188.603 54.0547 188.072 53.7404 187.79 53.2436C187.513 52.7546 187.512 52.1487 187.792 51.6618C188.075 51.1702 188.607 50.8672 189.174 50.8672C189.742 50.8672 190.273 51.1702 190.556 51.6618C190.837 52.1487 190.835 52.7546 190.558 53.2436Z\",fill:\"#E9DFF2\"})),_path411||(_path411=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 51.2315C186.793 51.7351 186.251 52.0463 185.672 52.0463C185.1 52.0463 184.564 51.7427 184.276 51.249C183.984 50.7486 183.984 50.1298 184.276 49.6294C184.564 49.1356 185.1 48.832 185.672 48.832C186.251 48.832 186.793 49.1433 187.078 49.6468C187.356 50.1383 187.356 50.74 187.078 51.2315Z\",fill:\"#E9DFF2\"})),_path412||(_path412=/*#__PURE__*/React.createElement(\"path\",{d:\"M182.679 52.7431C182.58 52.9243 182.39 53.037 182.183 53.037C181.977 53.037 181.787 52.9243 181.688 52.7431L181.679 52.7266C181.585 52.5533 181.587 52.3434 181.685 52.1719C181.786 51.9947 181.975 51.8853 182.179 51.8853H182.188C182.392 51.8853 182.581 51.9947 182.682 52.1719C182.78 52.3434 182.782 52.5533 182.687 52.7266L182.679 52.7431Z\",fill:\"#E9DFF2\"})),_path413||(_path413=/*#__PURE__*/React.createElement(\"path\",{d:\"M176.019 56.995C175.847 57.2973 175.526 57.4842 175.179 57.4842C174.831 57.4842 174.51 57.2973 174.339 56.995L174.329 56.979C174.159 56.6782 174.161 56.3093 174.335 56.0105C174.509 55.7122 174.833 55.5288 175.179 55.5288C175.524 55.5288 175.848 55.7122 176.022 56.0105C176.196 56.3093 176.199 56.6782 176.028 56.979L176.019 56.995Z\",fill:\"#E9DFF2\"})),_path414||(_path414=/*#__PURE__*/React.createElement(\"path\",{d:\"M172.463 58.9666C172.304 59.2427 172.009 59.4128 171.69 59.4128C171.379 59.4128 171.089 59.2501 170.928 58.9837C170.758 58.7036 170.756 58.3528 170.922 58.0704L170.933 58.0512C171.091 57.7829 171.379 57.6182 171.69 57.6182C172.009 57.6182 172.302 57.7903 172.457 58.0681L172.468 58.0879C172.621 58.3614 172.619 58.6951 172.463 58.9666Z\",fill:\"#E9DFF2\"})),_path415||(_path415=/*#__PURE__*/React.createElement(\"path\",{d:\"M169.383 61.2146C169.141 61.6393 168.689 61.9035 168.201 61.9035C167.713 61.9035 167.261 61.6393 167.019 61.2147C166.781 60.796 166.781 60.2789 167.019 59.8603C167.261 59.4356 167.713 59.1714 168.201 59.1714C168.689 59.1714 169.141 59.4356 169.383 59.8603C169.621 60.279 169.621 60.796 169.383 61.2146Z\",fill:\"#E9DFF2\"})),_path416||(_path416=/*#__PURE__*/React.createElement(\"path\",{d:\"M165.264 62.8886C165.15 63.0907 164.937 63.2158 164.705 63.2158C164.474 63.2158 164.26 63.0907 164.147 62.8886L164.137 62.8701C164.024 62.6694 164.026 62.4242 164.142 62.2255C164.259 62.026 164.474 61.9033 164.705 61.9033C164.936 61.9033 165.152 62.026 165.268 62.2255C165.384 62.4242 165.386 62.6694 165.274 62.8701L165.264 62.8886Z\",fill:\"#E9DFF2\"})),_path417||(_path417=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 164.285C193.784 164.778 193.256 165.082 192.684 165.082H192.655C192.084 165.082 191.555 164.778 191.267 164.285C190.975 163.784 190.975 163.165 191.267 162.665C191.555 162.171 192.084 161.868 192.655 161.868H192.684C193.256 161.868 193.784 162.171 194.072 162.665C194.364 163.165 194.364 163.784 194.072 164.285Z\",fill:\"#E9DFF2\"})),_path418||(_path418=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 162.274C197.267 162.768 196.737 163.073 196.165 163.073C195.593 163.073 195.063 162.768 194.775 162.274C194.484 161.775 194.481 161.157 194.768 160.656L194.781 160.634C195.066 160.138 195.593 159.832 196.165 159.832C196.737 159.832 197.265 160.138 197.549 160.634L197.562 160.656C197.849 161.157 197.847 161.775 197.556 162.274Z\",fill:\"#E9DFF2\"})),_path419||(_path419=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 160.245C200.779 160.748 200.241 161.064 199.661 161.064C199.081 161.064 198.542 160.748 198.253 160.245C197.966 159.744 197.965 159.122 198.256 158.623C198.545 158.128 199.076 157.823 199.65 157.823H199.671C200.245 157.823 200.776 158.128 201.065 158.623C201.356 159.122 201.355 159.744 201.068 160.245Z\",fill:\"#E9DFF2\"})),_path420||(_path420=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 158.231C204.258 158.725 203.728 159.028 203.156 159.028C202.585 159.028 202.055 158.725 201.767 158.231C201.475 157.73 201.475 157.112 201.767 156.611C202.055 156.118 202.585 155.814 203.156 155.814C203.728 155.814 204.258 156.118 204.546 156.611C204.837 157.112 204.837 157.73 204.546 158.231Z\",fill:\"#E9DFF2\"})),_path421||(_path421=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 156.218C207.767 156.714 207.236 157.019 206.662 157.019H206.641C206.067 157.019 205.536 156.714 205.247 156.218C204.956 155.719 204.957 155.097 205.244 154.596C205.533 154.093 206.072 153.778 206.652 153.778C207.231 153.778 207.77 154.093 208.059 154.596C208.346 155.097 208.347 155.719 208.056 156.218Z\",fill:\"#E9DFF2\"})),_path422||(_path422=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 154.186C211.248 154.68 210.719 154.984 210.147 154.984C209.576 154.984 209.046 154.68 208.758 154.186C208.466 153.686 208.466 153.067 208.758 152.567C209.046 152.073 209.576 151.77 210.147 151.77C210.719 151.77 211.248 152.073 211.536 152.567C211.828 153.067 211.828 153.686 211.536 154.186Z\",fill:\"#E9DFF2\"})),_path423||(_path423=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 152.178C214.758 152.671 214.229 152.975 213.657 152.975H213.629C213.057 152.975 212.528 152.671 212.24 152.178C211.949 151.677 211.949 151.058 212.24 150.558C212.528 150.064 213.057 149.761 213.629 149.761H213.657C214.229 149.761 214.758 150.064 215.046 150.558C215.338 151.058 215.338 151.677 215.046 152.178Z\",fill:\"#E9DFF2\"})),_path424||(_path424=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 150.164C218.238 150.66 217.71 150.966 217.138 150.966C216.567 150.966 216.039 150.66 215.754 150.164L215.742 150.142C215.454 149.641 215.457 149.023 215.748 148.524C216.036 148.03 216.566 147.725 217.138 147.725C217.711 147.725 218.241 148.03 218.529 148.524C218.82 149.023 218.823 149.641 218.535 150.142L218.522 150.164Z\",fill:\"#E9DFF2\"})),_path425||(_path425=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.007 148.137C221.723 148.624 221.198 148.93 220.634 148.93C220.07 148.93 219.544 148.624 219.26 148.137C218.97 147.639 218.968 147.016 219.262 146.52C219.548 146.038 220.074 145.743 220.634 145.743C221.194 145.743 221.72 146.038 222.006 146.52C222.3 147.016 222.298 147.639 222.007 148.137Z\",fill:\"#E9DFF2\"})),_path426||(_path426=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.461 113.806C239.184 114.287 238.667 114.59 238.111 114.59C237.556 114.59 237.039 114.287 236.762 113.806C236.481 113.318 236.481 112.702 236.762 112.214C237.039 111.733 237.556 111.43 238.111 111.43C238.667 111.43 239.184 111.733 239.461 112.214C239.742 112.702 239.742 113.318 239.461 113.806Z\",fill:\"#E9DFF2\"})),_path427||(_path427=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.496 109.798C239.212 110.294 238.684 110.6 238.112 110.6C237.54 110.6 237.013 110.294 236.728 109.798L236.715 109.776C236.428 109.275 236.431 108.657 236.722 108.158C237.01 107.664 237.54 107.359 238.112 107.359C238.684 107.359 239.214 107.664 239.503 108.158C239.794 108.657 239.797 109.275 239.509 109.776L239.496 109.798Z\",fill:\"#E9DFF2\"})),_path428||(_path428=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.461 105.73C239.181 106.208 238.665 106.502 238.111 106.502C237.558 106.502 237.042 106.208 236.762 105.73C236.479 105.247 236.476 104.648 236.756 104.162L236.766 104.145C237.043 103.664 237.556 103.368 238.111 103.368C238.667 103.368 239.18 103.664 239.457 104.145L239.467 104.162C239.747 104.648 239.744 105.247 239.461 105.73Z\",fill:\"#E9DFF2\"})),_path429||(_path429=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.253 101.555C239.019 101.964 238.583 102.216 238.112 102.216C237.641 102.216 237.204 101.964 236.97 101.555C236.74 101.151 236.74 100.656 236.97 100.253C237.204 99.8437 237.641 99.5913 238.112 99.5913C238.583 99.5913 239.019 99.8437 239.253 100.253C239.483 100.656 239.483 101.151 239.253 101.555Z\",fill:\"#E9DFF2\"})),_path430||(_path430=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.496 97.691C239.212 98.1868 238.684 98.4925 238.112 98.4925C237.54 98.4925 237.013 98.1868 236.728 97.691L236.715 97.6684C236.428 97.1675 236.431 96.5498 236.722 96.0509C237.01 95.5566 237.54 95.2515 238.112 95.2515C238.684 95.2515 239.214 95.5566 239.503 96.0509C239.794 96.5498 239.797 97.1675 239.509 97.6684L239.496 97.691Z\",fill:\"#E9DFF2\"})),_path431||(_path431=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.503 93.6482C239.214 94.1425 238.684 94.4476 238.112 94.4476C237.54 94.4476 237.01 94.1425 236.722 93.6482C236.431 93.1493 236.428 92.5316 236.715 92.0306L236.728 92.0081C237.013 91.5123 237.54 91.2065 238.112 91.2065C238.684 91.2065 239.212 91.5123 239.496 92.0081L239.509 92.0306C239.797 92.5316 239.794 93.1493 239.503 93.6482Z\",fill:\"#E9DFF2\"})),_path432||(_path432=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 89.6059C239.213 90.0996 238.684 90.4033 238.112 90.4033C237.54 90.4033 237.011 90.0996 236.723 89.6059C236.431 89.1055 236.431 88.4867 236.723 87.9863C237.011 87.4926 237.54 87.189 238.112 87.189C238.684 87.189 239.213 87.4926 239.501 87.9863C239.793 88.4867 239.793 89.1055 239.501 89.6059Z\",fill:\"#E9DFF2\"})),_path433||(_path433=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M239.501 85.5615C239.213 86.0552 238.684 86.3588 238.112 86.3588C237.54 86.3588 237.011 86.0552 236.723 85.5615C236.431 85.0611 236.431 84.4423 236.723 83.9419C237.011 83.4481 237.54 83.1445 238.112 83.1445C238.684 83.1445 239.213 83.4481 239.501 83.9419C239.793 84.4423 239.793 85.0611 239.501 85.5615Z\",fill:\"#802DF6\"})),_path434||(_path434=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.496 81.5396C239.212 82.0354 238.684 82.3412 238.112 82.3412C237.54 82.3412 237.013 82.0354 236.728 81.5396L236.715 81.5171C236.428 81.0161 236.431 80.3985 236.722 79.8995C237.01 79.4053 237.54 79.1001 238.112 79.1001C238.684 79.1001 239.214 79.4053 239.503 79.8995C239.794 80.3985 239.797 81.0161 239.509 81.5171L239.496 81.5396Z\",fill:\"#E9DFF2\"})),_path435||(_path435=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.503 77.4973C239.214 77.9916 238.684 78.2967 238.112 78.2967C237.54 78.2967 237.01 77.9916 236.722 77.4973C236.431 76.9984 236.428 76.3808 236.715 75.8798L236.728 75.8572C237.013 75.3614 237.54 75.0557 238.112 75.0557C238.684 75.0557 239.212 75.3614 239.496 75.8572L239.509 75.8798C239.797 76.3808 239.794 76.9984 239.503 77.4973Z\",fill:\"#E9DFF2\"})),_path436||(_path436=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.017 75.4801C235.73 75.9795 235.198 76.2875 234.623 76.2875C234.04 76.2875 233.503 75.9719 233.219 75.4627L233.209 75.4457C232.935 74.9538 232.937 74.3545 233.215 73.8645C233.501 73.3589 234.042 73.0464 234.623 73.0464C235.197 73.0464 235.731 73.3513 236.021 73.8471C236.312 74.346 236.314 74.9624 236.026 75.4634L236.017 75.4801Z\",fill:\"#E9DFF2\"})),_path437||(_path437=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 73.4545C232.222 73.9483 231.692 74.2519 231.12 74.2519C230.549 74.2519 230.019 73.9483 229.731 73.4545C229.439 72.9541 229.439 72.3354 229.731 71.8349C230.019 71.3412 230.549 71.0376 231.12 71.0376C231.692 71.0376 232.222 71.3412 232.51 71.8349C232.802 72.3354 232.802 72.9541 232.51 73.4545Z\",fill:\"#E9DFF2\"})),_path438||(_path438=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.03 71.4414C228.741 71.9372 228.21 72.2421 227.636 72.2421H227.615C227.041 72.2421 226.51 71.9372 226.221 71.4414C225.93 70.9425 225.931 70.3206 226.218 69.8196C226.507 69.3166 227.045 69.001 227.625 69.001C228.205 69.001 228.744 69.3166 229.032 69.8196C229.32 70.3206 229.321 70.9425 229.03 71.4414Z\",fill:\"#E9DFF2\"})),_path439||(_path439=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M225.514 69.4332C225.229 69.929 224.701 70.2347 224.13 70.2347C223.558 70.2347 223.03 69.929 222.746 69.4332L222.733 69.4106C222.445 68.9096 222.448 68.292 222.739 67.7931C223.028 67.2988 223.557 66.9937 224.13 66.9937C224.702 66.9937 225.232 67.2988 225.52 67.7931C225.811 68.292 225.814 68.9096 225.527 69.4106L225.514 69.4332Z\",fill:\"#802DF6\"})),_path440||(_path440=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M222.037 67.4008C221.749 67.8946 221.22 68.1982 220.648 68.1982H220.62C220.048 68.1982 219.519 67.8946 219.231 67.4008C218.94 66.9004 218.94 66.2816 219.231 65.7812C219.519 65.2875 220.048 64.9839 220.62 64.9839H220.648C221.22 64.9839 221.749 65.2875 222.037 65.7812C222.329 66.2816 222.329 66.9004 222.037 67.4008Z\",fill:\"#802DF6\"})),_path441||(_path441=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.529 65.3899C218.241 65.8842 217.711 66.1893 217.138 66.1893C216.566 66.1893 216.036 65.8842 215.748 65.3899C215.457 64.891 215.454 64.2733 215.742 63.7723L215.754 63.7498C216.039 63.254 216.567 62.9482 217.138 62.9482C217.71 62.9482 218.238 63.254 218.522 63.7498L218.535 63.7723C218.823 64.2733 218.82 64.891 218.529 65.3899Z\",fill:\"#802DF6\"})),_path442||(_path442=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 63.3614C214.762 63.8644 214.223 64.18 213.643 64.18C213.063 64.18 212.524 63.8644 212.236 63.3614C211.948 62.8604 211.947 62.2385 212.239 61.7396C212.528 61.2438 213.059 60.939 213.632 60.939H213.654C214.228 60.939 214.758 61.2438 215.048 61.7396C215.339 62.2385 215.338 62.8604 215.05 63.3614Z\",fill:\"#E9DFF2\"})),_path443||(_path443=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 61.3466C211.248 61.8404 210.719 62.144 210.147 62.144C209.576 62.144 209.046 61.8404 208.758 61.3466C208.466 60.8462 208.466 60.2274 208.758 59.727C209.046 59.2333 209.576 58.9297 210.147 58.9297C210.719 58.9297 211.248 59.2333 211.536 59.727C211.828 60.2274 211.828 60.8462 211.536 61.3466Z\",fill:\"#E9DFF2\"})),_path444||(_path444=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 59.3344C207.767 59.8302 207.236 60.1351 206.662 60.1351H206.641C206.067 60.1351 205.536 59.8302 205.247 59.3344C204.956 58.8355 204.957 58.2137 205.244 57.7127C205.533 57.2097 206.072 56.894 206.652 56.894C207.231 56.894 207.77 57.2097 208.059 57.7127C208.346 58.2137 208.347 58.8355 208.056 59.3344Z\",fill:\"#E9DFF2\"})),_path445||(_path445=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 57.3022C204.258 57.7959 203.728 58.0995 203.156 58.0995C202.585 58.0995 202.055 57.7959 201.767 57.3022C201.475 56.8018 201.475 56.183 201.767 55.6826C202.055 55.1889 202.585 54.8853 203.156 54.8853C203.728 54.8853 204.258 55.1889 204.546 55.6826C204.837 56.183 204.837 56.8018 204.546 57.3022Z\",fill:\"#E9DFF2\"})),_path446||(_path446=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.986 55.2488C200.713 55.7203 200.205 56.0106 199.661 56.0106C199.116 56.0106 198.609 55.7203 198.336 55.2488C198.062 54.7756 198.062 54.192 198.336 53.7188C198.609 53.2473 199.116 52.957 199.661 52.957C200.205 52.957 200.713 53.2473 200.986 53.7188C201.26 54.192 201.26 54.7756 200.986 55.2488Z\",fill:\"#E9DFF2\"})),_path447||(_path447=/*#__PURE__*/React.createElement(\"path\",{d:\"M196.427 52.6185C196.373 52.7116 196.273 52.7689 196.165 52.7689C196.057 52.7689 195.958 52.7116 195.903 52.6185L195.896 52.6062C195.839 52.5087 195.842 52.3877 195.902 52.2924C195.957 52.2055 196.053 52.1528 196.156 52.1528H196.174C196.277 52.1528 196.373 52.2055 196.428 52.2924C196.489 52.3877 196.491 52.5087 196.434 52.6062L196.427 52.6185Z\",fill:\"#E9DFF2\"})),_path448||(_path448=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.072 51.249C193.784 51.7427 193.256 52.0463 192.684 52.0463H192.655C192.084 52.0463 191.555 51.7427 191.267 51.249C190.975 50.7486 190.975 50.1298 191.267 49.6294C191.555 49.1356 192.084 48.832 192.655 48.832H192.684C193.256 48.832 193.784 49.1356 194.072 49.6294C194.364 50.1298 194.364 50.7486 194.072 51.249Z\",fill:\"#E9DFF2\"})),_path449||(_path449=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.565 49.2375C190.276 49.7318 189.747 50.037 189.174 50.037C188.602 50.037 188.072 49.7318 187.784 49.2375C187.493 48.7386 187.49 48.121 187.777 47.62L187.79 47.5974C188.075 47.1017 188.603 46.7959 189.174 46.7959C189.746 46.7959 190.274 47.1017 190.558 47.5974L190.571 47.62C190.859 48.121 190.856 48.7386 190.565 49.2375Z\",fill:\"#E9DFF2\"})),_path450||(_path450=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M187.076 47.2034C186.792 47.7126 186.255 48.0282 185.672 48.0282C185.096 48.0282 184.565 47.7202 184.278 47.2208L184.268 47.2041C183.981 46.7031 183.983 46.0867 184.274 45.5878C184.563 45.092 185.098 44.7871 185.672 44.7871C186.253 44.7871 186.793 45.0996 187.08 45.6052C187.357 46.0952 187.36 46.6945 187.085 47.1864L187.076 47.2034Z\",fill:\"#802DF6\"})),_path451||(_path451=/*#__PURE__*/React.createElement(\"path\",{d:\"M183.366 49.1063C183.123 49.5333 182.668 49.7971 182.176 49.7971C181.692 49.7971 181.242 49.5409 180.997 49.1236C180.745 48.6961 180.745 48.1659 180.997 47.7384C181.242 47.3211 181.692 47.0649 182.176 47.0649C182.668 47.0649 183.123 47.3287 183.366 47.7558C183.604 48.1744 183.604 48.6876 183.366 49.1063Z\",fill:\"#E9DFF2\"})),_path452||(_path452=/*#__PURE__*/React.createElement(\"path\",{d:\"M173.068 55.2861C172.783 55.768 172.264 56.0635 171.703 56.0635H171.676C171.109 56.0635 170.585 55.7605 170.301 55.2689C170.021 54.782 170.021 54.1789 170.298 53.69C170.581 53.1895 171.115 52.876 171.69 52.876C172.258 52.876 172.786 53.1818 173.072 53.6725C173.362 54.1703 173.362 54.7905 173.068 55.2861Z\",fill:\"#E9DFF2\"})),_path453||(_path453=/*#__PURE__*/React.createElement(\"path\",{d:\"M133.752 141.569C133.646 141.749 133.453 141.859 133.244 141.859H133.234C133.018 141.859 132.82 141.741 132.717 141.552C132.621 141.376 132.621 141.163 132.717 140.987C132.82 140.798 133.018 140.68 133.234 140.68H133.244C133.453 140.68 133.646 140.79 133.752 140.97C133.861 141.155 133.861 141.384 133.752 141.569Z\",fill:\"#E9DFF2\"})),_path454||(_path454=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.036 168.309C193.755 168.798 193.233 169.1 192.67 169.1C192.106 169.1 191.585 168.798 191.304 168.309C191.022 167.821 191.022 167.218 191.304 166.729C191.585 166.241 192.106 165.939 192.67 165.939C193.233 165.939 193.755 166.241 194.036 166.729C194.317 167.218 194.317 167.821 194.036 168.309Z\",fill:\"#E9DFF2\"})),_path455||(_path455=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M197.549 166.316C197.265 166.812 196.737 167.118 196.165 167.118C195.593 167.118 195.066 166.812 194.781 166.316L194.768 166.294C194.481 165.793 194.484 165.175 194.775 164.676C195.063 164.182 195.593 163.877 196.165 163.877C196.737 163.877 197.267 164.182 197.556 164.676C197.847 165.175 197.849 165.793 197.562 166.294L197.549 166.316Z\",fill:\"#802DF6\"})),_path456||(_path456=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M201.063 164.285C200.775 164.778 200.247 165.082 199.675 165.082H199.646C199.075 165.082 198.546 164.778 198.258 164.285C197.966 163.784 197.966 163.165 198.258 162.665C198.546 162.171 199.075 161.868 199.646 161.868H199.675C200.247 161.868 200.775 162.171 201.063 162.665C201.355 163.165 201.355 163.784 201.063 164.285Z\",fill:\"#802DF6\"})),_path457||(_path457=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.547 162.274C204.258 162.768 203.729 163.073 203.156 163.073C202.584 163.073 202.054 162.768 201.766 162.274C201.475 161.775 201.472 161.157 201.759 160.656L201.772 160.634C202.057 160.138 202.585 159.832 203.156 159.832C203.728 159.832 204.256 160.138 204.54 160.634L204.553 160.656C204.841 161.157 204.838 161.775 204.547 162.274Z\",fill:\"#802DF6\"})),_path458||(_path458=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 160.245C207.77 160.748 207.231 161.064 206.652 161.064C206.072 161.064 205.533 160.748 205.244 160.245C204.957 159.744 204.956 159.122 205.247 158.623C205.536 158.128 206.067 157.823 206.641 157.823H206.662C207.236 157.823 207.767 158.128 208.056 158.623C208.347 159.122 208.346 159.744 208.059 160.245Z\",fill:\"#E9DFF2\"})),_path459||(_path459=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 158.231C211.248 158.725 210.719 159.028 210.147 159.028C209.576 159.028 209.046 158.725 208.758 158.231C208.466 157.73 208.466 157.112 208.758 156.611C209.046 156.118 209.576 155.814 210.147 155.814C210.719 155.814 211.248 156.118 211.536 156.611C211.828 157.112 211.828 157.73 211.536 158.231Z\",fill:\"#E9DFF2\"})),_path460||(_path460=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 156.218C214.758 156.714 214.228 157.019 213.654 157.019H213.632C213.059 157.019 212.528 156.714 212.239 156.218C211.947 155.719 211.948 155.097 212.236 154.596C212.524 154.093 213.063 153.778 213.643 153.778C214.223 153.778 214.762 154.093 215.05 154.596C215.338 155.097 215.339 155.719 215.048 156.218Z\",fill:\"#E9DFF2\"})),_path461||(_path461=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.528 154.186C218.24 154.68 217.71 154.984 217.138 154.984C216.567 154.984 216.037 154.68 215.749 154.186C215.457 153.686 215.457 153.067 215.749 152.567C216.037 152.073 216.567 151.77 217.138 151.77C217.71 151.77 218.24 152.073 218.528 152.567C218.82 153.067 218.82 153.686 218.528 154.186Z\",fill:\"#802DF6\"})),_path462||(_path462=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 152.178C221.749 152.671 221.22 152.975 220.648 152.975H220.62C220.048 152.975 219.519 152.671 219.231 152.178C218.94 151.677 218.94 151.058 219.231 150.558C219.519 150.064 220.048 149.761 220.62 149.761H220.648C221.22 149.761 221.749 150.064 222.037 150.558C222.329 151.058 222.329 151.677 222.037 152.178Z\",fill:\"#E9DFF2\"})),_path463||(_path463=/*#__PURE__*/React.createElement(\"path\",{d:\"M242.883 111.718C242.624 112.17 242.144 112.448 241.623 112.448H241.605C241.092 112.448 240.617 112.177 240.355 111.736C240.086 111.282 240.088 110.713 240.353 110.258C240.613 109.81 241.096 109.528 241.614 109.528C242.14 109.528 242.628 109.818 242.886 110.275C243.137 110.722 243.139 111.274 242.883 111.718Z\",fill:\"#E9DFF2\"})),_path464||(_path464=/*#__PURE__*/React.createElement(\"path\",{d:\"M242.853 107.68C242.597 108.126 242.121 108.404 241.607 108.404C241.094 108.404 240.617 108.126 240.362 107.68C240.106 107.234 240.106 106.68 240.362 106.234C240.617 105.789 241.094 105.511 241.607 105.511C242.121 105.511 242.597 105.789 242.853 106.234C243.109 106.68 243.109 107.234 242.853 107.68Z\",fill:\"#E9DFF2\"})),_path465||(_path465=/*#__PURE__*/React.createElement(\"path\",{d:\"M242.729 103.574C242.499 103.976 242.071 104.225 241.607 104.225C241.143 104.225 240.715 103.976 240.485 103.574L240.477 103.56C240.248 103.159 240.25 102.666 240.483 102.268C240.715 101.871 241.14 101.626 241.599 101.626H241.615C242.074 101.626 242.499 101.871 242.731 102.268C242.964 102.666 242.966 103.159 242.737 103.56L242.729 103.574Z\",fill:\"#E9DFF2\"})),_path466||(_path466=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.012 99.7012C242.723 100.197 242.188 100.502 241.614 100.502C241.033 100.502 240.493 100.189 240.206 99.6837C239.928 99.1937 239.926 98.5944 240.201 98.1025L240.21 98.0855C240.494 97.5763 241.031 97.2607 241.614 97.2607C242.19 97.2607 242.721 97.5687 243.008 98.0681L243.018 98.0848C243.305 98.5858 243.303 99.2022 243.012 99.7012Z\",fill:\"#E9DFF2\"})),_path467||(_path467=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 95.6601C242.722 96.1538 242.186 96.4575 241.614 96.4575C241.035 96.4575 240.493 96.1462 240.208 95.6427C239.93 95.1511 239.93 94.5495 240.208 94.058C240.493 93.5544 241.035 93.2432 241.614 93.2432C242.186 93.2432 242.722 93.5468 243.01 94.0405C243.302 94.5409 243.302 95.1597 243.01 95.6601Z\",fill:\"#E9DFF2\"})),_path468||(_path468=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 91.6152C242.722 92.1089 242.186 92.4125 241.614 92.4125C241.035 92.4125 240.493 92.1013 240.208 91.5977C239.93 91.1062 239.93 90.5046 240.208 90.013C240.493 89.5095 241.035 89.1982 241.614 89.1982C242.186 89.1982 242.722 89.5018 243.01 89.9956C243.302 90.496 243.302 91.1148 243.01 91.6152Z\",fill:\"#E9DFF2\"})),_path469||(_path469=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.012 87.5942C242.723 88.09 242.188 88.3949 241.614 88.3949C241.033 88.3949 240.493 88.0824 240.206 87.5768C239.928 87.0868 239.926 86.4875 240.201 85.9956L240.21 85.9785C240.494 85.4694 241.031 85.1538 241.614 85.1538C242.19 85.1538 242.721 85.4618 243.008 85.9612L243.018 85.9779C243.305 86.4789 243.303 87.0953 243.012 87.5942Z\",fill:\"#E9DFF2\"})),_path470||(_path470=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 83.5522C242.722 84.0459 242.186 84.3495 241.614 84.3495C241.035 84.3495 240.493 84.0383 240.208 83.5347C239.93 83.0432 239.93 82.4416 240.208 81.9501C240.493 81.4465 241.035 81.1353 241.614 81.1353C242.186 81.1353 242.722 81.4389 243.01 81.9326C243.302 82.433 243.302 83.0518 243.01 83.5522Z\",fill:\"#E9DFF2\"})),_path471||(_path471=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 79.5082C242.722 80.002 242.186 80.3056 241.614 80.3056C241.035 80.3056 240.493 79.9944 240.208 79.4908C239.93 78.9993 239.93 78.3976 240.208 77.9061C240.493 77.4025 241.035 77.0913 241.614 77.0913C242.186 77.0913 242.722 77.3949 243.01 77.8887C243.302 78.3891 243.302 79.0078 243.01 79.5082Z\",fill:\"#E9DFF2\"})),_path472||(_path472=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.008 75.4801C242.721 75.9795 242.19 76.2875 241.614 76.2875C241.031 76.2875 240.494 75.9719 240.21 75.4627L240.201 75.4457C239.926 74.9538 239.928 74.3545 240.206 73.8645C240.493 73.3589 241.033 73.0464 241.614 73.0464C242.188 73.0464 242.723 73.3513 243.012 73.8471C243.303 74.346 243.305 74.9624 243.018 75.4634L243.008 75.4801Z\",fill:\"#E9DFF2\"})),_path473||(_path473=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 73.4545C239.213 73.9483 238.684 74.2519 238.112 74.2519C237.54 74.2519 237.011 73.9483 236.723 73.4545C236.431 72.9541 236.431 72.3354 236.723 71.8349C237.011 71.3412 237.54 71.0376 238.112 71.0376C238.684 71.0376 239.213 71.3412 239.501 71.8349C239.793 72.3354 239.793 72.9541 239.501 73.4545Z\",fill:\"#E9DFF2\"})),_path474||(_path474=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.021 71.4414C235.731 71.9372 235.197 72.2421 234.623 72.2421C234.042 72.2421 233.501 71.9296 233.215 71.4239C232.937 70.934 232.935 70.3347 233.209 69.8427L233.219 69.8257C233.503 69.3166 234.04 69.001 234.623 69.001C235.198 69.001 235.73 69.3089 236.017 69.8083L236.026 69.8251C236.314 70.3261 236.312 70.9425 236.021 71.4414Z\",fill:\"#E9DFF2\"})),_path475||(_path475=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 69.4332C232.22 69.929 231.692 70.2347 231.12 70.2347C230.549 70.2347 230.021 69.929 229.736 69.4332L229.723 69.4106C229.436 68.9096 229.439 68.292 229.73 67.7931C230.018 67.2988 230.548 66.9937 231.12 66.9937C231.693 66.9937 232.223 67.2988 232.511 67.7931C232.802 68.292 232.805 68.9096 232.517 69.4106L232.504 69.4332Z\",fill:\"#E9DFF2\"})),_path476||(_path476=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M229.028 67.4008C228.74 67.8946 228.211 68.1982 227.64 68.1982H227.611C227.039 68.1982 226.511 67.8946 226.223 67.4008C225.931 66.9004 225.931 66.2816 226.223 65.7812C226.511 65.2875 227.039 64.9839 227.611 64.9839H227.64C228.211 64.9839 228.74 65.2875 229.028 65.7812C229.32 66.2816 229.32 66.9004 229.028 67.4008Z\",fill:\"#802DF6\"})),_path477||(_path477=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M225.52 65.3899C225.232 65.8842 224.702 66.1893 224.13 66.1893C223.557 66.1893 223.028 65.8842 222.739 65.3899C222.448 64.891 222.445 64.2733 222.733 63.7723L222.746 63.7498C223.03 63.254 223.558 62.9482 224.13 62.9482C224.701 62.9482 225.229 63.254 225.514 63.7498L225.527 63.7723C225.814 64.2733 225.811 64.891 225.52 65.3899Z\",fill:\"#802DF6\"})),_path478||(_path478=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M222.041 63.3614C221.753 63.8644 221.214 64.18 220.634 64.18C220.054 64.18 219.515 63.8644 219.227 63.3614C218.939 62.8604 218.938 62.2385 219.229 61.7396C219.519 61.2438 220.049 60.939 220.623 60.939H220.645C221.219 60.939 221.749 61.2438 222.039 61.7396C222.33 62.2385 222.329 62.8604 222.041 63.3614Z\",fill:\"#802DF6\"})),_path479||(_path479=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.528 61.3466C218.24 61.8404 217.71 62.144 217.138 62.144C216.567 62.144 216.037 61.8404 215.749 61.3466C215.457 60.8462 215.457 60.2274 215.749 59.727C216.037 59.2333 216.567 58.9297 217.138 58.9297C217.71 58.9297 218.24 59.2333 218.528 59.727C218.82 60.2274 218.82 60.8462 218.528 61.3466Z\",fill:\"#802DF6\"})),_path480||(_path480=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 59.3344C214.758 59.8302 214.228 60.1351 213.654 60.1351H213.632C213.059 60.1351 212.528 59.8302 212.239 59.3344C211.947 58.8355 211.948 58.2137 212.236 57.7127C212.524 57.2097 213.063 56.894 213.643 56.894C214.223 56.894 214.762 57.2097 215.05 57.7127C215.338 58.2137 215.339 58.8355 215.048 59.3344Z\",fill:\"#E9DFF2\"})),_path481||(_path481=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 57.3022C211.248 57.7959 210.719 58.0995 210.147 58.0995C209.576 58.0995 209.046 57.7959 208.758 57.3022C208.466 56.8018 208.466 56.183 208.758 55.6826C209.046 55.1889 209.576 54.8853 210.147 54.8853C210.719 54.8853 211.248 55.1889 211.536 55.6826C211.828 56.183 211.828 56.8018 211.536 57.3022Z\",fill:\"#E9DFF2\"})),_path482||(_path482=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 55.2929C207.766 55.7867 207.238 56.0903 206.666 56.0903H206.637C206.066 56.0903 205.537 55.7867 205.249 55.2929C204.957 54.7925 204.957 54.1737 205.249 53.6733C205.537 53.1796 206.066 52.876 206.637 52.876H206.666C207.238 52.876 207.766 53.1796 208.054 53.6733C208.346 54.1737 208.346 54.7925 208.054 55.2929Z\",fill:\"#E9DFF2\"})),_path483||(_path483=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.54 53.2804C204.256 53.7761 203.728 54.0819 203.156 54.0819C202.585 54.0819 202.057 53.7761 201.772 53.2804L201.759 53.2578C201.472 52.7568 201.475 52.1392 201.766 51.6403C202.054 51.146 202.584 50.8408 203.156 50.8408C203.729 50.8408 204.258 51.146 204.547 51.6403C204.838 52.1392 204.841 52.7568 204.553 53.2578L204.54 53.2804Z\",fill:\"#E9DFF2\"})),_path484||(_path484=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.077 47.2095C193.788 47.7125 193.25 48.0282 192.67 48.0282C192.09 48.0282 191.551 47.7125 191.262 47.2095C190.975 46.7086 190.974 46.0867 191.265 45.5878C191.554 45.092 192.085 44.7871 192.659 44.7871H192.68C193.254 44.7871 193.785 45.092 194.074 45.5878C194.365 46.0867 194.364 46.7086 194.077 47.2095Z\",fill:\"#E9DFF2\"})),_path485||(_path485=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.564 45.1953C190.276 45.689 189.746 45.9926 189.174 45.9926C188.603 45.9926 188.073 45.689 187.785 45.1953C187.493 44.6949 187.493 44.0761 187.785 43.5757C188.073 43.0819 188.603 42.7783 189.174 42.7783C189.746 42.7783 190.276 43.0819 190.564 43.5757C190.855 44.0761 190.855 44.6949 190.564 45.1953Z\",fill:\"#E9DFF2\"})),_path486||(_path486=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.69 42.9759C186.478 43.3347 186.089 43.5549 185.672 43.5549C185.248 43.5549 184.853 43.3272 184.643 42.9586C184.438 42.5975 184.438 42.1551 184.643 41.7941C184.853 41.4255 185.248 41.1978 185.672 41.1978C186.089 41.1978 186.478 41.4179 186.69 41.7768C186.909 42.1466 186.909 42.6061 186.69 42.9759Z\",fill:\"#E9DFF2\"})),_path487||(_path487=/*#__PURE__*/React.createElement(\"path\",{d:\"M182.445 44.5559C182.391 44.6491 182.291 44.7063 182.183 44.7063C182.075 44.7063 181.976 44.6491 181.921 44.5559L181.916 44.5469C181.858 44.4468 181.858 44.323 181.916 44.2229L181.921 44.2139C181.976 44.1207 182.075 44.0635 182.183 44.0635C182.291 44.0635 182.391 44.1207 182.445 44.2139L182.45 44.2229C182.509 44.323 182.509 44.4468 182.45 44.5469L182.445 44.5559Z\",fill:\"#E9DFF2\"})),_path488||(_path488=/*#__PURE__*/React.createElement(\"path\",{d:\"M171.971 50.5862C171.918 50.6927 171.809 50.76 171.69 50.76C171.578 50.76 171.474 50.7006 171.418 50.604L171.416 50.6006C171.358 50.5005 171.358 50.3767 171.416 50.2767L171.418 50.2732C171.474 50.1766 171.578 50.1172 171.69 50.1172C171.809 50.1172 171.918 50.1845 171.971 50.291L171.973 50.2949C172.018 50.3854 172.018 50.4919 171.973 50.5824L171.971 50.5862Z\",fill:\"#E9DFF2\"})),_path489||(_path489=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 142.079C127.356 142.573 126.827 142.876 126.256 142.876H126.227C125.655 142.876 125.127 142.573 124.839 142.079C124.547 141.579 124.547 140.96 124.839 140.459C125.127 139.966 125.655 139.662 126.227 139.662H126.256C126.827 139.662 127.356 139.966 127.644 140.459C127.936 140.96 127.936 141.579 127.644 142.079Z\",fill:\"#E9DFF2\"})),_path490||(_path490=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.121 144.111C130.836 144.607 130.308 144.912 129.737 144.912C129.165 144.912 128.637 144.607 128.353 144.111L128.34 144.088C128.052 143.587 128.055 142.97 128.346 142.471C128.634 141.977 129.164 141.671 129.737 141.671C130.309 141.671 130.839 141.977 131.127 142.471C131.418 142.97 131.421 143.587 131.134 144.088L131.121 144.111Z\",fill:\"#E9DFF2\"})),_path491||(_path491=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.637 146.121C134.348 146.616 133.813 146.921 133.239 146.921C132.658 146.921 132.118 146.609 131.831 146.103C131.553 145.613 131.551 145.014 131.826 144.522L131.835 144.505C132.119 143.996 132.656 143.68 133.239 143.68C133.815 143.68 134.346 143.988 134.633 144.488L134.643 144.504C134.93 145.005 134.928 145.622 134.637 146.121Z\",fill:\"#E9DFF2\"})),_path492||(_path492=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.764 172.187C193.536 172.578 193.115 172.823 192.663 172.823C192.204 172.823 191.777 172.57 191.552 172.17C191.333 171.781 191.332 171.3 191.555 170.913C191.78 170.521 192.199 170.278 192.652 170.278H192.673C193.119 170.278 193.533 170.513 193.761 170.896C193.996 171.292 193.996 171.789 193.764 172.187Z\",fill:\"#E9DFF2\"})),_path493||(_path493=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M197.554 170.338C197.266 170.832 196.737 171.136 196.165 171.136C195.593 171.136 195.064 170.832 194.776 170.338C194.484 169.838 194.484 169.219 194.776 168.719C195.064 168.225 195.593 167.921 196.165 167.921C196.737 167.921 197.266 168.225 197.554 168.719C197.846 169.219 197.846 169.838 197.554 170.338Z\",fill:\"#802DF6\"})),_path494||(_path494=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M201.065 168.327C200.776 168.822 200.245 169.127 199.671 169.127H199.65C199.076 169.127 198.545 168.822 198.256 168.327C197.965 167.828 197.966 167.206 198.253 166.705C198.542 166.202 199.081 165.886 199.661 165.886C200.241 165.886 200.779 166.202 201.068 166.705C201.355 167.206 201.356 167.828 201.065 168.327Z\",fill:\"#802DF6\"})),_path495||(_path495=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M204.54 166.316C204.256 166.812 203.728 167.118 203.156 167.118C202.585 167.118 202.057 166.812 201.772 166.316L201.759 166.294C201.472 165.793 201.475 165.175 201.766 164.676C202.054 164.182 202.584 163.877 203.156 163.877C203.729 163.877 204.258 164.182 204.547 164.676C204.838 165.175 204.841 165.793 204.553 166.294L204.54 166.316Z\",fill:\"#802DF6\"})),_path496||(_path496=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M208.054 164.285C207.766 164.778 207.238 165.082 206.666 165.082H206.637C206.066 165.082 205.537 164.778 205.249 164.285C204.957 163.784 204.957 163.165 205.249 162.665C205.537 162.171 206.066 161.868 206.637 161.868H206.666C207.238 161.868 207.766 162.171 208.054 162.665C208.346 163.165 208.346 163.784 208.054 164.285Z\",fill:\"#802DF6\"})),_path497||(_path497=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 162.274C211.249 162.768 210.719 163.073 210.147 163.073C209.575 163.073 209.045 162.768 208.757 162.274C208.466 161.775 208.463 161.157 208.75 160.656L208.763 160.634C209.048 160.138 209.576 159.832 210.147 159.832C210.719 159.832 211.247 160.138 211.531 160.634L211.544 160.656C211.832 161.157 211.829 161.775 211.538 162.274Z\",fill:\"#E9DFF2\"})),_path498||(_path498=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 160.245C214.762 160.748 214.223 161.064 213.643 161.064C213.063 161.064 212.524 160.748 212.236 160.245C211.948 159.744 211.947 159.122 212.239 158.623C212.528 158.128 213.059 157.823 213.632 157.823H213.654C214.228 157.823 214.758 158.128 215.048 158.623C215.339 159.122 215.338 159.744 215.05 160.245Z\",fill:\"#E9DFF2\"})),_path499||(_path499=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 158.231C218.24 158.725 217.71 159.028 217.138 159.028C216.567 159.028 216.037 158.725 215.749 158.231C215.457 157.73 215.457 157.112 215.749 156.611C216.037 156.118 216.567 155.814 217.138 155.814C217.71 155.814 218.24 156.118 218.528 156.611C218.82 157.112 218.82 157.73 218.528 158.231Z\",fill:\"#E9DFF2\"})),_path500||(_path500=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.029 156.198C221.746 156.689 221.222 156.992 220.654 156.992H220.627C220.067 156.992 219.548 156.697 219.262 156.215C218.968 155.719 218.968 155.099 219.259 154.601C219.545 154.111 220.072 153.805 220.641 153.805C221.216 153.805 221.749 154.118 222.033 154.619C222.31 155.108 222.31 155.711 222.029 156.198Z\",fill:\"#E9DFF2\"})),_path501||(_path501=/*#__PURE__*/React.createElement(\"path\",{d:\"M245.518 105.176C245.435 105.317 245.284 105.403 245.12 105.403H245.1C244.943 105.403 244.797 105.324 244.712 105.192C244.615 105.043 244.613 104.852 244.705 104.7L244.712 104.689C244.797 104.55 244.947 104.466 245.11 104.466C245.279 104.466 245.435 104.558 245.517 104.706L245.524 104.717C245.603 104.86 245.601 105.035 245.518 105.176Z\",fill:\"#E9DFF2\"})),_path502||(_path502=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 101.713C246.204 102.207 245.674 102.511 245.103 102.511C244.531 102.511 244.002 102.207 243.714 101.713C243.422 101.213 243.422 100.594 243.714 100.094C244.002 99.6 244.531 99.2964 245.103 99.2964C245.674 99.2964 246.204 99.6 246.492 100.094C246.784 100.594 246.784 101.213 246.492 101.713Z\",fill:\"#E9DFF2\"})),_path503||(_path503=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.487 97.691C246.202 98.1868 245.674 98.4925 245.103 98.4925C244.531 98.4925 244.003 98.1868 243.719 97.691L243.706 97.6684C243.418 97.1675 243.421 96.5498 243.712 96.0509C244.001 95.5566 244.531 95.2515 245.103 95.2515C245.675 95.2515 246.205 95.5566 246.493 96.0509C246.784 96.5498 246.787 97.1675 246.5 97.6684L246.487 97.691Z\",fill:\"#E9DFF2\"})),_path504||(_path504=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.493 93.6482C246.205 94.1425 245.675 94.4476 245.103 94.4476C244.531 94.4476 244.001 94.1425 243.712 93.6482C243.421 93.1493 243.418 92.5316 243.706 92.0306L243.719 92.0081C244.003 91.5123 244.531 91.2065 245.103 91.2065C245.674 91.2065 246.202 91.5123 246.487 92.0081L246.5 92.0306C246.787 92.5316 246.784 93.1493 246.493 93.6482Z\",fill:\"#E9DFF2\"})),_path505||(_path505=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 89.6059C246.204 90.0996 245.674 90.4033 245.103 90.4033C244.531 90.4033 244.002 90.0996 243.714 89.6059C243.422 89.1055 243.422 88.4867 243.714 87.9863C244.002 87.4926 244.531 87.189 245.103 87.189C245.674 87.189 246.204 87.4926 246.492 87.9863C246.784 88.4867 246.784 89.1055 246.492 89.6059Z\",fill:\"#E9DFF2\"})),_path506||(_path506=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 85.5615C246.204 86.0552 245.674 86.3588 245.103 86.3588C244.531 86.3588 244.002 86.0552 243.714 85.5615C243.422 85.0611 243.422 84.4423 243.714 83.9419C244.002 83.4481 244.531 83.1445 245.103 83.1445C245.674 83.1445 246.204 83.4481 246.492 83.9419C246.784 84.4423 246.784 85.0611 246.492 85.5615Z\",fill:\"#E9DFF2\"})),_path507||(_path507=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.487 81.5396C246.202 82.0354 245.674 82.3412 245.103 82.3412C244.531 82.3412 244.003 82.0354 243.719 81.5396L243.706 81.5171C243.418 81.0161 243.421 80.3985 243.712 79.8995C244.001 79.4053 244.531 79.1001 245.103 79.1001C245.675 79.1001 246.205 79.4053 246.493 79.8995C246.784 80.3985 246.787 81.0161 246.5 81.5171L246.487 81.5396Z\",fill:\"#E9DFF2\"})),_path508||(_path508=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.493 77.4973C246.205 77.9916 245.675 78.2967 245.103 78.2967C244.531 78.2967 244.001 77.9916 243.712 77.4973C243.421 76.9984 243.418 76.3808 243.706 75.8798L243.719 75.8572C244.003 75.3614 244.531 75.0557 245.103 75.0557C245.674 75.0557 246.202 75.3614 246.487 75.8572L246.5 75.8798C246.787 76.3808 246.784 76.9984 246.493 77.4973Z\",fill:\"#E9DFF2\"})),_path509||(_path509=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 73.4545C246.204 73.9483 245.674 74.2519 245.103 74.2519C244.531 74.2519 244.002 73.9483 243.714 73.4545C243.422 72.9541 243.422 72.3354 243.714 71.8349C244.002 71.3412 244.531 71.0376 245.103 71.0376C245.674 71.0376 246.204 71.3412 246.492 71.8349C246.784 72.3354 246.784 72.9541 246.492 73.4545Z\",fill:\"#E9DFF2\"})),_path510||(_path510=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.012 71.4414C242.723 71.9372 242.188 72.2421 241.614 72.2421C241.033 72.2421 240.493 71.9296 240.206 71.4239C239.928 70.934 239.926 70.3347 240.201 69.8427L240.21 69.8257C240.494 69.3166 241.031 69.001 241.614 69.001C242.19 69.001 242.721 69.3089 243.008 69.8083L243.018 69.8251C243.305 70.3261 243.303 70.9425 243.012 71.4414Z\",fill:\"#E9DFF2\"})),_path511||(_path511=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.496 69.4332C239.212 69.929 238.684 70.2347 238.112 70.2347C237.54 70.2347 237.013 69.929 236.728 69.4332L236.715 69.4106C236.428 68.9096 236.431 68.292 236.722 67.7931C237.01 67.2988 237.54 66.9937 238.112 66.9937C238.684 66.9937 239.214 67.2988 239.503 67.7931C239.794 68.292 239.797 68.9096 239.509 69.4106L239.496 69.4332Z\",fill:\"#E9DFF2\"})),_path512||(_path512=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 67.4008C235.731 67.8946 235.194 68.1982 234.623 68.1982C234.044 68.1982 233.502 67.8869 233.217 67.3834C232.938 66.8919 232.938 66.2902 233.217 65.7987C233.502 65.2951 234.044 64.9839 234.623 64.9839C235.194 64.9839 235.731 65.2875 236.019 65.7812C236.311 66.2816 236.311 66.9004 236.019 67.4008Z\",fill:\"#E9DFF2\"})),_path513||(_path513=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.511 65.3899C232.223 65.8842 231.693 66.1893 231.12 66.1893C230.548 66.1893 230.018 65.8842 229.73 65.3899C229.439 64.891 229.436 64.2733 229.723 63.7723L229.736 63.7498C230.021 63.254 230.549 62.9482 231.12 62.9482C231.692 62.9482 232.22 63.254 232.504 63.7498L232.517 63.7723C232.805 64.2733 232.802 64.891 232.511 65.3899Z\",fill:\"#802DF6\"})),_path514||(_path514=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M229.032 63.3614C228.744 63.8644 228.205 64.18 227.625 64.18C227.045 64.18 226.507 63.8644 226.218 63.3614C225.931 62.8604 225.93 62.2385 226.221 61.7396C226.51 61.2438 227.041 60.939 227.615 60.939H227.636C228.21 60.939 228.741 61.2438 229.03 61.7396C229.321 62.2385 229.32 62.8604 229.032 63.3614Z\",fill:\"#802DF6\"})),_path515||(_path515=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.519 61.3466C225.231 61.8404 224.701 62.144 224.13 62.144C223.558 62.144 223.028 61.8404 222.74 61.3466C222.449 60.8462 222.449 60.2274 222.74 59.727C223.028 59.2333 223.558 58.9297 224.13 58.9297C224.701 58.9297 225.231 59.2333 225.519 59.727C225.811 60.2274 225.811 60.8462 225.519 61.3466Z\",fill:\"#802DF6\"})),_path516||(_path516=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M222.039 59.3344C221.749 59.8302 221.219 60.1351 220.645 60.1351H220.623C220.049 60.1351 219.519 59.8302 219.229 59.3344C218.938 58.8355 218.939 58.2137 219.227 57.7127C219.515 57.2097 220.054 56.894 220.634 56.894C221.214 56.894 221.753 57.2097 222.041 57.7127C222.329 58.2137 222.33 58.8355 222.039 59.3344Z\",fill:\"#802DF6\"})),_path517||(_path517=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M218.528 57.3022C218.24 57.7959 217.71 58.0995 217.138 58.0995C216.567 58.0995 216.037 57.7959 215.749 57.3022C215.457 56.8018 215.457 56.183 215.749 55.6826C216.037 55.1889 216.567 54.8853 217.138 54.8853C217.71 54.8853 218.24 55.1889 218.528 55.6826C218.82 56.183 218.82 56.8018 218.528 57.3022Z\",fill:\"#802DF6\"})),_path518||(_path518=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 55.2929C214.758 55.7867 214.229 56.0903 213.657 56.0903H213.629C213.057 56.0903 212.528 55.7867 212.24 55.2929C211.949 54.7925 211.949 54.1737 212.24 53.6733C212.528 53.1796 213.057 52.876 213.629 52.876H213.657C214.229 52.876 214.758 53.1796 215.046 53.6733C215.338 54.1737 215.338 54.7925 215.046 55.2929Z\",fill:\"#E9DFF2\"})),_path519||(_path519=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 53.2804C211.247 53.7761 210.719 54.0819 210.147 54.0819C209.576 54.0819 209.048 53.7761 208.763 53.2804L208.75 53.2578C208.463 52.7568 208.466 52.1392 208.757 51.6403C209.045 51.146 209.575 50.8408 210.147 50.8408C210.719 50.8408 211.249 51.146 211.538 51.6403C211.829 52.1392 211.832 52.7568 211.544 53.2578L211.531 53.2804Z\",fill:\"#E9DFF2\"})),_path520||(_path520=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.018 51.2278C207.736 51.7174 207.21 52.0191 206.645 52.0191C206.087 52.0191 205.566 51.7249 205.282 51.2451C204.987 50.748 204.987 50.1295 205.282 49.6325C205.566 49.1526 206.087 48.8584 206.645 48.8584C207.21 48.8584 207.736 49.1601 208.018 49.6497C208.3 50.1381 208.3 50.7394 208.018 51.2278Z\",fill:\"#E9DFF2\"})),_path521||(_path521=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.538 49.2156C204.255 49.7073 203.724 50.0103 203.156 50.0103C202.589 50.0103 202.058 49.7073 201.774 49.2157C201.494 48.7288 201.496 48.1228 201.773 47.6339C202.054 47.137 202.585 46.8228 203.156 46.8228C203.727 46.8228 204.259 47.137 204.54 47.6339C204.817 48.1228 204.819 48.7288 204.538 49.2156Z\",fill:\"#E9DFF2\"})),_path522||(_path522=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.068 47.2095C200.779 47.7125 200.241 48.0282 199.661 48.0282C199.081 48.0282 198.542 47.7125 198.253 47.2095C197.966 46.7086 197.965 46.0867 198.256 45.5878C198.545 45.092 199.076 44.7871 199.65 44.7871H199.671C200.245 44.7871 200.776 45.092 201.065 45.5878C201.356 46.0867 201.355 46.7086 201.068 47.2095Z\",fill:\"#E9DFF2\"})),_path523||(_path523=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M196.951 44.8471C196.788 45.1252 196.488 45.296 196.165 45.296C195.842 45.296 195.542 45.1252 195.379 44.8471C195.211 44.5621 195.211 44.2086 195.379 43.9236C195.542 43.6454 195.842 43.4746 196.165 43.4746C196.488 43.4746 196.788 43.6454 196.951 43.9236C197.119 44.2086 197.119 44.5621 196.951 44.8471Z\",fill:\"#802DF6\"})),_path524||(_path524=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M194.074 43.1831C193.785 43.6789 193.254 43.9838 192.68 43.9838H192.659C192.085 43.9838 191.554 43.6789 191.265 43.1831C190.974 42.6842 190.975 42.0623 191.262 41.5613C191.551 41.0583 192.09 40.7427 192.67 40.7427C193.25 40.7427 193.788 41.0583 194.077 41.5613C194.364 42.0623 194.365 42.6842 194.074 43.1831Z\",fill:\"#802DF6\"})),_path525||(_path525=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M190.481 41.126C190.211 41.601 189.707 41.8943 189.16 41.8943C188.614 41.8943 188.11 41.601 187.839 41.1261L187.828 41.1057C187.558 40.632 187.561 40.0507 187.834 39.579C188.108 39.1056 188.613 38.814 189.16 38.814C189.708 38.814 190.213 39.1056 190.487 39.579C190.76 40.0507 190.763 40.632 190.493 41.1057L190.481 41.126Z\",fill:\"#802DF6\"})),_path526||(_path526=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.129 144.111C123.845 144.607 123.317 144.912 122.745 144.912C122.174 144.912 121.646 144.607 121.361 144.111L121.348 144.088C121.061 143.587 121.064 142.97 121.355 142.471C121.643 141.977 122.173 141.671 122.745 141.671C123.318 141.671 123.848 141.977 124.136 142.471C124.427 142.97 124.43 143.587 124.142 144.088L124.129 144.111Z\",fill:\"#E9DFF2\"})),_path527||(_path527=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.646 146.121C127.357 146.616 126.826 146.921 126.252 146.921H126.231C125.657 146.921 125.126 146.616 124.837 146.121C124.546 145.622 124.547 145 124.834 144.499C125.123 143.996 125.661 143.68 126.241 143.68C126.821 143.68 127.36 143.996 127.648 144.499C127.936 145 127.937 145.622 127.646 146.121Z\",fill:\"#E9DFF2\"})),_path528||(_path528=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 148.133C130.838 148.626 130.308 148.93 129.737 148.93C129.165 148.93 128.635 148.626 128.347 148.133C128.055 147.632 128.055 147.014 128.347 146.513C128.635 146.019 129.165 145.716 129.737 145.716C130.308 145.716 130.838 146.019 131.126 146.513C131.418 147.014 131.418 147.632 131.126 148.133Z\",fill:\"#E9DFF2\"})),_path529||(_path529=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.519 150.117C134.253 150.576 133.763 150.859 133.232 150.859C132.702 150.859 132.211 150.576 131.945 150.117L131.932 150.094C131.659 149.623 131.663 149.041 131.939 148.572C132.208 148.115 132.701 147.832 133.232 147.832C133.763 147.832 134.256 148.115 134.525 148.572C134.801 149.041 134.805 149.623 134.532 150.094L134.519 150.117Z\",fill:\"#E9DFF2\"})),_path530||(_path530=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.158 175.888C193.055 176.063 192.866 176.171 192.663 176.171C192.452 176.171 192.259 176.056 192.158 175.871L192.152 175.86C192.058 175.687 192.06 175.477 192.158 175.306C192.259 175.128 192.447 175.019 192.652 175.019H192.674C192.871 175.019 193.054 175.121 193.158 175.289C193.269 175.469 193.272 175.696 193.164 175.878L193.158 175.888Z\",fill:\"#E9DFF2\"})),_path531||(_path531=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M197.556 174.381C197.267 174.875 196.737 175.181 196.165 175.181C195.593 175.181 195.063 174.875 194.775 174.381C194.484 173.882 194.481 173.265 194.768 172.764L194.781 172.741C195.066 172.245 195.593 171.939 196.165 171.939C196.737 171.939 197.265 172.245 197.549 172.741L197.562 172.764C197.849 173.265 197.847 173.882 197.556 174.381Z\",fill:\"#802DF6\"})),_path532||(_path532=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M201.068 172.353C200.779 172.856 200.241 173.171 199.661 173.171C199.081 173.171 198.542 172.856 198.253 172.353C197.966 171.852 197.965 171.23 198.256 170.731C198.545 170.235 199.076 169.93 199.65 169.93H199.671C200.245 169.93 200.776 170.235 201.065 170.731C201.356 171.23 201.355 171.852 201.068 172.353Z\",fill:\"#802DF6\"})),_path533||(_path533=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 170.338C204.258 170.832 203.728 171.136 203.156 171.136C202.585 171.136 202.055 170.832 201.767 170.338C201.475 169.838 201.475 169.219 201.767 168.719C202.055 168.225 202.585 167.921 203.156 167.921C203.728 167.921 204.258 168.225 204.546 168.719C204.837 169.219 204.837 169.838 204.546 170.338Z\",fill:\"#802DF6\"})),_path534||(_path534=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M208.056 168.327C207.767 168.822 207.236 169.127 206.662 169.127H206.641C206.067 169.127 205.536 168.822 205.247 168.327C204.956 167.828 204.957 167.206 205.244 166.705C205.533 166.202 206.072 165.886 206.652 165.886C207.231 165.886 207.77 166.202 208.059 166.705C208.346 167.206 208.347 167.828 208.056 168.327Z\",fill:\"#802DF6\"})),_path535||(_path535=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M211.531 166.316C211.247 166.812 210.719 167.118 210.147 167.118C209.576 167.118 209.048 166.812 208.763 166.316L208.75 166.294C208.463 165.793 208.466 165.175 208.757 164.676C209.045 164.182 209.575 163.877 210.147 163.877C210.719 163.877 211.249 164.182 211.538 164.676C211.829 165.175 211.832 165.793 211.544 166.294L211.531 166.316Z\",fill:\"#802DF6\"})),_path536||(_path536=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.046 164.285C214.758 164.778 214.229 165.082 213.657 165.082H213.629C213.057 165.082 212.528 164.778 212.24 164.285C211.949 163.784 211.949 163.165 212.24 162.665C212.528 162.171 213.057 161.868 213.629 161.868H213.657C214.229 161.868 214.758 162.171 215.046 162.665C215.338 163.165 215.338 163.784 215.046 164.285Z\",fill:\"#E9DFF2\"})),_path537||(_path537=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.273 162.092C218.044 162.499 217.612 162.751 217.145 162.751C216.686 162.751 216.26 162.507 216.028 162.11C215.795 161.711 215.793 161.218 216.022 160.817L216.033 160.798C216.261 160.399 216.686 160.153 217.145 160.153C217.612 160.153 218.042 160.407 218.267 160.816L218.278 160.835C218.494 161.227 218.492 161.703 218.273 162.092Z\",fill:\"#E9DFF2\"})),_path538||(_path538=/*#__PURE__*/React.createElement(\"path\",{d:\"M221.034 159.661C220.952 159.8 220.803 159.886 220.642 159.886H220.627C220.465 159.886 220.316 159.8 220.234 159.661C220.15 159.519 220.15 159.342 220.234 159.2C220.316 159.06 220.465 158.975 220.627 158.975H220.642C220.803 158.975 220.952 159.06 221.034 159.2C221.118 159.342 221.118 159.519 221.034 159.661Z\",fill:\"#E9DFF2\"})),_path539||(_path539=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.307 154.069C232.061 154.486 231.613 154.742 231.129 154.742H231.111C230.627 154.742 230.179 154.486 229.934 154.069C229.683 153.641 229.683 153.111 229.934 152.684C230.179 152.266 230.627 152.01 231.111 152.01H231.129C231.613 152.01 232.061 152.266 232.307 152.684C232.558 153.111 232.558 153.641 232.307 154.069Z\",fill:\"#E9DFF2\"})),_path540||(_path540=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 103.722C249.713 104.216 249.183 104.519 248.612 104.519C248.04 104.519 247.51 104.216 247.222 103.722C246.93 103.222 246.93 102.603 247.222 102.103C247.51 101.609 248.04 101.305 248.612 101.305C249.183 101.305 249.713 101.609 250.001 102.103C250.293 102.603 250.293 103.222 250.001 103.722Z\",fill:\"#E9DFF2\"})),_path541||(_path541=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.003 99.7012C249.714 100.197 249.179 100.502 248.605 100.502C248.024 100.502 247.484 100.189 247.197 99.6837C246.919 99.1937 246.917 98.5944 247.192 98.1025L247.201 98.0855C247.485 97.5763 248.022 97.2607 248.605 97.2607C249.181 97.2607 249.712 97.5687 249.999 98.0681L250.009 98.0848C250.296 98.5858 250.294 99.2022 250.003 99.7012Z\",fill:\"#E9DFF2\"})),_path542||(_path542=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 95.6601C249.713 96.1538 249.177 96.4575 248.605 96.4575C248.026 96.4575 247.484 96.1462 247.199 95.6426C246.92 95.1511 246.92 94.5495 247.199 94.058C247.484 93.5544 248.026 93.2432 248.605 93.2432C249.177 93.2432 249.713 93.5468 250.001 94.0405C250.293 94.5409 250.293 95.1597 250.001 95.6601Z\",fill:\"#E9DFF2\"})),_path543||(_path543=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 91.6152C249.713 92.1089 249.177 92.4125 248.605 92.4125C248.026 92.4125 247.484 92.1013 247.199 91.5977C246.92 91.1062 246.92 90.5046 247.199 90.0131C247.484 89.5095 248.026 89.1982 248.605 89.1982C249.177 89.1982 249.713 89.5018 250.001 89.9956C250.293 90.496 250.293 91.1148 250.001 91.6152Z\",fill:\"#E9DFF2\"})),_path544||(_path544=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.003 87.5942C249.714 88.09 249.179 88.3949 248.605 88.3949C248.024 88.3949 247.484 88.0824 247.197 87.5768C246.919 87.0868 246.917 86.4875 247.192 85.9956L247.201 85.9785C247.485 85.4694 248.022 85.1538 248.605 85.1538C249.181 85.1538 249.712 85.4618 249.999 85.9612L250.009 85.9779C250.296 86.4789 250.294 87.0953 250.003 87.5942Z\",fill:\"#E9DFF2\"})),_path545||(_path545=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 83.5522C249.713 84.0459 249.177 84.3495 248.605 84.3495C248.026 84.3495 247.484 84.0383 247.199 83.5347C246.92 83.0432 246.92 82.4416 247.199 81.9501C247.484 81.4465 248.026 81.1353 248.605 81.1353C249.177 81.1353 249.713 81.4389 250.001 81.9326C250.293 82.433 250.293 83.0518 250.001 83.5522Z\",fill:\"#E9DFF2\"})),_path546||(_path546=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 79.5082C249.713 80.002 249.177 80.3056 248.605 80.3056C248.026 80.3056 247.484 79.9944 247.199 79.4908C246.92 78.9993 246.92 78.3976 247.199 77.9061C247.484 77.4025 248.026 77.0913 248.605 77.0913C249.177 77.0913 249.713 77.3949 250.001 77.8887C250.293 78.3891 250.293 79.0078 250.001 79.5082Z\",fill:\"#E9DFF2\"})),_path547||(_path547=/*#__PURE__*/React.createElement(\"path\",{d:\"M249.999 75.4801C249.712 75.9795 249.181 76.2875 248.605 76.2875C248.022 76.2875 247.485 75.9719 247.201 75.4627L247.192 75.4457C246.917 74.9538 246.919 74.3545 247.197 73.8645C247.484 73.3589 248.024 73.0464 248.605 73.0464C249.179 73.0464 249.714 73.3513 250.003 73.8471C250.294 74.346 250.296 74.9624 250.009 75.4634L249.999 75.4801Z\",fill:\"#E9DFF2\"})),_path548||(_path548=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.003 71.4414C249.714 71.9372 249.179 72.2421 248.605 72.2421C248.024 72.2421 247.484 71.9296 247.197 71.4239C246.919 70.934 246.917 70.3347 247.192 69.8427L247.201 69.8257C247.485 69.3166 248.022 69.001 248.605 69.001C249.181 69.001 249.712 69.3089 249.999 69.8083L250.009 69.8251C250.296 70.3261 250.294 70.9425 250.003 71.4414Z\",fill:\"#E9DFF2\"})),_path549||(_path549=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.487 69.4332C246.202 69.929 245.674 70.2347 245.103 70.2347C244.531 70.2347 244.003 69.929 243.719 69.4332L243.706 69.4106C243.418 68.9096 243.421 68.292 243.712 67.7931C244.001 67.2988 244.531 66.9937 245.103 66.9937C245.675 66.9937 246.205 67.2988 246.493 67.7931C246.784 68.292 246.787 68.9096 246.5 69.4106L246.487 69.4332Z\",fill:\"#E9DFF2\"})),_path550||(_path550=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M243.01 67.4008C242.722 67.8946 242.186 68.1982 241.614 68.1982C241.035 68.1982 240.493 67.8869 240.208 67.3834C239.93 66.8919 239.93 66.2902 240.208 65.7987C240.493 65.2951 241.035 64.9839 241.614 64.9839C242.186 64.9839 242.722 65.2875 243.01 65.7812C243.302 66.2816 243.302 66.9004 243.01 67.4008Z\",fill:\"#802DF6\"})),_path551||(_path551=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.503 65.3899C239.214 65.8842 238.684 66.1893 238.112 66.1893C237.54 66.1893 237.01 65.8842 236.722 65.3899C236.431 64.891 236.428 64.2733 236.715 63.7723L236.728 63.7498C237.013 63.254 237.54 62.9482 238.112 62.9482C238.684 62.9482 239.212 63.254 239.496 63.7498L239.509 63.7723C239.797 64.2733 239.794 64.891 239.503 65.3899Z\",fill:\"#E9DFF2\"})),_path552||(_path552=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.017 63.3727C235.73 63.8721 235.198 64.18 234.623 64.18C234.04 64.18 233.503 63.8645 233.219 63.3553L233.209 63.3383C232.935 62.8463 232.937 62.2471 233.215 61.7571C233.501 61.2515 234.042 60.939 234.623 60.939C235.197 60.939 235.731 61.2438 236.021 61.7396C236.312 62.2385 236.314 62.855 236.026 63.3559L236.017 63.3727Z\",fill:\"#E9DFF2\"})),_path553||(_path553=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.51 61.3466C232.222 61.8404 231.692 62.144 231.12 62.144C230.549 62.144 230.019 61.8404 229.731 61.3466C229.439 60.8462 229.439 60.2274 229.731 59.727C230.019 59.2333 230.549 58.9297 231.12 58.9297C231.692 58.9297 232.222 59.2333 232.51 59.727C232.802 60.2274 232.802 60.8462 232.51 61.3466Z\",fill:\"#802DF6\"})),_path554||(_path554=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M229.03 59.3344C228.741 59.8302 228.21 60.1351 227.636 60.1351H227.615C227.041 60.1351 226.51 59.8302 226.221 59.3344C225.93 58.8355 225.931 58.2137 226.218 57.7127C226.507 57.2097 227.045 56.894 227.625 56.894C228.205 56.894 228.744 57.2097 229.032 57.7127C229.32 58.2137 229.321 58.8355 229.03 59.3344Z\",fill:\"#802DF6\"})),_path555||(_path555=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M225.519 57.3022C225.231 57.7959 224.701 58.0995 224.13 58.0995C223.558 58.0995 223.028 57.7959 222.74 57.3022C222.449 56.8018 222.449 56.183 222.74 55.6826C223.028 55.1889 223.558 54.8853 224.13 54.8853C224.701 54.8853 225.231 55.1889 225.519 55.6826C225.811 56.183 225.811 56.8018 225.519 57.3022Z\",fill:\"#802DF6\"})),_path556||(_path556=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M222.037 55.2929C221.749 55.7867 221.22 56.0903 220.648 56.0903H220.62C220.048 56.0903 219.519 55.7867 219.231 55.2929C218.94 54.7925 218.94 54.1737 219.231 53.6733C219.519 53.1796 220.048 52.876 220.62 52.876H220.648C221.22 52.876 221.749 53.1796 222.037 53.6733C222.329 54.1737 222.329 54.7925 222.037 55.2929Z\",fill:\"#802DF6\"})),_path557||(_path557=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.522 53.2804C218.238 53.7761 217.71 54.0819 217.138 54.0819C216.567 54.0819 216.039 53.7761 215.754 53.2804L215.742 53.2578C215.454 52.7568 215.457 52.1392 215.748 51.6403C216.036 51.146 216.566 50.8408 217.138 50.8408C217.711 50.8408 218.241 51.146 218.529 51.6403C218.82 52.1392 218.823 52.7568 218.535 53.2578L218.522 53.2804Z\",fill:\"#E9DFF2\"})),_path558||(_path558=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M215.046 51.249C214.758 51.7427 214.229 52.0463 213.657 52.0463H213.629C213.057 52.0463 212.528 51.7427 212.24 51.249C211.949 50.7486 211.949 50.1298 212.24 49.6294C212.528 49.1356 213.057 48.832 213.629 48.832H213.657C214.229 48.832 214.758 49.1356 215.046 49.6294C215.338 50.1298 215.338 50.7486 215.046 51.249Z\",fill:\"#802DF6\"})),_path559||(_path559=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.538 49.2375C211.249 49.7318 210.719 50.037 210.147 50.037C209.575 50.037 209.045 49.7318 208.757 49.2375C208.466 48.7386 208.463 48.121 208.75 47.62L208.763 47.5974C209.048 47.1017 209.576 46.7959 210.147 46.7959C210.719 46.7959 211.247 47.1017 211.531 47.5974L211.544 47.62C211.832 48.121 211.829 48.7386 211.538 49.2375Z\",fill:\"#E9DFF2\"})),_path560||(_path560=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M208.059 47.2095C207.77 47.7125 207.231 48.0282 206.652 48.0282C206.072 48.0282 205.533 47.7125 205.244 47.2095C204.957 46.7086 204.956 46.0867 205.247 45.5878C205.536 45.092 206.067 44.7871 206.641 44.7871H206.662C207.236 44.7871 207.767 45.092 208.056 45.5878C208.347 46.0867 208.346 46.7086 208.059 47.2095Z\",fill:\"#802DF6\"})),_path561||(_path561=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.546 45.1953C204.258 45.689 203.728 45.9926 203.156 45.9926C202.585 45.9926 202.055 45.689 201.767 45.1953C201.475 44.6949 201.475 44.0761 201.767 43.5757C202.055 43.0819 202.585 42.7783 203.156 42.7783C203.728 42.7783 204.258 43.0819 204.546 43.5757C204.837 44.0761 204.837 44.6949 204.546 45.1953Z\",fill:\"#E9DFF2\"})),_path562||(_path562=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M200.352 42.7874C200.206 43.0315 199.939 43.1808 199.654 43.1808C199.362 43.1808 199.09 43.0239 198.946 42.7701C198.808 42.5259 198.806 42.2274 198.941 41.9813L198.95 41.9637C199.091 41.7066 199.361 41.5469 199.654 41.5469C199.94 41.5469 200.205 41.6991 200.348 41.9465L200.358 41.9636C200.506 42.2188 200.504 42.5344 200.352 42.7874Z\",fill:\"#802DF6\"})),_path563||(_path563=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M197.549 41.1734C197.265 41.6692 196.737 41.975 196.165 41.975C195.593 41.975 195.066 41.6692 194.781 41.1734L194.768 41.1509C194.481 40.6499 194.484 40.0322 194.775 39.5333C195.063 39.039 195.593 38.7339 196.165 38.7339C196.737 38.7339 197.267 39.039 197.556 39.5333C197.847 40.0322 197.849 40.6499 197.562 41.1509L197.549 41.1734Z\",fill:\"#802DF6\"})),_path564||(_path564=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M194.072 39.1415C193.784 39.6353 193.256 39.9389 192.684 39.9389H192.655C192.084 39.9389 191.555 39.6353 191.267 39.1415C190.975 38.6411 190.975 38.0224 191.267 37.522C191.555 37.0282 192.084 36.7246 192.655 36.7246H192.684C193.256 36.7246 193.784 37.0282 194.072 37.522C194.364 38.0224 194.364 38.6411 194.072 39.1415Z\",fill:\"#802DF6\"})),_path565||(_path565=/*#__PURE__*/React.createElement(\"path\",{d:\"M123.887 139.911C123.653 140.32 123.217 140.573 122.746 140.573C122.275 140.573 121.838 140.32 121.604 139.911C121.374 139.508 121.374 139.013 121.604 138.609C121.838 138.2 122.275 137.948 122.746 137.948C123.217 137.948 123.653 138.2 123.887 138.609C124.117 139.013 124.117 139.508 123.887 139.911Z\",fill:\"#E9DFF2\"})),_path566||(_path566=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.655 146.121C120.365 146.616 119.835 146.921 119.261 146.921H119.239C118.665 146.921 118.135 146.616 117.845 146.121C117.554 145.622 117.555 145 117.843 144.499C118.131 143.996 118.67 143.68 119.25 143.68C119.83 143.68 120.369 143.996 120.657 144.499C120.945 145 120.946 145.622 120.655 146.121Z\",fill:\"#E9DFF2\"})),_path567||(_path567=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.135 148.133C123.847 148.626 123.317 148.93 122.745 148.93C122.174 148.93 121.644 148.626 121.356 148.133C121.064 147.632 121.064 147.014 121.356 146.513C121.644 146.019 122.174 145.716 122.745 145.716C123.317 145.716 123.847 146.019 124.135 146.513C124.427 147.014 124.427 147.632 124.135 148.133Z\",fill:\"#E9DFF2\"})),_path568||(_path568=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.648 150.147C127.36 150.65 126.821 150.966 126.241 150.966C125.661 150.966 125.123 150.65 124.834 150.147C124.547 149.646 124.546 149.024 124.837 148.525C125.126 148.029 125.657 147.725 126.231 147.725H126.252C126.826 147.725 127.357 148.029 127.646 148.525C127.937 149.024 127.936 149.646 127.648 150.147Z\",fill:\"#E9DFF2\"})),_path569||(_path569=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 152.178C130.838 152.671 130.308 152.975 129.737 152.975C129.165 152.975 128.635 152.671 128.347 152.178C128.055 151.677 128.055 151.058 128.347 150.558C128.635 150.064 129.165 149.761 129.737 149.761C130.308 149.761 130.838 150.064 131.126 150.558C131.418 151.058 131.418 151.677 131.126 152.178Z\",fill:\"#E9DFF2\"})),_path570||(_path570=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.549 178.424C197.265 178.92 196.737 179.225 196.165 179.225C195.593 179.225 195.066 178.92 194.781 178.424L194.768 178.401C194.481 177.9 194.484 177.283 194.775 176.784C195.063 176.29 195.593 175.984 196.165 175.984C196.737 175.984 197.267 176.29 197.556 176.784C197.847 177.283 197.849 177.9 197.562 178.401L197.549 178.424Z\",fill:\"#E9DFF2\"})),_path571||(_path571=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M201.063 176.392C200.775 176.886 200.247 177.189 199.675 177.189H199.646C199.075 177.189 198.546 176.886 198.258 176.392C197.966 175.892 197.966 175.273 198.258 174.772C198.546 174.279 199.075 173.975 199.646 173.975H199.675C200.247 173.975 200.775 174.279 201.063 174.772C201.355 175.273 201.355 175.892 201.063 176.392Z\",fill:\"#802DF6\"})),_path572||(_path572=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M204.547 174.381C204.258 174.875 203.729 175.181 203.156 175.181C202.584 175.181 202.054 174.875 201.766 174.381C201.475 173.882 201.472 173.265 201.759 172.764L201.772 172.741C202.057 172.245 202.585 171.939 203.156 171.939C203.728 171.939 204.256 172.245 204.54 172.741L204.553 172.764C204.841 173.265 204.838 173.882 204.547 174.381Z\",fill:\"#802DF6\"})),_path573||(_path573=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M208.059 172.353C207.77 172.856 207.231 173.171 206.652 173.171C206.072 173.171 205.533 172.856 205.244 172.353C204.957 171.852 204.956 171.23 205.247 170.731C205.536 170.235 206.067 169.93 206.641 169.93H206.662C207.236 169.93 207.767 170.235 208.056 170.731C208.347 171.23 208.346 171.852 208.059 172.353Z\",fill:\"#802DF6\"})),_path574||(_path574=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M211.536 170.338C211.248 170.832 210.719 171.136 210.147 171.136C209.576 171.136 209.046 170.832 208.758 170.338C208.466 169.838 208.466 169.219 208.758 168.719C209.046 168.225 209.576 167.921 210.147 167.921C210.719 167.921 211.248 168.225 211.536 168.719C211.828 169.219 211.828 169.838 211.536 170.338Z\",fill:\"#802DF6\"})),_path575||(_path575=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.048 168.327C214.758 168.822 214.228 169.127 213.654 169.127H213.632C213.059 169.127 212.528 168.822 212.239 168.327C211.947 167.828 211.948 167.206 212.236 166.705C212.524 166.202 213.063 165.886 213.643 165.886C214.223 165.886 214.762 166.202 215.05 166.705C215.338 167.206 215.339 167.828 215.048 168.327Z\",fill:\"#E9DFF2\"})),_path576||(_path576=/*#__PURE__*/React.createElement(\"path\",{d:\"M217.352 165.619C217.312 165.7 217.229 165.751 217.139 165.751C217.048 165.751 216.966 165.7 216.925 165.619L216.916 165.6C216.879 165.527 216.881 165.441 216.921 165.369C216.964 165.291 217.047 165.242 217.137 165.242H217.141C217.23 165.242 217.313 165.291 217.357 165.369C217.396 165.441 217.398 165.527 217.362 165.6L217.352 165.619Z\",fill:\"#E9DFF2\"})),_path577||(_path577=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 160.245C228.744 160.748 228.205 161.064 227.625 161.064C227.045 161.064 226.507 160.748 226.218 160.245C225.931 159.744 225.93 159.122 226.221 158.623C226.51 158.128 227.041 157.823 227.615 157.823H227.636C228.21 157.823 228.741 158.128 229.03 158.623C229.321 159.122 229.32 159.744 229.032 160.245Z\",fill:\"#E9DFF2\"})),_path578||(_path578=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 158.231C232.222 158.725 231.692 159.028 231.12 159.028C230.549 159.028 230.019 158.725 229.731 158.231C229.439 157.73 229.439 157.112 229.731 156.611C230.019 156.118 230.549 155.814 231.12 155.814C231.692 155.814 232.222 156.118 232.51 156.611C232.802 157.112 232.802 157.73 232.51 158.231Z\",fill:\"#E9DFF2\"})),_path579||(_path579=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.002 105.476C252.812 105.796 252.466 105.993 252.094 105.993C251.722 105.993 251.375 105.796 251.186 105.476C250.994 105.15 250.992 104.746 251.18 104.418L251.191 104.399C251.377 104.076 251.721 103.877 252.094 103.877C252.467 103.877 252.811 104.076 252.997 104.399L253.007 104.418C253.196 104.746 253.194 105.15 253.002 105.476Z\",fill:\"#E9DFF2\"})),_path580||(_path580=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 101.696C253.221 102.199 252.679 102.511 252.1 102.511C251.529 102.511 250.993 102.207 250.705 101.713C250.413 101.213 250.413 100.594 250.705 100.094C250.993 99.6 251.529 99.2964 252.1 99.2964C252.679 99.2964 253.221 99.6076 253.506 100.111C253.785 100.603 253.785 101.204 253.506 101.696Z\",fill:\"#E9DFF2\"})),_path581||(_path581=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.504 97.6678C253.221 98.1769 252.683 98.4925 252.1 98.4925C251.525 98.4925 250.993 98.1846 250.706 97.6852L250.697 97.6684C250.409 97.1675 250.412 96.551 250.703 96.0521C250.992 95.5563 251.526 95.2515 252.1 95.2515C252.682 95.2515 253.222 95.564 253.508 96.0696C253.786 96.5596 253.788 97.1588 253.514 97.6508L253.504 97.6678Z\",fill:\"#E9DFF2\"})),_path582||(_path582=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.508 93.6295C253.222 94.1351 252.682 94.4476 252.1 94.4476C251.526 94.4476 250.992 94.1427 250.703 93.647C250.412 93.148 250.409 92.5316 250.697 92.0306L250.706 92.0139C250.993 91.5145 251.525 91.2065 252.1 91.2065C252.683 91.2065 253.221 91.5221 253.504 92.0313L253.514 92.0483C253.788 92.5402 253.786 93.1395 253.508 93.6295Z\",fill:\"#E9DFF2\"})),_path583||(_path583=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 89.5884C253.221 90.092 252.679 90.4033 252.1 90.4033C251.529 90.4033 250.993 90.0996 250.705 89.6059C250.413 89.1055 250.413 88.4867 250.705 87.9863C250.993 87.4926 251.529 87.189 252.1 87.189C252.679 87.189 253.221 87.5002 253.506 88.0038C253.785 88.4953 253.785 89.0969 253.506 89.5884Z\",fill:\"#E9DFF2\"})),_path584||(_path584=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 85.544C253.221 86.0476 252.679 86.3588 252.1 86.3588C251.529 86.3588 250.993 86.0552 250.705 85.5615C250.413 85.0611 250.413 84.4423 250.705 83.9419C250.993 83.4481 251.529 83.1445 252.1 83.1445C252.679 83.1445 253.221 83.4558 253.506 83.9593C253.785 84.4508 253.785 85.0525 253.506 85.544Z\",fill:\"#E9DFF2\"})),_path585||(_path585=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.504 81.5164C253.221 82.0256 252.683 82.3412 252.1 82.3412C251.525 82.3412 250.993 82.0332 250.706 81.5338L250.697 81.5171C250.409 81.0161 250.412 80.3997 250.703 79.9008C250.992 79.405 251.526 79.1001 252.1 79.1001C252.682 79.1001 253.222 79.4126 253.508 79.9182C253.786 80.4082 253.788 81.0075 253.514 81.4994L253.504 81.5164Z\",fill:\"#E9DFF2\"})),_path586||(_path586=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.508 77.4786C253.222 77.9842 252.682 78.2967 252.1 78.2967C251.526 78.2967 250.992 77.9919 250.703 77.4961C250.412 76.9972 250.409 76.3808 250.697 75.8798L250.706 75.863C250.993 75.3636 251.525 75.0557 252.1 75.0557C252.683 75.0557 253.221 75.3713 253.504 75.8804L253.514 75.8974C253.788 76.3894 253.786 76.9886 253.508 77.4786Z\",fill:\"#E9DFF2\"})),_path587||(_path587=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 73.4371C253.221 73.9407 252.679 74.2519 252.1 74.2519C251.529 74.2519 250.993 73.9483 250.705 73.4545C250.413 72.9541 250.413 72.3354 250.705 71.8349C250.993 71.3412 251.529 71.0376 252.1 71.0376C252.679 71.0376 253.221 71.3488 253.506 71.8524C253.785 72.3439 253.785 72.9456 253.506 73.4371Z\",fill:\"#E9DFF2\"})),_path588||(_path588=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.504 69.41C253.221 69.9191 252.683 70.2347 252.1 70.2347C251.525 70.2347 250.993 69.9268 250.706 69.4274L250.697 69.4106C250.409 68.9096 250.412 68.2932 250.703 67.7943C250.992 67.2985 251.526 66.9937 252.1 66.9937C252.682 66.9937 253.222 67.3062 253.508 67.8118C253.786 68.3017 253.788 68.901 253.514 69.393L253.504 69.41Z\",fill:\"#E9DFF2\"})),_path589||(_path589=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 67.4008C249.713 67.8946 249.177 68.1982 248.605 68.1982C248.026 68.1982 247.484 67.8869 247.199 67.3834C246.92 66.8919 246.92 66.2902 247.199 65.7987C247.484 65.2951 248.026 64.9839 248.605 64.9839C249.177 64.9839 249.713 65.2875 250.001 65.7812C250.293 66.2816 250.293 66.9004 250.001 67.4008Z\",fill:\"#E9DFF2\"})),_path590||(_path590=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.493 65.3899C246.205 65.8842 245.675 66.1893 245.103 66.1893C244.531 66.1893 244.001 65.8842 243.712 65.3899C243.421 64.891 243.418 64.2733 243.706 63.7723L243.719 63.7498C244.003 63.254 244.531 62.9482 245.103 62.9482C245.674 62.9482 246.202 63.254 246.487 63.7498L246.5 63.7723C246.787 64.2733 246.784 64.891 246.493 65.3899Z\",fill:\"#E9DFF2\"})),_path591||(_path591=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.008 63.3727C242.721 63.8721 242.19 64.18 241.614 64.18C241.031 64.18 240.494 63.8645 240.21 63.3553L240.201 63.3383C239.926 62.8463 239.928 62.2471 240.206 61.7571C240.493 61.2515 241.033 60.939 241.614 60.939C242.188 60.939 242.723 61.2438 243.012 61.7396C243.303 62.2385 243.305 62.855 243.018 63.3559L243.008 63.3727Z\",fill:\"#E9DFF2\"})),_path592||(_path592=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 61.3466C239.213 61.8404 238.684 62.144 238.112 62.144C237.54 62.144 237.011 61.8404 236.723 61.3466C236.431 60.8462 236.431 60.2274 236.723 59.727C237.011 59.2333 237.54 58.9297 238.112 58.9297C238.684 58.9297 239.213 59.2333 239.501 59.727C239.793 60.2274 239.793 60.8462 239.501 61.3466Z\",fill:\"#E9DFF2\"})),_path593||(_path593=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.021 59.3344C235.731 59.8302 235.197 60.1351 234.623 60.1351C234.042 60.1351 233.501 59.8226 233.215 59.317C232.937 58.827 232.935 58.2277 233.209 57.7358L233.219 57.7188C233.503 57.2096 234.04 56.894 234.623 56.894C235.198 56.894 235.73 57.202 236.017 57.7014L236.026 57.7181C236.314 58.2191 236.312 58.8355 236.021 59.3344Z\",fill:\"#E9DFF2\"})),_path594||(_path594=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M232.51 57.3022C232.222 57.7959 231.692 58.0995 231.12 58.0995C230.549 58.0995 230.019 57.7959 229.731 57.3022C229.439 56.8018 229.439 56.183 229.731 55.6826C230.019 55.1889 230.549 54.8853 231.12 54.8853C231.692 54.8853 232.222 55.1889 232.51 55.6826C232.802 56.183 232.802 56.8018 232.51 57.3022Z\",fill:\"#802DF6\"})),_path595||(_path595=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M229.028 55.2929C228.74 55.7867 228.211 56.0903 227.64 56.0903H227.611C227.039 56.0903 226.511 55.7867 226.223 55.2929C225.931 54.7925 225.931 54.1737 226.223 53.6733C226.511 53.1796 227.039 52.876 227.611 52.876H227.64C228.211 52.876 228.74 53.1796 229.028 53.6733C229.32 54.1737 229.32 54.7925 229.028 55.2929Z\",fill:\"#802DF6\"})),_path596||(_path596=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M225.514 53.2804C225.229 53.7761 224.701 54.0819 224.13 54.0819C223.558 54.0819 223.03 53.7761 222.746 53.2804L222.733 53.2578C222.445 52.7568 222.448 52.1392 222.739 51.6403C223.028 51.146 223.557 50.8408 224.13 50.8408C224.702 50.8408 225.232 51.146 225.52 51.6403C225.811 52.1392 225.814 52.7568 225.527 53.2578L225.514 53.2804Z\",fill:\"#802DF6\"})),_path597||(_path597=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.037 51.249C221.749 51.7427 221.22 52.0463 220.648 52.0463H220.62C220.048 52.0463 219.519 51.7427 219.231 51.249C218.94 50.7486 218.94 50.1298 219.231 49.6294C219.519 49.1356 220.048 48.832 220.62 48.832H220.648C221.22 48.832 221.749 49.1356 222.037 49.6294C222.329 50.1298 222.329 50.7486 222.037 51.249Z\",fill:\"#E9DFF2\"})),_path598||(_path598=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.529 49.2375C218.241 49.7318 217.711 50.037 217.138 50.037C216.566 50.037 216.036 49.7318 215.748 49.2375C215.457 48.7386 215.454 48.121 215.742 47.62L215.754 47.5974C216.039 47.1016 216.567 46.7959 217.138 46.7959C217.71 46.7959 218.238 47.1016 218.522 47.5974L218.535 47.62C218.823 48.121 218.82 48.7386 218.529 49.2375Z\",fill:\"#E9DFF2\"})),_path599||(_path599=/*#__PURE__*/React.createElement(\"path\",{d:\"M215.05 47.2095C214.762 47.7125 214.223 48.0282 213.643 48.0282C213.063 48.0282 212.524 47.7125 212.236 47.2095C211.948 46.7086 211.947 46.0867 212.239 45.5878C212.528 45.092 213.059 44.7871 213.632 44.7871H213.654C214.228 44.7871 214.758 45.092 215.048 45.5878C215.339 46.0867 215.338 46.7086 215.05 47.2095Z\",fill:\"#E9DFF2\"})),_path600||(_path600=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 45.1953C211.248 45.689 210.719 45.9926 210.147 45.9926C209.576 45.9926 209.046 45.689 208.758 45.1953C208.466 44.6949 208.466 44.0761 208.758 43.5757C209.046 43.0819 209.576 42.7783 210.147 42.7783C210.719 42.7783 211.248 43.0819 211.536 43.5757C211.828 44.0761 211.828 44.6949 211.536 45.1953Z\",fill:\"#E9DFF2\"})),_path601||(_path601=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.056 43.1831C207.767 43.6789 207.236 43.9838 206.662 43.9838H206.641C206.067 43.9838 205.536 43.6789 205.247 43.1831C204.956 42.6842 204.957 42.0623 205.244 41.5613C205.533 41.0583 206.072 40.7427 206.652 40.7427C207.231 40.7427 207.77 41.0583 208.059 41.5613C208.346 42.0623 208.347 42.6842 208.056 43.1831Z\",fill:\"#E9DFF2\"})),_path602||(_path602=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.54 41.1734C204.256 41.6692 203.728 41.975 203.156 41.975C202.585 41.975 202.057 41.6692 201.772 41.1734L201.759 41.1509C201.472 40.6499 201.475 40.0322 201.766 39.5333C202.054 39.039 202.584 38.7339 203.156 38.7339C203.729 38.7339 204.258 39.039 204.547 39.5333C204.838 40.0322 204.841 40.6499 204.553 41.1509L204.54 41.1734Z\",fill:\"#802DF6\"})),_path603||(_path603=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M201.034 39.147C200.749 39.6341 200.225 39.9389 199.661 39.9389C199.097 39.9389 198.572 39.6341 198.288 39.147C197.996 38.6466 197.996 38.0169 198.288 37.5165C198.572 37.0294 199.097 36.7246 199.661 36.7246C200.225 36.7246 200.749 37.0294 201.034 37.5165C201.326 38.0169 201.326 38.6466 201.034 39.147Z\",fill:\"#802DF6\"})),_path604||(_path604=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.556 37.1311C197.267 37.6254 196.737 37.9305 196.165 37.9305C195.593 37.9305 195.063 37.6254 194.775 37.1311C194.484 36.6322 194.481 36.0145 194.768 35.5136L194.781 35.491C195.066 34.9952 195.593 34.6895 196.165 34.6895C196.737 34.6895 197.265 34.9952 197.549 35.491L197.562 35.5136C197.849 36.0145 197.847 36.6322 197.556 37.1311Z\",fill:\"#802DF6\"})),_path605||(_path605=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M193.747 34.8931C193.528 35.2798 193.114 35.519 192.67 35.519C192.225 35.519 191.811 35.2798 191.593 34.8931C191.38 34.5169 191.38 34.0568 191.593 33.6805C191.811 33.2938 192.225 33.0547 192.67 33.0547C193.114 33.0547 193.528 33.2938 193.747 33.6805C193.959 34.0568 193.959 34.5169 193.747 34.8931Z\",fill:\"#802DF6\"})),_path606||(_path606=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.09 137.726C119.919 138.029 119.598 138.216 119.25 138.216C118.902 138.216 118.581 138.029 118.41 137.726L118.401 137.71C118.23 137.41 118.232 137.041 118.407 136.742C118.581 136.444 118.905 136.26 119.25 136.26C119.595 136.26 119.919 136.444 120.093 136.742C120.268 137.041 120.27 137.41 120.099 137.71L120.09 137.726Z\",fill:\"#E9DFF2\"})),_path607||(_path607=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.653 142.079C120.365 142.573 119.836 142.876 119.264 142.876H119.236C118.664 142.876 118.135 142.573 117.847 142.079C117.555 141.579 117.555 140.96 117.847 140.459C118.135 139.966 118.664 139.662 119.236 139.662H119.264C119.836 139.662 120.365 139.966 120.653 140.459C120.945 140.96 120.945 141.579 120.653 142.079Z\",fill:\"#E9DFF2\"})),_path608||(_path608=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.144 148.133C116.856 148.626 116.326 148.93 115.754 148.93C115.183 148.93 114.653 148.626 114.365 148.133C114.073 147.632 114.073 147.014 114.365 146.513C114.653 146.019 115.183 145.716 115.754 145.716C116.326 145.716 116.856 146.019 117.144 146.513C117.436 147.014 117.436 147.632 117.144 148.133Z\",fill:\"#E9DFF2\"})),_path609||(_path609=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.657 150.147C120.369 150.65 119.83 150.966 119.25 150.966C118.67 150.966 118.131 150.65 117.843 150.147C117.555 149.646 117.554 149.024 117.845 148.525C118.135 148.029 118.665 147.725 119.239 147.725H119.261C119.835 147.725 120.365 148.029 120.655 148.525C120.946 149.024 120.945 149.646 120.657 150.147Z\",fill:\"#E9DFF2\"})),_path610||(_path610=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.135 152.178C123.847 152.671 123.317 152.975 122.745 152.975C122.174 152.975 121.644 152.671 121.356 152.178C121.064 151.677 121.064 151.058 121.356 150.558C121.644 150.064 122.174 149.761 122.745 149.761C123.317 149.761 123.847 150.064 124.135 150.558C124.427 151.058 124.427 151.677 124.135 152.178Z\",fill:\"#E9DFF2\"})),_path611||(_path611=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 154.186C127.356 154.68 126.827 154.984 126.256 154.984H126.227C125.655 154.984 125.127 154.68 124.839 154.186C124.547 153.686 124.547 153.067 124.839 152.567C125.127 152.073 125.655 151.77 126.227 151.77H126.256C126.827 151.77 127.356 152.073 127.644 152.567C127.936 153.067 127.936 153.686 127.644 154.186Z\",fill:\"#E9DFF2\"})),_path612||(_path612=/*#__PURE__*/React.createElement(\"path\",{d:\"M130.883 156.077C130.646 156.478 130.214 156.724 129.748 156.724H129.725C129.259 156.724 128.827 156.478 128.59 156.077C128.347 155.666 128.348 155.151 128.587 154.738C128.824 154.329 129.264 154.072 129.736 154.072C130.209 154.072 130.649 154.329 130.886 154.738C131.125 155.151 131.126 155.666 130.883 156.077Z\",fill:\"#E9DFF2\"})),_path613||(_path613=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.384 182.332C197.135 182.763 196.675 183.028 196.177 183.028H196.152C195.655 183.028 195.195 182.763 194.946 182.332C194.697 181.901 194.697 181.37 194.946 180.939C195.195 180.508 195.655 180.243 196.152 180.243H196.177C196.675 180.243 197.135 180.508 197.384 180.939C197.632 181.37 197.632 181.901 197.384 182.332Z\",fill:\"#E9DFF2\"})),_path614||(_path614=/*#__PURE__*/React.createElement(\"path\",{d:\"M201.063 180.437C200.775 180.931 200.247 181.234 199.675 181.234H199.646C199.075 181.234 198.546 180.931 198.258 180.437C197.966 179.937 197.966 179.318 198.258 178.817C198.546 178.324 199.075 178.02 199.646 178.02H199.675C200.247 178.02 200.775 178.324 201.063 178.817C201.355 179.318 201.355 179.937 201.063 180.437Z\",fill:\"#E9DFF2\"})),_path615||(_path615=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.54 178.424C204.256 178.92 203.728 179.225 203.156 179.225C202.585 179.225 202.057 178.92 201.772 178.424L201.759 178.401C201.472 177.9 201.475 177.283 201.766 176.784C202.054 176.29 202.584 175.984 203.156 175.984C203.729 175.984 204.258 176.29 204.547 176.784C204.838 177.283 204.841 177.9 204.553 178.401L204.54 178.424Z\",fill:\"#802DF6\"})),_path616||(_path616=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M208.054 176.392C207.766 176.886 207.238 177.189 206.666 177.189H206.637C206.066 177.189 205.537 176.886 205.249 176.392C204.957 175.892 204.957 175.273 205.249 174.772C205.537 174.279 206.066 173.975 206.637 173.975H206.666C207.238 173.975 207.766 174.279 208.054 174.772C208.346 175.273 208.346 175.892 208.054 176.392Z\",fill:\"#802DF6\"})),_path617||(_path617=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M211.538 174.381C211.249 174.875 210.719 175.181 210.147 175.181C209.575 175.181 209.045 174.875 208.757 174.381C208.466 173.882 208.463 173.265 208.75 172.764L208.763 172.741C209.048 172.245 209.576 171.939 210.147 171.939C210.719 171.939 211.247 172.245 211.531 172.741L211.544 172.764C211.832 173.265 211.829 173.882 211.538 174.381Z\",fill:\"#802DF6\"})),_path618||(_path618=/*#__PURE__*/React.createElement(\"path\",{d:\"M213.89 171.696C213.837 171.781 213.743 171.832 213.643 171.832C213.543 171.832 213.45 171.781 213.396 171.696C213.334 171.6 213.334 171.476 213.396 171.379C213.45 171.295 213.543 171.243 213.643 171.243C213.743 171.243 213.837 171.295 213.89 171.379C213.952 171.476 213.952 171.6 213.89 171.696Z\",fill:\"#E9DFF2\"})),_path619||(_path619=/*#__PURE__*/React.createElement(\"path\",{d:\"M224.666 165.79C224.558 165.981 224.355 166.099 224.136 166.099H224.123C223.904 166.099 223.701 165.981 223.593 165.79L223.589 165.783C223.484 165.598 223.486 165.37 223.595 165.187C223.702 165.005 223.897 164.894 224.108 164.894H224.151C224.362 164.894 224.557 165.005 224.664 165.187C224.773 165.37 224.775 165.598 224.67 165.783L224.666 165.79Z\",fill:\"#E9DFF2\"})),_path620||(_path620=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 164.285C228.74 164.778 228.211 165.082 227.64 165.082H227.611C227.039 165.082 226.511 164.778 226.223 164.285C225.931 163.784 225.931 163.165 226.223 162.665C226.511 162.171 227.039 161.868 227.611 161.868H227.64C228.211 161.868 228.74 162.171 229.028 162.665C229.32 163.165 229.32 163.784 229.028 164.285Z\",fill:\"#E9DFF2\"})),_path621||(_path621=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.428 162.224C232.158 162.684 231.661 162.966 231.127 162.966C230.587 162.966 230.085 162.677 229.816 162.207C229.554 161.748 229.552 161.184 229.811 160.722L229.821 160.704C230.086 160.232 230.586 159.939 231.127 159.939C231.662 159.939 232.156 160.224 232.424 160.687L232.434 160.705C232.707 161.175 232.704 161.756 232.428 162.224Z\",fill:\"#E9DFF2\"})),_path622||(_path622=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.914 107.721C256.641 108.193 256.134 108.483 255.589 108.483C255.045 108.483 254.537 108.193 254.264 107.721C253.99 107.248 253.99 106.665 254.264 106.191C254.537 105.72 255.045 105.43 255.589 105.43C256.134 105.43 256.641 105.72 256.914 106.192C257.188 106.665 257.188 107.248 256.914 107.721Z\",fill:\"#E9DFF2\"})),_path623||(_path623=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.99 103.739C256.704 104.238 256.172 104.546 255.596 104.546C255.013 104.546 254.476 104.231 254.192 103.722L254.183 103.704C253.909 103.213 253.911 102.613 254.188 102.123C254.475 101.618 255.015 101.305 255.596 101.305C256.17 101.305 256.705 101.61 256.994 102.106C257.285 102.605 257.287 103.221 257 103.722L256.99 103.739Z\",fill:\"#E9DFF2\"})),_path624||(_path624=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 99.7012C256.705 100.197 256.17 100.502 255.596 100.502C255.015 100.502 254.475 100.189 254.188 99.6837C253.911 99.1937 253.909 98.5944 254.183 98.1025L254.192 98.0855C254.476 97.5763 255.013 97.2607 255.596 97.2607C256.172 97.2607 256.704 97.5687 256.99 98.0681L257 98.0848C257.287 98.5858 257.285 99.2022 256.994 99.7012Z\",fill:\"#E9DFF2\"})),_path625||(_path625=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 95.6601C256.704 96.1538 256.168 96.4575 255.596 96.4575C255.017 96.4575 254.476 96.1462 254.19 95.6427C253.912 95.1511 253.912 94.5495 254.19 94.058C254.476 93.5544 255.017 93.2432 255.596 93.2432C256.168 93.2432 256.704 93.5468 256.992 94.0405C257.284 94.5409 257.284 95.1597 256.992 95.6601Z\",fill:\"#E9DFF2\"})),_path626||(_path626=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 91.6152C256.704 92.1089 256.168 92.4125 255.596 92.4125C255.017 92.4125 254.476 92.1013 254.19 91.5977C253.912 91.1062 253.912 90.5046 254.19 90.013C254.476 89.5095 255.017 89.1982 255.596 89.1982C256.168 89.1982 256.704 89.5018 256.992 89.9956C257.284 90.496 257.284 91.1148 256.992 91.6152Z\",fill:\"#E9DFF2\"})),_path627||(_path627=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 87.5942C256.705 88.09 256.17 88.3949 255.596 88.3949C255.015 88.3949 254.475 88.0824 254.188 87.5768C253.911 87.0868 253.909 86.4875 254.183 85.9956L254.192 85.9785C254.476 85.4694 255.013 85.1538 255.596 85.1538C256.172 85.1538 256.704 85.4618 256.99 85.9612L257 85.9779C257.287 86.4789 257.285 87.0953 256.994 87.5942Z\",fill:\"#E9DFF2\"})),_path628||(_path628=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 83.5522C256.704 84.0459 256.168 84.3495 255.596 84.3495C255.017 84.3495 254.476 84.0383 254.19 83.5347C253.912 83.0432 253.912 82.4416 254.19 81.9501C254.476 81.4465 255.017 81.1353 255.596 81.1353C256.168 81.1353 256.704 81.4389 256.992 81.9326C257.284 82.433 257.284 83.0518 256.992 83.5522Z\",fill:\"#E9DFF2\"})),_path629||(_path629=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 79.5082C256.704 80.002 256.168 80.3056 255.596 80.3056C255.017 80.3056 254.476 79.9944 254.19 79.4908C253.912 78.9993 253.912 78.3976 254.19 77.9061C254.476 77.4025 255.017 77.0913 255.596 77.0913C256.168 77.0913 256.704 77.3949 256.992 77.8887C257.284 78.3891 257.284 79.0078 256.992 79.5082Z\",fill:\"#E9DFF2\"})),_path630||(_path630=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.99 75.4801C256.704 75.9795 256.172 76.2875 255.596 76.2875C255.013 76.2875 254.476 75.9719 254.192 75.4627L254.183 75.4457C253.909 74.9538 253.911 74.3545 254.188 73.8645C254.475 73.3589 255.015 73.0464 255.596 73.0464C256.17 73.0464 256.705 73.3513 256.994 73.8471C257.285 74.346 257.287 74.9624 257 75.4634L256.99 75.4801Z\",fill:\"#E9DFF2\"})),_path631||(_path631=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 71.4414C256.705 71.9372 256.17 72.2421 255.596 72.2421C255.015 72.2421 254.475 71.9296 254.188 71.4239C253.911 70.934 253.909 70.3347 254.183 69.8427L254.192 69.8257C254.476 69.3166 255.013 69.001 255.596 69.001C256.172 69.001 256.704 69.3089 256.99 69.8083L257 69.8251C257.287 70.3261 257.285 70.9425 256.994 71.4414Z\",fill:\"#E9DFF2\"})),_path632||(_path632=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 67.4008C256.704 67.8946 256.168 68.1982 255.596 68.1982C255.017 68.1982 254.476 67.8869 254.19 67.3834C253.912 66.8919 253.912 66.2902 254.19 65.7987C254.476 65.2951 255.017 64.9839 255.596 64.9839C256.168 64.9839 256.704 65.2875 256.992 65.7812C257.284 66.2816 257.284 66.9004 256.992 67.4008Z\",fill:\"#E9DFF2\"})),_path633||(_path633=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.508 65.3712C253.222 65.8768 252.682 66.1893 252.1 66.1893C251.526 66.1893 250.992 65.8844 250.703 65.3887C250.412 64.8897 250.409 64.2733 250.697 63.7723L250.706 63.7556C250.993 63.2562 251.525 62.9482 252.1 62.9482C252.683 62.9482 253.221 63.2638 253.504 63.773L253.514 63.79C253.788 64.2819 253.786 64.8812 253.508 65.3712Z\",fill:\"#E9DFF2\"})),_path634||(_path634=/*#__PURE__*/React.createElement(\"path\",{d:\"M249.999 63.3727C249.712 63.8721 249.181 64.18 248.605 64.18C248.022 64.18 247.485 63.8644 247.201 63.3553L247.192 63.3383C246.917 62.8463 246.919 62.2471 247.197 61.7571C247.484 61.2515 248.024 60.939 248.605 60.939C249.179 60.939 249.714 61.2438 250.003 61.7396C250.294 62.2385 250.296 62.855 250.009 63.3559L249.999 63.3727Z\",fill:\"#E9DFF2\"})),_path635||(_path635=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 61.3466C246.204 61.8404 245.674 62.144 245.103 62.144C244.531 62.144 244.002 61.8404 243.714 61.3466C243.422 60.8462 243.422 60.2274 243.714 59.727C244.002 59.2333 244.531 58.9297 245.103 58.9297C245.674 58.9297 246.204 59.2333 246.492 59.727C246.784 60.2274 246.784 60.8462 246.492 61.3466Z\",fill:\"#E9DFF2\"})),_path636||(_path636=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.012 59.3344C242.723 59.8302 242.188 60.1351 241.614 60.1351C241.033 60.1351 240.493 59.8226 240.206 59.317C239.928 58.827 239.926 58.2277 240.201 57.7358L240.21 57.7188C240.494 57.2096 241.031 56.894 241.614 56.894C242.19 56.894 242.721 57.202 243.008 57.7014L243.018 57.7181C243.305 58.2191 243.303 58.8355 243.012 59.3344Z\",fill:\"#E9DFF2\"})),_path637||(_path637=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 57.3022C239.213 57.7959 238.684 58.0995 238.112 58.0995C237.54 58.0995 237.011 57.7959 236.723 57.3022C236.431 56.8018 236.431 56.183 236.723 55.6826C237.011 55.1889 237.54 54.8853 238.112 54.8853C238.684 54.8853 239.213 55.1889 239.501 55.6826C239.793 56.183 239.793 56.8018 239.501 57.3022Z\",fill:\"#E9DFF2\"})),_path638||(_path638=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 55.2929C235.731 55.7867 235.194 56.0903 234.623 56.0903C234.044 56.0903 233.502 55.779 233.217 55.2755C232.938 54.784 232.938 54.1823 233.217 53.6908C233.502 53.1872 234.044 52.876 234.623 52.876C235.194 52.876 235.731 53.1796 236.019 53.6733C236.311 54.1737 236.311 54.7925 236.019 55.2929Z\",fill:\"#E9DFF2\"})),_path639||(_path639=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 53.2804C232.22 53.7761 231.692 54.0819 231.12 54.0819C230.549 54.0819 230.021 53.7761 229.736 53.2804L229.723 53.2578C229.436 52.7568 229.439 52.1392 229.73 51.6403C230.018 51.146 230.548 50.8408 231.12 50.8408C231.693 50.8408 232.223 51.146 232.511 51.6403C232.802 52.1392 232.805 52.7568 232.517 53.2578L232.504 53.2804Z\",fill:\"#E9DFF2\"})),_path640||(_path640=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 51.249C228.74 51.7427 228.211 52.0463 227.64 52.0463H227.611C227.039 52.0463 226.511 51.7427 226.223 51.249C225.931 50.7486 225.931 50.1298 226.223 49.6294C226.511 49.1356 227.039 48.832 227.611 48.832H227.64C228.211 48.832 228.74 49.1356 229.028 49.6294C229.32 50.1298 229.32 50.7486 229.028 51.249Z\",fill:\"#E9DFF2\"})),_path641||(_path641=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.52 49.2375C225.232 49.7318 224.702 50.037 224.13 50.037C223.557 50.037 223.028 49.7318 222.739 49.2375C222.448 48.7386 222.445 48.121 222.733 47.62L222.746 47.5974C223.03 47.1017 223.558 46.7959 224.13 46.7959C224.701 46.7959 225.229 47.1017 225.514 47.5974L225.527 47.62C225.814 48.121 225.811 48.7386 225.52 49.2375Z\",fill:\"#E9DFF2\"})),_path642||(_path642=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.041 47.2095C221.753 47.7125 221.214 48.0282 220.634 48.0282C220.054 48.0282 219.515 47.7125 219.227 47.2095C218.939 46.7086 218.938 46.0867 219.229 45.5878C219.519 45.092 220.049 44.7871 220.623 44.7871H220.645C221.219 44.7871 221.749 45.092 222.039 45.5878C222.33 46.0867 222.329 46.7086 222.041 47.2095Z\",fill:\"#E9DFF2\"})),_path643||(_path643=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.528 45.1953C218.24 45.689 217.71 45.9926 217.138 45.9926C216.567 45.9926 216.037 45.689 215.749 45.1953C215.457 44.6949 215.457 44.0761 215.749 43.5757C216.037 43.0819 216.567 42.7783 217.138 42.7783C217.71 42.7783 218.24 43.0819 218.528 43.5757C218.82 44.0761 218.82 44.6949 218.528 45.1953Z\",fill:\"#E9DFF2\"})),_path644||(_path644=/*#__PURE__*/React.createElement(\"path\",{d:\"M214.734 43.0171C214.506 43.4002 214.089 43.635 213.643 43.635C213.197 43.635 212.78 43.4002 212.552 43.0171C212.316 42.6215 212.314 42.1292 212.546 41.7315L212.556 41.715C212.781 41.3282 213.195 41.0903 213.643 41.0903C214.091 41.0903 214.505 41.3282 214.731 41.715L214.74 41.7315C214.972 42.1292 214.97 42.6215 214.734 43.0171Z\",fill:\"#E9DFF2\"})),_path645||(_path645=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.531 41.1734C211.247 41.6692 210.719 41.975 210.147 41.975C209.576 41.975 209.048 41.6692 208.763 41.1734L208.75 41.1509C208.463 40.6499 208.466 40.0322 208.757 39.5333C209.045 39.039 209.575 38.7339 210.147 38.7339C210.719 38.7339 211.249 39.039 211.538 39.5333C211.829 40.0322 211.832 40.6499 211.544 41.1509L211.531 41.1734Z\",fill:\"#E9DFF2\"})),_path646||(_path646=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.054 39.1415C207.766 39.6353 207.238 39.9389 206.666 39.9389H206.637C206.066 39.9389 205.537 39.6353 205.249 39.1415C204.957 38.6411 204.957 38.0224 205.249 37.522C205.537 37.0282 206.066 36.7246 206.637 36.7246H206.666C207.238 36.7246 207.766 37.0282 208.054 37.522C208.346 38.0224 208.346 38.6411 208.054 39.1415Z\",fill:\"#E9DFF2\"})),_path647||(_path647=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.547 37.1311C204.258 37.6254 203.729 37.9305 203.156 37.9305C202.584 37.9305 202.054 37.6254 201.766 37.1311C201.475 36.6322 201.472 36.0145 201.759 35.5136L201.772 35.491C202.057 34.9952 202.585 34.6895 203.156 34.6895C203.728 34.6895 204.256 34.9952 204.54 35.491L204.553 35.5136C204.841 36.0145 204.838 36.6322 204.547 37.1311Z\",fill:\"#802DF6\"})),_path648||(_path648=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M201.068 35.1026C200.779 35.6056 200.241 35.9212 199.661 35.9212C199.081 35.9212 198.542 35.6056 198.253 35.1026C197.966 34.6016 197.965 33.9798 198.256 33.4808C198.545 32.985 199.076 32.6802 199.65 32.6802H199.671C200.245 32.6802 200.776 32.985 201.065 33.4808C201.356 33.9798 201.355 34.6016 201.068 35.1026Z\",fill:\"#802DF6\"})),_path649||(_path649=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M197.394 32.9948C197.139 33.4301 196.67 33.6977 196.166 33.6977C195.661 33.6977 195.192 33.4301 194.938 32.9948C194.679 32.552 194.679 32.004 194.938 31.5613C195.192 31.126 195.661 30.8584 196.166 30.8584C196.67 30.8584 197.139 31.126 197.394 31.5613C197.653 32.004 197.653 32.552 197.394 32.9948Z\",fill:\"#802DF6\"})),_path650||(_path650=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.392 41.0163C162.151 41.4409 161.698 41.7068 161.21 41.7068C160.721 41.7068 160.268 41.4409 160.027 41.0163C159.79 40.6002 159.79 40.0862 160.03 39.6721C160.271 39.257 160.715 39.0015 161.195 39.0015H161.224C161.704 39.0015 162.148 39.257 162.389 39.6721C162.629 40.0862 162.629 40.6002 162.392 41.0163Z\",fill:\"#E9DFF2\"})),_path651||(_path651=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.967 43.1111C158.705 43.5527 158.23 43.8235 157.716 43.8235H157.698C157.178 43.8235 156.697 43.5452 156.438 43.0938C156.183 42.6494 156.184 42.0973 156.436 41.6509C156.694 41.1932 157.182 40.9038 157.707 40.9038C158.226 40.9038 158.708 41.1854 158.969 41.6334C159.234 42.0887 159.235 42.6579 158.967 43.1111Z\",fill:\"#E9DFF2\"})),_path652||(_path652=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.104 71.4184C116.824 71.8961 116.308 72.1896 115.755 72.1896C115.201 72.1896 114.685 71.8961 114.405 71.4184C114.122 70.9347 114.119 70.3361 114.399 69.8503L114.409 69.8331C114.686 69.3521 115.199 69.0557 115.755 69.0557C116.31 69.0557 116.823 69.3521 117.1 69.8331L117.11 69.8503C117.39 70.3361 117.388 70.9347 117.104 71.4184Z\",fill:\"#E9DFF2\"})),_path653||(_path653=/*#__PURE__*/React.createElement(\"path\",{d:\"M116.66 131.702C116.473 132.02 116.124 132.216 115.755 132.216C115.385 132.216 115.037 132.02 114.849 131.702C114.656 131.374 114.656 130.968 114.849 130.64C115.037 130.322 115.385 130.126 115.755 130.126C116.124 130.126 116.473 130.322 116.66 130.64C116.854 130.968 116.854 131.374 116.66 131.702Z\",fill:\"#E9DFF2\"})),_path654||(_path654=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.102 136.001C116.823 136.477 116.306 136.769 115.755 136.769C115.203 136.769 114.686 136.477 114.407 136.001C114.123 135.516 114.123 134.915 114.407 134.43C114.686 133.954 115.203 133.662 115.755 133.662C116.306 133.662 116.823 133.954 117.102 134.43C117.386 134.915 117.386 135.516 117.102 136.001Z\",fill:\"#E9DFF2\"})),_path655||(_path655=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.145 140.069C116.857 140.563 116.327 140.868 115.754 140.868C115.182 140.868 114.652 140.563 114.364 140.069C114.073 139.57 114.07 138.952 114.357 138.451L114.37 138.428C114.655 137.933 115.183 137.627 115.754 137.627C116.326 137.627 116.854 137.933 117.138 138.428L117.151 138.451C117.439 138.952 117.436 139.57 117.145 140.069Z\",fill:\"#E9DFF2\"})),_path656||(_path656=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.138 144.111C116.854 144.607 116.326 144.912 115.754 144.912C115.183 144.912 114.655 144.607 114.37 144.111L114.357 144.088C114.07 143.587 114.073 142.97 114.364 142.471C114.652 141.977 115.182 141.671 115.754 141.671C116.327 141.671 116.857 141.977 117.145 142.471C117.436 142.97 117.439 143.587 117.151 144.088L117.138 144.111Z\",fill:\"#E9DFF2\"})),_path657||(_path657=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.666 150.147C113.378 150.65 112.839 150.966 112.259 150.966C111.679 150.966 111.141 150.65 110.852 150.147C110.565 149.646 110.564 149.024 110.855 148.525C111.144 148.029 111.675 147.725 112.249 147.725H112.27C112.844 147.725 113.375 148.029 113.664 148.525C113.955 149.024 113.954 149.646 113.666 150.147Z\",fill:\"#E9DFF2\"})),_path658||(_path658=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.144 152.178C116.856 152.671 116.326 152.975 115.754 152.975C115.183 152.975 114.653 152.671 114.365 152.178C114.073 151.677 114.073 151.058 114.365 150.558C114.653 150.064 115.183 149.761 115.754 149.761C116.326 149.761 116.856 150.064 117.144 150.558C117.436 151.058 117.436 151.677 117.144 152.178Z\",fill:\"#E9DFF2\"})),_path659||(_path659=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M120.653 154.186C120.365 154.68 119.836 154.984 119.264 154.984H119.236C118.664 154.984 118.135 154.68 117.847 154.186C117.555 153.686 117.555 153.067 117.847 152.567C118.135 152.073 118.664 151.77 119.236 151.77H119.264C119.836 151.77 120.365 152.073 120.653 152.567C120.945 153.067 120.945 153.686 120.653 154.186Z\",fill:\"#802DF6\"})),_path660||(_path660=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M124.136 156.219C123.848 156.714 123.318 157.019 122.745 157.019C122.173 157.019 121.643 156.714 121.355 156.219C121.064 155.721 121.061 155.103 121.348 154.602L121.361 154.579C121.646 154.084 122.174 153.778 122.745 153.778C123.317 153.778 123.845 154.084 124.129 154.579L124.142 154.602C124.43 155.103 124.427 155.721 124.136 156.219Z\",fill:\"#802DF6\"})),_path661||(_path661=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M127.644 158.231C127.356 158.725 126.827 159.028 126.256 159.028H126.227C125.655 159.028 125.127 158.725 124.839 158.231C124.547 157.73 124.547 157.112 124.839 156.611C125.127 156.118 125.655 155.814 126.227 155.814H126.256C126.827 155.814 127.356 156.118 127.644 156.611C127.936 157.112 127.936 157.73 127.644 158.231Z\",fill:\"#802DF6\"})),_path662||(_path662=/*#__PURE__*/React.createElement(\"path\",{d:\"M130.063 159.607C130.003 159.728 129.879 159.805 129.744 159.805C129.615 159.805 129.497 159.736 129.433 159.625L129.426 159.613C129.362 159.5 129.364 159.361 129.432 159.25C129.497 159.145 129.611 159.082 129.734 159.082H129.753C129.883 159.082 130.003 159.153 130.065 159.268C130.12 159.369 130.121 159.491 130.07 159.594L130.063 159.607Z\",fill:\"#E9DFF2\"})),_path663||(_path663=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.425 184.085C200.268 184.357 199.974 184.528 199.661 184.528C199.347 184.528 199.053 184.357 198.897 184.085C198.741 183.815 198.741 183.478 198.901 183.21C199.056 182.948 199.339 182.787 199.643 182.787H199.678C199.983 182.787 200.265 182.948 200.421 183.21C200.58 183.478 200.58 183.815 200.425 184.085Z\",fill:\"#E9DFF2\"})),_path664||(_path664=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.256 182.263C204.031 182.654 203.615 182.895 203.164 182.895H203.148C202.697 182.895 202.281 182.654 202.057 182.263C201.833 181.875 201.833 181.397 202.057 181.009C202.281 180.618 202.697 180.377 203.148 180.377H203.164C203.615 180.377 204.031 180.618 204.256 181.009C204.479 181.397 204.479 181.875 204.256 182.263Z\",fill:\"#E9DFF2\"})),_path665||(_path665=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.015 180.409C207.735 180.886 207.222 181.18 206.669 181.18H206.635C206.081 181.18 205.569 180.886 205.289 180.409C205.005 179.925 205.005 179.323 205.285 178.837C205.566 178.35 206.089 178.046 206.652 178.046C207.214 178.046 207.738 178.35 208.018 178.837C208.298 179.323 208.298 179.925 208.015 180.409Z\",fill:\"#E9DFF2\"})),_path666||(_path666=/*#__PURE__*/React.createElement(\"path\",{d:\"M210.403 177.736C210.353 177.828 210.256 177.886 210.151 177.886H210.144C210.039 177.886 209.942 177.828 209.892 177.736L209.888 177.729C209.841 177.644 209.843 177.54 209.894 177.456C209.943 177.374 210.032 177.323 210.129 177.323H210.166C210.263 177.323 210.352 177.374 210.402 177.456C210.452 177.54 210.454 177.644 210.407 177.729L210.403 177.736Z\",fill:\"#E9DFF2\"})),_path667||(_path667=/*#__PURE__*/React.createElement(\"path\",{d:\"M224.635 169.828C224.53 170.007 224.337 170.117 224.13 170.117C223.922 170.117 223.73 170.007 223.624 169.828C223.515 169.643 223.515 169.412 223.624 169.227C223.73 169.049 223.922 168.938 224.13 168.938C224.337 168.938 224.53 169.049 224.635 169.227C224.744 169.412 224.744 169.643 224.635 169.828Z\",fill:\"#E9DFF2\"})),_path668||(_path668=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.03 168.327C228.741 168.822 228.21 169.127 227.636 169.127H227.615C227.041 169.127 226.51 168.822 226.221 168.327C225.93 167.828 225.931 167.206 226.218 166.705C226.507 166.202 227.045 165.886 227.625 165.886C228.205 165.886 228.744 166.202 229.032 166.705C229.32 167.206 229.321 167.828 229.03 168.327Z\",fill:\"#E9DFF2\"})),_path669||(_path669=/*#__PURE__*/React.createElement(\"path\",{d:\"M231.985 166.003C231.807 166.312 231.477 166.502 231.121 166.502C230.765 166.502 230.435 166.312 230.257 166.003L230.249 165.99C230.068 165.678 230.07 165.291 230.255 164.981C230.435 164.678 230.761 164.493 231.113 164.493H231.129C231.481 164.493 231.807 164.678 231.987 164.981C232.172 165.291 232.174 165.678 231.993 165.99L231.985 166.003Z\",fill:\"#E9DFF2\"})),_path670||(_path670=/*#__PURE__*/React.createElement(\"path\",{d:\"M259.509 117.304C259.421 117.449 259.263 117.537 259.092 117.537H259.078C258.908 117.537 258.75 117.449 258.661 117.304C258.567 117.151 258.565 116.959 258.655 116.804L258.663 116.79C258.75 116.639 258.911 116.546 259.085 116.546C259.259 116.546 259.42 116.639 259.507 116.79L259.515 116.804C259.605 116.959 259.603 117.151 259.509 117.304Z\",fill:\"#E9DFF2\"})),_path671||(_path671=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.423 113.776C260.15 114.248 259.643 114.538 259.098 114.538C258.554 114.538 258.046 114.248 257.773 113.776C257.499 113.303 257.499 112.719 257.773 112.246C258.046 111.775 258.554 111.484 259.098 111.484C259.643 111.484 260.15 111.775 260.423 112.246C260.697 112.719 260.697 113.303 260.423 113.776Z\",fill:\"#E9DFF2\"})),_path672||(_path672=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 109.775C260.212 110.284 259.675 110.6 259.092 110.6C258.516 110.6 257.984 110.292 257.698 109.793L257.688 109.776C257.401 109.275 257.403 108.658 257.694 108.16C257.983 107.664 258.518 107.359 259.092 107.359C259.673 107.359 260.213 107.671 260.499 108.177C260.777 108.667 260.779 109.266 260.505 109.758L260.496 109.775Z\",fill:\"#E9DFF2\"})),_path673||(_path673=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 105.737C260.213 106.243 259.673 106.555 259.092 106.555C258.518 106.555 257.983 106.25 257.694 105.754C257.403 105.255 257.401 104.639 257.688 104.138L257.698 104.121C257.984 103.622 258.516 103.314 259.092 103.314C259.675 103.314 260.212 103.63 260.496 104.139L260.505 104.156C260.779 104.648 260.777 105.247 260.499 105.737Z\",fill:\"#E9DFF2\"})),_path674||(_path674=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 101.696C260.212 102.199 259.67 102.511 259.092 102.511C258.52 102.511 257.984 102.207 257.696 101.713C257.404 101.213 257.404 100.594 257.696 100.094C257.984 99.6 258.52 99.2964 259.092 99.2964C259.67 99.2964 260.212 99.6076 260.498 100.111C260.776 100.603 260.776 101.204 260.498 101.696Z\",fill:\"#E9DFF2\"})),_path675||(_path675=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 97.6678C260.212 98.177 259.675 98.4925 259.092 98.4925C258.516 98.4925 257.984 98.1846 257.698 97.6852L257.688 97.6684C257.401 97.1675 257.403 96.551 257.694 96.0521C257.983 95.5563 258.518 95.2515 259.092 95.2515C259.673 95.2515 260.213 95.564 260.499 96.0696C260.777 96.5596 260.779 97.1588 260.505 97.6508L260.496 97.6678Z\",fill:\"#E9DFF2\"})),_path676||(_path676=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 93.6295C260.213 94.1351 259.673 94.4476 259.092 94.4476C258.518 94.4476 257.983 94.1427 257.694 93.647C257.403 93.148 257.401 92.5316 257.688 92.0306L257.698 92.0139C257.984 91.5145 258.516 91.2065 259.092 91.2065C259.675 91.2065 260.212 91.5221 260.496 92.0313L260.505 92.0483C260.779 92.5402 260.777 93.1395 260.499 93.6295Z\",fill:\"#E9DFF2\"})),_path677||(_path677=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 89.5885C260.212 90.092 259.67 90.4033 259.092 90.4033C258.52 90.4033 257.984 90.0996 257.696 89.6059C257.404 89.1055 257.404 88.4867 257.696 87.9863C257.984 87.4926 258.52 87.189 259.092 87.189C259.67 87.189 260.212 87.5002 260.498 88.0038C260.776 88.4953 260.776 89.0969 260.498 89.5885Z\",fill:\"#E9DFF2\"})),_path678||(_path678=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 85.544C260.212 86.0476 259.67 86.3588 259.092 86.3588C258.52 86.3588 257.984 86.0552 257.696 85.5615C257.404 85.0611 257.404 84.4423 257.696 83.9419C257.984 83.4481 258.52 83.1445 259.092 83.1445C259.67 83.1445 260.212 83.4558 260.498 83.9593C260.776 84.4508 260.776 85.0525 260.498 85.544Z\",fill:\"#E9DFF2\"})),_path679||(_path679=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 81.5164C260.212 82.0256 259.675 82.3412 259.092 82.3412C258.516 82.3412 257.984 82.0332 257.698 81.5338L257.688 81.5171C257.401 81.0161 257.403 80.3997 257.694 79.9008C257.983 79.405 258.518 79.1001 259.092 79.1001C259.673 79.1001 260.213 79.4126 260.499 79.9182C260.777 80.4082 260.779 81.0075 260.505 81.4994L260.496 81.5164Z\",fill:\"#E9DFF2\"})),_path680||(_path680=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 77.4786C260.213 77.9842 259.673 78.2967 259.092 78.2967C258.518 78.2967 257.983 77.9919 257.694 77.4961C257.403 76.9972 257.401 76.3808 257.688 75.8798L257.698 75.863C257.984 75.3636 258.516 75.0557 259.092 75.0557C259.675 75.0557 260.212 75.3713 260.496 75.8804L260.505 75.8974C260.779 76.3894 260.777 76.9886 260.499 77.4786Z\",fill:\"#E9DFF2\"})),_path681||(_path681=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 73.4371C260.212 73.9407 259.67 74.2519 259.092 74.2519C258.52 74.2519 257.984 73.9483 257.696 73.4545C257.404 72.9541 257.404 72.3354 257.696 71.8349C257.984 71.3412 258.52 71.0376 259.092 71.0376C259.67 71.0376 260.212 71.3488 260.498 71.8524C260.776 72.3439 260.776 72.9456 260.498 73.4371Z\",fill:\"#E9DFF2\"})),_path682||(_path682=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 69.41C260.212 69.9191 259.675 70.2347 259.092 70.2347C258.516 70.2347 257.984 69.9268 257.698 69.4274L257.688 69.4106C257.401 68.9096 257.403 68.2932 257.694 67.7943C257.983 67.2985 258.518 66.9937 259.092 66.9937C259.673 66.9937 260.213 67.3061 260.499 67.8118C260.777 68.3017 260.779 68.901 260.505 69.393L260.496 69.41Z\",fill:\"#E9DFF2\"})),_path683||(_path683=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 65.3712C260.213 65.8768 259.673 66.1893 259.092 66.1893C258.518 66.1893 257.983 65.8844 257.694 65.3887C257.403 64.8897 257.401 64.2733 257.688 63.7723L257.698 63.7556C257.984 63.2562 258.516 62.9482 259.092 62.9482C259.675 62.9482 260.212 63.2638 260.496 63.773L260.505 63.79C260.779 64.2819 260.777 64.8812 260.499 65.3712Z\",fill:\"#E9DFF2\"})),_path684||(_path684=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.99 63.3727C256.704 63.8721 256.172 64.18 255.596 64.18C255.013 64.18 254.476 63.8645 254.192 63.3553L254.183 63.3383C253.909 62.8463 253.911 62.2471 254.188 61.7571C254.475 61.2515 255.015 60.939 255.596 60.939C256.17 60.939 256.705 61.2438 256.994 61.7396C257.285 62.2385 257.287 62.855 257 63.3559L256.99 63.3727Z\",fill:\"#E9DFF2\"})),_path685||(_path685=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 61.3292C253.221 61.8327 252.679 62.144 252.1 62.144C251.529 62.144 250.993 61.8404 250.705 61.3466C250.413 60.8462 250.413 60.2274 250.705 59.727C250.993 59.2333 251.529 58.9297 252.1 58.9297C252.679 58.9297 253.221 59.2409 253.506 59.7445C253.785 60.236 253.785 60.8377 253.506 61.3292Z\",fill:\"#E9DFF2\"})),_path686||(_path686=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.003 59.3344C249.714 59.8302 249.179 60.1351 248.605 60.1351C248.024 60.1351 247.484 59.8226 247.197 59.317C246.919 58.827 246.917 58.2277 247.192 57.7358L247.201 57.7188C247.485 57.2096 248.022 56.894 248.605 56.894C249.181 56.894 249.712 57.202 249.999 57.7014L250.009 57.7181C250.296 58.2191 250.294 58.8355 250.003 59.3344Z\",fill:\"#E9DFF2\"})),_path687||(_path687=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 57.3022C246.204 57.7959 245.674 58.0995 245.103 58.0995C244.531 58.0995 244.002 57.7959 243.714 57.3022C243.422 56.8018 243.422 56.183 243.714 55.6826C244.002 55.1889 244.531 54.8853 245.103 54.8853C245.674 54.8853 246.204 55.1889 246.492 55.6826C246.784 56.183 246.784 56.8018 246.492 57.3022Z\",fill:\"#E9DFF2\"})),_path688||(_path688=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 55.2929C242.722 55.7867 242.186 56.0903 241.614 56.0903C241.035 56.0903 240.493 55.779 240.208 55.2755C239.93 54.784 239.93 54.1823 240.208 53.6908C240.493 53.1872 241.035 52.876 241.614 52.876C242.186 52.876 242.722 53.1796 243.01 53.6733C243.302 54.1737 243.302 54.7925 243.01 55.2929Z\",fill:\"#E9DFF2\"})),_path689||(_path689=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M239.496 53.2804C239.212 53.7761 238.684 54.0819 238.112 54.0819C237.54 54.0819 237.013 53.7761 236.728 53.2804L236.715 53.2578C236.428 52.7568 236.431 52.1392 236.722 51.6403C237.01 51.146 237.54 50.8408 238.112 50.8408C238.684 50.8408 239.214 51.146 239.503 51.6403C239.794 52.1392 239.797 52.7568 239.509 53.2578L239.496 53.2804Z\",fill:\"#802DF6\"})),_path690||(_path690=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 51.249C235.731 51.7427 235.194 52.0463 234.623 52.0463C234.044 52.0463 233.502 51.7351 233.217 51.2315C232.938 50.74 232.938 50.1383 233.217 49.6468C233.502 49.1433 234.044 48.832 234.623 48.832C235.194 48.832 235.731 49.1356 236.019 49.6294C236.311 50.1298 236.311 50.7486 236.019 51.249Z\",fill:\"#E9DFF2\"})),_path691||(_path691=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.511 49.2375C232.223 49.7318 231.693 50.037 231.12 50.037C230.548 50.037 230.018 49.7318 229.73 49.2375C229.439 48.7386 229.436 48.121 229.723 47.62L229.736 47.5974C230.021 47.1016 230.549 46.7959 231.12 46.7959C231.692 46.7959 232.22 47.1016 232.504 47.5974L232.517 47.62C232.805 48.121 232.802 48.7386 232.511 49.2375Z\",fill:\"#E9DFF2\"})),_path692||(_path692=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.032 47.2095C228.744 47.7125 228.205 48.0282 227.625 48.0282C227.045 48.0282 226.507 47.7125 226.218 47.2095C225.931 46.7086 225.93 46.0867 226.221 45.5878C226.51 45.092 227.041 44.7871 227.615 44.7871H227.636C228.21 44.7871 228.741 45.092 229.03 45.5878C229.321 46.0867 229.32 46.7086 229.032 47.2095Z\",fill:\"#E9DFF2\"})),_path693||(_path693=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.519 45.1953C225.231 45.689 224.701 45.9926 224.13 45.9926C223.558 45.9926 223.028 45.689 222.74 45.1953C222.449 44.6949 222.449 44.0761 222.74 43.5757C223.028 43.0819 223.558 42.7783 224.13 42.7783C224.701 42.7783 225.231 43.0819 225.519 43.5757C225.811 44.0761 225.811 44.6949 225.519 45.1953Z\",fill:\"#E9DFF2\"})),_path694||(_path694=/*#__PURE__*/React.createElement(\"path\",{d:\"M222.039 43.1831C221.749 43.6789 221.219 43.9838 220.645 43.9838H220.623C220.049 43.9838 219.519 43.6789 219.229 43.1831C218.938 42.6842 218.939 42.0623 219.227 41.5613C219.515 41.0583 220.054 40.7427 220.634 40.7427C221.214 40.7427 221.753 41.0583 222.041 41.5613C222.329 42.0623 222.33 42.6842 222.039 43.1831Z\",fill:\"#E9DFF2\"})),_path695||(_path695=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.442 41.1209C218.174 41.5837 217.68 41.8686 217.145 41.8686C216.604 41.8686 216.104 41.5761 215.839 41.1037L215.829 41.0859C215.57 40.6243 215.572 40.0605 215.835 39.6009C216.103 39.1315 216.605 38.8418 217.145 38.8418C217.679 38.8418 218.176 39.1239 218.446 39.5836C218.723 40.052 218.725 40.6329 218.452 41.1034L218.442 41.1209Z\",fill:\"#E9DFF2\"})),_path696||(_path696=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.536 37.1328C211.248 37.6265 210.719 37.9301 210.147 37.9301C209.576 37.9301 209.046 37.6265 208.758 37.1328C208.466 36.6324 208.466 36.0136 208.758 35.5132C209.046 35.0194 209.576 34.7158 210.147 34.7158C210.719 34.7158 211.248 35.0194 211.536 35.5132C211.828 36.0136 211.828 36.6324 211.536 37.1328Z\",fill:\"#E9DFF2\"})),_path697||(_path697=/*#__PURE__*/React.createElement(\"path\",{d:\"M208.059 35.1026C207.77 35.6056 207.231 35.9212 206.652 35.9212C206.072 35.9212 205.533 35.6056 205.244 35.1026C204.957 34.6016 204.956 33.9798 205.247 33.4808C205.536 32.985 206.067 32.6802 206.641 32.6802H206.662C207.236 32.6802 207.767 32.985 208.056 33.4808C208.347 33.9798 208.346 34.6016 208.059 35.1026Z\",fill:\"#E9DFF2\"})),_path698||(_path698=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M204.546 33.0883C204.258 33.5821 203.728 33.8857 203.156 33.8857C202.585 33.8857 202.055 33.5821 201.767 33.0883C201.475 32.5879 201.475 31.9691 201.767 31.4687C202.055 30.975 202.585 30.6714 203.156 30.6714C203.728 30.6714 204.258 30.975 204.546 31.4687C204.837 31.9691 204.837 32.5879 204.546 33.0883Z\",fill:\"#802DF6\"})),_path699||(_path699=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M200.867 30.964C200.619 31.3947 200.158 31.6621 199.661 31.6621C199.164 31.6621 198.703 31.3947 198.455 30.964C198.207 30.5348 198.204 30.0045 198.448 29.5733L198.461 29.5489C198.706 29.1168 199.164 28.8496 199.661 28.8496C200.157 28.8496 200.616 29.1168 200.86 29.5489L200.874 29.5733C201.118 30.0045 201.115 30.5348 200.867 30.964Z\",fill:\"#802DF6\"})),_path700||(_path700=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.919 39.0278C158.671 39.4585 158.211 39.7242 157.714 39.7242C157.217 39.7242 156.757 39.4585 156.509 39.0278C156.26 38.597 156.26 38.0657 156.509 37.6349C156.757 37.2042 157.217 36.9385 157.714 36.9385C158.211 36.9385 158.671 37.2042 158.919 37.6349C159.168 38.0657 159.168 38.597 158.919 39.0278Z\",fill:\"#E9DFF2\"})),_path701||(_path701=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.572 41.1673C155.29 41.6509 154.772 41.9482 154.212 41.9482C153.645 41.9482 153.122 41.6434 152.843 41.1502L152.831 41.1301C152.554 40.6412 152.556 40.0422 152.837 39.5553C153.12 39.0637 153.645 38.7607 154.212 38.7607C154.772 38.7607 155.291 39.0562 155.577 39.5381C155.871 40.0337 155.874 40.6498 155.583 41.1476L155.572 41.1673Z\",fill:\"#E9DFF2\"})),_path702||(_path702=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.502 65.2951C113.246 65.7325 112.778 66.0013 112.271 66.0013H112.247C111.74 66.0013 111.271 65.7325 111.015 65.2951C110.757 64.8539 110.758 64.3035 111.012 63.8601C111.268 63.4147 111.745 63.1353 112.259 63.1353C112.772 63.1353 113.25 63.4147 113.505 63.8601C113.76 64.3035 113.76 64.8539 113.502 65.2951Z\",fill:\"#E9DFF2\"})),_path703||(_path703=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.259 69.1959C113.055 69.5558 112.673 69.7781 112.259 69.7781C111.845 69.7781 111.463 69.5558 111.259 69.1959L111.249 69.1784C111.045 68.82 111.047 68.3803 111.254 68.0239C111.462 67.6672 111.846 67.4478 112.259 67.4478C112.672 67.4478 113.056 67.6672 113.264 68.0239C113.471 68.3803 113.473 68.82 113.269 69.1784L113.259 69.1959Z\",fill:\"#E9DFF2\"})),_path704||(_path704=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.014 129.582C112.862 129.852 112.576 130.019 112.267 130.019H112.251C111.942 130.019 111.656 129.852 111.504 129.582C111.357 129.321 111.357 129.003 111.504 128.742C111.656 128.472 111.942 128.305 112.251 128.305H112.267C112.576 128.305 112.862 128.472 113.014 128.742C113.16 129.003 113.16 129.321 113.014 129.582Z\",fill:\"#E9DFF2\"})),_path705||(_path705=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.664 134.014C113.375 134.509 112.844 134.814 112.27 134.814H112.249C111.675 134.814 111.144 134.509 110.855 134.014C110.564 133.515 110.565 132.893 110.852 132.392C111.141 131.889 111.679 131.573 112.259 131.573C112.839 131.573 113.378 131.889 113.666 132.392C113.954 132.893 113.955 133.515 113.664 134.014Z\",fill:\"#E9DFF2\"})),_path706||(_path706=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.666 138.04C113.378 138.543 112.839 138.859 112.259 138.859C111.679 138.859 111.141 138.543 110.852 138.04C110.565 137.539 110.564 136.917 110.855 136.418C111.144 135.923 111.675 135.618 112.249 135.618H112.27C112.844 135.618 113.375 135.923 113.664 136.418C113.955 136.917 113.954 137.539 113.666 138.04Z\",fill:\"#E9DFF2\"})),_path707||(_path707=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M113.662 142.079C113.374 142.573 112.845 142.876 112.274 142.876H112.245C111.673 142.876 111.145 142.573 110.857 142.079C110.565 141.579 110.565 140.96 110.857 140.459C111.145 139.966 111.673 139.662 112.245 139.662H112.274C112.845 139.662 113.374 139.966 113.662 140.459C113.954 140.96 113.954 141.579 113.662 142.079Z\",fill:\"#802DF6\"})),_path708||(_path708=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.664 146.121C113.375 146.616 112.844 146.921 112.27 146.921H112.249C111.675 146.921 111.144 146.616 110.855 146.121C110.564 145.622 110.565 145 110.852 144.499C111.141 143.996 111.679 143.68 112.259 143.68C112.839 143.68 113.378 143.996 113.666 144.499C113.954 145 113.955 145.622 113.664 146.121Z\",fill:\"#E9DFF2\"})),_path709||(_path709=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 152.178C109.864 152.671 109.335 152.975 108.763 152.975C108.192 152.975 107.662 152.671 107.374 152.178C107.082 151.677 107.082 151.058 107.374 150.558C107.662 150.064 108.192 149.761 108.763 149.761C109.335 149.761 109.864 150.064 110.152 150.558C110.444 151.058 110.444 151.677 110.152 152.178Z\",fill:\"#E9DFF2\"})),_path710||(_path710=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.662 154.186C113.374 154.68 112.845 154.984 112.274 154.984H112.245C111.673 154.984 111.145 154.68 110.857 154.186C110.565 153.686 110.565 153.067 110.857 152.567C111.145 152.073 111.673 151.77 112.245 151.77H112.274C112.845 151.77 113.374 152.073 113.662 152.567C113.954 153.067 113.954 153.686 113.662 154.186Z\",fill:\"#E9DFF2\"})),_path711||(_path711=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M117.145 156.219C116.857 156.714 116.327 157.019 115.754 157.019C115.182 157.019 114.652 156.714 114.364 156.219C114.073 155.721 114.07 155.103 114.357 154.602L114.37 154.579C114.655 154.084 115.183 153.778 115.754 153.778C116.326 153.778 116.854 154.084 117.138 154.579L117.151 154.602C117.439 155.103 117.436 155.721 117.145 156.219Z\",fill:\"#802DF6\"})),_path712||(_path712=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M120.653 158.231C120.365 158.725 119.836 159.028 119.264 159.028H119.236C118.664 159.028 118.135 158.725 117.847 158.231C117.555 157.73 117.555 157.112 117.847 156.611C118.135 156.118 118.664 155.814 119.236 155.814H119.264C119.836 155.814 120.365 156.118 120.653 156.611C120.945 157.112 120.945 157.73 120.653 158.231Z\",fill:\"#802DF6\"})),_path713||(_path713=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M124.129 160.262C123.845 160.758 123.317 161.064 122.745 161.064C122.174 161.064 121.646 160.758 121.361 160.262L121.348 160.24C121.061 159.739 121.064 159.121 121.355 158.622C121.643 158.128 122.173 157.823 122.745 157.823C123.318 157.823 123.848 158.128 124.136 158.622C124.427 159.121 124.43 159.739 124.142 160.24L124.129 160.262Z\",fill:\"#802DF6\"})),_path714||(_path714=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M127.646 162.272C127.357 162.768 126.826 163.073 126.252 163.073H126.231C125.657 163.073 125.126 162.768 124.837 162.272C124.546 161.774 124.547 161.152 124.834 160.651C125.123 160.148 125.661 159.832 126.241 159.832C126.821 159.832 127.36 160.148 127.648 160.651C127.936 161.152 127.937 161.774 127.646 162.272Z\",fill:\"#802DF6\"})),_path715||(_path715=/*#__PURE__*/React.createElement(\"path\",{d:\"M228.261 171.889C228.134 172.117 227.892 172.261 227.632 172.261C227.379 172.261 227.142 172.125 227.013 171.907C226.88 171.682 226.881 171.399 227.018 171.176C227.146 170.968 227.372 170.842 227.616 170.842H227.648C227.899 170.842 228.131 170.976 228.257 171.193C228.38 171.407 228.38 171.674 228.261 171.889Z\",fill:\"#E9DFF2\"})),_path716||(_path716=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.174 123.435C263.056 123.647 262.83 123.778 262.587 123.778C262.352 123.778 262.131 123.654 262.01 123.453C261.883 123.241 261.883 122.976 262.01 122.764C262.131 122.562 262.352 122.438 262.587 122.438C262.83 122.438 263.056 122.569 263.174 122.781C263.288 122.984 263.288 123.232 263.174 123.435Z\",fill:\"#E9DFF2\"})),_path717||(_path717=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 119.873C263.695 120.367 263.166 120.671 262.594 120.671C262.022 120.671 261.493 120.367 261.205 119.873C260.913 119.373 260.913 118.754 261.205 118.254C261.493 117.76 262.022 117.457 262.594 117.457C263.166 117.457 263.695 117.76 263.983 118.254C264.275 118.754 264.275 119.373 263.983 119.873Z\",fill:\"#E9DFF2\"})),_path718||(_path718=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 115.846C263.695 116.346 263.163 116.654 262.587 116.654C262.004 116.654 261.467 116.338 261.183 115.829L261.174 115.812C260.9 115.32 260.902 114.721 261.18 114.231C261.466 113.725 262.006 113.413 262.587 113.413C263.161 113.413 263.696 113.717 263.985 114.213C264.276 114.712 264.278 115.329 263.991 115.83L263.981 115.846Z\",fill:\"#E9DFF2\"})),_path719||(_path719=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 111.808C263.696 112.304 263.161 112.609 262.587 112.609C262.006 112.609 261.466 112.296 261.18 111.791C260.902 111.301 260.9 110.701 261.174 110.209L261.183 110.192C261.467 109.683 262.004 109.368 262.587 109.368C263.163 109.368 263.695 109.676 263.981 110.175L263.991 110.192C264.278 110.693 264.276 111.309 263.985 111.808Z\",fill:\"#E9DFF2\"})),_path720||(_path720=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 107.767C263.695 108.261 263.159 108.564 262.587 108.564C262.009 108.564 261.467 108.253 261.181 107.75C260.903 107.258 260.903 106.656 261.181 106.165C261.467 105.661 262.009 105.35 262.587 105.35C263.159 105.35 263.695 105.654 263.983 106.147C264.275 106.648 264.275 107.267 263.983 107.767Z\",fill:\"#E9DFF2\"})),_path721||(_path721=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 103.739C263.695 104.238 263.163 104.546 262.587 104.546C262.004 104.546 261.467 104.231 261.183 103.722L261.174 103.704C260.9 103.213 260.902 102.613 261.18 102.123C261.466 101.618 262.006 101.305 262.587 101.305C263.161 101.305 263.696 101.61 263.985 102.106C264.276 102.605 264.278 103.221 263.991 103.722L263.981 103.739Z\",fill:\"#E9DFF2\"})),_path722||(_path722=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 99.7012C263.696 100.197 263.161 100.502 262.587 100.502C262.006 100.502 261.466 100.189 261.18 99.6837C260.902 99.1937 260.9 98.5944 261.174 98.1025L261.183 98.0855C261.467 97.5763 262.004 97.2607 262.587 97.2607C263.163 97.2607 263.695 97.5687 263.981 98.0681L263.991 98.0848C264.278 98.5858 264.276 99.2022 263.985 99.7012Z\",fill:\"#E9DFF2\"})),_path723||(_path723=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 95.6601C263.695 96.1538 263.159 96.4575 262.587 96.4575C262.009 96.4575 261.467 96.1462 261.181 95.6426C260.903 95.1511 260.903 94.5495 261.181 94.058C261.467 93.5544 262.009 93.2432 262.587 93.2432C263.159 93.2432 263.695 93.5468 263.983 94.0405C264.275 94.5409 264.275 95.1597 263.983 95.6601Z\",fill:\"#E9DFF2\"})),_path724||(_path724=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 91.6152C263.695 92.1089 263.159 92.4125 262.587 92.4125C262.009 92.4125 261.467 92.1013 261.181 91.5977C260.903 91.1062 260.903 90.5046 261.181 90.0131C261.467 89.5095 262.009 89.1982 262.587 89.1982C263.159 89.1982 263.695 89.5018 263.983 89.9956C264.275 90.496 264.275 91.1148 263.983 91.6152Z\",fill:\"#E9DFF2\"})),_path725||(_path725=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 87.5942C263.696 88.09 263.161 88.3949 262.587 88.3949C262.006 88.3949 261.466 88.0824 261.18 87.5768C260.902 87.0868 260.9 86.4875 261.174 85.9956L261.183 85.9785C261.467 85.4694 262.004 85.1538 262.587 85.1538C263.163 85.1538 263.695 85.4618 263.981 85.9612L263.991 85.9779C264.278 86.4789 264.276 87.0953 263.985 87.5942Z\",fill:\"#E9DFF2\"})),_path726||(_path726=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 83.5522C263.695 84.0459 263.159 84.3495 262.587 84.3495C262.009 84.3495 261.467 84.0383 261.181 83.5347C260.903 83.0432 260.903 82.4416 261.181 81.9501C261.467 81.4465 262.009 81.1353 262.587 81.1353C263.159 81.1353 263.695 81.4389 263.983 81.9326C264.275 82.433 264.275 83.0518 263.983 83.5522Z\",fill:\"#E9DFF2\"})),_path727||(_path727=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 79.5082C263.695 80.002 263.159 80.3056 262.587 80.3056C262.009 80.3056 261.467 79.9944 261.181 79.4908C260.903 78.9993 260.903 78.3976 261.181 77.9061C261.467 77.4025 262.009 77.0913 262.587 77.0913C263.159 77.0913 263.695 77.3949 263.983 77.8887C264.275 78.3891 264.275 79.0078 263.983 79.5082Z\",fill:\"#E9DFF2\"})),_path728||(_path728=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 75.4801C263.695 75.9795 263.163 76.2875 262.587 76.2875C262.004 76.2875 261.467 75.9719 261.183 75.4627L261.174 75.4457C260.9 74.9538 260.902 74.3545 261.18 73.8645C261.466 73.3589 262.006 73.0464 262.587 73.0464C263.161 73.0464 263.696 73.3513 263.985 73.8471C264.276 74.346 264.278 74.9624 263.991 75.4634L263.981 75.4801Z\",fill:\"#E9DFF2\"})),_path729||(_path729=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 71.4414C263.696 71.9372 263.161 72.2421 262.587 72.2421C262.006 72.2421 261.466 71.9296 261.18 71.4239C260.902 70.934 260.9 70.3347 261.174 69.8427L261.183 69.8257C261.467 69.3166 262.004 69.001 262.587 69.001C263.163 69.001 263.695 69.3089 263.981 69.8083L263.991 69.8251C264.278 70.3261 264.276 70.9425 263.985 71.4414Z\",fill:\"#E9DFF2\"})),_path730||(_path730=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 67.4008C263.695 67.8946 263.159 68.1982 262.587 68.1982C262.009 68.1982 261.467 67.8869 261.181 67.3834C260.903 66.8919 260.903 66.2902 261.181 65.7987C261.467 65.2951 262.009 64.9839 262.587 64.9839C263.159 64.9839 263.695 65.2875 263.983 65.7812C264.275 66.2816 264.275 66.9004 263.983 67.4008Z\",fill:\"#E9DFF2\"})),_path731||(_path731=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 63.3727C263.695 63.8721 263.163 64.18 262.587 64.18C262.004 64.18 261.467 63.8644 261.183 63.3553L261.174 63.3383C260.9 62.8463 260.902 62.2471 261.18 61.7571C261.466 61.2515 262.006 60.939 262.587 60.939C263.161 60.939 263.696 61.2438 263.985 61.7396C264.276 62.2385 264.278 62.855 263.991 63.3559L263.981 63.3727Z\",fill:\"#E9DFF2\"})),_path732||(_path732=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 61.3292C260.212 61.8327 259.67 62.144 259.092 62.144C258.52 62.144 257.984 61.8404 257.696 61.3466C257.404 60.8462 257.404 60.2274 257.696 59.727C257.984 59.2333 258.52 58.9297 259.092 58.9297C259.67 58.9297 260.212 59.2409 260.498 59.7445C260.776 60.236 260.776 60.8377 260.498 61.3292Z\",fill:\"#E9DFF2\"})),_path733||(_path733=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 59.3344C256.705 59.8302 256.17 60.1351 255.596 60.1351C255.015 60.1351 254.475 59.8226 254.188 59.317C253.911 58.827 253.909 58.2277 254.183 57.7358L254.192 57.7188C254.476 57.2096 255.013 56.894 255.596 56.894C256.172 56.894 256.704 57.202 256.99 57.7014L257 57.7181C257.287 58.2191 257.285 58.8355 256.994 59.3344Z\",fill:\"#E9DFF2\"})),_path734||(_path734=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 57.2847C253.221 57.7883 252.679 58.0995 252.1 58.0995C251.529 58.0995 250.993 57.7959 250.705 57.3022C250.413 56.8018 250.413 56.183 250.705 55.6826C250.993 55.1889 251.529 54.8853 252.1 54.8853C252.679 54.8853 253.221 55.1965 253.506 55.7001C253.785 56.1916 253.785 56.7932 253.506 57.2847Z\",fill:\"#E9DFF2\"})),_path735||(_path735=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 55.2929C249.713 55.7867 249.177 56.0903 248.605 56.0903C248.026 56.0903 247.484 55.779 247.199 55.2755C246.92 54.7839 246.92 54.1823 247.199 53.6908C247.484 53.1872 248.026 52.876 248.605 52.876C249.177 52.876 249.713 53.1796 250.001 53.6733C250.293 54.1737 250.293 54.7925 250.001 55.2929Z\",fill:\"#E9DFF2\"})),_path736||(_path736=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.487 53.2804C246.202 53.7761 245.674 54.0819 245.103 54.0819C244.531 54.0819 244.003 53.7761 243.719 53.2804L243.706 53.2578C243.418 52.7568 243.421 52.1392 243.712 51.6403C244.001 51.146 244.531 50.8408 245.103 50.8408C245.675 50.8408 246.205 51.146 246.493 51.6403C246.784 52.1392 246.787 52.7568 246.5 53.2578L246.487 53.2804Z\",fill:\"#E9DFF2\"})),_path737||(_path737=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 51.249C242.722 51.7427 242.186 52.0463 241.614 52.0463C241.035 52.0463 240.493 51.7351 240.208 51.2315C239.93 50.74 239.93 50.1383 240.208 49.6468C240.493 49.1433 241.035 48.832 241.614 48.832C242.186 48.832 242.722 49.1356 243.01 49.6294C243.302 50.1298 243.302 50.7486 243.01 51.249Z\",fill:\"#E9DFF2\"})),_path738||(_path738=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.503 49.2375C239.214 49.7318 238.684 50.037 238.112 50.037C237.54 50.037 237.01 49.7318 236.722 49.2375C236.431 48.7386 236.428 48.121 236.715 47.62L236.728 47.5974C237.013 47.1017 237.54 46.7959 238.112 46.7959C238.684 46.7959 239.212 47.1017 239.496 47.5974L239.509 47.62C239.797 48.121 239.794 48.7386 239.503 49.2375Z\",fill:\"#E9DFF2\"})),_path739||(_path739=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.017 47.2208C235.73 47.7202 235.198 48.0282 234.623 48.0282C234.04 48.0282 233.503 47.7126 233.219 47.2035L233.209 47.1864C232.935 46.6945 232.937 46.0952 233.215 45.6052C233.501 45.0996 234.042 44.7871 234.623 44.7871C235.197 44.7871 235.731 45.092 236.021 45.5878C236.312 46.0867 236.314 46.7031 236.026 47.2041L236.017 47.2208Z\",fill:\"#E9DFF2\"})),_path740||(_path740=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.51 45.1953C232.222 45.689 231.692 45.9926 231.12 45.9926C230.549 45.9926 230.019 45.689 229.731 45.1953C229.439 44.6949 229.439 44.0761 229.731 43.5757C230.019 43.0819 230.549 42.7783 231.12 42.7783C231.692 42.7783 232.222 43.0819 232.51 43.5757C232.802 44.0761 232.802 44.6949 232.51 45.1953Z\",fill:\"#E9DFF2\"})),_path741||(_path741=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.03 43.1831C228.741 43.6789 228.21 43.9838 227.636 43.9838H227.615C227.041 43.9838 226.51 43.6789 226.221 43.1831C225.93 42.6842 225.931 42.0623 226.218 41.5613C226.507 41.0583 227.045 40.7427 227.625 40.7427C228.205 40.7427 228.744 41.0583 229.032 41.5613C229.32 42.0623 229.321 42.6842 229.03 43.1831Z\",fill:\"#E9DFF2\"})),_path742||(_path742=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.514 41.1734C225.229 41.6692 224.701 41.975 224.13 41.975C223.558 41.975 223.03 41.6692 222.746 41.1734L222.733 41.1509C222.445 40.6499 222.448 40.0322 222.739 39.5333C223.028 39.039 223.557 38.7339 224.13 38.7339C224.702 38.7339 225.232 39.039 225.52 39.5333C225.811 40.0322 225.814 40.6499 225.527 41.1509L225.514 41.1734Z\",fill:\"#E9DFF2\"})),_path743||(_path743=/*#__PURE__*/React.createElement(\"path\",{d:\"M222 39.122C221.719 39.6102 221.197 39.9122 220.634 39.9122C220.07 39.9122 219.549 39.6102 219.268 39.122C218.986 38.6336 218.986 38.03 219.268 37.5416C219.549 37.0534 220.07 36.7515 220.634 36.7515C221.197 36.7515 221.719 37.0534 222 37.5416C222.281 38.03 222.281 38.6336 222 39.122Z\",fill:\"#E9DFF2\"})),_path744||(_path744=/*#__PURE__*/React.createElement(\"path\",{d:\"M218.446 37.0819C218.176 37.5415 217.682 37.8237 217.148 37.8237H217.129C216.596 37.8237 216.102 37.5415 215.831 37.0819C215.555 36.6134 215.556 36.0267 215.829 35.5561C216.099 35.0898 216.6 34.7969 217.139 34.7969C217.678 34.7969 218.179 35.0898 218.449 35.5561C218.721 36.0267 218.722 36.6134 218.446 37.0819Z\",fill:\"#E9DFF2\"})),_path745||(_path745=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M214.964 35.0728C214.694 35.5478 214.189 35.8411 213.643 35.8411C213.096 35.8411 212.592 35.5478 212.322 35.0728L212.31 35.0525C212.041 34.5788 212.043 33.9975 212.316 33.5258C212.59 33.0523 213.096 32.7607 213.643 32.7607C214.19 32.7607 214.696 33.0523 214.97 33.5258C215.243 33.9975 215.245 34.5788 214.975 35.0525L214.964 35.0728Z\",fill:\"#802DF6\"})),_path746||(_path746=/*#__PURE__*/React.createElement(\"path\",{d:\"M211.257 32.9253C211.027 33.3193 210.604 33.564 210.147 33.564C209.691 33.564 209.268 33.3193 209.038 32.9253C208.806 32.5265 208.802 32.0314 209.031 31.6305L209.045 31.6054C209.271 31.2099 209.692 30.9658 210.147 30.9658C210.603 30.9658 211.024 31.2099 211.25 31.6054L211.264 31.6305C211.493 32.0314 211.489 32.5265 211.257 32.9253Z\",fill:\"#E9DFF2\"})),_path747||(_path747=/*#__PURE__*/React.createElement(\"path\",{d:\"M207.776 30.9145C207.544 31.3116 207.119 31.5557 206.66 31.5557H206.644C206.185 31.5557 205.759 31.3116 205.528 30.9145C205.295 30.5157 205.293 30.0231 205.522 29.6222L205.53 29.6087C205.76 29.206 206.188 28.9575 206.652 28.9575C207.116 28.9575 207.544 29.206 207.774 29.6087L207.782 29.6222C208.011 30.0231 208.009 30.5157 207.776 30.9145Z\",fill:\"#E9DFF2\"})),_path748||(_path748=/*#__PURE__*/React.createElement(\"path\",{d:\"M203.983 28.7218C203.812 29.0155 203.496 29.1981 203.156 29.1981C202.816 29.1981 202.501 29.0155 202.329 28.7218C202.154 28.4215 202.154 28.0461 202.329 27.7459C202.501 27.4522 202.816 27.2695 203.156 27.2695C203.496 27.2695 203.812 27.4522 203.983 27.7459C204.158 28.0461 204.158 28.4215 203.983 28.7218Z\",fill:\"#E9DFF2\"})),_path749||(_path749=/*#__PURE__*/React.createElement(\"path\",{d:\"M154.886 36.7165C154.746 36.9543 154.488 37.1004 154.212 37.1004C153.929 37.1004 153.665 36.9466 153.529 36.6989C153.4 36.4653 153.4 36.182 153.529 35.9484C153.665 35.7007 153.929 35.5469 154.212 35.5469C154.488 35.5469 154.746 35.693 154.886 35.9308C155.028 36.1734 155.028 36.4739 154.886 36.7165Z\",fill:\"#E9DFF2\"})),_path750||(_path750=/*#__PURE__*/React.createElement(\"path\",{d:\"M130.353 50.7868C130.228 51.0022 129.998 51.135 129.75 51.135C129.501 51.135 129.271 51.0022 129.147 50.7868C129.023 50.5715 129.023 50.3058 129.147 50.0904C129.271 49.8751 129.501 49.7422 129.75 49.7422C129.998 49.7422 130.228 49.8751 130.353 50.0904C130.477 50.3058 130.477 50.5715 130.353 50.7868Z\",fill:\"#E9DFF2\"})),_path751||(_path751=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.186 61.1032C112.993 61.4325 112.64 61.6349 112.259 61.6349C111.877 61.6349 111.524 61.4325 111.331 61.1032L111.325 61.0915C111.124 60.7488 111.124 60.3246 111.325 59.9819L111.331 59.9702C111.524 59.6408 111.877 59.4385 112.259 59.4385C112.64 59.4385 112.993 59.6408 113.186 59.9702L113.193 59.9819C113.393 60.3246 113.393 60.7488 113.193 61.0915L113.186 61.1032Z\",fill:\"#E9DFF2\"})),_path752||(_path752=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 63.3785C109.863 63.8743 109.335 64.18 108.763 64.18C108.192 64.18 107.664 63.8743 107.379 63.3785L107.366 63.3559C107.079 62.855 107.082 62.2373 107.373 61.7384C107.661 61.2441 108.191 60.939 108.763 60.939C109.335 60.939 109.865 61.2441 110.154 61.7384C110.445 62.2373 110.448 62.855 110.16 63.3559L110.147 63.3785Z\",fill:\"#E9DFF2\"})),_path753||(_path753=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.541 67.0456C109.383 67.3272 109.086 67.5016 108.763 67.5016C108.441 67.5016 108.144 67.3272 107.986 67.0456L107.98 67.0352C107.826 66.7591 107.826 66.4227 107.98 66.1466L107.986 66.1361C108.144 65.8546 108.441 65.6802 108.763 65.6802C109.086 65.6802 109.383 65.8546 109.541 66.1361L109.546 66.1466C109.701 66.4227 109.701 66.7591 109.546 67.0352L109.541 67.0456Z\",fill:\"#E9DFF2\"})),_path754||(_path754=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.262 127.43C109.161 127.607 108.972 127.717 108.768 127.717H108.759C108.555 127.717 108.366 127.607 108.265 127.43C108.167 127.259 108.165 127.049 108.259 126.875L108.268 126.859C108.367 126.678 108.557 126.565 108.763 126.565C108.97 126.565 109.16 126.678 109.259 126.859L109.268 126.875C109.362 127.049 109.36 127.259 109.262 127.43Z\",fill:\"#E9DFF2\"})),_path755||(_path755=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 132.004C109.863 132.5 109.335 132.806 108.763 132.806C108.192 132.806 107.664 132.5 107.379 132.004L107.366 131.981C107.079 131.48 107.082 130.863 107.373 130.364C107.661 129.87 108.191 129.564 108.763 129.564C109.335 129.564 109.865 129.87 110.154 130.364C110.445 130.863 110.448 131.48 110.16 131.981L110.147 132.004Z\",fill:\"#E9DFF2\"})),_path756||(_path756=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 136.026C109.864 136.52 109.335 136.824 108.763 136.824C108.192 136.824 107.662 136.52 107.374 136.026C107.082 135.526 107.082 134.907 107.374 134.407C107.662 133.913 108.192 133.609 108.763 133.609C109.335 133.609 109.864 133.913 110.152 134.407C110.444 134.907 110.444 135.526 110.152 136.026Z\",fill:\"#E9DFF2\"})),_path757||(_path757=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.154 140.069C109.865 140.563 109.335 140.868 108.763 140.868C108.191 140.868 107.661 140.563 107.373 140.069C107.082 139.57 107.079 138.952 107.366 138.451L107.379 138.428C107.664 137.933 108.192 137.627 108.763 137.627C109.335 137.627 109.863 137.933 110.147 138.428L110.16 138.451C110.448 138.952 110.445 139.57 110.154 140.069Z\",fill:\"#E9DFF2\"})),_path758||(_path758=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 144.111C109.863 144.607 109.335 144.912 108.763 144.912C108.192 144.912 107.664 144.607 107.379 144.111L107.366 144.088C107.079 143.587 107.082 142.97 107.373 142.471C107.661 141.977 108.191 141.671 108.763 141.671C109.335 141.671 109.865 141.977 110.154 142.471C110.445 142.97 110.448 143.587 110.16 144.088L110.147 144.111Z\",fill:\"#E9DFF2\"})),_path759||(_path759=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 148.133C109.864 148.626 109.335 148.93 108.763 148.93C108.192 148.93 107.662 148.626 107.374 148.133C107.082 147.632 107.082 147.014 107.374 146.513C107.662 146.019 108.192 145.716 108.763 145.716C109.335 145.716 109.864 146.019 110.152 146.513C110.444 147.014 110.444 147.632 110.152 148.133Z\",fill:\"#E9DFF2\"})),_path760||(_path760=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 154.186C106.382 154.68 105.854 154.984 105.282 154.984H105.253C104.682 154.984 104.153 154.68 103.865 154.186C103.573 153.686 103.573 153.067 103.865 152.567C104.153 152.073 104.682 151.77 105.253 151.77H105.282C105.854 151.77 106.382 152.073 106.67 152.567C106.962 153.067 106.962 153.686 106.67 154.186Z\",fill:\"#E9DFF2\"})),_path761||(_path761=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.154 156.219C109.865 156.714 109.335 157.019 108.763 157.019C108.191 157.019 107.661 156.714 107.373 156.219C107.082 155.721 107.079 155.103 107.366 154.602L107.379 154.579C107.664 154.084 108.192 153.778 108.763 153.778C109.335 153.778 109.863 154.084 110.147 154.579L110.16 154.602C110.448 155.103 110.445 155.721 110.154 156.219Z\",fill:\"#E9DFF2\"})),_path762||(_path762=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M113.662 158.231C113.374 158.725 112.845 159.028 112.274 159.028H112.245C111.673 159.028 111.145 158.725 110.857 158.231C110.565 157.73 110.565 157.112 110.857 156.611C111.145 156.118 111.673 155.814 112.245 155.814H112.274C112.845 155.814 113.374 156.118 113.662 156.611C113.954 157.112 113.954 157.73 113.662 158.231Z\",fill:\"#802DF6\"})),_path763||(_path763=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M117.138 160.262C116.854 160.758 116.326 161.064 115.754 161.064C115.183 161.064 114.655 160.758 114.37 160.262L114.357 160.24C114.07 159.739 114.073 159.121 114.364 158.622C114.652 158.128 115.182 157.823 115.754 157.823C116.327 157.823 116.857 158.128 117.145 158.622C117.436 159.121 117.439 159.739 117.151 160.24L117.138 160.262Z\",fill:\"#802DF6\"})),_path764||(_path764=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.655 162.272C120.365 162.768 119.835 163.073 119.261 163.073H119.239C118.665 163.073 118.135 162.768 117.845 162.272C117.554 161.774 117.555 161.152 117.843 160.651C118.131 160.148 118.67 159.832 119.25 159.832C119.83 159.832 120.369 160.148 120.657 160.651C120.945 161.152 120.946 161.774 120.655 162.272Z\",fill:\"#802DF6\"})),_path765||(_path765=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M124.135 164.285C123.847 164.778 123.317 165.082 122.745 165.082C122.174 165.082 121.644 164.778 121.356 164.285C121.064 163.784 121.064 163.165 121.356 162.665C121.644 162.171 122.174 161.868 122.745 161.868C123.317 161.868 123.847 162.171 124.135 162.665C124.427 163.165 124.427 163.784 124.135 164.285Z\",fill:\"#802DF6\"})),_path766||(_path766=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M127.648 166.299C127.36 166.802 126.821 167.118 126.241 167.118C125.661 167.118 125.123 166.802 124.834 166.299C124.547 165.798 124.546 165.177 124.837 164.678C125.126 164.182 125.657 163.877 126.231 163.877H126.252C126.826 163.877 127.357 164.182 127.646 164.678C127.937 165.177 127.936 165.798 127.648 166.299Z\",fill:\"#802DF6\"})),_path767||(_path767=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.101 125.718C266.889 126.077 266.5 126.297 266.083 126.297C265.659 126.297 265.264 126.069 265.054 125.701C264.849 125.34 264.849 124.897 265.054 124.536C265.264 124.168 265.659 123.94 266.083 123.94C266.5 123.94 266.889 124.16 267.101 124.519C267.32 124.889 267.32 125.348 267.101 125.718Z\",fill:\"#E9DFF2\"})),_path768||(_path768=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 121.888C267.204 122.394 266.664 122.706 266.083 122.706C265.509 122.706 264.974 122.402 264.685 121.906C264.394 121.407 264.392 120.79 264.679 120.289L264.689 120.273C264.975 119.773 265.507 119.465 266.083 119.465C266.666 119.465 267.203 119.781 267.487 120.29L267.496 120.307C267.77 120.799 267.768 121.398 267.491 121.888Z\",fill:\"#E9DFF2\"})),_path769||(_path769=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 117.848C267.203 118.351 266.662 118.663 266.083 118.663C265.511 118.663 264.975 118.359 264.687 117.865C264.395 117.365 264.395 116.746 264.687 116.246C264.975 115.752 265.511 115.448 266.083 115.448C266.662 115.448 267.203 115.759 267.489 116.263C267.767 116.755 267.767 117.356 267.489 117.848Z\",fill:\"#E9DFF2\"})),_path770||(_path770=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 113.803C267.203 114.306 266.662 114.618 266.083 114.618C265.511 114.618 264.975 114.314 264.687 113.82C264.395 113.32 264.395 112.701 264.687 112.201C264.975 111.707 265.511 111.403 266.083 111.403C266.662 111.403 267.203 111.715 267.489 112.218C267.767 112.71 267.767 113.311 267.489 113.803Z\",fill:\"#E9DFF2\"})),_path771||(_path771=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 109.775C267.203 110.284 266.666 110.6 266.083 110.6C265.507 110.6 264.975 110.292 264.689 109.793L264.679 109.776C264.392 109.275 264.394 108.658 264.685 108.16C264.974 107.664 265.509 107.359 266.083 107.359C266.664 107.359 267.204 107.671 267.491 108.177C267.768 108.667 267.77 109.266 267.496 109.758L267.487 109.775Z\",fill:\"#E9DFF2\"})),_path772||(_path772=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 105.737C267.204 106.243 266.664 106.555 266.083 106.555C265.509 106.555 264.974 106.25 264.685 105.754C264.394 105.255 264.392 104.639 264.679 104.138L264.689 104.121C264.975 103.622 265.507 103.314 266.083 103.314C266.666 103.314 267.203 103.63 267.487 104.139L267.496 104.156C267.77 104.648 267.768 105.247 267.491 105.737Z\",fill:\"#E9DFF2\"})),_path773||(_path773=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 101.696C267.203 102.199 266.662 102.511 266.083 102.511C265.511 102.511 264.975 102.207 264.687 101.713C264.395 101.213 264.395 100.594 264.687 100.094C264.975 99.6 265.511 99.2964 266.083 99.2964C266.662 99.2964 267.203 99.6076 267.489 100.111C267.767 100.603 267.767 101.204 267.489 101.696Z\",fill:\"#E9DFF2\"})),_path774||(_path774=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 97.6678C267.203 98.1769 266.666 98.4925 266.083 98.4925C265.507 98.4925 264.975 98.1846 264.689 97.6852L264.679 97.6684C264.392 97.1675 264.394 96.551 264.685 96.0521C264.974 95.5563 265.509 95.2515 266.083 95.2515C266.664 95.2515 267.204 95.564 267.491 96.0696C267.768 96.5596 267.77 97.1588 267.496 97.6508L267.487 97.6678Z\",fill:\"#E9DFF2\"})),_path775||(_path775=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 93.6295C267.204 94.1351 266.664 94.4476 266.083 94.4476C265.509 94.4476 264.974 94.1427 264.685 93.647C264.394 93.148 264.392 92.5316 264.679 92.0306L264.689 92.0139C264.975 91.5145 265.507 91.2065 266.083 91.2065C266.666 91.2065 267.203 91.5221 267.487 92.0313L267.496 92.0483C267.77 92.5402 267.768 93.1395 267.491 93.6295Z\",fill:\"#E9DFF2\"})),_path776||(_path776=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 89.5884C267.203 90.092 266.662 90.4033 266.083 90.4033C265.511 90.4033 264.975 90.0996 264.687 89.6059C264.395 89.1055 264.395 88.4867 264.687 87.9863C264.975 87.4926 265.511 87.189 266.083 87.189C266.662 87.189 267.203 87.5002 267.489 88.0038C267.767 88.4953 267.767 89.0969 267.489 89.5884Z\",fill:\"#E9DFF2\"})),_path777||(_path777=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 85.544C267.203 86.0476 266.662 86.3588 266.083 86.3588C265.511 86.3588 264.975 86.0552 264.687 85.5615C264.395 85.0611 264.395 84.4423 264.687 83.9419C264.975 83.4481 265.511 83.1445 266.083 83.1445C266.662 83.1445 267.203 83.4558 267.489 83.9593C267.767 84.4508 267.767 85.0525 267.489 85.544Z\",fill:\"#E9DFF2\"})),_path778||(_path778=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 81.5164C267.203 82.0256 266.666 82.3412 266.083 82.3412C265.507 82.3412 264.975 82.0332 264.689 81.5338L264.679 81.5171C264.392 81.0161 264.394 80.3997 264.685 79.9008C264.974 79.405 265.509 79.1001 266.083 79.1001C266.664 79.1001 267.204 79.4126 267.491 79.9182C267.768 80.4082 267.77 81.0075 267.496 81.4994L267.487 81.5164Z\",fill:\"#E9DFF2\"})),_path779||(_path779=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 77.4786C267.204 77.9842 266.664 78.2967 266.083 78.2967C265.509 78.2967 264.974 77.9919 264.685 77.4961C264.394 76.9972 264.392 76.3808 264.679 75.8798L264.689 75.863C264.975 75.3636 265.507 75.0557 266.083 75.0557C266.666 75.0557 267.203 75.3713 267.487 75.8804L267.496 75.8974C267.77 76.3894 267.768 76.9886 267.491 77.4786Z\",fill:\"#E9DFF2\"})),_path780||(_path780=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 73.4371C267.203 73.9407 266.662 74.2519 266.083 74.2519C265.511 74.2519 264.975 73.9483 264.687 73.4545C264.395 72.9541 264.395 72.3354 264.687 71.8349C264.975 71.3412 265.511 71.0376 266.083 71.0376C266.662 71.0376 267.203 71.3488 267.489 71.8524C267.767 72.3439 267.767 72.9456 267.489 73.4371Z\",fill:\"#E9DFF2\"})),_path781||(_path781=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 69.41C267.203 69.9191 266.666 70.2347 266.083 70.2347C265.507 70.2347 264.975 69.9268 264.689 69.4274L264.679 69.4106C264.392 68.9096 264.394 68.2932 264.685 67.7943C264.974 67.2985 265.509 66.9937 266.083 66.9937C266.664 66.9937 267.204 67.3062 267.491 67.8118C267.768 68.3017 267.77 68.901 267.496 69.393L267.487 69.41Z\",fill:\"#E9DFF2\"})),_path782||(_path782=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 65.3712C267.204 65.8768 266.664 66.1893 266.083 66.1893C265.509 66.1893 264.974 65.8844 264.685 65.3887C264.394 64.8897 264.392 64.2733 264.679 63.7723L264.689 63.7556C264.975 63.2562 265.507 62.9482 266.083 62.9482C266.666 62.9482 267.203 63.2638 267.487 63.773L267.496 63.79C267.77 64.2819 267.768 64.8812 267.491 65.3712Z\",fill:\"#E9DFF2\"})),_path783||(_path783=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 61.3292C267.203 61.8327 266.662 62.144 266.083 62.144C265.511 62.144 264.975 61.8404 264.687 61.3466C264.395 60.8462 264.395 60.2274 264.687 59.727C264.975 59.2333 265.511 58.9297 266.083 58.9297C266.662 58.9297 267.203 59.2409 267.489 59.7445C267.767 60.236 267.767 60.8377 267.489 61.3292Z\",fill:\"#E9DFF2\"})),_path784||(_path784=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 59.3344C263.696 59.8302 263.161 60.1351 262.587 60.1351C262.006 60.1351 261.466 59.8226 261.18 59.317C260.902 58.827 260.9 58.2277 261.174 57.7358L261.183 57.7188C261.467 57.2096 262.004 56.894 262.587 56.894C263.163 56.894 263.695 57.202 263.981 57.7014L263.991 57.7181C264.278 58.2191 264.276 58.8355 263.985 59.3344Z\",fill:\"#E9DFF2\"})),_path785||(_path785=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 57.2847C260.212 57.7883 259.67 58.0995 259.092 58.0995C258.52 58.0995 257.984 57.7959 257.696 57.3022C257.404 56.8018 257.404 56.183 257.696 55.6826C257.984 55.1889 258.52 54.8853 259.092 54.8853C259.67 54.8853 260.212 55.1965 260.498 55.7001C260.776 56.1916 260.776 56.7932 260.498 57.2847Z\",fill:\"#E9DFF2\"})),_path786||(_path786=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 55.2929C256.704 55.7867 256.168 56.0903 255.596 56.0903C255.017 56.0903 254.476 55.779 254.19 55.2755C253.912 54.784 253.912 54.1823 254.19 53.6908C254.476 53.1872 255.017 52.876 255.596 52.876C256.168 52.876 256.704 53.1796 256.992 53.6733C257.284 54.1737 257.284 54.7925 256.992 55.2929Z\",fill:\"#E9DFF2\"})),_path787||(_path787=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.504 53.2572C253.221 53.7663 252.683 54.0819 252.1 54.0819C251.525 54.0819 250.993 53.7739 250.706 53.2745L250.697 53.2578C250.409 52.7568 250.412 52.1404 250.703 51.6415C250.992 51.1457 251.526 50.8408 252.1 50.8408C252.682 50.8408 253.222 51.1533 253.508 51.6589C253.786 52.1489 253.788 52.7482 253.514 53.2401L253.504 53.2572Z\",fill:\"#E9DFF2\"})),_path788||(_path788=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 51.249C249.713 51.7427 249.177 52.0463 248.605 52.0463C248.026 52.0463 247.484 51.7351 247.199 51.2315C246.92 50.74 246.92 50.1383 247.199 49.6468C247.484 49.1433 248.026 48.832 248.605 48.832C249.177 48.832 249.713 49.1356 250.001 49.6294C250.293 50.1298 250.293 50.7486 250.001 51.249Z\",fill:\"#E9DFF2\"})),_path789||(_path789=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.493 49.2375C246.205 49.7318 245.675 50.037 245.103 50.037C244.531 50.037 244.001 49.7318 243.712 49.2375C243.421 48.7386 243.418 48.121 243.706 47.62L243.719 47.5974C244.003 47.1017 244.531 46.7959 245.103 46.7959C245.674 46.7959 246.202 47.1017 246.487 47.5974L246.5 47.62C246.787 48.121 246.784 48.7386 246.493 49.2375Z\",fill:\"#E9DFF2\"})),_path790||(_path790=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.008 47.2208C242.721 47.7202 242.19 48.0282 241.614 48.0282C241.031 48.0282 240.494 47.7126 240.21 47.2035L240.201 47.1864C239.926 46.6945 239.928 46.0952 240.206 45.6052C240.493 45.0996 241.033 44.7871 241.614 44.7871C242.188 44.7871 242.723 45.092 243.012 45.5878C243.303 46.0867 243.305 46.7031 243.018 47.2041L243.008 47.2208Z\",fill:\"#E9DFF2\"})),_path791||(_path791=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 45.1953C239.213 45.689 238.684 45.9926 238.112 45.9926C237.54 45.9926 237.011 45.689 236.723 45.1953C236.431 44.6949 236.431 44.0761 236.723 43.5757C237.011 43.0819 237.54 42.7783 238.112 42.7783C238.684 42.7783 239.213 43.0819 239.501 43.5757C239.793 44.0761 239.793 44.6949 239.501 45.1953Z\",fill:\"#E9DFF2\"})),_path792||(_path792=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.021 43.1831C235.731 43.6789 235.197 43.9838 234.623 43.9838C234.042 43.9838 233.501 43.6713 233.215 43.1656C232.937 42.6757 232.935 42.0764 233.209 41.5844L233.219 41.5674C233.503 41.0583 234.04 40.7427 234.623 40.7427C235.198 40.7427 235.73 41.0506 236.017 41.55L236.026 41.5668C236.314 42.0678 236.312 42.6842 236.021 43.1831Z\",fill:\"#E9DFF2\"})),_path793||(_path793=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.504 41.1734C232.22 41.6692 231.692 41.975 231.12 41.975C230.549 41.975 230.021 41.6692 229.736 41.1734L229.723 41.1509C229.436 40.6499 229.439 40.0322 229.73 39.5333C230.018 39.039 230.548 38.7339 231.12 38.7339C231.693 38.7339 232.223 39.039 232.511 39.5333C232.802 40.0322 232.805 40.6499 232.517 41.1509L232.504 41.1734Z\",fill:\"#E9DFF2\"})),_path794||(_path794=/*#__PURE__*/React.createElement(\"path\",{d:\"M229.028 39.1415C228.74 39.6353 228.211 39.9389 227.64 39.9389H227.611C227.039 39.9389 226.511 39.6353 226.223 39.1415C225.931 38.6411 225.931 38.0224 226.223 37.522C226.511 37.0282 227.039 36.7246 227.611 36.7246H227.64C228.211 36.7246 228.74 37.0282 229.028 37.522C229.32 38.0224 229.32 38.6411 229.028 39.1415Z\",fill:\"#E9DFF2\"})),_path795||(_path795=/*#__PURE__*/React.createElement(\"path\",{d:\"M225.028 36.8301C224.845 37.1465 224.507 37.3413 224.141 37.3413H224.117C223.752 37.3413 223.414 37.1465 223.231 36.8301C223.049 36.5162 223.05 36.1247 223.228 35.8087C223.411 35.4844 223.757 35.2788 224.129 35.2788C224.502 35.2788 224.848 35.4844 225.031 35.8087C225.209 36.1247 225.21 36.5162 225.028 36.8301Z\",fill:\"#E9DFF2\"})),_path796||(_path796=/*#__PURE__*/React.createElement(\"path\",{d:\"M221.839 34.9847C221.592 35.4117 221.134 35.6798 220.641 35.6798C220.141 35.6798 219.677 35.4039 219.433 34.967C219.199 34.5479 219.199 34.0322 219.436 33.615C219.68 33.1859 220.135 32.9209 220.629 32.9209H220.652C221.139 32.9209 221.589 33.1784 221.836 33.5977C222.086 34.0237 222.086 34.5565 221.839 34.9847Z\",fill:\"#E9DFF2\"})),_path797||(_path797=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.063 18.951C193.782 19.4565 193.248 19.7699 192.669 19.7699C192.091 19.7699 191.557 19.4565 191.276 18.951L191.263 18.9281C190.989 18.4362 190.991 17.8357 191.269 17.3457C191.555 16.8416 192.09 16.5288 192.669 16.5288C193.249 16.5288 193.784 16.8416 194.07 17.3457C194.348 17.8357 194.35 18.4362 194.076 18.9281L194.063 18.951Z\",fill:\"#E9DFF2\"})),_path798||(_path798=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.038 16.6328C189.86 16.9333 189.536 17.1174 189.187 17.1174H189.162C188.813 17.1174 188.489 16.9333 188.31 16.6328C188.125 16.3207 188.125 15.932 188.31 15.6198C188.489 15.3194 188.813 15.1353 189.162 15.1353H189.187C189.536 15.1353 189.86 15.3194 190.038 15.6198C190.224 15.932 190.224 16.3207 190.038 16.6328Z\",fill:\"#E9DFF2\"})),_path799||(_path799=/*#__PURE__*/React.createElement(\"path\",{d:\"M186.281 14.466C186.157 14.6814 185.927 14.8142 185.678 14.8142C185.43 14.8142 185.2 14.6814 185.076 14.466C184.951 14.2507 184.951 13.985 185.076 13.7696C185.2 13.5543 185.43 13.4214 185.678 13.4214C185.927 13.4214 186.157 13.5543 186.281 13.7696C186.405 13.985 186.405 14.2507 186.281 14.466Z\",fill:\"#E9DFF2\"})),_path800||(_path800=/*#__PURE__*/React.createElement(\"path\",{d:\"M133.55 44.5801C133.486 44.6916 133.367 44.7603 133.239 44.7603C133.104 44.7603 132.98 44.6838 132.919 44.5626L132.913 44.5498C132.861 44.4467 132.863 44.3249 132.918 44.2234C132.98 44.1087 133.099 44.0371 133.23 44.0371H133.248C133.372 44.0371 133.486 44.1011 133.551 44.206C133.619 44.3166 133.621 44.4554 133.556 44.5681L133.55 44.5801Z\",fill:\"#E9DFF2\"})),_path801||(_path801=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.121 47.2266C130.836 47.7224 130.308 48.0282 129.737 48.0282C129.165 48.0282 128.637 47.7224 128.353 47.2266L128.34 47.2041C128.052 46.7031 128.055 46.0855 128.346 45.5865C128.634 45.0923 129.164 44.7871 129.737 44.7871C130.309 44.7871 130.839 45.0923 131.127 45.5865C131.418 46.0855 131.421 46.7031 131.134 47.2041L131.121 47.2266Z\",fill:\"#E9DFF2\"})),_path802||(_path802=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.484 49.1433C127.229 49.5806 126.76 49.8495 126.253 49.8495H126.229C125.722 49.8495 125.253 49.5806 124.998 49.1433C124.74 48.702 124.74 48.1516 124.995 47.7083C125.25 47.2628 125.727 46.9834 126.241 46.9834C126.755 46.9834 127.232 47.2628 127.488 47.7083C127.742 48.1516 127.743 48.702 127.484 49.1433Z\",fill:\"#E9DFF2\"})),_path803||(_path803=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.154 59.3357C109.865 59.83 109.335 60.1351 108.763 60.1351C108.191 60.1351 107.661 59.83 107.373 59.3357C107.082 58.8368 107.079 58.2191 107.366 57.7181L107.379 57.6956C107.664 57.1998 108.192 56.894 108.763 56.894C109.335 56.894 109.863 57.1998 110.147 57.6956L110.16 57.7181C110.448 58.2191 110.445 58.8368 110.154 59.3357Z\",fill:\"#E9DFF2\"})),_path804||(_path804=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 61.3466C106.382 61.8404 105.854 62.144 105.282 62.144H105.253C104.682 62.144 104.153 61.8404 103.865 61.3466C103.573 60.8462 103.573 60.2274 103.865 59.727C104.153 59.2333 104.682 58.9297 105.253 58.9297H105.282C105.854 58.9297 106.382 59.2333 106.67 59.727C106.962 60.2274 106.962 60.8462 106.67 61.3466Z\",fill:\"#E9DFF2\"})),_path805||(_path805=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 65.3887C106.383 65.8844 105.852 66.1893 105.278 66.1893H105.257C104.683 66.1893 104.152 65.8844 103.863 65.3887C103.572 64.8897 103.573 64.2679 103.861 63.7669C104.149 63.2639 104.688 62.9482 105.268 62.9482C105.848 62.9482 106.386 63.2639 106.675 63.7669C106.962 64.2679 106.963 64.8897 106.672 65.3887Z\",fill:\"#E9DFF2\"})),_path806||(_path806=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.642 69.4135C106.357 69.9006 105.832 70.207 105.268 70.207C104.704 70.207 104.178 69.9006 103.894 69.4135C103.604 68.9157 103.602 68.2925 103.896 67.7969C104.182 67.315 104.708 67.0195 105.268 67.0195C105.828 67.0195 106.354 67.315 106.64 67.7969C106.934 68.2925 106.932 68.9157 106.642 69.4135Z\",fill:\"#E9DFF2\"})),_path807||(_path807=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.468 73.3265C106.224 73.7634 105.761 74.0377 105.261 74.0377C104.768 74.0377 104.311 73.7713 104.064 73.3442C103.816 72.9134 103.816 72.3762 104.064 71.9455C104.311 71.5184 104.768 71.252 105.261 71.252C105.761 71.252 106.224 71.5262 106.468 71.9631C106.703 72.3848 106.703 72.9048 106.468 73.3265Z\",fill:\"#E9DFF2\"})),_path808||(_path808=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.593 125.883C106.32 126.355 105.813 126.645 105.268 126.645C104.724 126.645 104.216 126.355 103.943 125.883C103.669 125.41 103.669 124.826 103.943 124.353C104.216 123.882 104.724 123.591 105.268 123.591C105.813 123.591 106.32 123.882 106.593 124.353C106.867 124.826 106.867 125.41 106.593 125.883Z\",fill:\"#E9DFF2\"})),_path809||(_path809=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 129.973C106.382 130.466 105.854 130.77 105.282 130.77H105.253C104.682 130.77 104.153 130.466 103.865 129.973C103.573 129.472 103.573 128.853 103.865 128.353C104.153 127.859 104.682 127.556 105.253 127.556H105.282C105.854 127.556 106.382 127.859 106.67 128.353C106.962 128.853 106.962 129.472 106.67 129.973Z\",fill:\"#E9DFF2\"})),_path810||(_path810=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 134.014C106.383 134.509 105.852 134.814 105.278 134.814H105.257C104.683 134.814 104.152 134.509 103.863 134.014C103.572 133.515 103.573 132.893 103.861 132.392C104.149 131.889 104.688 131.573 105.268 131.573C105.848 131.573 106.386 131.889 106.675 132.392C106.962 132.893 106.963 133.515 106.672 134.014Z\",fill:\"#E9DFF2\"})),_path811||(_path811=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.675 138.04C106.386 138.543 105.848 138.859 105.268 138.859C104.688 138.859 104.149 138.543 103.861 138.04C103.573 137.539 103.572 136.917 103.863 136.418C104.152 135.923 104.683 135.618 105.257 135.618H105.278C105.852 135.618 106.383 135.923 106.672 136.418C106.963 136.917 106.962 137.539 106.675 138.04Z\",fill:\"#E9DFF2\"})),_path812||(_path812=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 142.079C106.382 142.573 105.854 142.876 105.282 142.876H105.253C104.682 142.876 104.153 142.573 103.865 142.079C103.573 141.579 103.573 140.96 103.865 140.459C104.153 139.966 104.682 139.662 105.253 139.662H105.282C105.854 139.662 106.382 139.966 106.67 140.459C106.962 140.96 106.962 141.579 106.67 142.079Z\",fill:\"#E9DFF2\"})),_path813||(_path813=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 146.121C106.383 146.616 105.852 146.921 105.278 146.921H105.257C104.683 146.921 104.152 146.616 103.863 146.121C103.572 145.622 103.573 145 103.861 144.499C104.149 143.996 104.688 143.68 105.268 143.68C105.848 143.68 106.386 143.996 106.675 144.499C106.962 145 106.963 145.622 106.672 146.121Z\",fill:\"#E9DFF2\"})),_path814||(_path814=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.675 150.147C106.386 150.65 105.848 150.966 105.268 150.966C104.688 150.966 104.149 150.65 103.861 150.147C103.573 149.646 103.572 149.024 103.863 148.525C104.152 148.029 104.683 147.725 105.257 147.725H105.278C105.852 147.725 106.383 148.029 106.672 148.525C106.963 149.024 106.962 149.646 106.675 150.147Z\",fill:\"#E9DFF2\"})),_path815||(_path815=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 156.219C102.874 156.714 102.344 157.019 101.772 157.019C101.2 157.019 100.67 156.714 100.382 156.219C100.091 155.721 100.088 155.103 100.375 154.602L100.388 154.579C100.673 154.084 101.201 153.778 101.772 153.778C102.344 153.778 102.872 154.084 103.156 154.579L103.169 154.602C103.457 155.103 103.454 155.721 103.163 156.219Z\",fill:\"#E9DFF2\"})),_path816||(_path816=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 158.231C106.382 158.725 105.854 159.028 105.282 159.028H105.253C104.682 159.028 104.153 158.725 103.865 158.231C103.573 157.73 103.573 157.112 103.865 156.611C104.153 156.118 104.682 155.814 105.253 155.814H105.282C105.854 155.814 106.382 156.118 106.67 156.611C106.962 157.112 106.962 157.73 106.67 158.231Z\",fill:\"#E9DFF2\"})),_path817||(_path817=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 160.262C109.863 160.758 109.335 161.064 108.763 161.064C108.192 161.064 107.664 160.758 107.379 160.262L107.366 160.24C107.079 159.739 107.082 159.121 107.373 158.622C107.661 158.128 108.191 157.823 108.763 157.823C109.335 157.823 109.865 158.128 110.154 158.622C110.445 159.121 110.448 159.739 110.16 160.24L110.147 160.262Z\",fill:\"#E9DFF2\"})),_path818||(_path818=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M113.664 162.272C113.375 162.768 112.844 163.073 112.27 163.073H112.249C111.675 163.073 111.144 162.768 110.855 162.272C110.564 161.774 110.565 161.152 110.852 160.651C111.141 160.148 111.679 159.832 112.259 159.832C112.839 159.832 113.378 160.148 113.666 160.651C113.954 161.152 113.955 161.774 113.664 162.272Z\",fill:\"#802DF6\"})),_path819||(_path819=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M117.144 164.285C116.856 164.778 116.326 165.082 115.754 165.082C115.183 165.082 114.653 164.778 114.365 164.285C114.073 163.784 114.073 163.165 114.365 162.665C114.653 162.171 115.183 161.868 115.754 161.868C116.326 161.868 116.856 162.171 117.144 162.665C117.436 163.165 117.436 163.784 117.144 164.285Z\",fill:\"#802DF6\"})),_path820||(_path820=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M120.657 166.299C120.369 166.802 119.83 167.118 119.25 167.118C118.67 167.118 118.131 166.802 117.843 166.299C117.555 165.798 117.554 165.177 117.845 164.678C118.135 164.182 118.665 163.877 119.239 163.877H119.261C119.835 163.877 120.365 164.182 120.655 164.678C120.946 165.177 120.945 165.798 120.657 166.299Z\",fill:\"#802DF6\"})),_path821||(_path821=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M124.135 168.33C123.847 168.823 123.317 169.127 122.745 169.127C122.174 169.127 121.644 168.823 121.356 168.33C121.064 167.829 121.064 167.21 121.356 166.71C121.644 166.216 122.174 165.913 122.745 165.913C123.317 165.913 123.847 166.216 124.135 166.71C124.427 167.21 124.427 167.829 124.135 168.33Z\",fill:\"#802DF6\"})),_path822||(_path822=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.57 127.726C270.366 128.069 269.996 128.279 269.598 128.279H269.572C269.173 128.279 268.803 128.069 268.599 127.726C268.389 127.373 268.389 126.929 268.596 126.574C268.8 126.222 269.178 126.002 269.585 126.002C269.991 126.002 270.369 126.222 270.573 126.574C270.78 126.929 270.78 127.373 270.57 127.726Z\",fill:\"#E9DFF2\"})),_path823||(_path823=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.776 115.717C270.53 116.144 270.071 116.412 269.578 116.412C269.078 116.412 268.614 116.136 268.37 115.699C268.137 115.28 268.136 114.765 268.373 114.347C268.617 113.918 269.073 113.653 269.566 113.653H269.59C270.076 113.653 270.527 113.911 270.773 114.33C271.024 114.756 271.023 115.289 270.776 115.717Z\",fill:\"#E9DFF2\"})),_path824||(_path824=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 111.808C270.686 112.304 270.152 112.609 269.578 112.609C268.997 112.609 268.457 112.296 268.17 111.791C267.892 111.301 267.89 110.701 268.164 110.209L268.174 110.192C268.458 109.683 268.995 109.368 269.578 109.368C270.154 109.368 270.685 109.676 270.972 110.175L270.981 110.192C271.269 110.693 271.267 111.309 270.976 111.808Z\",fill:\"#E9DFF2\"})),_path825||(_path825=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 107.767C270.686 108.261 270.15 108.564 269.578 108.564C268.999 108.564 268.457 108.253 268.172 107.75C267.893 107.258 267.893 106.656 268.172 106.165C268.457 105.661 268.999 105.35 269.578 105.35C270.15 105.35 270.686 105.654 270.974 106.147C271.266 106.648 271.266 107.267 270.974 107.767Z\",fill:\"#E9DFF2\"})),_path826||(_path826=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.972 103.739C270.685 104.238 270.154 104.546 269.578 104.546C268.995 104.546 268.458 104.231 268.174 103.722L268.164 103.704C267.89 103.213 267.892 102.613 268.17 102.123C268.457 101.618 268.997 101.305 269.578 101.305C270.152 101.305 270.686 101.61 270.976 102.106C271.267 102.605 271.269 103.221 270.981 103.722L270.972 103.739Z\",fill:\"#E9DFF2\"})),_path827||(_path827=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 99.7012C270.686 100.197 270.152 100.502 269.578 100.502C268.997 100.502 268.457 100.189 268.17 99.6837C267.892 99.1937 267.89 98.5944 268.164 98.1025L268.174 98.0855C268.458 97.5763 268.995 97.2607 269.578 97.2607C270.154 97.2607 270.685 97.5687 270.972 98.0681L270.981 98.0848C271.269 98.5858 271.267 99.2022 270.976 99.7012Z\",fill:\"#E9DFF2\"})),_path828||(_path828=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 95.6601C270.686 96.1538 270.15 96.4575 269.578 96.4575C268.999 96.4575 268.457 96.1462 268.172 95.6427C267.893 95.1511 267.893 94.5495 268.172 94.058C268.457 93.5544 268.999 93.2432 269.578 93.2432C270.15 93.2432 270.686 93.5468 270.974 94.0405C271.266 94.5409 271.266 95.1597 270.974 95.6601Z\",fill:\"#E9DFF2\"})),_path829||(_path829=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 91.6152C270.686 92.1089 270.15 92.4125 269.578 92.4125C268.999 92.4125 268.457 92.1013 268.172 91.5977C267.893 91.1062 267.893 90.5046 268.172 90.013C268.457 89.5095 268.999 89.1982 269.578 89.1982C270.15 89.1982 270.686 89.5018 270.974 89.9956C271.266 90.496 271.266 91.1148 270.974 91.6152Z\",fill:\"#E9DFF2\"})),_path830||(_path830=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 87.5942C270.686 88.09 270.152 88.3949 269.578 88.3949C268.997 88.3949 268.457 88.0824 268.17 87.5768C267.892 87.0868 267.89 86.4875 268.164 85.9956L268.174 85.9785C268.458 85.4694 268.995 85.1538 269.578 85.1538C270.154 85.1538 270.685 85.4618 270.972 85.9612L270.981 85.9779C271.269 86.4789 271.267 87.0953 270.976 87.5942Z\",fill:\"#E9DFF2\"})),_path831||(_path831=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 83.5522C270.686 84.0459 270.15 84.3495 269.578 84.3495C268.999 84.3495 268.457 84.0383 268.172 83.5347C267.893 83.0432 267.893 82.4416 268.172 81.9501C268.457 81.4465 268.999 81.1353 269.578 81.1353C270.15 81.1353 270.686 81.4389 270.974 81.9326C271.266 82.433 271.266 83.0518 270.974 83.5522Z\",fill:\"#E9DFF2\"})),_path832||(_path832=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 79.5082C270.686 80.002 270.15 80.3056 269.578 80.3056C268.999 80.3056 268.457 79.9944 268.172 79.4908C267.893 78.9993 267.893 78.3976 268.172 77.9061C268.457 77.4025 268.999 77.0913 269.578 77.0913C270.15 77.0913 270.686 77.3949 270.974 77.8887C271.266 78.3891 271.266 79.0078 270.974 79.5082Z\",fill:\"#E9DFF2\"})),_path833||(_path833=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M270.972 75.4801C270.685 75.9795 270.154 76.2875 269.578 76.2875C268.995 76.2875 268.458 75.9719 268.174 75.4627L268.164 75.4457C267.89 74.9538 267.892 74.3545 268.17 73.8645C268.457 73.3589 268.997 73.0464 269.578 73.0464C270.152 73.0464 270.686 73.3513 270.976 73.8471C271.267 74.346 271.269 74.9624 270.981 75.4634L270.972 75.4801Z\",fill:\"#802DF6\"})),_path834||(_path834=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 71.4414C270.686 71.9372 270.152 72.2421 269.578 72.2421C268.997 72.2421 268.457 71.9296 268.17 71.4239C267.892 70.934 267.89 70.3347 268.164 69.8427L268.174 69.8257C268.458 69.3166 268.995 69.001 269.578 69.001C270.154 69.001 270.685 69.3089 270.972 69.8083L270.981 69.8251C271.269 70.3261 271.267 70.9425 270.976 71.4414Z\",fill:\"#E9DFF2\"})),_path835||(_path835=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 67.4008C270.686 67.8946 270.15 68.1982 269.578 68.1982C268.999 68.1982 268.457 67.8869 268.172 67.3834C267.893 66.8919 267.893 66.2902 268.172 65.7987C268.457 65.2951 268.999 64.9839 269.578 64.9839C270.15 64.9839 270.686 65.2875 270.974 65.7812C271.266 66.2816 271.266 66.9004 270.974 67.4008Z\",fill:\"#E9DFF2\"})),_path836||(_path836=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.972 63.3727C270.685 63.8721 270.154 64.18 269.578 64.18C268.995 64.18 268.458 63.8645 268.174 63.3553L268.164 63.3383C267.89 62.8463 267.892 62.2471 268.17 61.7571C268.457 61.2515 268.997 60.939 269.578 60.939C270.152 60.939 270.686 61.2438 270.976 61.7396C271.267 62.2385 271.269 62.855 270.981 63.3559L270.972 63.3727Z\",fill:\"#E9DFF2\"})),_path837||(_path837=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 59.3344C270.686 59.8302 270.152 60.1351 269.578 60.1351C268.997 60.1351 268.457 59.8226 268.17 59.317C267.892 58.827 267.89 58.2277 268.164 57.7358L268.174 57.7188C268.458 57.2096 268.995 56.894 269.578 56.894C270.154 56.894 270.685 57.202 270.972 57.7014L270.981 57.7181C271.269 58.2191 271.267 58.8355 270.976 59.3344Z\",fill:\"#E9DFF2\"})),_path838||(_path838=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 57.2847C267.203 57.7883 266.662 58.0995 266.083 58.0995C265.511 58.0995 264.975 57.7959 264.687 57.3022C264.395 56.8018 264.395 56.183 264.687 55.6826C264.975 55.1889 265.511 54.8853 266.083 54.8853C266.662 54.8853 267.203 55.1965 267.489 55.7001C267.767 56.1916 267.767 56.7932 267.489 57.2847Z\",fill:\"#E9DFF2\"})),_path839||(_path839=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 55.2929C263.695 55.7867 263.159 56.0903 262.587 56.0903C262.009 56.0903 261.467 55.779 261.181 55.2755C260.903 54.7839 260.903 54.1823 261.181 53.6908C261.467 53.1872 262.009 52.876 262.587 52.876C263.159 52.876 263.695 53.1796 263.983 53.6733C264.275 54.1737 264.275 54.7925 263.983 55.2929Z\",fill:\"#E9DFF2\"})),_path840||(_path840=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 53.2572C260.212 53.7663 259.675 54.0819 259.092 54.0819C258.516 54.0819 257.984 53.7739 257.698 53.2745L257.688 53.2578C257.401 52.7568 257.403 52.1404 257.694 51.6415C257.983 51.1457 258.518 50.8408 259.092 50.8408C259.673 50.8408 260.213 51.1533 260.499 51.6589C260.777 52.1489 260.779 52.7482 260.505 53.2401L260.496 53.2572Z\",fill:\"#E9DFF2\"})),_path841||(_path841=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 51.249C256.704 51.7427 256.168 52.0463 255.596 52.0463C255.017 52.0463 254.476 51.7351 254.19 51.2315C253.912 50.74 253.912 50.1383 254.19 49.6468C254.476 49.1433 255.017 48.832 255.596 48.832C256.168 48.832 256.704 49.1356 256.992 49.6294C257.284 50.1298 257.284 50.7486 256.992 51.249Z\",fill:\"#E9DFF2\"})),_path842||(_path842=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.508 49.2188C253.222 49.7245 252.682 50.037 252.1 50.037C251.526 50.037 250.992 49.7321 250.703 49.2363C250.412 48.7374 250.409 48.121 250.697 47.62L250.706 47.6033C250.993 47.1039 251.525 46.7959 252.1 46.7959C252.683 46.7959 253.221 47.1115 253.504 47.6206L253.514 47.6377C253.788 48.1296 253.786 48.7289 253.508 49.2188Z\",fill:\"#E9DFF2\"})),_path843||(_path843=/*#__PURE__*/React.createElement(\"path\",{d:\"M249.999 47.2208C249.712 47.7202 249.181 48.0282 248.605 48.0282C248.022 48.0282 247.485 47.7126 247.201 47.2034L247.192 47.1864C246.917 46.6945 246.919 46.0952 247.197 45.6052C247.484 45.0996 248.024 44.7871 248.605 44.7871C249.179 44.7871 249.714 45.092 250.003 45.5878C250.294 46.0867 250.296 46.7031 250.009 47.2041L249.999 47.2208Z\",fill:\"#E9DFF2\"})),_path844||(_path844=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 45.1953C246.204 45.689 245.674 45.9926 245.103 45.9926C244.531 45.9926 244.002 45.689 243.714 45.1953C243.422 44.6949 243.422 44.0761 243.714 43.5757C244.002 43.0819 244.531 42.7783 245.103 42.7783C245.674 42.7783 246.204 43.0819 246.492 43.5757C246.784 44.0761 246.784 44.6949 246.492 45.1953Z\",fill:\"#E9DFF2\"})),_path845||(_path845=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.012 43.1831C242.723 43.6789 242.188 43.9838 241.614 43.9838C241.033 43.9838 240.493 43.6713 240.206 43.1656C239.928 42.6757 239.926 42.0764 240.201 41.5844L240.21 41.5674C240.494 41.0583 241.031 40.7427 241.614 40.7427C242.19 40.7427 242.721 41.0506 243.008 41.55L243.018 41.5668C243.305 42.0678 243.303 42.6842 243.012 43.1831Z\",fill:\"#E9DFF2\"})),_path846||(_path846=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.496 41.1734C239.212 41.6692 238.684 41.975 238.112 41.975C237.54 41.975 237.013 41.6692 236.728 41.1734L236.715 41.1509C236.428 40.6499 236.431 40.0322 236.722 39.5333C237.01 39.039 237.54 38.7339 238.112 38.7339C238.684 38.7339 239.214 39.039 239.503 39.5333C239.794 40.0322 239.797 40.6499 239.509 41.1509L239.496 41.1734Z\",fill:\"#E9DFF2\"})),_path847||(_path847=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.019 39.1415C235.731 39.6353 235.194 39.9389 234.623 39.9389C234.044 39.9389 233.502 39.6277 233.217 39.1241C232.938 38.6326 232.938 38.0309 233.217 37.5394C233.502 37.0358 234.044 36.7246 234.623 36.7246C235.194 36.7246 235.731 37.0282 236.019 37.522C236.311 38.0224 236.311 38.6411 236.019 39.1415Z\",fill:\"#E9DFF2\"})),_path848||(_path848=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.511 37.1311C232.223 37.6254 231.693 37.9305 231.12 37.9305C230.548 37.9305 230.018 37.6254 229.73 37.1311C229.439 36.6322 229.436 36.0145 229.723 35.5136L229.736 35.491C230.021 34.9952 230.549 34.6895 231.12 34.6895C231.692 34.6895 232.22 34.9952 232.504 35.491L232.517 35.5136C232.805 36.0145 232.802 36.6322 232.511 37.1311Z\",fill:\"#E9DFF2\"})),_path849||(_path849=/*#__PURE__*/React.createElement(\"path\",{d:\"M228.582 34.8263C228.389 35.169 228.025 35.386 227.632 35.386C227.246 35.386 226.886 35.1768 226.692 34.8439C226.492 34.5039 226.492 34.0776 226.695 33.7398C226.89 33.415 227.241 33.2163 227.619 33.2163H227.644C228.03 33.2163 228.386 33.4225 228.579 33.757C228.768 34.0861 228.767 34.4952 228.582 34.8263Z\",fill:\"#E9DFF2\"})),_path850||(_path850=/*#__PURE__*/React.createElement(\"path\",{d:\"M199.94 18.3014C199.883 18.398 199.78 18.4574 199.668 18.4574H199.654C199.542 18.4574 199.439 18.398 199.383 18.3014L199.379 18.2947C199.322 18.1972 199.324 18.0761 199.385 17.9809C199.44 17.894 199.536 17.8413 199.639 17.8413H199.683C199.786 17.8413 199.882 17.894 199.937 17.9809C199.998 18.0761 200 18.1972 199.944 18.2947L199.94 18.3014Z\",fill:\"#E9DFF2\"})),_path851||(_path851=/*#__PURE__*/React.createElement(\"path\",{d:\"M196.716 16.467C196.598 16.6549 196.392 16.7691 196.171 16.7691H196.146C195.917 16.7691 195.706 16.6477 195.591 16.4502C195.474 16.25 195.474 16.0025 195.591 15.8023C195.706 15.6048 195.917 15.4834 196.146 15.4834H196.171C196.392 15.4834 196.598 15.5976 196.716 15.7855C196.846 15.994 196.846 16.2585 196.716 16.467Z\",fill:\"#E9DFF2\"})),_path852||(_path852=/*#__PURE__*/React.createElement(\"path\",{d:\"M194.074 14.9243C193.785 15.4201 193.254 15.725 192.68 15.725H192.659C192.085 15.725 191.554 15.4201 191.265 14.9243C190.974 14.4254 190.975 13.8035 191.262 13.3025C191.551 12.7996 192.09 12.4839 192.67 12.4839C193.25 12.4839 193.788 12.7996 194.077 13.3025C194.364 13.8035 194.365 14.4254 194.074 14.9243Z\",fill:\"#E9DFF2\"})),_path853||(_path853=/*#__PURE__*/React.createElement(\"path\",{d:\"M190.558 12.9141C190.274 13.4099 189.746 13.7157 189.174 13.7157C188.603 13.7157 188.075 13.4099 187.79 12.9141L187.777 12.8916C187.49 12.3906 187.493 11.773 187.784 11.274C188.072 10.7798 188.602 10.4746 189.174 10.4746C189.747 10.4746 190.276 10.7798 190.565 11.274C190.856 11.773 190.859 12.3906 190.571 12.8916L190.558 12.9141Z\",fill:\"#E9DFF2\"})),_path854||(_path854=/*#__PURE__*/React.createElement(\"path\",{d:\"M187.078 10.8653C186.793 11.3689 186.251 11.6801 185.672 11.6801C185.1 11.6801 184.564 11.3765 184.276 10.8828C183.984 10.3824 183.984 9.76358 184.276 9.26317C184.564 8.76943 185.1 8.46582 185.672 8.46582C186.251 8.46582 186.793 8.77705 187.078 9.28063C187.356 9.77214 187.356 10.3738 187.078 10.8653Z\",fill:\"#E9DFF2\"})),_path855||(_path855=/*#__PURE__*/React.createElement(\"path\",{d:\"M154.717 28.5234C154.616 28.7081 154.423 28.8231 154.212 28.8231C154.009 28.8231 153.82 28.7157 153.717 28.5405L153.713 28.5336C153.604 28.3487 153.604 28.119 153.713 27.934L153.717 27.9271C153.82 27.752 154.009 27.6445 154.212 27.6445C154.423 27.6445 154.616 27.7595 154.717 27.9443L154.721 27.9516C154.817 28.1275 154.817 28.3401 154.721 28.516L154.717 28.5234Z\",fill:\"#E9DFF2\"})),_path856||(_path856=/*#__PURE__*/React.createElement(\"path\",{d:\"M151.567 30.7525C151.393 31.0508 151.073 31.2342 150.728 31.2342H150.705C150.367 31.2342 150.053 31.0581 149.877 30.7694C149.689 30.4621 149.687 30.0762 149.871 29.7667L149.877 29.7567C150.053 29.4604 150.372 29.2788 150.717 29.2788C151.068 29.2788 151.393 29.4678 151.567 29.7737L151.573 29.784C151.743 30.0848 151.741 30.4537 151.567 30.7525Z\",fill:\"#E9DFF2\"})),_path857||(_path857=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.612 33.0734C148.329 33.5738 147.796 33.8857 147.221 33.8857C146.653 33.8857 146.126 33.5815 145.84 33.0908C145.548 32.5904 145.548 31.9667 145.84 31.4663C146.126 30.9756 146.653 30.6714 147.221 30.6714C147.796 30.6714 148.329 30.9832 148.612 31.4837C148.891 31.9752 148.891 32.5818 148.612 33.0734Z\",fill:\"#E9DFF2\"})),_path858||(_path858=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.103 35.1197C144.818 35.6155 144.29 35.9212 143.719 35.9212C143.147 35.9212 142.619 35.6155 142.335 35.1197L142.322 35.0971C142.034 34.5962 142.037 33.9785 142.328 33.4796C142.617 32.9853 143.147 32.6802 143.719 32.6802C144.291 32.6802 144.821 32.9853 145.109 33.4796C145.4 33.9785 145.403 34.5962 145.116 35.0971L145.103 35.1197Z\",fill:\"#E9DFF2\"})),_path859||(_path859=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.623 37.1153C141.337 37.6189 140.802 37.9301 140.223 37.9301C139.645 37.9301 139.11 37.6189 138.824 37.1153C138.546 36.6238 138.546 36.0221 138.824 35.5306C139.11 35.027 139.645 34.7158 140.223 34.7158C140.802 34.7158 141.337 35.027 141.623 35.5306C141.901 36.0221 141.901 36.6238 141.623 37.1153Z\",fill:\"#E9DFF2\"})),_path860||(_path860=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.029 39.0796C137.764 39.5434 137.269 39.8325 136.735 39.8325C136.208 39.8325 135.718 39.551 135.451 39.097C135.174 38.627 135.174 38.038 135.451 37.5681C135.718 37.114 136.208 36.8325 136.735 36.8325C137.269 36.8325 137.764 37.1217 138.029 37.5854C138.292 38.0466 138.292 38.6185 138.029 39.0796Z\",fill:\"#E9DFF2\"})),_path861||(_path861=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.482 41.079C134.222 41.5183 133.749 41.7879 133.238 41.7879C132.721 41.7879 132.242 41.5108 131.985 41.0618C131.729 40.6158 131.729 40.0671 131.985 39.6211C132.242 39.1721 132.721 38.895 133.238 38.895C133.749 38.895 134.222 39.1646 134.482 39.6038C134.752 40.0585 134.752 40.6244 134.482 41.079Z\",fill:\"#E9DFF2\"})),_path862||(_path862=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.127 43.1843C130.839 43.6786 130.309 43.9838 129.737 43.9838C129.164 43.9838 128.634 43.6786 128.346 43.1843C128.055 42.6854 128.052 42.0678 128.34 41.5668L128.353 41.5442C128.637 41.0484 129.165 40.7427 129.737 40.7427C130.308 40.7427 130.836 41.0484 131.121 41.5442L131.134 41.5668C131.421 42.0678 131.418 42.6854 131.127 43.1843Z\",fill:\"#E9DFF2\"})),_path863||(_path863=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 45.1953C127.356 45.689 126.827 45.9926 126.256 45.9926H126.227C125.655 45.9926 125.127 45.689 124.839 45.1953C124.547 44.6949 124.547 44.0761 124.839 43.5757C125.127 43.0819 125.655 42.7783 126.227 42.7783H126.256C126.827 42.7783 127.356 43.0819 127.644 43.5757C127.936 44.0761 127.936 44.6949 127.644 45.1953Z\",fill:\"#E9DFF2\"})),_path864||(_path864=/*#__PURE__*/React.createElement(\"path\",{d:\"M123.808 47.0028C123.592 47.3847 123.184 47.6265 122.746 47.6265C122.307 47.6265 121.899 47.3847 121.683 47.0028C121.472 46.6292 121.471 46.1662 121.686 45.7946C121.902 45.4198 122.302 45.189 122.735 45.189H122.756C123.189 45.189 123.589 45.4198 123.805 45.7946C124.02 46.1662 124.019 46.6292 123.808 47.0028Z\",fill:\"#E9DFF2\"})),_path865||(_path865=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.111 55.2699C109.832 55.7456 109.315 56.0378 108.763 56.0378C108.212 56.0378 107.695 55.7456 107.416 55.2699C107.131 54.7847 107.131 54.1837 107.416 53.6986C107.695 53.2229 108.212 52.9307 108.763 52.9307C109.315 52.9307 109.832 53.2229 110.111 53.6986C110.395 54.1837 110.395 54.7847 110.111 55.2699Z\",fill:\"#E9DFF2\"})),_path866||(_path866=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 57.3022C106.382 57.7959 105.854 58.0995 105.282 58.0995H105.253C104.682 58.0995 104.153 57.7959 103.865 57.3022C103.573 56.8018 103.573 56.183 103.865 55.6826C104.153 55.1889 104.682 54.8853 105.253 54.8853H105.282C105.854 54.8853 106.382 55.1889 106.67 55.6826C106.962 56.183 106.962 56.8018 106.67 57.3022Z\",fill:\"#E9DFF2\"})),_path867||(_path867=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 59.3357C102.874 59.83 102.344 60.1351 101.772 60.1351C101.2 60.1351 100.67 59.83 100.382 59.3357C100.091 58.8368 100.088 58.2191 100.375 57.7181L100.388 57.6956C100.673 57.1998 101.201 56.894 101.772 56.894C102.344 56.894 102.872 57.1998 103.156 57.6956L103.169 57.7181C103.457 58.2191 103.454 58.8368 103.163 59.3357Z\",fill:\"#E9DFF2\"})),_path868||(_path868=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M103.156 63.3785C102.872 63.8743 102.344 64.18 101.772 64.18C101.201 64.18 100.673 63.8743 100.388 63.3785L100.375 63.3559C100.088 62.855 100.091 62.2373 100.382 61.7384C100.67 61.2441 101.2 60.939 101.772 60.939C102.344 60.939 102.874 61.2441 103.163 61.7384C103.454 62.2373 103.457 62.855 103.169 63.3559L103.156 63.3785Z\",fill:\"#802DF6\"})),_path869||(_path869=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M103.161 67.4008C102.873 67.8946 102.344 68.1982 101.772 68.1982C101.201 68.1982 100.671 67.8946 100.383 67.4008C100.091 66.9004 100.091 66.2816 100.383 65.7812C100.671 65.2875 101.201 64.9839 101.772 64.9839C102.344 64.9839 102.873 65.2875 103.161 65.7812C103.453 66.2816 103.453 66.9004 103.161 67.4008Z\",fill:\"#802DF6\"})),_path870||(_path870=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M103.163 71.4426C102.874 71.9369 102.344 72.2421 101.772 72.2421C101.2 72.2421 100.67 71.9369 100.382 71.4426C100.091 70.9437 100.088 70.3261 100.375 69.8251L100.388 69.8025C100.673 69.3067 101.201 69.001 101.772 69.001C102.344 69.001 102.872 69.3067 103.156 69.8025L103.169 69.8251C103.457 70.3261 103.454 70.9437 103.163 71.4426Z\",fill:\"#802DF6\"})),_path871||(_path871=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.674 75.1679C102.491 75.4922 102.145 75.6978 101.773 75.6978C101.4 75.6978 101.054 75.4922 100.871 75.1679C100.693 74.8519 100.692 74.4604 100.874 74.1464C101.057 73.8301 101.395 73.6353 101.761 73.6353H101.785C102.15 73.6353 102.488 73.8301 102.671 74.1464C102.853 74.4604 102.852 74.8519 102.674 75.1679Z\",fill:\"#E9DFF2\"})),_path872||(_path872=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.921 123.784C102.684 124.193 102.245 124.448 101.772 124.448C101.3 124.448 100.861 124.193 100.624 123.784C100.383 123.369 100.383 122.849 100.624 122.433C100.861 122.025 101.3 121.77 101.772 121.77C102.245 121.77 102.684 122.025 102.921 122.433C103.162 122.849 103.162 123.369 102.921 123.784Z\",fill:\"#E9DFF2\"})),_path873||(_path873=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 127.961C102.874 128.455 102.344 128.76 101.772 128.76C101.2 128.76 100.67 128.455 100.382 127.961C100.091 127.462 100.088 126.844 100.375 126.343L100.388 126.321C100.673 125.825 101.201 125.519 101.772 125.519C102.344 125.519 102.872 125.825 103.156 126.321L103.169 126.343C103.457 126.844 103.454 127.462 103.163 127.961Z\",fill:\"#E9DFF2\"})),_path874||(_path874=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 132.004C102.872 132.5 102.344 132.806 101.772 132.806C101.201 132.806 100.673 132.5 100.388 132.004L100.375 131.981C100.088 131.48 100.091 130.863 100.382 130.364C100.67 129.87 101.2 129.564 101.772 129.564C102.344 129.564 102.874 129.87 103.163 130.364C103.454 130.863 103.457 131.48 103.169 131.981L103.156 132.004Z\",fill:\"#E9DFF2\"})),_path875||(_path875=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 136.026C102.873 136.52 102.344 136.824 101.772 136.824C101.201 136.824 100.671 136.52 100.383 136.026C100.091 135.526 100.091 134.907 100.383 134.407C100.671 133.913 101.201 133.609 101.772 133.609C102.344 133.609 102.873 133.913 103.161 134.407C103.453 134.907 103.453 135.526 103.161 136.026Z\",fill:\"#E9DFF2\"})),_path876||(_path876=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 140.069C102.874 140.563 102.344 140.868 101.772 140.868C101.2 140.868 100.67 140.563 100.382 140.069C100.091 139.57 100.088 138.952 100.375 138.451L100.388 138.428C100.673 137.933 101.201 137.627 101.772 137.627C102.344 137.627 102.872 137.933 103.156 138.428L103.169 138.451C103.457 138.952 103.454 139.57 103.163 140.069Z\",fill:\"#E9DFF2\"})),_path877||(_path877=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 144.111C102.872 144.607 102.344 144.912 101.772 144.912C101.201 144.912 100.673 144.607 100.388 144.111L100.375 144.088C100.088 143.587 100.091 142.97 100.382 142.471C100.67 141.977 101.2 141.671 101.772 141.671C102.344 141.671 102.874 141.977 103.163 142.471C103.454 142.97 103.457 143.587 103.169 144.088L103.156 144.111Z\",fill:\"#E9DFF2\"})),_path878||(_path878=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 148.133C102.873 148.626 102.344 148.93 101.772 148.93C101.201 148.93 100.671 148.626 100.383 148.133C100.091 147.632 100.091 147.014 100.383 146.513C100.671 146.019 101.201 145.716 101.772 145.716C102.344 145.716 102.873 146.019 103.161 146.513C103.453 147.014 103.453 147.632 103.161 148.133Z\",fill:\"#E9DFF2\"})),_path879||(_path879=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 152.178C102.873 152.671 102.344 152.975 101.772 152.975C101.201 152.975 100.671 152.671 100.383 152.178C100.091 151.677 100.091 151.058 100.383 150.558C100.671 150.064 101.201 149.761 101.772 149.761C102.344 149.761 102.873 150.064 103.161 150.558C103.453 151.058 103.453 151.677 103.161 152.178Z\",fill:\"#E9DFF2\"})),_path880||(_path880=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 158.231C99.3917 158.725 98.8631 159.028 98.2915 159.028H98.2627C97.6911 159.028 97.1625 158.725 96.8745 158.231C96.5826 157.73 96.5826 157.112 96.8745 156.611C97.1625 156.118 97.6911 155.814 98.2627 155.814H98.2915C98.8631 155.814 99.3917 156.118 99.6797 156.611C99.9716 157.112 99.9716 157.73 99.6797 158.231Z\",fill:\"#E9DFF2\"})),_path881||(_path881=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 160.262C102.872 160.758 102.344 161.064 101.772 161.064C101.201 161.064 100.673 160.758 100.388 160.262L100.375 160.24C100.088 159.739 100.091 159.121 100.382 158.622C100.67 158.128 101.2 157.823 101.772 157.823C102.344 157.823 102.874 158.128 103.163 158.622C103.454 159.121 103.457 159.739 103.169 160.24L103.156 160.262Z\",fill:\"#E9DFF2\"})),_path882||(_path882=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 162.272C106.383 162.768 105.852 163.073 105.278 163.073H105.257C104.683 163.073 104.152 162.768 103.863 162.272C103.572 161.774 103.573 161.152 103.861 160.651C104.149 160.148 104.688 159.832 105.268 159.832C105.848 159.832 106.386 160.148 106.675 160.651C106.962 161.152 106.963 161.774 106.672 162.272Z\",fill:\"#E9DFF2\"})),_path883||(_path883=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 164.285C109.864 164.778 109.335 165.082 108.763 165.082C108.192 165.082 107.662 164.778 107.374 164.285C107.082 163.784 107.082 163.165 107.374 162.665C107.662 162.171 108.192 161.868 108.763 161.868C109.335 161.868 109.864 162.171 110.152 162.665C110.444 163.165 110.444 163.784 110.152 164.285Z\",fill:\"#E9DFF2\"})),_path884||(_path884=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M113.666 166.299C113.378 166.802 112.839 167.118 112.259 167.118C111.679 167.118 111.141 166.802 110.852 166.299C110.565 165.798 110.564 165.177 110.855 164.678C111.144 164.182 111.675 163.877 112.249 163.877H112.27C112.844 163.877 113.375 164.182 113.664 164.678C113.955 165.177 113.954 165.798 113.666 166.299Z\",fill:\"#802DF6\"})),_path885||(_path885=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M117.145 168.328C116.857 168.822 116.327 169.127 115.754 169.127C115.182 169.127 114.652 168.822 114.364 168.328C114.073 167.829 114.07 167.211 114.357 166.71L114.37 166.688C114.655 166.192 115.183 165.886 115.754 165.886C116.326 165.886 116.854 166.192 117.138 166.688L117.151 166.71C117.439 167.211 117.436 167.829 117.145 168.328Z\",fill:\"#802DF6\"})),_path886||(_path886=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M120.653 170.338C120.365 170.832 119.836 171.136 119.264 171.136H119.236C118.664 171.136 118.135 170.832 117.847 170.338C117.555 169.838 117.555 169.219 117.847 168.719C118.135 168.225 118.664 167.921 119.236 167.921H119.264C119.836 167.921 120.365 168.225 120.653 168.719C120.945 169.219 120.945 169.838 120.653 170.338Z\",fill:\"#802DF6\"})),_path887||(_path887=/*#__PURE__*/React.createElement(\"path\",{d:\"M273.563 113.292C273.464 113.465 273.279 113.574 273.081 113.574C272.882 113.574 272.697 113.465 272.598 113.292C272.5 113.12 272.5 112.903 272.598 112.73C272.697 112.557 272.882 112.449 273.081 112.449C273.279 112.449 273.464 112.557 273.563 112.73C273.662 112.903 273.662 113.12 273.563 113.292Z\",fill:\"#E9DFF2\"})),_path888||(_path888=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 109.775C274.194 110.284 273.657 110.6 273.074 110.6C272.498 110.6 271.966 110.292 271.68 109.793L271.67 109.776C271.383 109.275 271.385 108.658 271.676 108.16C271.965 107.664 272.5 107.359 273.074 107.359C273.655 107.359 274.195 107.671 274.481 108.177C274.759 108.667 274.761 109.266 274.487 109.758L274.478 109.775Z\",fill:\"#E9DFF2\"})),_path889||(_path889=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 105.737C274.195 106.243 273.655 106.555 273.074 106.555C272.5 106.555 271.965 106.25 271.676 105.754C271.385 105.255 271.383 104.639 271.67 104.138L271.68 104.121C271.966 103.622 272.498 103.314 273.074 103.314C273.657 103.314 274.194 103.63 274.478 104.139L274.487 104.156C274.761 104.648 274.759 105.247 274.481 105.737Z\",fill:\"#E9DFF2\"})),_path890||(_path890=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 101.696C274.194 102.199 273.652 102.511 273.074 102.511C272.502 102.511 271.966 102.207 271.678 101.713C271.386 101.213 271.386 100.594 271.678 100.094C271.966 99.6 272.502 99.2964 273.074 99.2964C273.652 99.2964 274.194 99.6076 274.48 100.111C274.758 100.603 274.758 101.204 274.48 101.696Z\",fill:\"#E9DFF2\"})),_path891||(_path891=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 97.6678C274.194 98.177 273.657 98.4925 273.074 98.4925C272.498 98.4925 271.966 98.1846 271.68 97.6852L271.67 97.6684C271.383 97.1675 271.385 96.551 271.676 96.0521C271.965 95.5563 272.5 95.2515 273.074 95.2515C273.655 95.2515 274.195 95.564 274.481 96.0696C274.759 96.5596 274.761 97.1588 274.487 97.6508L274.478 97.6678Z\",fill:\"#E9DFF2\"})),_path892||(_path892=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 93.6295C274.195 94.1351 273.655 94.4476 273.074 94.4476C272.5 94.4476 271.965 94.1427 271.676 93.647C271.385 93.148 271.383 92.5316 271.67 92.0306L271.68 92.0139C271.966 91.5145 272.498 91.2065 273.074 91.2065C273.657 91.2065 274.194 91.5221 274.478 92.0313L274.487 92.0483C274.761 92.5402 274.759 93.1395 274.481 93.6295Z\",fill:\"#E9DFF2\"})),_path893||(_path893=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 89.5885C274.194 90.092 273.652 90.4033 273.074 90.4033C272.502 90.4033 271.966 90.0996 271.678 89.6059C271.386 89.1055 271.386 88.4867 271.678 87.9863C271.966 87.4926 272.502 87.189 273.074 87.189C273.652 87.189 274.194 87.5002 274.48 88.0038C274.758 88.4953 274.758 89.0969 274.48 89.5885Z\",fill:\"#E9DFF2\"})),_path894||(_path894=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 85.544C274.194 86.0476 273.652 86.3588 273.074 86.3588C272.502 86.3588 271.966 86.0552 271.678 85.5615C271.386 85.0611 271.386 84.4423 271.678 83.9419C271.966 83.4481 272.502 83.1445 273.074 83.1445C273.652 83.1445 274.194 83.4558 274.48 83.9593C274.758 84.4508 274.758 85.0525 274.48 85.544Z\",fill:\"#E9DFF2\"})),_path895||(_path895=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 81.5164C274.194 82.0256 273.657 82.3412 273.074 82.3412C272.498 82.3412 271.966 82.0332 271.68 81.5338L271.67 81.5171C271.383 81.0161 271.385 80.3997 271.676 79.9008C271.965 79.405 272.5 79.1001 273.074 79.1001C273.655 79.1001 274.195 79.4126 274.481 79.9182C274.759 80.4082 274.761 81.0075 274.487 81.4994L274.478 81.5164Z\",fill:\"#E9DFF2\"})),_path896||(_path896=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 77.4786C274.195 77.9842 273.655 78.2967 273.074 78.2967C272.5 78.2967 271.965 77.9919 271.676 77.4961C271.385 76.9972 271.383 76.3808 271.67 75.8798L271.68 75.863C271.966 75.3636 272.498 75.0557 273.074 75.0557C273.657 75.0557 274.194 75.3713 274.478 75.8804L274.487 75.8974C274.761 76.3894 274.759 76.9886 274.481 77.4786Z\",fill:\"#E9DFF2\"})),_path897||(_path897=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 73.4371C274.194 73.9407 273.652 74.2519 273.074 74.2519C272.502 74.2519 271.966 73.9483 271.678 73.4545C271.386 72.9541 271.386 72.3354 271.678 71.8349C271.966 71.3412 272.502 71.0376 273.074 71.0376C273.652 71.0376 274.194 71.3488 274.48 71.8524C274.758 72.3439 274.758 72.9456 274.48 73.4371Z\",fill:\"#E9DFF2\"})),_path898||(_path898=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 69.41C274.194 69.9191 273.657 70.2347 273.074 70.2347C272.498 70.2347 271.966 69.9268 271.68 69.4274L271.67 69.4106C271.383 68.9096 271.385 68.2932 271.676 67.7943C271.965 67.2985 272.5 66.9937 273.074 66.9937C273.655 66.9937 274.195 67.3061 274.481 67.8118C274.759 68.3017 274.761 68.901 274.487 69.393L274.478 69.41Z\",fill:\"#E9DFF2\"})),_path899||(_path899=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 65.3712C274.195 65.8768 273.655 66.1893 273.074 66.1893C272.5 66.1893 271.965 65.8844 271.676 65.3887C271.385 64.8897 271.383 64.2733 271.67 63.7723L271.68 63.7556C271.966 63.2562 272.498 62.9482 273.074 62.9482C273.657 62.9482 274.194 63.2638 274.478 63.773L274.487 63.79C274.761 64.2819 274.759 64.8812 274.481 65.3712Z\",fill:\"#E9DFF2\"})),_path900||(_path900=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 61.3292C274.194 61.8327 273.652 62.144 273.074 62.144C272.502 62.144 271.966 61.8404 271.678 61.3466C271.386 60.8462 271.386 60.2274 271.678 59.727C271.966 59.2333 272.502 58.9297 273.074 58.9297C273.652 58.9297 274.194 59.2409 274.48 59.7445C274.758 60.236 274.758 60.8377 274.48 61.3292Z\",fill:\"#E9DFF2\"})),_path901||(_path901=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 57.2847C274.194 57.7883 273.652 58.0995 273.074 58.0995C272.502 58.0995 271.966 57.7959 271.678 57.3022C271.386 56.8018 271.386 56.183 271.678 55.6826C271.966 55.1889 272.502 54.8853 273.074 54.8853C273.652 54.8853 274.194 55.1965 274.48 55.7001C274.758 56.1916 274.758 56.7932 274.48 57.2847Z\",fill:\"#E9DFF2\"})),_path902||(_path902=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 55.2929C270.686 55.7867 270.15 56.0903 269.578 56.0903C268.999 56.0903 268.457 55.779 268.172 55.2755C267.893 54.784 267.893 54.1823 268.172 53.6908C268.457 53.1872 268.999 52.876 269.578 52.876C270.15 52.876 270.686 53.1796 270.974 53.6733C271.266 54.1737 271.266 54.7925 270.974 55.2929Z\",fill:\"#E9DFF2\"})),_path903||(_path903=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 53.2572C267.203 53.7663 266.666 54.0819 266.083 54.0819C265.507 54.0819 264.975 53.7739 264.689 53.2745L264.679 53.2578C264.392 52.7568 264.394 52.1404 264.685 51.6415C264.974 51.1457 265.509 50.8408 266.083 50.8408C266.664 50.8408 267.204 51.1533 267.491 51.6589C267.768 52.1489 267.77 52.7482 267.496 53.2401L267.487 53.2572Z\",fill:\"#E9DFF2\"})),_path904||(_path904=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M263.983 51.249C263.695 51.7427 263.159 52.0463 262.587 52.0463C262.009 52.0463 261.467 51.7351 261.181 51.2315C260.903 50.74 260.903 50.1383 261.181 49.6468C261.467 49.1433 262.009 48.832 262.587 48.832C263.159 48.832 263.695 49.1356 263.983 49.6294C264.275 50.1298 264.275 50.7486 263.983 51.249Z\",fill:\"#802DF6\"})),_path905||(_path905=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 49.2189C260.213 49.7245 259.673 50.037 259.092 50.037C258.518 50.037 257.983 49.7321 257.694 49.2363C257.403 48.7374 257.401 48.121 257.688 47.62L257.698 47.6033C257.984 47.1039 258.516 46.7959 259.092 46.7959C259.675 46.7959 260.212 47.1115 260.496 47.6206L260.505 47.6377C260.779 48.1296 260.777 48.7289 260.499 49.2189Z\",fill:\"#E9DFF2\"})),_path906||(_path906=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.99 47.2208C256.704 47.7202 256.172 48.0282 255.596 48.0282C255.013 48.0282 254.476 47.7126 254.192 47.2035L254.183 47.1864C253.909 46.6945 253.911 46.0952 254.188 45.6052C254.475 45.0996 255.015 44.7871 255.596 44.7871C256.17 44.7871 256.705 45.092 256.994 45.5878C257.285 46.0867 257.287 46.7031 257 47.2041L256.99 47.2208Z\",fill:\"#E9DFF2\"})),_path907||(_path907=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.506 45.1778C253.221 45.6814 252.679 45.9926 252.1 45.9926C251.529 45.9926 250.993 45.689 250.705 45.1953C250.413 44.6949 250.413 44.0761 250.705 43.5757C250.993 43.0819 251.529 42.7783 252.1 42.7783C252.679 42.7783 253.221 43.0896 253.506 43.5931C253.785 44.0846 253.785 44.6863 253.506 45.1778Z\",fill:\"#E9DFF2\"})),_path908||(_path908=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.003 43.1831C249.714 43.6789 249.179 43.9838 248.605 43.9838C248.024 43.9838 247.484 43.6713 247.197 43.1656C246.919 42.6757 246.917 42.0764 247.192 41.5844L247.201 41.5674C247.485 41.0583 248.022 40.7427 248.605 40.7427C249.181 40.7427 249.712 41.0506 249.999 41.55L250.009 41.5668C250.296 42.0678 250.294 42.6842 250.003 43.1831Z\",fill:\"#E9DFF2\"})),_path909||(_path909=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.487 41.1734C246.202 41.6692 245.674 41.975 245.103 41.975C244.531 41.975 244.003 41.6692 243.719 41.1734L243.706 41.1509C243.418 40.6499 243.421 40.0322 243.712 39.5333C244.001 39.039 244.531 38.7339 245.103 38.7339C245.675 38.7339 246.205 39.039 246.493 39.5333C246.784 40.0322 246.787 40.6499 246.5 41.1509L246.487 41.1734Z\",fill:\"#E9DFF2\"})),_path910||(_path910=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.01 39.1415C242.722 39.6353 242.186 39.9389 241.614 39.9389C241.035 39.9389 240.493 39.6277 240.208 39.1241C239.93 38.6326 239.93 38.0309 240.208 37.5394C240.493 37.0358 241.035 36.7246 241.614 36.7246C242.186 36.7246 242.722 37.0282 243.01 37.522C243.302 38.0224 243.302 38.6411 243.01 39.1415Z\",fill:\"#E9DFF2\"})),_path911||(_path911=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.503 37.1311C239.214 37.6254 238.684 37.9305 238.112 37.9305C237.54 37.9305 237.01 37.6254 236.722 37.1311C236.431 36.6322 236.428 36.0145 236.715 35.5136L236.728 35.491C237.013 34.9952 237.54 34.6895 238.112 34.6895C238.684 34.6895 239.212 34.9952 239.496 35.491L239.509 35.5136C239.797 36.0145 239.794 36.6322 239.503 37.1311Z\",fill:\"#E9DFF2\"})),_path912||(_path912=/*#__PURE__*/React.createElement(\"path\",{d:\"M236.017 35.1139C235.73 35.6133 235.198 35.9212 234.623 35.9212C234.04 35.9212 233.503 35.6057 233.219 35.0965L233.209 35.0795C232.935 34.5876 232.937 33.9883 233.215 33.4983C233.501 32.9927 234.042 32.6802 234.623 32.6802C235.197 32.6802 235.731 32.985 236.021 33.4808C236.312 33.9798 236.314 34.5962 236.026 35.0971L236.017 35.1139Z\",fill:\"#E9DFF2\"})),_path913||(_path913=/*#__PURE__*/React.createElement(\"path\",{d:\"M231.543 32.5435C231.456 32.6941 231.295 32.7869 231.121 32.7869C230.946 32.7869 230.786 32.6941 230.698 32.5435L230.692 32.533C230.601 32.3752 230.601 32.1807 230.692 32.023L230.698 32.0124C230.786 31.8618 230.946 31.769 231.121 31.769C231.295 31.769 231.456 31.8618 231.543 32.0124L231.549 32.023C231.64 32.1807 231.64 32.3752 231.549 32.533L231.543 32.5435Z\",fill:\"#E9DFF2\"})),_path914||(_path914=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.176 14.4005C200.073 14.5889 199.876 14.7069 199.661 14.7069C199.446 14.7069 199.248 14.5889 199.145 14.4005C199.05 14.2246 199.05 14.0106 199.145 13.8348C199.248 13.6463 199.446 13.5283 199.661 13.5283C199.876 13.5283 200.073 13.6463 200.176 13.8347C200.272 14.0106 200.272 14.2246 200.176 14.4005Z\",fill:\"#E9DFF2\"})),_path915||(_path915=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.103 12.6319C196.912 12.9709 196.554 13.1809 196.165 13.1809C195.776 13.1809 195.418 12.9709 195.228 12.6319L195.219 12.6166C195.033 12.2855 195.036 11.881 195.225 11.5519C195.417 11.2174 195.779 11.0112 196.165 11.0112C196.551 11.0112 196.913 11.2174 197.106 11.5519C197.295 11.881 197.297 12.2855 197.111 12.6166L197.103 12.6319Z\",fill:\"#E9DFF2\"})),_path916||(_path916=/*#__PURE__*/React.createElement(\"path\",{d:\"M193.359 10.4865C193.214 10.7286 192.952 10.8767 192.67 10.8767H192.656C192.366 10.8767 192.099 10.7211 191.957 10.4693C191.817 10.2235 191.817 9.92269 191.957 9.67693C192.099 9.42515 192.366 9.26953 192.656 9.26953H192.67C192.952 9.26953 193.214 9.41763 193.359 9.65967C193.512 9.91415 193.512 10.2321 193.359 10.4865Z\",fill:\"#E9DFF2\"})),_path917||(_path917=/*#__PURE__*/React.createElement(\"path\",{d:\"M189.47 8.2233C189.411 8.32402 189.303 8.38595 189.187 8.38595H189.161C189.045 8.38595 188.937 8.32402 188.878 8.2233C188.821 8.12467 188.819 8.00321 188.873 7.90268L188.878 7.89319C188.937 7.78425 189.05 7.71631 189.174 7.71631C189.298 7.71631 189.412 7.78425 189.47 7.89319L189.475 7.90268C189.529 8.00321 189.527 8.12467 189.47 8.2233Z\",fill:\"#E9DFF2\"})),_path918||(_path918=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.564 24.982C155.288 25.4677 154.771 25.7692 154.212 25.7692C153.661 25.7692 153.149 25.4754 152.87 24.9994C152.587 24.5157 152.584 23.9156 152.864 23.4299L152.877 23.407C153.152 22.9295 153.661 22.6353 154.212 22.6353C154.77 22.6353 155.285 22.937 155.557 23.4242L155.571 23.4475C155.837 23.9242 155.834 24.5072 155.564 24.982Z\",fill:\"#E9DFF2\"})),_path919||(_path919=/*#__PURE__*/React.createElement(\"path\",{d:\"M151.647 26.76C151.457 27.0904 151.104 27.2957 150.723 27.2957C150.342 27.2957 149.989 27.0904 149.799 26.76C149.609 26.4293 149.609 26.0192 149.799 25.6885C149.989 25.3581 150.342 25.1528 150.723 25.1528C151.104 25.1528 151.457 25.3582 151.647 25.6885C151.838 26.0192 151.838 26.4293 151.647 26.76Z\",fill:\"#E9DFF2\"})),_path920||(_path920=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.304 28.8784C148.077 29.2595 147.665 29.493 147.221 29.493C146.77 29.493 146.353 29.252 146.128 28.8611C145.905 28.4728 145.905 27.9952 146.128 27.6069C146.353 27.2161 146.77 26.9751 147.221 26.9751C147.665 26.9751 148.077 27.2086 148.304 27.5897C148.54 27.9867 148.54 28.4814 148.304 28.8784Z\",fill:\"#E9DFF2\"})),_path921||(_path921=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.109 31.0764C144.821 31.5707 144.291 31.8758 143.719 31.8758C143.147 31.8758 142.617 31.5707 142.328 31.0764C142.037 30.5775 142.034 29.9599 142.322 29.4589L142.335 29.4363C142.619 28.9405 143.147 28.6348 143.719 28.6348C144.29 28.6348 144.818 28.9405 145.103 29.4363L145.116 29.4589C145.403 29.9599 145.4 30.5775 145.109 31.0764Z\",fill:\"#E9DFF2\"})),_path922||(_path922=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.626 33.0883C141.338 33.5821 140.802 33.8857 140.23 33.8857C139.651 33.8857 139.11 33.5744 138.824 33.0709C138.546 32.5794 138.546 31.9777 138.824 31.4862C139.11 30.9826 139.651 30.6714 140.23 30.6714C140.802 30.6714 141.338 30.975 141.626 31.4687C141.918 31.9691 141.918 32.5879 141.626 33.0883Z\",fill:\"#E9DFF2\"})),_path923||(_path923=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.112 35.1197C137.827 35.6155 137.299 35.9212 136.728 35.9212C136.156 35.9212 135.628 35.6155 135.344 35.1197L135.331 35.0971C135.043 34.5962 135.046 33.9785 135.337 33.4796C135.626 32.9853 136.156 32.6802 136.728 32.6802C137.3 32.6802 137.83 32.9853 138.118 33.4796C138.409 33.9785 138.412 34.5962 138.125 35.0971L138.112 35.1197Z\",fill:\"#E9DFF2\"})),_path924||(_path924=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.637 37.1299C134.348 37.6257 133.813 37.9305 133.239 37.9305C132.658 37.9305 132.118 37.618 131.831 37.1124C131.553 36.6224 131.551 36.0231 131.826 35.5312L131.835 35.5142C132.119 35.005 132.656 34.6895 133.239 34.6895C133.815 34.6895 134.346 34.9974 134.633 35.4968L134.643 35.5136C134.93 36.0145 134.928 36.6309 134.637 37.1299Z\",fill:\"#E9DFF2\"})),_path925||(_path925=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 39.1415C130.838 39.6353 130.308 39.9389 129.737 39.9389C129.165 39.9389 128.635 39.6353 128.347 39.1415C128.055 38.6411 128.055 38.0224 128.347 37.522C128.635 37.0282 129.165 36.7246 129.737 36.7246C130.308 36.7246 130.838 37.0282 131.126 37.522C131.418 38.0224 131.418 38.6411 131.126 39.1415Z\",fill:\"#E9DFF2\"})),_path926||(_path926=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.648 41.1563C127.36 41.6593 126.821 41.975 126.241 41.975C125.661 41.975 125.123 41.6593 124.834 41.1563C124.547 40.6553 124.546 40.0335 124.837 39.5346C125.126 39.0388 125.657 38.7339 126.231 38.7339H126.252C126.826 38.7339 127.357 39.0388 127.646 39.5346C127.937 40.0335 127.936 40.6553 127.648 41.1563Z\",fill:\"#E9DFF2\"})),_path927||(_path927=/*#__PURE__*/React.createElement(\"path\",{d:\"M123.887 43.0272C123.653 43.4361 123.217 43.6885 122.746 43.6885C122.275 43.6885 121.838 43.4361 121.604 43.0272C121.374 42.6237 121.374 42.1283 121.604 41.7248C121.838 41.3159 122.275 41.0635 122.746 41.0635C123.217 41.0635 123.653 41.3159 123.887 41.7248C124.117 42.1283 124.117 42.6237 123.887 43.0272Z\",fill:\"#E9DFF2\"})),_path928||(_path928=/*#__PURE__*/React.createElement(\"path\",{d:\"M108.986 50.5813C108.939 50.6596 108.855 50.7076 108.763 50.7076C108.672 50.7076 108.587 50.6596 108.54 50.5813L108.538 50.5775C108.487 50.4927 108.487 50.3867 108.538 50.3019L108.54 50.2982C108.587 50.2198 108.672 50.1719 108.763 50.1719C108.855 50.1719 108.939 50.2198 108.986 50.2982L108.989 50.3019C109.04 50.3867 109.04 50.4927 108.989 50.5775L108.986 50.5813Z\",fill:\"#E9DFF2\"})),_path929||(_path929=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.469 53.1281C106.225 53.565 105.761 53.841 105.261 53.841C104.768 53.841 104.31 53.5729 104.063 53.1458C103.816 52.7177 103.816 52.1848 104.066 51.7588C104.313 51.3395 104.763 51.082 105.249 51.082H105.273C105.766 51.082 106.222 51.3471 106.466 51.7762C106.703 52.1933 106.703 52.709 106.469 53.1281Z\",fill:\"#E9DFF2\"})),_path930||(_path930=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 55.2929C102.873 55.7867 102.344 56.0903 101.772 56.0903C101.201 56.0903 100.671 55.7867 100.383 55.2929C100.091 54.7925 100.091 54.1737 100.383 53.6733C100.671 53.1796 101.201 52.876 101.772 52.876C102.344 52.876 102.873 53.1796 103.161 53.6733C103.453 54.1737 103.453 54.7925 103.161 55.2929Z\",fill:\"#E9DFF2\"})),_path931||(_path931=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 57.3022C99.3917 57.7959 98.8631 58.0995 98.2915 58.0995H98.2627C97.6911 58.0995 97.1625 57.7959 96.8745 57.3022C96.5826 56.8018 96.5826 56.183 96.8745 55.6826C97.1625 55.1889 97.6911 54.8853 98.2627 54.8853H98.2915C98.8631 54.8853 99.3917 55.1889 99.6797 55.6826C99.9716 56.183 99.9716 56.8018 99.6797 57.3022Z\",fill:\"#E9DFF2\"})),_path932||(_path932=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M99.6797 61.3466C99.3917 61.8404 98.8631 62.144 98.2915 62.144H98.2627C97.6911 62.144 97.1625 61.8404 96.8745 61.3466C96.5826 60.8462 96.5826 60.2274 96.8745 59.727C97.1625 59.2333 97.6911 58.9297 98.2627 58.9297H98.2915C98.8631 58.9297 99.3917 59.2333 99.6797 59.727C99.9716 60.2274 99.9716 60.8462 99.6797 61.3466Z\",fill:\"#802DF6\"})),_path933||(_path933=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M99.6817 65.3887C99.3924 65.8844 98.8617 66.1893 98.2877 66.1893H98.2665C97.6925 66.1893 97.1618 65.8844 96.8725 65.3887C96.5815 64.8897 96.5824 64.2679 96.8699 63.7669C97.1585 63.2639 97.6972 62.9482 98.2771 62.9482C98.857 62.9482 99.3957 63.2639 99.6843 63.7669C99.9718 64.2679 99.9727 64.8897 99.6817 65.3887Z\",fill:\"#802DF6\"})),_path934||(_path934=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M99.6843 69.4161C99.3957 69.9191 98.857 70.2347 98.2771 70.2347C97.6972 70.2347 97.1585 69.9191 96.8699 69.4161C96.5824 68.9151 96.5815 68.2932 96.8725 67.7943C97.1618 67.2985 97.6925 66.9937 98.2665 66.9937H98.2877C98.8617 66.9937 99.3924 67.2985 99.6817 67.7943C99.9727 68.2932 99.9718 68.9151 99.6843 69.4161Z\",fill:\"#802DF6\"})),_path935||(_path935=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M99.6797 73.4545C99.3917 73.9483 98.8631 74.2519 98.2915 74.2519H98.2627C97.6911 74.2519 97.1625 73.9483 96.8745 73.4545C96.5826 72.9541 96.5826 72.3354 96.8745 71.8349C97.1625 71.3412 97.6911 71.0376 98.2627 71.0376H98.2915C98.8631 71.0376 99.3917 71.3412 99.6797 71.8349C99.9716 72.3354 99.9716 72.9541 99.6797 73.4545Z\",fill:\"#802DF6\"})),_path936||(_path936=/*#__PURE__*/React.createElement(\"path\",{d:\"M98.9263 77.0749C98.7891 77.3009 98.5412 77.4389 98.2767 77.4389C98.0123 77.4389 97.7644 77.3009 97.6272 77.0749C97.4828 76.8371 97.4805 76.5393 97.6212 76.2994L97.6314 76.2818C97.7657 76.0528 98.0113 75.9121 98.2768 75.9121C98.5422 75.9121 98.7878 76.0528 98.9221 76.2818L98.9323 76.2994C99.073 76.5393 99.0707 76.8371 98.9263 77.0749Z\",fill:\"#E9DFF2\"})),_path937||(_path937=/*#__PURE__*/React.createElement(\"path\",{d:\"M98.5548 80.8727C98.4985 80.9693 98.3951 81.0287 98.2833 81.0287H98.2694C98.1576 81.0287 98.0542 80.9693 97.9979 80.8727L97.994 80.866C97.9371 80.7685 97.9394 80.6474 98 80.5522C98.0554 80.4653 98.1513 80.4126 98.2544 80.4126H98.2984C98.4015 80.4126 98.4974 80.4653 98.5527 80.5522C98.6133 80.6474 98.6156 80.7685 98.5588 80.866L98.5548 80.8727Z\",fill:\"#E9DFF2\"})),_path938||(_path938=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.0806 113.479C98.9162 113.767 98.6083 113.948 98.277 113.948C97.9457 113.948 97.6378 113.767 97.4734 113.479C97.3087 113.191 97.3087 112.83 97.4734 112.542C97.6378 112.254 97.9457 112.073 98.277 112.073C98.6083 112.073 98.9162 112.254 99.0806 112.542C99.2453 112.83 99.2453 113.191 99.0806 113.479Z\",fill:\"#E9DFF2\"})),_path939||(_path939=/*#__PURE__*/React.createElement(\"path\",{d:\"M98.6693 121.307C98.5923 121.444 98.4474 121.528 98.2903 121.528H98.2632C98.1061 121.528 97.9612 121.444 97.8842 121.307C97.8117 121.178 97.8097 121.021 97.8789 120.89L97.8836 120.881C97.9607 120.736 98.112 120.645 98.2767 120.645C98.4415 120.645 98.5928 120.736 98.6699 120.881L98.6746 120.89C98.7438 121.021 98.7418 121.178 98.6693 121.307Z\",fill:\"#E9DFF2\"})),_path940||(_path940=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 125.933C99.3957 126.436 98.857 126.751 98.2771 126.751C97.6972 126.751 97.1585 126.436 96.8699 125.933C96.5824 125.432 96.5815 124.81 96.8725 124.311C97.1618 123.815 97.6925 123.51 98.2665 123.51H98.2877C98.8617 123.51 99.3924 123.815 99.6817 124.311C99.9727 124.81 99.9718 125.432 99.6843 125.933Z\",fill:\"#E9DFF2\"})),_path941||(_path941=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 129.973C99.3917 130.466 98.8631 130.77 98.2915 130.77H98.2627C97.6911 130.77 97.1625 130.466 96.8745 129.973C96.5826 129.472 96.5826 128.853 96.8745 128.353C97.1625 127.859 97.6911 127.556 98.2627 127.556H98.2915C98.8631 127.556 99.3917 127.859 99.6797 128.353C99.9716 128.853 99.9716 129.472 99.6797 129.973Z\",fill:\"#E9DFF2\"})),_path942||(_path942=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 134.014C99.3924 134.509 98.8617 134.814 98.2877 134.814H98.2665C97.6925 134.814 97.1618 134.509 96.8725 134.014C96.5815 133.515 96.5824 132.893 96.8699 132.392C97.1585 131.889 97.6972 131.573 98.2771 131.573C98.857 131.573 99.3957 131.889 99.6843 132.392C99.9718 132.893 99.9727 133.515 99.6817 134.014Z\",fill:\"#E9DFF2\"})),_path943||(_path943=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M99.6843 138.04C99.3957 138.543 98.857 138.859 98.2771 138.859C97.6972 138.859 97.1585 138.543 96.8699 138.04C96.5824 137.539 96.5815 136.917 96.8725 136.418C97.1618 135.923 97.6925 135.618 98.2665 135.618H98.2877C98.8617 135.618 99.3924 135.923 99.6817 136.418C99.9727 136.917 99.9718 137.539 99.6843 138.04Z\",fill:\"#802DF6\"})),_path944||(_path944=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 142.079C99.3917 142.573 98.8631 142.876 98.2915 142.876H98.2627C97.6911 142.876 97.1625 142.573 96.8745 142.079C96.5826 141.579 96.5826 140.96 96.8745 140.459C97.1625 139.966 97.6911 139.662 98.2627 139.662H98.2915C98.8631 139.662 99.3917 139.966 99.6797 140.459C99.9716 140.96 99.9716 141.579 99.6797 142.079Z\",fill:\"#E9DFF2\"})),_path945||(_path945=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 146.121C99.3924 146.616 98.8617 146.921 98.2877 146.921H98.2665C97.6925 146.921 97.1618 146.616 96.8725 146.121C96.5815 145.622 96.5824 145 96.8699 144.499C97.1585 143.996 97.6972 143.68 98.2771 143.68C98.857 143.68 99.3957 143.996 99.6843 144.499C99.9718 145 99.9727 145.622 99.6817 146.121Z\",fill:\"#E9DFF2\"})),_path946||(_path946=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 150.147C99.3957 150.65 98.857 150.966 98.2771 150.966C97.6972 150.966 97.1585 150.65 96.8699 150.147C96.5824 149.646 96.5815 149.024 96.8725 148.525C97.1618 148.029 97.6925 147.725 98.2665 147.725H98.2877C98.8617 147.725 99.3924 148.029 99.6817 148.525C99.9727 149.024 99.9718 149.646 99.6843 150.147Z\",fill:\"#E9DFF2\"})),_path947||(_path947=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 154.186C99.3917 154.68 98.8631 154.984 98.2915 154.984H98.2627C97.6911 154.984 97.1625 154.68 96.8745 154.186C96.5826 153.686 96.5826 153.067 96.8745 152.567C97.1625 152.073 97.6911 151.77 98.2627 151.77H98.2915C98.8631 151.77 99.3917 152.073 99.6797 152.567C99.9716 153.067 99.9716 153.686 99.6797 154.186Z\",fill:\"#E9DFF2\"})),_path948||(_path948=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 160.262C95.8806 160.758 95.3526 161.064 94.781 161.064C94.2094 161.064 93.6815 160.758 93.397 160.262L93.3841 160.24C93.0966 159.739 93.0996 159.121 93.3906 158.622C93.6789 158.128 94.2088 157.823 94.781 157.823C95.3533 157.823 95.8832 158.128 96.1715 158.622C96.4625 159.121 96.4654 159.739 96.178 160.24L96.165 160.262Z\",fill:\"#E9DFF2\"})),_path949||(_path949=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 162.272C99.3924 162.768 98.8617 163.073 98.2877 163.073H98.2665C97.6925 163.073 97.1618 162.768 96.8725 162.272C96.5815 161.774 96.5824 161.152 96.8699 160.651C97.1585 160.148 97.6972 159.832 98.2771 159.832C98.857 159.832 99.3957 160.148 99.6843 160.651C99.9718 161.152 99.9727 161.774 99.6817 162.272Z\",fill:\"#E9DFF2\"})),_path950||(_path950=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 164.285C102.873 164.778 102.344 165.082 101.772 165.082C101.201 165.082 100.671 164.778 100.383 164.285C100.091 163.784 100.091 163.165 100.383 162.665C100.671 162.171 101.201 161.868 101.772 161.868C102.344 161.868 102.873 162.171 103.161 162.665C103.453 163.165 103.453 163.784 103.161 164.285Z\",fill:\"#E9DFF2\"})),_path951||(_path951=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.675 166.299C106.386 166.802 105.848 167.118 105.268 167.118C104.688 167.118 104.149 166.802 103.861 166.299C103.573 165.798 103.572 165.177 103.863 164.678C104.152 164.182 104.683 163.877 105.257 163.877H105.278C105.852 163.877 106.383 164.182 106.672 164.678C106.963 165.177 106.962 165.798 106.675 166.299Z\",fill:\"#E9DFF2\"})),_path952||(_path952=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.154 168.328C109.865 168.822 109.335 169.127 108.763 169.127C108.191 169.127 107.661 168.822 107.373 168.328C107.082 167.829 107.079 167.211 107.366 166.71L107.379 166.688C107.664 166.192 108.192 165.886 108.763 165.886C109.335 165.886 109.863 166.192 110.147 166.688L110.16 166.71C110.448 167.211 110.445 167.829 110.154 168.328Z\",fill:\"#E9DFF2\"})),_path953||(_path953=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.662 170.338C113.374 170.832 112.845 171.136 112.274 171.136H112.245C111.673 171.136 111.145 170.832 110.857 170.338C110.565 169.838 110.565 169.219 110.857 168.719C111.145 168.225 111.673 167.921 112.245 167.921H112.274C112.845 167.921 113.374 168.225 113.662 168.719C113.954 169.219 113.954 169.838 113.662 170.338Z\",fill:\"#E9DFF2\"})),_path954||(_path954=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.138 172.37C116.854 172.866 116.326 173.171 115.754 173.171C115.183 173.171 114.655 172.866 114.37 172.37L114.357 172.347C114.07 171.846 114.073 171.229 114.364 170.73C114.652 170.235 115.182 169.93 115.754 169.93C116.327 169.93 116.857 170.235 117.145 170.73C117.436 171.229 117.439 171.846 117.151 172.347L117.138 172.37Z\",fill:\"#E9DFF2\"})),_path955||(_path955=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.655 174.38C120.365 174.876 119.835 175.181 119.261 175.181H119.239C118.665 175.181 118.135 174.876 117.845 174.38C117.554 173.881 117.555 173.259 117.843 172.758C118.131 172.255 118.67 171.939 119.25 171.939C119.83 171.939 120.369 172.255 120.657 172.758C120.945 173.259 120.946 173.881 120.655 174.38Z\",fill:\"#E9DFF2\"})),_path956||(_path956=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 107.767C277.677 108.261 277.148 108.564 276.576 108.564C276.005 108.564 275.475 108.261 275.187 107.767C274.895 107.267 274.895 106.648 275.187 106.147C275.475 105.654 276.005 105.35 276.576 105.35C277.148 105.35 277.677 105.654 277.965 106.147C278.257 106.648 278.257 107.267 277.965 107.767Z\",fill:\"#E9DFF2\"})),_path957||(_path957=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M277.96 103.745C277.676 104.24 277.148 104.546 276.576 104.546C276.005 104.546 275.477 104.24 275.192 103.745L275.179 103.722C274.892 103.221 274.895 102.604 275.186 102.105C275.474 101.61 276.004 101.305 276.576 101.305C277.148 101.305 277.678 101.61 277.967 102.105C278.258 102.604 278.261 103.221 277.973 103.722L277.96 103.745Z\",fill:\"#802DF6\"})),_path958||(_path958=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 99.7024C277.678 100.197 277.148 100.502 276.576 100.502C276.004 100.502 275.474 100.197 275.186 99.7024C274.895 99.2035 274.892 98.5858 275.179 98.0848L275.192 98.0623C275.477 97.5665 276.005 97.2607 276.576 97.2607C277.148 97.2607 277.676 97.5665 277.96 98.0623L277.973 98.0848C278.261 98.5858 278.258 99.2035 277.967 99.7024Z\",fill:\"#E9DFF2\"})),_path959||(_path959=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 95.6601C277.677 96.1538 277.148 96.4575 276.576 96.4575C276.005 96.4575 275.475 96.1538 275.187 95.6601C274.895 95.1597 274.895 94.5409 275.187 94.0405C275.475 93.5468 276.005 93.2432 276.576 93.2432C277.148 93.2432 277.677 93.5468 277.965 94.0405C278.257 94.5409 278.257 95.1597 277.965 95.6601Z\",fill:\"#E9DFF2\"})),_path960||(_path960=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 91.6152C277.677 92.1089 277.148 92.4125 276.576 92.4125C276.005 92.4125 275.475 92.1089 275.187 91.6152C274.895 91.1148 274.895 90.496 275.187 89.9956C275.475 89.5018 276.005 89.1982 276.576 89.1982C277.148 89.1982 277.677 89.5018 277.965 89.9956C278.257 90.496 278.257 91.1148 277.965 91.6152Z\",fill:\"#E9DFF2\"})),_path961||(_path961=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 87.5954C277.678 88.0897 277.148 88.3949 276.576 88.3949C276.004 88.3949 275.474 88.0897 275.186 87.5954C274.895 87.0965 274.892 86.4789 275.179 85.9779L275.192 85.9554C275.477 85.4596 276.005 85.1538 276.576 85.1538C277.148 85.1538 277.676 85.4596 277.96 85.9554L277.973 85.9779C278.261 86.4789 278.258 87.0965 277.967 87.5954Z\",fill:\"#E9DFF2\"})),_path962||(_path962=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 83.5522C277.677 84.0459 277.148 84.3495 276.576 84.3495C276.005 84.3495 275.475 84.0459 275.187 83.5522C274.895 83.0518 274.895 82.433 275.187 81.9326C275.475 81.4389 276.005 81.1353 276.576 81.1353C277.148 81.1353 277.677 81.4389 277.965 81.9326C278.257 82.433 278.257 83.0518 277.965 83.5522Z\",fill:\"#E9DFF2\"})),_path963||(_path963=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 79.5082C277.677 80.002 277.148 80.3056 276.576 80.3056C276.005 80.3056 275.475 80.002 275.187 79.5082C274.895 79.0078 274.895 78.3891 275.187 77.8887C275.475 77.3949 276.005 77.0913 276.576 77.0913C277.148 77.0913 277.677 77.3949 277.965 77.8887C278.257 78.3891 278.257 79.0078 277.965 79.5082Z\",fill:\"#E9DFF2\"})),_path964||(_path964=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.96 75.4859C277.676 75.9817 277.148 76.2875 276.576 76.2875C276.005 76.2875 275.477 75.9817 275.192 75.4859L275.179 75.4634C274.892 74.9624 274.895 74.3447 275.186 73.8458C275.474 73.3515 276.004 73.0464 276.576 73.0464C277.148 73.0464 277.678 73.3515 277.967 73.8458C278.258 74.3447 278.261 74.9624 277.973 75.4634L277.96 75.4859Z\",fill:\"#E9DFF2\"})),_path965||(_path965=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 71.4426C277.678 71.9369 277.148 72.2421 276.576 72.2421C276.004 72.2421 275.474 71.9369 275.186 71.4426C274.895 70.9437 274.892 70.3261 275.179 69.8251L275.192 69.8025C275.477 69.3067 276.005 69.001 276.576 69.001C277.148 69.001 277.676 69.3067 277.96 69.8025L277.973 69.8251C278.261 70.3261 278.258 70.9437 277.967 71.4426Z\",fill:\"#E9DFF2\"})),_path966||(_path966=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 67.4008C277.677 67.8946 277.148 68.1982 276.576 68.1982C276.005 68.1982 275.475 67.8946 275.187 67.4008C274.895 66.9004 274.895 66.2816 275.187 65.7812C275.475 65.2875 276.005 64.9839 276.576 64.9839C277.148 64.9839 277.677 65.2875 277.965 65.7812C278.257 66.2816 278.257 66.9004 277.965 67.4008Z\",fill:\"#E9DFF2\"})),_path967||(_path967=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.96 63.3785C277.676 63.8743 277.148 64.18 276.576 64.18C276.005 64.18 275.477 63.8743 275.192 63.3785L275.179 63.3559C274.892 62.855 274.895 62.2373 275.186 61.7384C275.474 61.2441 276.004 60.939 276.576 60.939C277.148 60.939 277.678 61.2441 277.967 61.7384C278.258 62.2373 278.261 62.855 277.973 63.3559L277.96 63.3785Z\",fill:\"#E9DFF2\"})),_path968||(_path968=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 59.3357C277.678 59.83 277.148 60.1351 276.576 60.1351C276.004 60.1351 275.474 59.83 275.186 59.3357C274.895 58.8368 274.892 58.2191 275.179 57.7181L275.192 57.6956C275.477 57.1998 276.005 56.894 276.576 56.894C277.148 56.894 277.676 57.1998 277.96 57.6956L277.973 57.7181C278.261 58.2191 278.258 58.8368 277.967 59.3357Z\",fill:\"#E9DFF2\"})),_path969||(_path969=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 55.2929C277.677 55.7867 277.148 56.0903 276.576 56.0903C276.005 56.0903 275.475 55.7867 275.187 55.2929C274.895 54.7925 274.895 54.1737 275.187 53.6733C275.475 53.1796 276.005 52.876 276.576 52.876C277.148 52.876 277.677 53.1796 277.965 53.6733C278.257 54.1737 278.257 54.7925 277.965 55.2929Z\",fill:\"#E9DFF2\"})),_path970||(_path970=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 53.2572C274.194 53.7663 273.657 54.0819 273.074 54.0819C272.498 54.0819 271.966 53.7739 271.68 53.2745L271.67 53.2578C271.383 52.7568 271.385 52.1404 271.676 51.6415C271.965 51.1457 272.5 50.8408 273.074 50.8408C273.655 50.8408 274.195 51.1533 274.481 51.6589C274.759 52.1489 274.761 52.7482 274.487 53.2401L274.478 53.2572Z\",fill:\"#E9DFF2\"})),_path971||(_path971=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 51.249C270.686 51.7427 270.15 52.0463 269.578 52.0463C268.999 52.0463 268.457 51.7351 268.172 51.2315C267.893 50.74 267.893 50.1383 268.172 49.6468C268.457 49.1433 268.999 48.832 269.578 48.832C270.15 48.832 270.686 49.1356 270.974 49.6294C271.266 50.1298 271.266 50.7486 270.974 51.249Z\",fill:\"#E9DFF2\"})),_path972||(_path972=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 49.2188C267.204 49.7245 266.664 50.037 266.083 50.037C265.509 50.037 264.974 49.7321 264.685 49.2363C264.394 48.7374 264.392 48.121 264.679 47.62L264.689 47.6033C264.975 47.1039 265.507 46.7959 266.083 46.7959C266.666 46.7959 267.203 47.1115 267.487 47.6206L267.496 47.6377C267.77 48.1296 267.768 48.7289 267.491 49.2188Z\",fill:\"#E9DFF2\"})),_path973||(_path973=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 47.2208C263.695 47.7202 263.163 48.0282 262.587 48.0282C262.004 48.0282 261.467 47.7126 261.183 47.2034L261.174 47.1864C260.9 46.6945 260.902 46.0952 261.18 45.6052C261.466 45.0996 262.006 44.7871 262.587 44.7871C263.161 44.7871 263.696 45.092 263.985 45.5878C264.276 46.0867 264.278 46.7031 263.991 47.2041L263.981 47.2208Z\",fill:\"#E9DFF2\"})),_path974||(_path974=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 45.1778C260.212 45.6814 259.67 45.9926 259.092 45.9926C258.52 45.9926 257.984 45.689 257.696 45.1953C257.404 44.6949 257.404 44.0761 257.696 43.5757C257.984 43.0819 258.52 42.7783 259.092 42.7783C259.67 42.7783 260.212 43.0895 260.498 43.5931C260.776 44.0846 260.776 44.6863 260.498 45.1778Z\",fill:\"#E9DFF2\"})),_path975||(_path975=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 43.1831C256.705 43.6789 256.17 43.9838 255.596 43.9838C255.015 43.9838 254.475 43.6713 254.188 43.1656C253.911 42.6757 253.909 42.0764 254.183 41.5844L254.192 41.5674C254.476 41.0583 255.013 40.7427 255.596 40.7427C256.172 40.7427 256.704 41.0506 256.99 41.55L257 41.5668C257.287 42.0678 257.285 42.6842 256.994 43.1831Z\",fill:\"#E9DFF2\"})),_path976||(_path976=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.504 41.1502C253.221 41.6594 252.683 41.975 252.1 41.975C251.525 41.975 250.993 41.667 250.706 41.1676L250.697 41.1509C250.409 40.6499 250.412 40.0335 250.703 39.5346C250.992 39.0388 251.526 38.7339 252.1 38.7339C252.682 38.7339 253.222 39.0464 253.508 39.552C253.786 40.042 253.788 40.6413 253.514 41.1332L253.504 41.1502Z\",fill:\"#E9DFF2\"})),_path977||(_path977=/*#__PURE__*/React.createElement(\"path\",{d:\"M250.001 39.1415C249.713 39.6353 249.177 39.9389 248.605 39.9389C248.026 39.9389 247.484 39.6277 247.199 39.1241C246.92 38.6326 246.92 38.0309 247.199 37.5394C247.484 37.0358 248.026 36.7246 248.605 36.7246C249.177 36.7246 249.713 37.0282 250.001 37.522C250.293 38.0224 250.293 38.6411 250.001 39.1415Z\",fill:\"#E9DFF2\"})),_path978||(_path978=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.493 37.1311C246.205 37.6254 245.675 37.9305 245.103 37.9305C244.531 37.9305 244.001 37.6254 243.712 37.1311C243.421 36.6322 243.418 36.0145 243.706 35.5136L243.719 35.491C244.003 34.9952 244.531 34.6895 245.103 34.6895C245.674 34.6895 246.202 34.9952 246.487 35.491L246.5 35.5136C246.787 36.0145 246.784 36.6322 246.493 37.1311Z\",fill:\"#E9DFF2\"})),_path979||(_path979=/*#__PURE__*/React.createElement(\"path\",{d:\"M243.008 35.1139C242.721 35.6133 242.19 35.9212 241.614 35.9212C241.031 35.9212 240.494 35.6057 240.21 35.0965L240.201 35.0795C239.926 34.5876 239.928 33.9883 240.206 33.4983C240.493 32.9927 241.033 32.6802 241.614 32.6802C242.188 32.6802 242.723 32.985 243.012 33.4808C243.303 33.9798 243.305 34.5962 243.018 35.0971L243.008 35.1139Z\",fill:\"#E9DFF2\"})),_path980||(_path980=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.501 33.0883C239.213 33.5821 238.684 33.8857 238.112 33.8857C237.54 33.8857 237.011 33.5821 236.723 33.0883C236.431 32.5879 236.431 31.9691 236.723 31.4687C237.011 30.975 237.54 30.6714 238.112 30.6714C238.684 30.6714 239.213 30.975 239.501 31.4687C239.793 31.9691 239.793 32.5879 239.501 33.0883Z\",fill:\"#E9DFF2\"})),_path981||(_path981=/*#__PURE__*/React.createElement(\"path\",{d:\"M234.982 30.4979C234.905 30.6216 234.768 30.698 234.622 30.698C234.469 30.698 234.328 30.6141 234.253 30.4808C234.179 30.3504 234.179 30.1884 234.253 30.0579C234.328 29.9247 234.469 29.8408 234.622 29.8408C234.768 29.8408 234.905 29.9172 234.982 30.0409C235.069 30.1799 235.069 30.3589 234.982 30.4979Z\",fill:\"#E9DFF2\"})),_path982||(_path982=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.305 28.9417C232.061 29.3652 231.609 29.6261 231.12 29.6261C230.631 29.6261 230.18 29.3652 229.935 28.9417L229.926 28.926C229.679 28.4978 229.681 27.97 229.932 27.5439C230.179 27.1246 230.634 26.8672 231.12 26.8672C231.607 26.8672 232.062 27.1246 232.309 27.5439C232.559 27.97 232.561 28.4978 232.314 28.926L232.305 28.9417Z\",fill:\"#E9DFF2\"})),_path983||(_path983=/*#__PURE__*/React.createElement(\"path\",{d:\"M228.059 26.4557C227.973 26.6107 227.81 26.7069 227.633 26.7069H227.618C227.441 26.7069 227.277 26.6107 227.191 26.4557C227.111 26.3116 227.109 26.1368 227.186 25.991L227.193 25.9766C227.278 25.8162 227.444 25.7158 227.625 25.7158C227.806 25.7158 227.973 25.8162 228.057 25.9766L228.065 25.991C228.141 26.1368 228.14 26.3116 228.059 26.4557Z\",fill:\"#E9DFF2\"})),_path984||(_path984=/*#__PURE__*/React.createElement(\"path\",{d:\"M200.825 10.7451C200.585 11.1582 200.138 11.4125 199.661 11.4125C199.183 11.4125 198.736 11.1582 198.497 10.7451C198.256 10.3296 198.256 9.81677 198.497 9.40122C198.736 8.98815 199.183 8.73389 199.661 8.73389C200.138 8.73389 200.585 8.98815 200.825 9.40122C201.066 9.81677 201.066 10.3296 200.825 10.7451Z\",fill:\"#E9DFF2\"})),_path985||(_path985=/*#__PURE__*/React.createElement(\"path\",{d:\"M197.348 8.73957C197.105 9.16661 196.65 9.43039 196.159 9.43039C195.674 9.43039 195.224 9.17419 194.979 8.75694C194.727 8.32943 194.727 7.7992 194.979 7.37169C195.224 6.95444 195.674 6.69824 196.159 6.69824C196.65 6.69824 197.105 6.96202 197.348 7.38906C197.586 7.80775 197.586 8.32088 197.348 8.73957Z\",fill:\"#E9DFF2\"})),_path986||(_path986=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.004 18.318C157.941 18.4208 157.829 18.4835 157.708 18.4835C157.58 18.4835 157.462 18.4132 157.402 18.3006C157.346 18.1975 157.346 18.0731 157.402 17.9701C157.462 17.8575 157.58 17.7871 157.708 17.7871C157.829 17.7871 157.941 17.8499 158.004 17.9527C158.073 18.0646 158.073 18.2061 158.004 18.318Z\",fill:\"#E9DFF2\"})),_path987||(_path987=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.601 20.9564C155.318 21.448 154.793 21.751 154.226 21.751H154.199C153.638 21.751 153.12 21.4555 152.834 20.9736C152.54 20.478 152.54 19.8578 152.83 19.36C153.117 18.8693 153.644 18.5635 154.212 18.5635C154.788 18.5635 155.321 18.877 155.604 19.3775C155.881 19.8664 155.882 20.4695 155.601 20.9564Z\",fill:\"#E9DFF2\"})),_path988||(_path988=/*#__PURE__*/React.createElement(\"path\",{d:\"M152.122 22.9722C151.837 23.4758 151.295 23.787 150.716 23.787C150.145 23.787 149.609 23.4834 149.321 22.9897C149.029 22.4893 149.029 21.8705 149.321 21.3701C149.609 20.8764 150.145 20.5728 150.716 20.5728C151.295 20.5728 151.837 20.884 152.122 21.3876C152.401 21.8791 152.401 22.4807 152.122 22.9722Z\",fill:\"#E9DFF2\"})),_path989||(_path989=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.619 25.022C148.33 25.5177 147.795 25.8226 147.221 25.8226C146.64 25.8226 146.1 25.5101 145.813 25.0045C145.536 24.5145 145.534 23.9152 145.808 23.4233L145.817 23.4063C146.101 22.8971 146.638 22.5815 147.221 22.5815C147.797 22.5815 148.329 22.8895 148.615 23.3889L148.625 23.4056C148.912 23.9066 148.91 24.523 148.619 25.022Z\",fill:\"#E9DFF2\"})),_path990||(_path990=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.108 27.0341C144.82 27.5279 144.29 27.8315 143.719 27.8315C143.147 27.8315 142.618 27.5279 142.33 27.0341C142.038 26.5337 142.038 25.9149 142.33 25.4145C142.618 24.9208 143.147 24.6172 143.719 24.6172C144.29 24.6172 144.82 24.9208 145.108 25.4145C145.4 25.9149 145.4 26.5337 145.108 27.0341Z\",fill:\"#E9DFF2\"})),_path991||(_path991=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.624 29.0607C141.338 29.5601 140.806 29.868 140.23 29.868C139.647 29.868 139.11 29.5524 138.826 29.0433L138.817 29.0263C138.543 28.5343 138.545 27.935 138.822 27.4451C139.109 26.9394 139.649 26.627 140.23 26.627C140.804 26.627 141.339 26.9318 141.628 27.4276C141.919 27.9265 141.921 28.5429 141.634 29.0439L141.624 29.0607Z\",fill:\"#E9DFF2\"})),_path992||(_path992=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.118 31.0764C137.83 31.5707 137.3 31.8758 136.728 31.8758C136.156 31.8758 135.626 31.5707 135.337 31.0764C135.046 30.5775 135.043 29.9599 135.331 29.4589L135.344 29.4363C135.628 28.9405 136.156 28.6348 136.728 28.6348C137.299 28.6348 137.827 28.9405 138.112 29.4363L138.125 29.4589C138.412 29.9599 138.409 30.5775 138.118 31.0764Z\",fill:\"#E9DFF2\"})),_path993||(_path993=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.635 33.0883C134.347 33.5821 133.811 33.8857 133.239 33.8857C132.66 33.8857 132.118 33.5744 131.833 33.0709C131.555 32.5794 131.555 31.9777 131.833 31.4862C132.118 30.9826 132.66 30.6714 133.239 30.6714C133.811 30.6714 134.347 30.975 134.635 31.4687C134.927 31.9691 134.927 32.5879 134.635 33.0883Z\",fill:\"#E9DFF2\"})),_path994||(_path994=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.121 35.1197C130.836 35.6155 130.308 35.9212 129.737 35.9212C129.165 35.9212 128.637 35.6155 128.353 35.1197L128.34 35.0971C128.052 34.5962 128.055 33.9785 128.346 33.4796C128.634 32.9853 129.164 32.6802 129.737 32.6802C130.309 32.6802 130.839 32.9853 131.127 33.4796C131.418 33.9785 131.421 34.5962 131.134 35.0971L131.121 35.1197Z\",fill:\"#E9DFF2\"})),_path995||(_path995=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.646 37.1299C127.357 37.6257 126.826 37.9305 126.252 37.9305H126.231C125.657 37.9305 125.126 37.6257 124.837 37.1299C124.546 36.6309 124.547 36.0091 124.834 35.5081C125.123 35.0051 125.661 34.6895 126.241 34.6895C126.821 34.6895 127.36 35.0051 127.648 35.5081C127.936 36.0091 127.937 36.6309 127.646 37.1299Z\",fill:\"#E9DFF2\"})),_path996||(_path996=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.135 39.1415C123.847 39.6353 123.317 39.9389 122.745 39.9389C122.174 39.9389 121.644 39.6353 121.356 39.1415C121.064 38.6411 121.064 38.0224 121.356 37.522C121.644 37.0282 122.174 36.7246 122.745 36.7246C123.317 36.7246 123.847 37.0282 124.135 37.522C124.427 38.0224 124.427 38.6411 124.135 39.1415Z\",fill:\"#E9DFF2\"})),_path997||(_path997=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.991 51.1358C102.743 51.5669 102.283 51.8326 101.785 51.8326H101.76C101.262 51.8326 100.802 51.5669 100.553 51.1358C100.305 50.705 100.305 50.1744 100.553 49.7437C100.802 49.3125 101.262 49.0469 101.76 49.0469H101.785C102.283 49.0469 102.743 49.3125 102.991 49.7437C103.24 50.1744 103.24 50.705 102.991 51.1358Z\",fill:\"#E9DFF2\"})),_path998||(_path998=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 53.2633C99.3957 53.7662 98.857 54.0819 98.2771 54.0819C97.6972 54.0819 97.1585 53.7662 96.8699 53.2633C96.5824 52.7623 96.5815 52.1404 96.8725 51.6415C97.1618 51.1457 97.6925 50.8408 98.2665 50.8408H98.2877C98.8617 50.8408 99.3924 51.1457 99.6817 51.6415C99.9727 52.1404 99.9718 52.7623 99.6843 53.2633Z\",fill:\"#E9DFF2\"})),_path999||(_path999=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 55.2929C95.8823 55.7867 95.3526 56.0903 94.781 56.0903C94.2094 56.0903 93.6798 55.7867 93.3918 55.2929C93.0999 54.7925 93.0999 54.1737 93.3918 53.6733C93.6798 53.1796 94.2094 52.876 94.781 52.876C95.3526 52.876 95.8823 53.1796 96.1703 53.6733C96.4622 54.1737 96.4622 54.7925 96.1703 55.2929Z\",fill:\"#E9DFF2\"})),_path1000||(_path1000=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M96.1715 59.3357C95.8832 59.83 95.3533 60.1351 94.781 60.1351C94.2088 60.1351 93.6789 59.83 93.3906 59.3357C93.0996 58.8368 93.0966 58.2191 93.3841 57.7181L93.397 57.6956C93.6815 57.1998 94.2094 56.894 94.781 56.894C95.3526 56.894 95.8806 57.1998 96.165 57.6956L96.178 57.7181C96.4654 58.2191 96.4625 58.8368 96.1715 59.3357Z\",fill:\"#802DF6\"})),_path1001||(_path1001=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M96.165 63.3785C95.8806 63.8743 95.3526 64.18 94.781 64.18C94.2094 64.18 93.6815 63.8743 93.397 63.3785L93.3841 63.3559C93.0966 62.855 93.0996 62.2373 93.3906 61.7384C93.6789 61.2441 94.2088 60.939 94.781 60.939C95.3533 60.939 95.8832 61.2441 96.1715 61.7384C96.4625 62.2373 96.4654 62.855 96.178 63.3559L96.165 63.3785Z\",fill:\"#802DF6\"})),_path1002||(_path1002=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 67.4008C95.8823 67.8946 95.3526 68.1982 94.781 68.1982C94.2094 68.1982 93.6798 67.8946 93.3918 67.4008C93.0999 66.9004 93.0999 66.2816 93.3918 65.7812C93.6798 65.2875 94.2094 64.9839 94.781 64.9839C95.3526 64.9839 95.8823 65.2875 96.1703 65.7812C96.4622 66.2816 96.4622 66.9004 96.1703 67.4008Z\",fill:\"#802DF6\"})),_path1003||(_path1003=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M96.1715 71.4426C95.8832 71.9369 95.3533 72.2421 94.781 72.2421C94.2088 72.2421 93.6789 71.9369 93.3906 71.4426C93.0996 70.9437 93.0966 70.3261 93.3841 69.8251L93.397 69.8025C93.6815 69.3067 94.2094 69.001 94.781 69.001C95.3526 69.001 95.8806 69.3067 96.165 69.8025L96.178 69.8251C96.4654 70.3261 96.4625 70.9437 96.1715 71.4426Z\",fill:\"#802DF6\"})),_path1004||(_path1004=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M96.165 75.4859C95.8806 75.9817 95.3526 76.2875 94.781 76.2875C94.2094 76.2875 93.6815 75.9817 93.397 75.4859L93.3841 75.4634C93.0966 74.9624 93.0996 74.3447 93.3906 73.8458C93.6789 73.3515 94.2088 73.0464 94.781 73.0464C95.3533 73.0464 95.8832 73.3515 96.1715 73.8458C96.4625 74.3447 96.4654 74.9624 96.178 75.4634L96.165 75.4859Z\",fill:\"#802DF6\"})),_path1005||(_path1005=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 79.5082C95.8823 80.002 95.3526 80.3056 94.781 80.3056C94.2094 80.3056 93.6798 80.002 93.3918 79.5082C93.0999 79.0078 93.0999 78.3891 93.3918 77.8887C93.6798 77.3949 94.2094 77.0913 94.781 77.0913C95.3526 77.0913 95.8823 77.3949 96.1703 77.8887C96.4622 78.3891 96.4622 79.0078 96.1703 79.5082Z\",fill:\"#E9DFF2\"})),_path1006||(_path1006=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.1995 107.192C95.1152 107.344 94.9546 107.439 94.781 107.439C94.6075 107.439 94.4469 107.344 94.3626 107.192C94.2817 107.047 94.2817 106.868 94.3626 106.722C94.4469 106.57 94.6075 106.475 94.781 106.475C94.9546 106.475 95.1152 106.57 95.1995 106.722C95.2804 106.868 95.2804 107.047 95.1995 107.192Z\",fill:\"#E9DFF2\"})),_path1007||(_path1007=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0108 111.716C95.7554 112.152 95.2871 112.421 94.7811 112.421C94.2751 112.421 93.8068 112.152 93.5514 111.716C93.2933 111.274 93.2908 110.728 93.5453 110.285L93.5574 110.264C93.809 109.825 94.2758 109.555 94.7811 109.555C95.2865 109.555 95.7532 109.825 96.0048 110.264L96.0169 110.285C96.2714 110.728 96.2689 111.274 96.0108 111.716Z\",fill:\"#E9DFF2\"})),_path1008||(_path1008=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 123.918C95.8823 124.412 95.3526 124.715 94.781 124.715C94.2094 124.715 93.6798 124.412 93.3918 123.918C93.0999 123.418 93.0999 122.799 93.3918 122.298C93.6798 121.805 94.2094 121.501 94.781 121.501C95.3526 121.501 95.8823 121.805 96.1703 122.298C96.4622 122.799 96.4622 123.418 96.1703 123.918Z\",fill:\"#E9DFF2\"})),_path1009||(_path1009=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1715 127.961C95.8832 128.455 95.3533 128.76 94.781 128.76C94.2088 128.76 93.6789 128.455 93.3906 127.961C93.0996 127.462 93.0966 126.844 93.3841 126.343L93.397 126.321C93.6815 125.825 94.2094 125.519 94.781 125.519C95.3526 125.519 95.8806 125.825 96.165 126.321L96.178 126.343C96.4654 126.844 96.4625 127.462 96.1715 127.961Z\",fill:\"#E9DFF2\"})),_path1010||(_path1010=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 132.004C95.8806 132.5 95.3526 132.806 94.781 132.806C94.2094 132.806 93.6815 132.5 93.397 132.004L93.3841 131.981C93.0966 131.48 93.0996 130.863 93.3906 130.364C93.6789 129.87 94.2088 129.564 94.781 129.564C95.3533 129.564 95.8832 129.87 96.1715 130.364C96.4625 130.863 96.4654 131.48 96.178 131.981L96.165 132.004Z\",fill:\"#E9DFF2\"})),_path1011||(_path1011=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 136.026C95.8823 136.52 95.3526 136.824 94.781 136.824C94.2094 136.824 93.6798 136.52 93.3918 136.026C93.0999 135.526 93.0999 134.907 93.3918 134.407C93.6798 133.913 94.2094 133.609 94.781 133.609C95.3526 133.609 95.8823 133.913 96.1703 134.407C96.4622 134.907 96.4622 135.526 96.1703 136.026Z\",fill:\"#E9DFF2\"})),_path1012||(_path1012=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1715 140.069C95.8832 140.563 95.3533 140.868 94.781 140.868C94.2088 140.868 93.6789 140.563 93.3906 140.069C93.0996 139.57 93.0966 138.952 93.3841 138.451L93.397 138.428C93.6815 137.933 94.2094 137.627 94.781 137.627C95.3526 137.627 95.8806 137.933 96.165 138.428L96.178 138.451C96.4654 138.952 96.4625 139.57 96.1715 140.069Z\",fill:\"#E9DFF2\"})),_path1013||(_path1013=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 144.111C95.8806 144.607 95.3526 144.912 94.781 144.912C94.2094 144.912 93.6815 144.607 93.397 144.111L93.3841 144.088C93.0966 143.587 93.0996 142.97 93.3906 142.471C93.6789 141.977 94.2088 141.671 94.781 141.671C95.3533 141.671 95.8832 141.977 96.1715 142.471C96.4625 142.97 96.4654 143.587 96.178 144.088L96.165 144.111Z\",fill:\"#E9DFF2\"})),_path1014||(_path1014=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 148.133C95.8823 148.626 95.3526 148.93 94.781 148.93C94.2094 148.93 93.6798 148.626 93.3918 148.133C93.0999 147.632 93.0999 147.014 93.3918 146.513C93.6798 146.019 94.2094 145.716 94.781 145.716C95.3526 145.716 95.8823 146.019 96.1703 146.513C96.4622 147.014 96.4622 147.632 96.1703 148.133Z\",fill:\"#E9DFF2\"})),_path1015||(_path1015=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 152.178C95.8823 152.671 95.3526 152.975 94.781 152.975C94.2094 152.975 93.6798 152.671 93.3918 152.178C93.0999 151.677 93.0999 151.058 93.3918 150.558C93.6798 150.064 94.2094 149.761 94.781 149.761C95.3526 149.761 95.8823 150.064 96.1703 150.558C96.4622 151.058 96.4622 151.677 96.1703 152.178Z\",fill:\"#E9DFF2\"})),_path1016||(_path1016=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M96.1715 156.219C95.8832 156.714 95.3533 157.019 94.781 157.019C94.2088 157.019 93.6789 156.714 93.3906 156.219C93.0996 155.721 93.0966 155.103 93.3841 154.602L93.397 154.579C93.6815 154.084 94.2094 153.778 94.781 153.778C95.3526 153.778 95.8806 154.084 96.165 154.579L96.178 154.602C96.4654 155.103 96.4625 155.721 96.1715 156.219Z\",fill:\"#802DF6\"})),_path1017||(_path1017=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0002 164.171C95.7514 164.602 95.2915 164.868 94.7937 164.868H94.7687C94.2709 164.868 93.811 164.602 93.5622 164.171C93.3137 163.74 93.3137 163.21 93.5622 162.779C93.811 162.348 94.2709 162.082 94.7687 162.082H94.7937C95.2915 162.082 95.7514 162.348 96.0002 162.779C96.2487 163.21 96.2487 163.74 96.0002 164.171Z\",fill:\"#E9DFF2\"})),_path1018||(_path1018=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 166.299C99.3957 166.802 98.857 167.118 98.2771 167.118C97.6972 167.118 97.1585 166.802 96.8699 166.299C96.5824 165.798 96.5815 165.177 96.8725 164.678C97.1618 164.182 97.6925 163.877 98.2665 163.877H98.2877C98.8617 163.877 99.3924 164.182 99.6817 164.678C99.9727 165.177 99.9718 165.798 99.6843 166.299Z\",fill:\"#E9DFF2\"})),_path1019||(_path1019=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 168.328C102.874 168.822 102.344 169.127 101.772 169.127C101.2 169.127 100.67 168.822 100.382 168.328C100.091 167.829 100.088 167.211 100.375 166.71L100.388 166.688C100.673 166.192 101.201 165.886 101.772 165.886C102.344 165.886 102.872 166.192 103.156 166.688L103.169 166.71C103.457 167.211 103.454 167.829 103.163 168.328Z\",fill:\"#E9DFF2\"})),_path1020||(_path1020=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 170.338C106.382 170.832 105.854 171.136 105.282 171.136H105.253C104.682 171.136 104.153 170.832 103.865 170.338C103.573 169.838 103.573 169.219 103.865 168.719C104.153 168.225 104.682 167.921 105.253 167.921H105.282C105.854 167.921 106.382 168.225 106.67 168.719C106.962 169.219 106.962 169.838 106.67 170.338Z\",fill:\"#E9DFF2\"})),_path1021||(_path1021=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 172.37C109.863 172.866 109.335 173.171 108.763 173.171C108.192 173.171 107.664 172.866 107.379 172.37L107.366 172.347C107.079 171.846 107.082 171.229 107.373 170.73C107.661 170.235 108.191 169.93 108.763 169.93C109.335 169.93 109.865 170.235 110.154 170.73C110.445 171.229 110.448 171.846 110.16 172.347L110.147 172.37Z\",fill:\"#E9DFF2\"})),_path1022||(_path1022=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.664 174.38C113.375 174.876 112.844 175.181 112.27 175.181H112.249C111.675 175.181 111.144 174.876 110.855 174.38C110.564 173.881 110.565 173.259 110.852 172.758C111.141 172.255 111.679 171.939 112.259 171.939C112.839 171.939 113.378 172.255 113.666 172.758C113.954 173.259 113.955 173.881 113.664 174.38Z\",fill:\"#E9DFF2\"})),_path1023||(_path1023=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.144 176.392C116.856 176.886 116.326 177.189 115.754 177.189C115.183 177.189 114.653 176.886 114.365 176.392C114.073 175.892 114.073 175.273 114.365 174.772C114.653 174.279 115.183 173.975 115.754 173.975C116.326 173.975 116.856 174.279 117.144 174.772C117.436 175.273 117.436 175.892 117.144 176.392Z\",fill:\"#E9DFF2\"})),_path1024||(_path1024=/*#__PURE__*/React.createElement(\"path\",{d:\"M119.853 177.939C119.729 178.155 119.499 178.287 119.25 178.287C119.002 178.287 118.772 178.155 118.648 177.939C118.523 177.724 118.523 177.458 118.648 177.243C118.772 177.027 119.002 176.895 119.25 176.895C119.499 176.895 119.729 177.027 119.853 177.243C119.977 177.458 119.977 177.724 119.853 177.939Z\",fill:\"#E9DFF2\"})),_path1025||(_path1025=/*#__PURE__*/React.createElement(\"path\",{d:\"M280.919 109.491C280.743 109.796 280.417 109.984 280.065 109.984C279.706 109.984 279.375 109.788 279.201 109.474L279.19 109.455C279.022 109.151 279.024 108.782 279.196 108.48C279.373 108.168 279.706 107.975 280.065 107.975C280.417 107.975 280.744 108.16 280.924 108.462C281.109 108.773 281.111 109.16 280.93 109.472L280.919 109.491Z\",fill:\"#E9DFF2\"})),_path1026||(_path1026=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 105.737C281.186 106.243 280.646 106.555 280.065 106.555C279.491 106.555 278.956 106.25 278.667 105.754C278.376 105.255 278.374 104.639 278.661 104.138L278.671 104.121C278.958 103.622 279.489 103.314 280.065 103.314C280.648 103.314 281.185 103.63 281.469 104.139L281.478 104.156C281.753 104.648 281.751 105.247 281.473 105.737Z\",fill:\"#E9DFF2\"})),_path1027||(_path1027=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 101.696C281.186 102.199 280.644 102.511 280.065 102.511C279.493 102.511 278.957 102.207 278.669 101.713C278.377 101.213 278.377 100.594 278.669 100.094C278.957 99.6 279.493 99.2964 280.065 99.2964C280.644 99.2964 281.186 99.6076 281.471 100.111C281.75 100.603 281.75 101.204 281.471 101.696Z\",fill:\"#E9DFF2\"})),_path1028||(_path1028=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 97.6678C281.185 98.177 280.648 98.4925 280.065 98.4925C279.489 98.4925 278.958 98.1846 278.671 97.6852L278.661 97.6684C278.374 97.1675 278.376 96.551 278.667 96.0521C278.956 95.5563 279.491 95.2515 280.065 95.2515C280.646 95.2515 281.186 95.564 281.473 96.0696C281.751 96.5596 281.753 97.1588 281.478 97.6508L281.469 97.6678Z\",fill:\"#E9DFF2\"})),_path1029||(_path1029=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 93.6295C281.186 94.1351 280.646 94.4476 280.065 94.4476C279.491 94.4476 278.956 94.1427 278.667 93.647C278.376 93.148 278.374 92.5316 278.661 92.0306L278.671 92.0139C278.958 91.5145 279.489 91.2065 280.065 91.2065C280.648 91.2065 281.185 91.5221 281.469 92.0313L281.478 92.0483C281.753 92.5402 281.751 93.1395 281.473 93.6295Z\",fill:\"#E9DFF2\"})),_path1030||(_path1030=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M281.471 89.5885C281.186 90.092 280.644 90.4033 280.065 90.4033C279.493 90.4033 278.957 90.0996 278.669 89.6059C278.377 89.1055 278.377 88.4867 278.669 87.9863C278.957 87.4926 279.493 87.189 280.065 87.189C280.644 87.189 281.186 87.5002 281.471 88.0038C281.75 88.4953 281.75 89.0969 281.471 89.5885Z\",fill:\"#802DF6\"})),_path1031||(_path1031=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 85.544C281.186 86.0476 280.644 86.3588 280.065 86.3588C279.493 86.3588 278.957 86.0552 278.669 85.5615C278.377 85.0611 278.377 84.4423 278.669 83.9419C278.957 83.4481 279.493 83.1445 280.065 83.1445C280.644 83.1445 281.186 83.4558 281.471 83.9593C281.75 84.4508 281.75 85.0525 281.471 85.544Z\",fill:\"#E9DFF2\"})),_path1032||(_path1032=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 81.5164C281.185 82.0256 280.648 82.3412 280.065 82.3412C279.489 82.3412 278.958 82.0332 278.671 81.5338L278.661 81.5171C278.374 81.0161 278.376 80.3997 278.667 79.9008C278.956 79.405 279.491 79.1001 280.065 79.1001C280.646 79.1001 281.186 79.4126 281.473 79.9182C281.751 80.4082 281.753 81.0075 281.478 81.4994L281.469 81.5164Z\",fill:\"#E9DFF2\"})),_path1033||(_path1033=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 77.4786C281.186 77.9842 280.646 78.2967 280.065 78.2967C279.491 78.2967 278.956 77.9919 278.667 77.4961C278.376 76.9972 278.374 76.3808 278.661 75.8798L278.671 75.863C278.958 75.3636 279.489 75.0557 280.065 75.0557C280.648 75.0557 281.185 75.3713 281.469 75.8804L281.478 75.8974C281.753 76.3894 281.751 76.9886 281.473 77.4786Z\",fill:\"#E9DFF2\"})),_path1034||(_path1034=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 73.4371C281.186 73.9407 280.644 74.2519 280.065 74.2519C279.493 74.2519 278.957 73.9483 278.669 73.4545C278.377 72.9541 278.377 72.3354 278.669 71.8349C278.957 71.3412 279.493 71.0376 280.065 71.0376C280.644 71.0376 281.186 71.3488 281.471 71.8524C281.75 72.3439 281.75 72.9456 281.471 73.4371Z\",fill:\"#E9DFF2\"})),_path1035||(_path1035=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 69.41C281.185 69.9191 280.648 70.2347 280.065 70.2347C279.489 70.2347 278.958 69.9268 278.671 69.4274L278.661 69.4106C278.374 68.9096 278.376 68.2932 278.667 67.7943C278.956 67.2985 279.491 66.9937 280.065 66.9937C280.646 66.9937 281.186 67.3061 281.473 67.8118C281.751 68.3017 281.753 68.901 281.478 69.393L281.469 69.41Z\",fill:\"#E9DFF2\"})),_path1036||(_path1036=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 65.3712C281.186 65.8768 280.646 66.1893 280.065 66.1893C279.491 66.1893 278.956 65.8844 278.667 65.3887C278.376 64.8897 278.374 64.2733 278.661 63.7723L278.671 63.7556C278.958 63.2562 279.489 62.9482 280.065 62.9482C280.648 62.9482 281.185 63.2638 281.469 63.773L281.478 63.79C281.753 64.2819 281.751 64.8812 281.473 65.3712Z\",fill:\"#E9DFF2\"})),_path1037||(_path1037=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 61.3292C281.186 61.8327 280.644 62.144 280.065 62.144C279.493 62.144 278.957 61.8404 278.669 61.3466C278.377 60.8462 278.377 60.2274 278.669 59.727C278.957 59.2333 279.493 58.9297 280.065 58.9297C280.644 58.9297 281.186 59.2409 281.471 59.7445C281.75 60.236 281.75 60.8377 281.471 61.3292Z\",fill:\"#E9DFF2\"})),_path1038||(_path1038=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 57.2847C281.186 57.7883 280.644 58.0995 280.065 58.0995C279.493 58.0995 278.957 57.7959 278.669 57.3022C278.377 56.8018 278.377 56.183 278.669 55.6826C278.957 55.1889 279.493 54.8853 280.065 54.8853C280.644 54.8853 281.186 55.1965 281.471 55.7001C281.75 56.1916 281.75 56.7932 281.471 57.2847Z\",fill:\"#E9DFF2\"})),_path1039||(_path1039=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 53.2572C281.185 53.7663 280.648 54.0819 280.065 54.0819C279.489 54.0819 278.958 53.7739 278.671 53.2745L278.661 53.2578C278.374 52.7568 278.376 52.1404 278.667 51.6415C278.956 51.1457 279.491 50.8408 280.065 50.8408C280.646 50.8408 281.186 51.1533 281.473 51.6589C281.751 52.1489 281.753 52.7482 281.478 53.2401L281.469 53.2572Z\",fill:\"#E9DFF2\"})),_path1040||(_path1040=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 51.249C277.677 51.7427 277.148 52.0463 276.576 52.0463C276.005 52.0463 275.475 51.7427 275.187 51.249C274.895 50.7486 274.895 50.1298 275.187 49.6294C275.475 49.1356 276.005 48.832 276.576 48.832C277.148 48.832 277.677 49.1356 277.965 49.6294C278.257 50.1298 278.257 50.7486 277.965 51.249Z\",fill:\"#E9DFF2\"})),_path1041||(_path1041=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 49.2189C274.195 49.7245 273.655 50.037 273.074 50.037C272.5 50.037 271.965 49.7321 271.676 49.2363C271.385 48.7374 271.383 48.121 271.67 47.62L271.68 47.6033C271.966 47.1039 272.498 46.7959 273.074 46.7959C273.657 46.7959 274.194 47.1115 274.478 47.6206L274.487 47.6377C274.761 48.1296 274.759 48.7289 274.481 49.2189Z\",fill:\"#E9DFF2\"})),_path1042||(_path1042=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.972 47.2208C270.685 47.7202 270.154 48.0282 269.578 48.0282C268.995 48.0282 268.458 47.7126 268.174 47.2035L268.164 47.1864C267.89 46.6945 267.892 46.0952 268.17 45.6052C268.457 45.0996 268.997 44.7871 269.578 44.7871C270.152 44.7871 270.686 45.092 270.976 45.5878C271.267 46.0867 271.269 46.7031 270.981 47.2041L270.972 47.2208Z\",fill:\"#E9DFF2\"})),_path1043||(_path1043=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 45.1778C267.203 45.6814 266.662 45.9926 266.083 45.9926C265.511 45.9926 264.975 45.689 264.687 45.1953C264.395 44.6949 264.395 44.0761 264.687 43.5757C264.975 43.0819 265.511 42.7783 266.083 42.7783C266.662 42.7783 267.203 43.0896 267.489 43.5931C267.767 44.0846 267.767 44.6863 267.489 45.1778Z\",fill:\"#E9DFF2\"})),_path1044||(_path1044=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 43.1831C263.696 43.6789 263.161 43.9838 262.587 43.9838C262.006 43.9838 261.466 43.6713 261.18 43.1656C260.902 42.6757 260.9 42.0764 261.174 41.5844L261.183 41.5674C261.467 41.0583 262.004 40.7427 262.587 40.7427C263.163 40.7427 263.695 41.0506 263.981 41.55L263.991 41.5668C264.278 42.0678 264.276 42.6842 263.985 43.1831Z\",fill:\"#E9DFF2\"})),_path1045||(_path1045=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.496 41.1502C260.212 41.6594 259.675 41.975 259.092 41.975C258.516 41.975 257.984 41.667 257.698 41.1676L257.688 41.1509C257.401 40.6499 257.403 40.0335 257.694 39.5346C257.983 39.0388 258.518 38.7339 259.092 38.7339C259.673 38.7339 260.213 39.0464 260.499 39.552C260.777 40.042 260.779 40.6413 260.505 41.1332L260.496 41.1502Z\",fill:\"#E9DFF2\"})),_path1046||(_path1046=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.992 39.1415C256.704 39.6353 256.168 39.9389 255.596 39.9389C255.017 39.9389 254.476 39.6277 254.19 39.1241C253.912 38.6326 253.912 38.0309 254.19 37.5394C254.476 37.0358 255.017 36.7246 255.596 36.7246C256.168 36.7246 256.704 37.0282 256.992 37.522C257.284 38.0224 257.284 38.6411 256.992 39.1415Z\",fill:\"#E9DFF2\"})),_path1047||(_path1047=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.508 37.1124C253.222 37.618 252.682 37.9305 252.1 37.9305C251.526 37.9305 250.992 37.6257 250.703 37.1299C250.412 36.6309 250.409 36.0145 250.697 35.5136L250.706 35.4968C250.993 34.9974 251.525 34.6895 252.1 34.6895C252.683 34.6895 253.221 35.005 253.504 35.5142L253.514 35.5312C253.788 36.0231 253.786 36.6224 253.508 37.1124Z\",fill:\"#E9DFF2\"})),_path1048||(_path1048=/*#__PURE__*/React.createElement(\"path\",{d:\"M249.999 35.1139C249.712 35.6133 249.181 35.9212 248.605 35.9212C248.022 35.9212 247.485 35.6057 247.201 35.0965L247.192 35.0795C246.917 34.5876 246.919 33.9883 247.197 33.4983C247.484 32.9927 248.024 32.6802 248.605 32.6802C249.179 32.6802 249.714 32.985 250.003 33.4808C250.294 33.9798 250.296 34.5962 250.009 35.0971L249.999 35.1139Z\",fill:\"#E9DFF2\"})),_path1049||(_path1049=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.492 33.0883C246.204 33.5821 245.674 33.8857 245.103 33.8857C244.531 33.8857 244.002 33.5821 243.714 33.0883C243.422 32.5879 243.422 31.9691 243.714 31.4687C244.002 30.975 244.531 30.6714 245.103 30.6714C245.674 30.6714 246.204 30.975 246.492 31.4687C246.784 31.9691 246.784 32.5879 246.492 33.0883Z\",fill:\"#E9DFF2\"})),_path1050||(_path1050=/*#__PURE__*/React.createElement(\"path\",{d:\"M242.248 30.635C242.117 30.8567 241.878 30.9927 241.62 30.9927H241.595C241.337 30.9927 241.098 30.8567 240.967 30.635C240.833 30.4091 240.831 30.1287 240.961 29.9007L240.966 29.8916C241.098 29.6615 241.342 29.5195 241.607 29.5195C241.872 29.5195 242.117 29.6615 242.249 29.8916L242.254 29.9007C242.384 30.1287 242.382 30.4091 242.248 30.635Z\",fill:\"#E9DFF2\"})),_path1051||(_path1051=/*#__PURE__*/React.createElement(\"path\",{d:\"M232.055 24.7428C231.866 25.0634 231.522 25.2601 231.15 25.2601H231.106C230.741 25.2601 230.402 25.0707 230.21 24.7597C230.004 24.4253 230.004 24.0007 230.206 23.6641C230.398 23.3435 230.747 23.144 231.121 23.144H231.134C231.515 23.144 231.869 23.351 232.059 23.6814C232.248 24.0094 232.248 24.4169 232.055 24.7428Z\",fill:\"#E9DFF2\"})),_path1052||(_path1052=/*#__PURE__*/React.createElement(\"path\",{d:\"M206.974 10.2607C206.908 10.3758 206.785 10.4482 206.652 10.4482C206.52 10.4482 206.397 10.3758 206.331 10.2607C206.265 10.1455 206.265 10.001 206.331 9.88574C206.397 9.77069 206.52 9.69824 206.652 9.69824C206.785 9.69824 206.908 9.77069 206.974 9.88574C207.039 10.001 207.039 10.1455 206.974 10.2607Z\",fill:\"#E9DFF2\"})),_path1053||(_path1053=/*#__PURE__*/React.createElement(\"path\",{d:\"M204.386 8.77854C204.131 9.2153 203.662 9.48424 203.156 9.48424C202.65 9.48424 202.182 9.2153 201.927 8.77855C201.669 8.33728 201.666 7.79113 201.921 7.34778L201.933 7.32667C202.184 6.88841 202.651 6.61816 203.156 6.61816C203.662 6.61816 204.128 6.88842 204.38 7.32668L204.392 7.34779C204.647 7.79113 204.644 8.33728 204.386 8.77854Z\",fill:\"#E9DFF2\"})),_path1054||(_path1054=/*#__PURE__*/React.createElement(\"path\",{d:\"M199.982 6.21631C199.916 6.33136 199.793 6.40381 199.661 6.40381C199.528 6.40381 199.405 6.33136 199.339 6.21631C199.273 6.10102 199.273 5.9566 199.339 5.84131C199.405 5.72626 199.528 5.65381 199.661 5.65381C199.793 5.65381 199.916 5.72626 199.982 5.84131C200.048 5.9566 200.048 6.10102 199.982 6.21631Z\",fill:\"#E9DFF2\"})),_path1055||(_path1055=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.123 14.3693C158.036 14.5126 157.88 14.6 157.712 14.6H157.703C157.528 14.6 157.367 14.5051 157.282 14.352C157.201 14.2064 157.201 14.0294 157.282 13.8837C157.367 13.7307 157.528 13.6357 157.703 13.6357H157.712C157.88 13.6357 158.036 13.7231 158.123 13.8665C158.218 14.0208 158.218 14.215 158.123 14.3693Z\",fill:\"#E9DFF2\"})),_path1056||(_path1056=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.608 16.936C155.32 17.4297 154.784 17.7333 154.212 17.7333C153.634 17.7333 153.092 17.4221 152.806 16.9185C152.528 16.427 152.528 15.8254 152.806 15.3338C153.092 14.8303 153.634 14.519 154.212 14.519C154.784 14.519 155.32 14.8227 155.608 15.3164C155.9 15.8168 155.9 16.4356 155.608 16.936Z\",fill:\"#E9DFF2\"})),_path1057||(_path1057=/*#__PURE__*/React.createElement(\"path\",{d:\"M152.12 18.9451C151.837 19.4543 151.299 19.7699 150.716 19.7699C150.141 19.7699 149.609 19.4619 149.322 18.9625L149.313 18.9458C149.025 18.4448 149.028 17.8284 149.319 17.3295C149.608 16.8337 150.142 16.5288 150.716 16.5288C151.298 16.5288 151.838 16.8413 152.124 17.3469C152.402 17.8369 152.404 18.4362 152.13 18.9281L152.12 18.9451Z\",fill:\"#E9DFF2\"})),_path1058||(_path1058=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.617 20.9804C148.329 21.4742 147.793 21.7778 147.221 21.7778C146.642 21.7778 146.101 21.4665 145.815 20.963C145.537 20.4714 145.537 19.8698 145.815 19.3783C146.101 18.8747 146.642 18.5635 147.221 18.5635C147.793 18.5635 148.329 18.8671 148.617 19.3608C148.909 19.8612 148.909 20.48 148.617 20.9804Z\",fill:\"#E9DFF2\"})),_path1059||(_path1059=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.108 22.9897C144.82 23.4834 144.29 23.787 143.719 23.787C143.147 23.787 142.618 23.4834 142.33 22.9897C142.038 22.4893 142.038 21.8705 142.33 21.3701C142.618 20.8764 143.147 20.5728 143.719 20.5728C144.29 20.5728 144.82 20.8764 145.108 21.3701C145.4 21.8705 145.4 22.4893 145.108 22.9897Z\",fill:\"#E9DFF2\"})),_path1060||(_path1060=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.628 25.022C141.339 25.5177 140.804 25.8226 140.23 25.8226C139.649 25.8226 139.109 25.5101 138.822 25.0045C138.545 24.5145 138.543 23.9152 138.817 23.4233L138.826 23.4063C139.11 22.8971 139.647 22.5815 140.23 22.5815C140.806 22.5815 141.338 22.8895 141.624 23.3889L141.634 23.4056C141.921 23.9066 141.919 24.523 141.628 25.022Z\",fill:\"#E9DFF2\"})),_path1061||(_path1061=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.117 27.0341C137.829 27.5279 137.299 27.8315 136.728 27.8315C136.156 27.8315 135.627 27.5279 135.339 27.0341C135.047 26.5337 135.047 25.9149 135.339 25.4145C135.627 24.9208 136.156 24.6172 136.728 24.6172C137.299 24.6172 137.829 24.9208 138.117 25.4145C138.409 25.9149 138.409 26.5337 138.117 27.0341Z\",fill:\"#E9DFF2\"})),_path1062||(_path1062=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.633 29.0607C134.346 29.5601 133.815 29.868 133.239 29.868C132.656 29.868 132.119 29.5524 131.835 29.0433L131.826 29.0263C131.551 28.5343 131.553 27.935 131.831 27.4451C132.118 26.9395 132.658 26.627 133.239 26.627C133.813 26.627 134.348 26.9318 134.637 27.4276C134.928 27.9265 134.93 28.5429 134.643 29.0439L134.633 29.0607Z\",fill:\"#E9DFF2\"})),_path1063||(_path1063=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.127 31.0764C130.839 31.5707 130.309 31.8758 129.737 31.8758C129.164 31.8758 128.634 31.5707 128.346 31.0764C128.055 30.5775 128.052 29.9599 128.34 29.4589L128.353 29.4363C128.637 28.9405 129.165 28.6348 129.737 28.6348C130.308 28.6348 130.836 28.9405 131.121 29.4363L131.134 29.4589C131.421 29.9599 131.418 30.5775 131.127 31.0764Z\",fill:\"#E9DFF2\"})),_path1064||(_path1064=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 33.0883C127.356 33.5821 126.827 33.8857 126.256 33.8857H126.227C125.655 33.8857 125.127 33.5821 124.839 33.0883C124.547 32.5879 124.547 31.9691 124.839 31.4687C125.127 30.975 125.655 30.6714 126.227 30.6714H126.256C126.827 30.6714 127.356 30.975 127.644 31.4687C127.936 31.9691 127.936 32.5879 127.644 33.0883Z\",fill:\"#E9DFF2\"})),_path1065||(_path1065=/*#__PURE__*/React.createElement(\"path\",{d:\"M123.61 34.8059C123.431 35.1144 123.102 35.3043 122.746 35.3043C122.389 35.3043 122.06 35.1144 121.881 34.8059L121.874 34.7932C121.693 34.4803 121.695 34.094 121.88 33.7833C122.059 33.4808 122.385 33.2954 122.737 33.2954H122.754C123.106 33.2954 123.432 33.4808 123.611 33.7833C123.796 34.094 123.798 34.4803 123.617 34.7932L123.61 34.8059Z\",fill:\"#E9DFF2\"})),_path1066||(_path1066=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.099 42.5625C109.032 42.6794 108.908 42.7515 108.773 42.7515H108.753C108.619 42.7515 108.494 42.6794 108.428 42.5625C108.362 42.4472 108.362 42.3057 108.428 42.1904C108.494 42.0736 108.619 42.0015 108.753 42.0015H108.773C108.908 42.0015 109.032 42.0736 109.099 42.1904C109.165 42.3057 109.165 42.4472 109.099 42.5625Z\",fill:\"#E9DFF2\"})),_path1067||(_path1067=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 45.1953C106.382 45.689 105.854 45.9926 105.282 45.9926H105.253C104.682 45.9926 104.153 45.689 103.865 45.1953C103.573 44.6949 103.573 44.0761 103.865 43.5757C104.153 43.0819 104.682 42.7783 105.253 42.7783H105.282C105.854 42.7783 106.382 43.0819 106.67 43.5757C106.962 44.0761 106.962 44.6949 106.67 45.1953Z\",fill:\"#E9DFF2\"})),_path1068||(_path1068=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.309 46.7015C102.201 46.8928 101.998 47.011 101.778 47.011H101.766C101.547 47.011 101.344 46.8928 101.236 46.7015L101.232 46.6948C101.127 46.5093 101.129 46.2819 101.238 46.0984C101.345 45.917 101.54 45.8057 101.751 45.8057H101.794C102.005 45.8057 102.2 45.917 102.307 46.0984C102.415 46.2819 102.418 46.5093 102.313 46.6948L102.309 46.7015Z\",fill:\"#E9DFF2\"})),_path1069||(_path1069=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 49.2363C99.3924 49.7321 98.8617 50.037 98.2877 50.037H98.2665C97.6925 50.037 97.1618 49.7321 96.8725 49.2363C96.5815 48.7374 96.5824 48.1155 96.8699 47.6145C97.1585 47.1116 97.6972 46.7959 98.2771 46.7959C98.857 46.7959 99.3957 47.1116 99.6843 47.6145C99.9718 48.1155 99.9727 48.7374 99.6817 49.2363Z\",fill:\"#E9DFF2\"})),_path1070||(_path1070=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 51.249C95.8823 51.7427 95.3526 52.0463 94.781 52.0463C94.2094 52.0463 93.6798 51.7427 93.3918 51.249C93.0999 50.7486 93.0999 50.1298 93.3918 49.6294C93.6798 49.1356 94.2094 48.832 94.781 48.832C95.3526 48.832 95.8823 49.1356 96.1703 49.6294C96.4622 50.1298 96.4622 50.7486 96.1703 51.249Z\",fill:\"#E9DFF2\"})),_path1071||(_path1071=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.2559 57.0676C92.053 57.4084 91.6825 57.6172 91.2859 57.6172C90.8893 57.6172 90.5187 57.4084 90.3159 57.0676C90.1048 56.713 90.1048 56.2713 90.3159 55.9168C90.5187 55.576 90.8893 55.3672 91.2859 55.3672C91.6825 55.3672 92.053 55.576 92.2559 55.9168C92.4669 56.2713 92.4669 56.713 92.2559 57.0676Z\",fill:\"#E9DFF2\"})),_path1072||(_path1072=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M92.6109 61.3025C92.3379 61.774 91.8307 62.0643 91.2859 62.0643C90.7411 62.0643 90.2339 61.774 89.9609 61.3025C89.687 60.8293 89.687 60.2457 89.9609 59.7726C90.2339 59.3011 90.7411 59.0107 91.2859 59.0107C91.8307 59.0107 92.3379 59.3011 92.6109 59.7726C92.8849 60.2457 92.8849 60.8293 92.6109 61.3025Z\",fill:\"#802DF6\"})),_path1073||(_path1073=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M92.6904 65.3887C92.4012 65.8844 91.8704 66.1893 91.2965 66.1893H91.2753C90.7013 66.1893 90.1705 65.8844 89.8813 65.3887C89.5903 64.8897 89.5912 64.2679 89.8787 63.7669C90.1673 63.2639 90.706 62.9482 91.2859 62.9482C91.8658 62.9482 92.4045 63.2639 92.6931 63.7669C92.9806 64.2679 92.9815 64.8897 92.6904 65.3887Z\",fill:\"#802DF6\"})),_path1074||(_path1074=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M92.6931 69.4161C92.4045 69.9191 91.8658 70.2347 91.2859 70.2347C90.706 70.2347 90.1673 69.9191 89.8787 69.4161C89.5912 68.9151 89.5903 68.2932 89.8813 67.7943C90.1705 67.2985 90.7013 66.9937 91.2753 66.9937H91.2965C91.8704 66.9937 92.4012 67.2985 92.6904 67.7943C92.9815 68.2932 92.9806 68.9151 92.6931 69.4161Z\",fill:\"#802DF6\"})),_path1075||(_path1075=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M92.6885 73.4545C92.4005 73.9483 91.8719 74.2519 91.3003 74.2519H91.2715C90.6999 74.2519 90.1713 73.9483 89.8833 73.4545C89.5914 72.9541 89.5914 72.3354 89.8833 71.8349C90.1713 71.3412 90.6999 71.0376 91.2715 71.0376H91.3003C91.8719 71.0376 92.4005 71.3412 92.6885 71.8349C92.9804 72.3354 92.9804 72.9541 92.6885 73.4545Z\",fill:\"#802DF6\"})),_path1076||(_path1076=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6904 77.4961C92.4012 77.9919 91.8704 78.2967 91.2965 78.2967H91.2753C90.7013 78.2967 90.1705 77.9919 89.8813 77.4961C89.5903 76.9972 89.5912 76.3753 89.8787 75.8743C90.1673 75.3713 90.706 75.0557 91.2859 75.0557C91.8658 75.0557 92.4045 75.3713 92.6931 75.8743C92.9806 76.3753 92.9815 76.9972 92.6904 77.4961Z\",fill:\"#E9DFF2\"})),_path1077||(_path1077=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6931 81.5225C92.4045 82.0255 91.8658 82.3412 91.2859 82.3412C90.706 82.3412 90.1673 82.0255 89.8787 81.5225C89.5912 81.0215 89.5903 80.3997 89.8813 79.9008C90.1705 79.405 90.7013 79.1001 91.2753 79.1001H91.2965C91.8704 79.1001 92.4012 79.405 92.6904 79.9008C92.9815 80.3997 92.9806 81.0215 92.6931 81.5225Z\",fill:\"#E9DFF2\"})),_path1078||(_path1078=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6476 85.5256C92.3711 86.02 91.8456 86.3322 91.2791 86.3322C90.7197 86.3322 90.1997 86.0279 89.9204 85.5432C89.6405 85.0575 89.6394 84.4531 89.923 83.9695C90.203 83.4917 90.7153 83.1982 91.269 83.1982H91.2892C91.8501 83.1982 92.3678 83.4993 92.6452 83.9868C92.9153 84.4617 92.9143 85.0488 92.6476 85.5256Z\",fill:\"#E9DFF2\"})),_path1079||(_path1079=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.5243 88.9345C91.4759 89.0152 91.3887 89.0645 91.2946 89.0645H91.2765C91.1824 89.0645 91.0952 89.0152 91.0468 88.9345C90.9959 88.8497 90.9959 88.7437 91.0468 88.6589C91.0952 88.5782 91.1824 88.5288 91.2765 88.5288H91.2946C91.3887 88.5288 91.4759 88.5782 91.5243 88.6589C91.5752 88.7437 91.5752 88.8497 91.5243 88.9345Z\",fill:\"#E9DFF2\"})),_path1080||(_path1080=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.8067 105.244C91.6995 105.426 91.5045 105.537 91.2937 105.537H91.2774C91.0666 105.537 90.8715 105.426 90.7643 105.244C90.6559 105.061 90.6537 104.833 90.7586 104.648L90.766 104.635C90.8719 104.447 91.0704 104.332 91.2855 104.332C91.5007 104.332 91.6992 104.447 91.8051 104.635L91.8125 104.648C91.9173 104.833 91.9152 105.061 91.8067 105.244Z\",fill:\"#E9DFF2\"})),_path1081||(_path1081=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.6528 109.208C91.5749 109.34 91.4328 109.422 91.2792 109.422C91.1186 109.422 90.9712 109.333 90.8961 109.191L90.8882 109.176C90.8189 109.045 90.8209 108.888 90.8935 108.759C90.9705 108.622 91.1154 108.538 91.2725 108.538H91.2858C91.4359 108.538 91.5754 108.615 91.655 108.742C91.741 108.88 91.7434 109.054 91.6611 109.194L91.6528 109.208Z\",fill:\"#E9DFF2\"})),_path1082||(_path1082=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.0528 113.482C91.893 113.754 91.6012 113.921 91.2859 113.921C90.9705 113.921 90.6788 113.754 90.5189 113.482L90.5109 113.468C90.3448 113.186 90.3471 112.835 90.5169 112.555C90.6783 112.289 90.9672 112.126 91.2786 112.126H91.2931C91.6045 112.126 91.8934 112.289 92.0548 112.555C92.2246 112.835 92.2269 113.186 92.0608 113.468L92.0528 113.482Z\",fill:\"#E9DFF2\"})),_path1083||(_path1083=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6128 121.862C92.3387 122.335 91.833 122.627 91.2859 122.627C90.7388 122.627 90.2332 122.335 89.9591 121.862C89.686 121.39 89.6838 120.809 89.9533 120.335L89.9649 120.315C90.2351 119.84 90.7395 119.546 91.2859 119.546C91.8324 119.546 92.3367 119.84 92.607 120.315L92.6185 120.335C92.8881 120.809 92.8859 121.39 92.6128 121.862Z\",fill:\"#E9DFF2\"})),_path1084||(_path1084=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6931 125.933C92.4045 126.436 91.8658 126.751 91.2859 126.751C90.706 126.751 90.1673 126.436 89.8787 125.933C89.5912 125.432 89.5903 124.81 89.8813 124.311C90.1705 123.815 90.7013 123.51 91.2753 123.51H91.2965C91.8704 123.51 92.4012 123.815 92.6904 124.311C92.9815 124.81 92.9806 125.432 92.6931 125.933Z\",fill:\"#E9DFF2\"})),_path1085||(_path1085=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6885 129.973C92.4005 130.466 91.8719 130.77 91.3003 130.77H91.2715C90.6999 130.77 90.1713 130.466 89.8833 129.973C89.5914 129.472 89.5914 128.853 89.8833 128.353C90.1713 127.859 90.6999 127.556 91.2715 127.556H91.3003C91.8719 127.556 92.4005 127.859 92.6885 128.353C92.9804 128.853 92.9804 129.472 92.6885 129.973Z\",fill:\"#E9DFF2\"})),_path1086||(_path1086=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6904 134.014C92.4012 134.509 91.8704 134.814 91.2965 134.814H91.2753C90.7013 134.814 90.1705 134.509 89.8813 134.014C89.5903 133.515 89.5912 132.893 89.8787 132.392C90.1673 131.889 90.706 131.573 91.2859 131.573C91.8658 131.573 92.4045 131.889 92.6931 132.392C92.9806 132.893 92.9815 133.515 92.6904 134.014Z\",fill:\"#E9DFF2\"})),_path1087||(_path1087=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6931 138.04C92.4045 138.543 91.8658 138.859 91.2859 138.859C90.706 138.859 90.1673 138.543 89.8787 138.04C89.5912 137.539 89.5903 136.917 89.8813 136.418C90.1705 135.923 90.7013 135.618 91.2753 135.618H91.2965C91.8704 135.618 92.4012 135.923 92.6904 136.418C92.9815 136.917 92.9806 137.539 92.6931 138.04Z\",fill:\"#E9DFF2\"})),_path1088||(_path1088=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6885 142.079C92.4005 142.573 91.8719 142.876 91.3003 142.876H91.2715C90.6999 142.876 90.1713 142.573 89.8833 142.079C89.5914 141.579 89.5914 140.96 89.8833 140.459C90.1713 139.966 90.6999 139.662 91.2715 139.662H91.3003C91.8719 139.662 92.4005 139.966 92.6885 140.459C92.9804 140.96 92.9804 141.579 92.6885 142.079Z\",fill:\"#E9DFF2\"})),_path1089||(_path1089=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6904 146.121C92.4012 146.616 91.8704 146.921 91.2965 146.921H91.2753C90.7013 146.921 90.1705 146.616 89.8813 146.121C89.5903 145.622 89.5912 145 89.8787 144.499C90.1673 143.996 90.706 143.68 91.2859 143.68C91.8658 143.68 92.4045 143.996 92.6931 144.499C92.9806 145 92.9815 145.622 92.6904 146.121Z\",fill:\"#E9DFF2\"})),_path1090||(_path1090=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6931 150.147C92.4045 150.65 91.8658 150.966 91.2859 150.966C90.706 150.966 90.1673 150.65 89.8787 150.147C89.5912 149.646 89.5903 149.024 89.8813 148.525C90.1705 148.029 90.7013 147.725 91.2753 147.725H91.2965C91.8704 147.725 92.4012 148.029 92.6904 148.525C92.9815 149.024 92.9806 149.646 92.6931 150.147Z\",fill:\"#E9DFF2\"})),_path1091||(_path1091=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6885 154.186C92.4005 154.68 91.8719 154.984 91.3003 154.984H91.2715C90.6999 154.984 90.1713 154.68 89.8833 154.186C89.5914 153.686 89.5914 153.067 89.8833 152.567C90.1713 152.073 90.6999 151.77 91.2715 151.77H91.3003C91.8719 151.77 92.4005 152.073 92.6885 152.567C92.9804 153.067 92.9804 153.686 92.6885 154.186Z\",fill:\"#E9DFF2\"})),_path1092||(_path1092=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6885 158.231C92.4005 158.725 91.8719 159.028 91.3003 159.028H91.2715C90.6999 159.028 90.1713 158.725 89.8833 158.231C89.5914 157.73 89.5914 157.112 89.8833 156.611C90.1713 156.118 90.6999 155.814 91.2715 155.814H91.3003C91.8719 155.814 92.4005 156.118 92.6885 156.611C92.9804 157.112 92.9804 157.73 92.6885 158.231Z\",fill:\"#E9DFF2\"})),_path1093||(_path1093=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.9228 168.171C95.6891 168.58 95.2525 168.832 94.7815 168.832C94.3105 168.832 93.8738 168.58 93.6402 168.171C93.4096 167.767 93.4096 167.272 93.6402 166.868C93.8738 166.459 94.3105 166.207 94.7815 166.207C95.2525 166.207 95.6891 166.459 95.9227 166.868C96.1533 167.272 96.1533 167.767 95.9228 168.171Z\",fill:\"#E9DFF2\"})),_path1094||(_path1094=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 170.338C99.3917 170.832 98.8631 171.136 98.2915 171.136H98.2627C97.6911 171.136 97.1625 170.832 96.8745 170.338C96.5826 169.838 96.5826 169.219 96.8745 168.719C97.1625 168.225 97.6911 167.921 98.2627 167.921H98.2915C98.8631 167.921 99.3917 168.225 99.6797 168.719C99.9716 169.219 99.9716 169.838 99.6797 170.338Z\",fill:\"#E9DFF2\"})),_path1095||(_path1095=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 172.37C102.872 172.866 102.344 173.171 101.772 173.171C101.201 173.171 100.673 172.866 100.388 172.37L100.375 172.347C100.088 171.846 100.091 171.229 100.382 170.73C100.67 170.235 101.2 169.93 101.772 169.93C102.344 169.93 102.874 170.235 103.163 170.73C103.454 171.229 103.457 171.846 103.169 172.347L103.156 172.37Z\",fill:\"#E9DFF2\"})),_path1096||(_path1096=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 174.38C106.383 174.876 105.852 175.181 105.278 175.181H105.257C104.683 175.181 104.152 174.876 103.863 174.38C103.572 173.881 103.573 173.259 103.861 172.758C104.149 172.255 104.688 171.939 105.268 171.939C105.848 171.939 106.386 172.255 106.675 172.758C106.962 173.259 106.963 173.881 106.672 174.38Z\",fill:\"#E9DFF2\"})),_path1097||(_path1097=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 176.392C109.864 176.886 109.335 177.189 108.763 177.189C108.192 177.189 107.662 176.886 107.374 176.392C107.082 175.892 107.082 175.273 107.374 174.772C107.662 174.279 108.192 173.975 108.763 173.975C109.335 173.975 109.864 174.279 110.152 174.772C110.444 175.273 110.444 175.892 110.152 176.392Z\",fill:\"#E9DFF2\"})),_path1098||(_path1098=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M113.666 178.407C113.378 178.91 112.839 179.225 112.259 179.225C111.679 179.225 111.141 178.91 110.852 178.407C110.565 177.906 110.564 177.284 110.855 176.785C111.144 176.289 111.675 175.984 112.249 175.984H112.27C112.844 175.984 113.375 176.289 113.664 176.785C113.955 177.284 113.954 177.906 113.666 178.407Z\",fill:\"#802DF6\"})),_path1099||(_path1099=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.137 180.413C116.853 180.905 116.322 181.208 115.755 181.208C115.187 181.208 114.656 180.905 114.373 180.413C114.092 179.926 114.094 179.32 114.371 178.831C114.653 178.334 115.184 178.02 115.755 178.02C116.326 178.02 116.857 178.334 117.138 178.831C117.416 179.32 117.417 179.926 117.137 180.413Z\",fill:\"#E9DFF2\"})),_path1100||(_path1100=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.714 115.711C284.477 116.128 284.034 116.386 283.554 116.386C283.073 116.386 282.63 116.128 282.393 115.711L282.382 115.692C282.145 115.276 282.148 114.765 282.388 114.351C282.629 113.936 283.074 113.681 283.554 113.681C284.033 113.681 284.479 113.936 284.719 114.351C284.959 114.765 284.962 115.276 284.725 115.692L284.714 115.711Z\",fill:\"#E9DFF2\"})),_path1101||(_path1101=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 111.809C284.669 112.304 284.139 112.609 283.567 112.609C282.995 112.609 282.465 112.304 282.177 111.809C281.886 111.31 281.883 110.693 282.17 110.192L282.183 110.169C282.468 109.673 282.996 109.368 283.567 109.368C284.139 109.368 284.667 109.673 284.951 110.169L284.964 110.192C285.252 110.693 285.249 111.31 284.958 111.809Z\",fill:\"#E9DFF2\"})),_path1102||(_path1102=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 107.767C284.668 108.261 284.139 108.564 283.567 108.564C282.996 108.564 282.466 108.261 282.178 107.767C281.886 107.267 281.886 106.648 282.178 106.147C282.466 105.654 282.996 105.35 283.567 105.35C284.139 105.35 284.668 105.654 284.956 106.147C285.248 106.648 285.248 107.267 284.956 107.767Z\",fill:\"#E9DFF2\"})),_path1103||(_path1103=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.951 103.745C284.667 104.24 284.139 104.546 283.567 104.546C282.996 104.546 282.468 104.24 282.183 103.745L282.17 103.722C281.883 103.221 281.886 102.604 282.177 102.105C282.465 101.61 282.995 101.305 283.567 101.305C284.139 101.305 284.669 101.61 284.958 102.105C285.249 102.604 285.252 103.221 284.964 103.722L284.951 103.745Z\",fill:\"#E9DFF2\"})),_path1104||(_path1104=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 99.7024C284.669 100.197 284.139 100.502 283.567 100.502C282.995 100.502 282.465 100.197 282.177 99.7024C281.886 99.2035 281.883 98.5858 282.17 98.0848L282.183 98.0623C282.468 97.5665 282.996 97.2607 283.567 97.2607C284.139 97.2607 284.667 97.5665 284.951 98.0623L284.964 98.0848C285.252 98.5858 285.249 99.2035 284.958 99.7024Z\",fill:\"#E9DFF2\"})),_path1105||(_path1105=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 95.6601C284.668 96.1538 284.139 96.4575 283.567 96.4575C282.996 96.4575 282.466 96.1538 282.178 95.6601C281.886 95.1597 281.886 94.5409 282.178 94.0405C282.466 93.5468 282.996 93.2432 283.567 93.2432C284.139 93.2432 284.668 93.5468 284.956 94.0405C285.248 94.5409 285.248 95.1597 284.956 95.6601Z\",fill:\"#E9DFF2\"})),_path1106||(_path1106=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 91.6152C284.668 92.1089 284.139 92.4125 283.567 92.4125C282.996 92.4125 282.466 92.1089 282.178 91.6152C281.886 91.1148 281.886 90.496 282.178 89.9956C282.466 89.5018 282.996 89.1982 283.567 89.1982C284.139 89.1982 284.668 89.5018 284.956 89.9956C285.248 90.496 285.248 91.1148 284.956 91.6152Z\",fill:\"#E9DFF2\"})),_path1107||(_path1107=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 87.5954C284.669 88.0897 284.139 88.3949 283.567 88.3949C282.995 88.3949 282.465 88.0897 282.177 87.5954C281.886 87.0965 281.883 86.4789 282.17 85.9779L282.183 85.9554C282.468 85.4596 282.996 85.1538 283.567 85.1538C284.139 85.1538 284.667 85.4596 284.951 85.9554L284.964 85.9779C285.252 86.4789 285.249 87.0965 284.958 87.5954Z\",fill:\"#E9DFF2\"})),_path1108||(_path1108=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 83.5522C284.668 84.0459 284.139 84.3495 283.567 84.3495C282.996 84.3495 282.466 84.0459 282.178 83.5522C281.886 83.0518 281.886 82.433 282.178 81.9326C282.466 81.4389 282.996 81.1353 283.567 81.1353C284.139 81.1353 284.668 81.4389 284.956 81.9326C285.248 82.433 285.248 83.0518 284.956 83.5522Z\",fill:\"#E9DFF2\"})),_path1109||(_path1109=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 79.5082C284.668 80.002 284.139 80.3056 283.567 80.3056C282.996 80.3056 282.466 80.002 282.178 79.5082C281.886 79.0078 281.886 78.3891 282.178 77.8887C282.466 77.3949 282.996 77.0913 283.567 77.0913C284.139 77.0913 284.668 77.3949 284.956 77.8887C285.248 78.3891 285.248 79.0078 284.956 79.5082Z\",fill:\"#E9DFF2\"})),_path1110||(_path1110=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.951 75.4859C284.667 75.9817 284.139 76.2875 283.567 76.2875C282.996 76.2875 282.468 75.9817 282.183 75.4859L282.17 75.4634C281.883 74.9624 281.886 74.3447 282.177 73.8458C282.465 73.3515 282.995 73.0464 283.567 73.0464C284.139 73.0464 284.669 73.3515 284.958 73.8458C285.249 74.3447 285.252 74.9624 284.964 75.4634L284.951 75.4859Z\",fill:\"#E9DFF2\"})),_path1111||(_path1111=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 71.4426C284.669 71.9369 284.139 72.2421 283.567 72.2421C282.995 72.2421 282.465 71.9369 282.177 71.4426C281.886 70.9437 281.883 70.3261 282.17 69.8251L282.183 69.8025C282.468 69.3067 282.996 69.001 283.567 69.001C284.139 69.001 284.667 69.3067 284.951 69.8025L284.964 69.8251C285.252 70.3261 285.249 70.9437 284.958 71.4426Z\",fill:\"#E9DFF2\"})),_path1112||(_path1112=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 67.4008C284.668 67.8946 284.139 68.1982 283.567 68.1982C282.996 68.1982 282.466 67.8946 282.178 67.4008C281.886 66.9004 281.886 66.2816 282.178 65.7812C282.466 65.2875 282.996 64.9839 283.567 64.9839C284.139 64.9839 284.668 65.2875 284.956 65.7812C285.248 66.2816 285.248 66.9004 284.956 67.4008Z\",fill:\"#E9DFF2\"})),_path1113||(_path1113=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.951 63.3785C284.667 63.8743 284.139 64.18 283.567 64.18C282.996 64.18 282.468 63.8743 282.183 63.3785L282.17 63.3559C281.883 62.855 281.886 62.2373 282.177 61.7384C282.465 61.2441 282.995 60.939 283.567 60.939C284.139 60.939 284.669 61.2441 284.958 61.7384C285.249 62.2373 285.252 62.855 284.964 63.3559L284.951 63.3785Z\",fill:\"#E9DFF2\"})),_path1114||(_path1114=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 59.3357C284.669 59.83 284.139 60.1351 283.567 60.1351C282.995 60.1351 282.465 59.83 282.177 59.3357C281.886 58.8368 281.883 58.2191 282.17 57.7181L282.183 57.6956C282.468 57.1998 282.996 56.894 283.567 56.894C284.139 56.894 284.667 57.1998 284.951 57.6956L284.964 57.7181C285.252 58.2191 285.249 58.8368 284.958 59.3357Z\",fill:\"#E9DFF2\"})),_path1115||(_path1115=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 55.2929C284.668 55.7867 284.139 56.0903 283.567 56.0903C282.996 56.0903 282.466 55.7867 282.178 55.2929C281.886 54.7925 281.886 54.1737 282.178 53.6733C282.466 53.1796 282.996 52.876 283.567 52.876C284.139 52.876 284.668 53.1796 284.956 53.6733C285.248 54.1737 285.248 54.7925 284.956 55.2929Z\",fill:\"#E9DFF2\"})),_path1116||(_path1116=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 51.249C284.668 51.7427 284.139 52.0463 283.567 52.0463C282.996 52.0463 282.466 51.7427 282.178 51.249C281.886 50.7486 281.886 50.1298 282.178 49.6294C282.466 49.1356 282.996 48.832 283.567 48.832C284.139 48.832 284.668 49.1356 284.956 49.6294C285.248 50.1298 285.248 50.7486 284.956 51.249Z\",fill:\"#E9DFF2\"})),_path1117||(_path1117=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 49.2189C281.186 49.7245 280.646 50.037 280.065 50.037C279.491 50.037 278.956 49.7321 278.667 49.2363C278.376 48.7374 278.374 48.121 278.661 47.62L278.671 47.6033C278.958 47.1039 279.489 46.7959 280.065 46.7959C280.648 46.7959 281.185 47.1115 281.469 47.6206L281.478 47.6377C281.753 48.1296 281.751 48.7289 281.473 49.2189Z\",fill:\"#E9DFF2\"})),_path1118||(_path1118=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.96 47.2266C277.676 47.7224 277.148 48.0282 276.576 48.0282C276.005 48.0282 275.477 47.7224 275.192 47.2266L275.179 47.2041C274.892 46.7031 274.895 46.0855 275.186 45.5865C275.474 45.0923 276.004 44.7871 276.576 44.7871C277.148 44.7871 277.678 45.0923 277.967 45.5865C278.258 46.0855 278.261 46.7031 277.973 47.2041L277.96 47.2266Z\",fill:\"#E9DFF2\"})),_path1119||(_path1119=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 45.1778C274.194 45.6814 273.652 45.9926 273.074 45.9926C272.502 45.9926 271.966 45.689 271.678 45.1953C271.386 44.6949 271.386 44.0761 271.678 43.5757C271.966 43.0819 272.502 42.7783 273.074 42.7783C273.652 42.7783 274.194 43.0895 274.48 43.5931C274.758 44.0846 274.758 44.6863 274.48 45.1778Z\",fill:\"#E9DFF2\"})),_path1120||(_path1120=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 43.1831C270.686 43.6789 270.152 43.9838 269.578 43.9838C268.997 43.9838 268.457 43.6713 268.17 43.1656C267.892 42.6757 267.89 42.0764 268.164 41.5844L268.174 41.5674C268.458 41.0583 268.995 40.7427 269.578 40.7427C270.154 40.7427 270.685 41.0506 270.972 41.55L270.981 41.5668C271.269 42.0678 271.267 42.6842 270.976 43.1831Z\",fill:\"#E9DFF2\"})),_path1121||(_path1121=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 41.1502C267.203 41.6594 266.666 41.975 266.083 41.975C265.507 41.975 264.975 41.667 264.689 41.1676L264.679 41.1509C264.392 40.6499 264.394 40.0335 264.685 39.5346C264.974 39.0388 265.509 38.7339 266.083 38.7339C266.664 38.7339 267.204 39.0464 267.491 39.552C267.768 40.042 267.77 40.6413 267.496 41.1332L267.487 41.1502Z\",fill:\"#E9DFF2\"})),_path1122||(_path1122=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 39.1415C263.695 39.6353 263.159 39.9389 262.587 39.9389C262.009 39.9389 261.467 39.6277 261.181 39.1241C260.903 38.6326 260.903 38.0309 261.181 37.5394C261.467 37.0358 262.009 36.7246 262.587 36.7246C263.159 36.7246 263.695 37.0282 263.983 37.522C264.275 38.0224 264.275 38.6411 263.983 39.1415Z\",fill:\"#E9DFF2\"})),_path1123||(_path1123=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.499 37.1124C260.213 37.618 259.673 37.9305 259.092 37.9305C258.518 37.9305 257.983 37.6257 257.694 37.1299C257.403 36.6309 257.401 36.0145 257.688 35.5136L257.698 35.4968C257.984 34.9974 258.516 34.6895 259.092 34.6895C259.675 34.6895 260.212 35.005 260.496 35.5142L260.505 35.5312C260.779 36.0231 260.777 36.6224 260.499 37.1124Z\",fill:\"#E9DFF2\"})),_path1124||(_path1124=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.99 35.1139C256.704 35.6133 256.172 35.9212 255.596 35.9212C255.013 35.9212 254.476 35.6057 254.192 35.0965L254.183 35.0795C253.909 34.5876 253.911 33.9883 254.188 33.4983C254.475 32.9927 255.015 32.6802 255.596 32.6802C256.17 32.6802 256.705 32.985 256.994 33.4808C257.285 33.9798 257.287 34.5962 257 35.0971L256.99 35.1139Z\",fill:\"#E9DFF2\"})),_path1125||(_path1125=/*#__PURE__*/React.createElement(\"path\",{d:\"M253.428 33.0275C253.159 33.5072 252.651 33.8055 252.1 33.8055C251.558 33.8055 251.055 33.5149 250.783 33.0451C250.509 32.5719 250.509 31.9856 250.783 31.5124C251.055 31.0426 251.558 30.752 252.1 30.752C252.651 30.752 253.159 31.0503 253.428 31.53C253.689 31.9942 253.689 32.5633 253.428 33.0275Z\",fill:\"#E9DFF2\"})),_path1126||(_path1126=/*#__PURE__*/React.createElement(\"path\",{d:\"M249.956 31.0372C249.68 31.5226 249.164 31.8225 248.605 31.8225C248.054 31.8225 247.543 31.5302 247.264 31.0546C246.98 30.5694 246.98 29.9684 247.264 29.4832C247.543 29.0076 248.054 28.7153 248.605 28.7153C249.164 28.7153 249.68 29.0152 249.956 29.5006C250.227 29.977 250.227 30.5608 249.956 31.0372Z\",fill:\"#E9DFF2\"})),_path1127||(_path1127=/*#__PURE__*/React.createElement(\"path\",{d:\"M246.371 28.9772C246.111 29.4252 245.628 29.7068 245.11 29.7068C244.584 29.7068 244.096 29.4174 243.838 28.9597C243.587 28.5132 243.585 27.9612 243.84 27.5167C244.1 27.0654 244.58 26.7871 245.101 26.7871H245.119C245.632 26.7871 246.107 27.0579 246.369 27.4995C246.638 27.9527 246.636 28.5219 246.371 28.9772Z\",fill:\"#E9DFF2\"})),_path1128||(_path1128=/*#__PURE__*/React.createElement(\"path\",{d:\"M235.812 22.8558C235.57 23.2828 235.114 23.5466 234.623 23.5466C234.139 23.5466 233.689 23.2904 233.443 22.8732C233.192 22.4456 233.192 21.9154 233.443 21.4879C233.689 21.0706 234.139 20.8145 234.623 20.8145C235.114 20.8145 235.57 21.0782 235.812 21.5053C236.05 21.924 236.05 22.4371 235.812 22.8558Z\",fill:\"#E9DFF2\"})),_path1129||(_path1129=/*#__PURE__*/React.createElement(\"path\",{d:\"M231.344 20.3127C231.297 20.3911 231.212 20.439 231.121 20.439C231.029 20.439 230.945 20.3911 230.898 20.3127L230.895 20.309C230.845 20.2242 230.845 20.1182 230.895 20.0334L230.898 20.0297C230.945 19.9513 231.029 19.9033 231.121 19.9033C231.212 19.9033 231.297 19.9513 231.344 20.0297L231.346 20.0334C231.397 20.1182 231.397 20.2242 231.346 20.309L231.344 20.3127Z\",fill:\"#E9DFF2\"})),_path1130||(_path1130=/*#__PURE__*/React.createElement(\"path\",{d:\"M162.526 8.84266C162.25 9.30651 161.743 9.59061 161.203 9.59061C160.656 9.59061 160.144 9.29904 159.869 8.82549C159.596 8.3538 159.598 7.76534 159.868 7.29161C160.14 6.81312 160.652 6.51025 161.203 6.51025C161.746 6.51025 162.253 6.80535 162.528 7.27418C162.811 7.75672 162.813 8.36229 162.526 8.84266Z\",fill:\"#E9DFF2\"})),_path1131||(_path1131=/*#__PURE__*/React.createElement(\"path\",{d:\"M159.01 10.8424C158.74 11.3087 158.24 11.6 157.701 11.6C157.162 11.6 156.662 11.3087 156.392 10.8424C156.118 10.3692 156.118 9.77715 156.392 9.30395C156.662 8.83767 157.162 8.54639 157.701 8.54639C158.24 8.54639 158.74 8.83767 159.01 9.30395C159.284 9.77715 159.284 10.3692 159.01 10.8424Z\",fill:\"#E9DFF2\"})),_path1132||(_path1132=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.606 12.9083C155.32 13.4077 154.788 13.7157 154.212 13.7157C153.629 13.7157 153.092 13.4001 152.808 12.891L152.799 12.8739C152.525 12.382 152.527 11.7827 152.805 11.2927C153.091 10.7871 153.631 10.4746 154.212 10.4746C154.786 10.4746 155.321 10.7795 155.61 11.2753C155.901 11.7742 155.903 12.3906 155.616 12.8916L155.606 12.9083Z\",fill:\"#E9DFF2\"})),_path1133||(_path1133=/*#__PURE__*/React.createElement(\"path\",{d:\"M152.124 14.9068C151.838 15.4125 151.298 15.725 150.716 15.725C150.142 15.725 149.608 15.4201 149.319 14.9243C149.028 14.4254 149.025 13.809 149.313 13.308L149.322 13.2912C149.609 12.7919 150.141 12.4839 150.716 12.4839C151.299 12.4839 151.837 12.7995 152.12 13.3086L152.13 13.3257C152.404 13.8176 152.402 14.4169 152.124 14.9068Z\",fill:\"#E9DFF2\"})),_path1134||(_path1134=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.617 16.936C148.329 17.4297 147.793 17.7333 147.221 17.7333C146.642 17.7333 146.101 17.4221 145.815 16.9185C145.537 16.427 145.537 15.8254 145.815 15.3339C146.101 14.8303 146.642 14.519 147.221 14.519C147.793 14.519 148.329 14.8227 148.617 15.3164C148.909 15.8168 148.909 16.4356 148.617 16.936Z\",fill:\"#E9DFF2\"})),_path1135||(_path1135=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.103 18.9683C144.818 19.4641 144.29 19.7699 143.719 19.7699C143.147 19.7699 142.619 19.4641 142.335 18.9683L142.322 18.9458C142.034 18.4448 142.037 17.8272 142.328 17.3282C142.617 16.834 143.147 16.5288 143.719 16.5288C144.291 16.5288 144.821 16.834 145.109 17.3282C145.4 17.8272 145.403 18.4448 145.116 18.9458L145.103 18.9683Z\",fill:\"#E9DFF2\"})),_path1136||(_path1136=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.626 20.9804C141.338 21.4742 140.802 21.7778 140.23 21.7778C139.651 21.7778 139.11 21.4665 138.824 20.963C138.546 20.4715 138.546 19.8698 138.824 19.3783C139.11 18.8747 139.651 18.5635 140.23 18.5635C140.802 18.5635 141.338 18.8671 141.626 19.3608C141.918 19.8612 141.918 20.48 141.626 20.9804Z\",fill:\"#E9DFF2\"})),_path1137||(_path1137=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.117 22.9897C137.829 23.4834 137.299 23.787 136.728 23.787C136.156 23.787 135.627 23.4834 135.339 22.9897C135.047 22.4893 135.047 21.8705 135.339 21.3701C135.627 20.8764 136.156 20.5728 136.728 20.5728C137.299 20.5728 137.829 20.8764 138.117 21.3701C138.409 21.8705 138.409 22.4893 138.117 22.9897Z\",fill:\"#E9DFF2\"})),_path1138||(_path1138=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.637 25.022C134.348 25.5177 133.813 25.8226 133.239 25.8226C132.658 25.8226 132.118 25.5101 131.831 25.0045C131.553 24.5145 131.551 23.9152 131.826 23.4233L131.835 23.4063C132.119 22.8971 132.656 22.5815 133.239 22.5815C133.815 22.5815 134.346 22.8895 134.633 23.3889L134.643 23.4056C134.93 23.9066 134.928 24.523 134.637 25.022Z\",fill:\"#E9DFF2\"})),_path1139||(_path1139=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 27.0341C130.838 27.5279 130.308 27.8315 129.737 27.8315C129.165 27.8315 128.635 27.5279 128.347 27.0341C128.055 26.5337 128.055 25.9149 128.347 25.4145C128.635 24.9208 129.165 24.6172 129.737 24.6172C130.308 24.6172 130.838 24.9208 131.126 25.4145C131.418 25.9149 131.418 26.5337 131.126 27.0341Z\",fill:\"#E9DFF2\"})),_path1140||(_path1140=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.648 29.0494C127.36 29.5524 126.821 29.868 126.241 29.868C125.661 29.868 125.123 29.5524 124.834 29.0494C124.547 28.5484 124.546 27.9265 124.837 27.4276C125.126 26.9318 125.657 26.627 126.231 26.627H126.252C126.826 26.627 127.357 26.9318 127.646 27.4276C127.937 27.9265 127.936 28.5484 127.648 29.0494Z\",fill:\"#E9DFF2\"})),_path1141||(_path1141=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.008 30.9859C123.749 31.4372 123.266 31.7155 122.746 31.7155C122.225 31.7155 121.742 31.4372 121.483 30.9859C121.228 30.5415 121.226 29.9955 121.477 29.5491L121.488 29.5309C121.744 29.0768 122.224 28.7959 122.746 28.7959C123.267 28.7959 123.748 29.0768 124.004 29.5309L124.014 29.5491C124.266 29.9955 124.263 30.5415 124.008 30.9859Z\",fill:\"#E9DFF2\"})),_path1142||(_path1142=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.052 36.7611C112.893 37.0371 112.599 37.2072 112.28 37.2072H112.238C111.92 37.2072 111.626 37.0371 111.467 36.7611C111.31 36.4896 111.31 36.1526 111.463 35.8791C111.623 35.5932 111.932 35.4126 112.259 35.4126C112.587 35.4126 112.896 35.5932 113.056 35.8791C113.208 36.1526 113.208 36.4896 113.052 36.7611Z\",fill:\"#E9DFF2\"})),_path1143||(_path1143=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 39.1415C109.864 39.6353 109.335 39.9389 108.763 39.9389C108.192 39.9389 107.662 39.6353 107.374 39.1415C107.082 38.6411 107.082 38.0224 107.374 37.522C107.662 37.0282 108.192 36.7246 108.763 36.7246C109.335 36.7246 109.864 37.0282 110.152 37.522C110.444 38.0224 110.444 38.6411 110.152 39.1415Z\",fill:\"#E9DFF2\"})),_path1144||(_path1144=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.675 41.1563C106.386 41.6593 105.848 41.975 105.268 41.975C104.688 41.975 104.149 41.6593 103.861 41.1563C103.573 40.6553 103.572 40.0335 103.863 39.5346C104.152 39.0388 104.683 38.7339 105.257 38.7339H105.278C105.852 38.7339 106.383 39.0388 106.672 39.5346C106.963 40.0335 106.962 40.6553 106.675 41.1563Z\",fill:\"#E9DFF2\"})),_path1145||(_path1145=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 43.1865C102.873 43.6802 102.344 43.9838 101.772 43.9838C101.201 43.9838 100.671 43.6802 100.383 43.1865C100.091 42.6861 100.091 42.0673 100.383 41.5669C100.671 41.0731 101.201 40.7695 101.772 40.7695C102.344 40.7695 102.873 41.0731 103.161 41.5669C103.453 42.0673 103.453 42.6861 103.161 43.1865Z\",fill:\"#E9DFF2\"})),_path1146||(_path1146=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1651 47.1899C95.8835 47.6867 95.3525 48.001 94.7814 48.001C94.2102 48.001 93.6792 47.6867 93.3976 47.1899C93.1206 46.7009 93.1188 46.095 93.3993 45.6081C93.6827 45.1164 94.2139 44.8135 94.7814 44.8135C95.3488 44.8135 95.88 45.1164 96.1634 45.6081C96.444 46.095 96.4422 46.7009 96.1651 47.1899Z\",fill:\"#E9DFF2\"})),_path1147||(_path1147=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.698 59.0558C88.509 59.3764 88.1624 59.5731 87.7903 59.5731C87.4181 59.5731 87.0716 59.3764 86.8825 59.0558C86.6903 58.7299 86.6881 58.3258 86.8767 57.9977L86.8872 57.9795C87.073 57.6563 87.4174 57.457 87.7903 57.457C88.1631 57.457 88.5075 57.6563 88.6934 57.9795L88.7038 57.9977C88.8925 58.3258 88.8902 58.7299 88.698 59.0558Z\",fill:\"#E9DFF2\"})),_path1148||(_path1148=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M89.1336 63.3156C88.8593 63.7977 88.3448 64.0999 87.79 64.0999C87.2353 64.0999 86.7208 63.7977 86.4465 63.3156C86.1769 62.8418 86.1767 62.2563 86.4497 61.7847C86.7239 61.3111 87.2296 61.0195 87.7768 61.0195H87.8033C88.3504 61.0195 88.8562 61.3111 89.1303 61.7847C89.4034 62.2563 89.4031 62.8418 89.1336 63.3156Z\",fill:\"#802DF6\"})),_path1149||(_path1149=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M89.1793 67.4008C88.8913 67.8946 88.3617 68.1982 87.7901 68.1982C87.2185 68.1982 86.6889 67.8946 86.4008 67.4008C86.1089 66.9004 86.1089 66.2816 86.4008 65.7812C86.6889 65.2875 87.2185 64.9839 87.7901 64.9839C88.3617 64.9839 88.8913 65.2875 89.1793 65.7812C89.4712 66.2816 89.4712 66.9004 89.1793 67.4008Z\",fill:\"#802DF6\"})),_path1150||(_path1150=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M89.1805 71.4426C88.8922 71.9369 88.3623 72.2421 87.7901 72.2421C87.2178 72.2421 86.688 71.9369 86.3996 71.4426C86.1086 70.9437 86.1057 70.3261 86.3931 69.8251L86.4061 69.8025C86.6905 69.3067 87.2185 69.001 87.7901 69.001C88.3617 69.001 88.8896 69.3067 89.1741 69.8025L89.187 69.8251C89.4745 70.3261 89.4716 70.9437 89.1805 71.4426Z\",fill:\"#802DF6\"})),_path1151||(_path1151=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1741 75.4859C88.8896 75.9817 88.3617 76.2875 87.7901 76.2875C87.2185 76.2875 86.6905 75.9817 86.4061 75.4859L86.3931 75.4634C86.1057 74.9624 86.1086 74.3447 86.3996 73.8458C86.688 73.3515 87.2178 73.0464 87.7901 73.0464C88.3623 73.0464 88.8922 73.3515 89.1805 73.8458C89.4716 74.3447 89.4745 74.9624 89.187 75.4634L89.1741 75.4859Z\",fill:\"#E9DFF2\"})),_path1152||(_path1152=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1793 79.5082C88.8913 80.002 88.3617 80.3056 87.7901 80.3056C87.2185 80.3056 86.6889 80.002 86.4008 79.5082C86.1089 79.0078 86.1089 78.3891 86.4008 77.8887C86.6889 77.3949 87.2185 77.0913 87.7901 77.0913C88.3617 77.0913 88.8913 77.3949 89.1793 77.8887C89.4712 78.3891 89.4712 79.0078 89.1793 79.5082Z\",fill:\"#E9DFF2\"})),_path1153||(_path1153=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1793 83.5522C88.8913 84.0459 88.3617 84.3495 87.7901 84.3495C87.2185 84.3495 86.6889 84.0459 86.4008 83.5522C86.1089 83.0518 86.1089 82.433 86.4008 81.9326C86.6889 81.4389 87.2185 81.1353 87.7901 81.1353C88.3617 81.1353 88.8913 81.4389 89.1793 81.9326C89.4712 82.433 89.4712 83.0518 89.1793 83.5522Z\",fill:\"#E9DFF2\"})),_path1154||(_path1154=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M89.1805 87.5954C88.8922 88.0897 88.3623 88.3949 87.7901 88.3949C87.2178 88.3949 86.688 88.0897 86.3996 87.5954C86.1086 87.0965 86.1057 86.4789 86.3931 85.9779L86.4061 85.9554C86.6905 85.4596 87.2185 85.1538 87.7901 85.1538C88.3617 85.1538 88.8896 85.4596 89.1741 85.9554L89.187 85.9779C89.4745 86.4789 89.4716 87.0965 89.1805 87.5954Z\",fill:\"#802DF6\"})),_path1155||(_path1155=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.9315 91.4564C88.6979 91.8653 88.2612 92.1177 87.7902 92.1177C87.3192 92.1177 86.8826 91.8653 86.649 91.4564C86.4184 91.0529 86.4184 90.5575 86.649 90.154C86.8826 89.7451 87.3192 89.4927 87.7902 89.4927C88.2612 89.4927 88.6979 89.7451 88.9315 90.154C89.1621 90.5575 89.1621 91.0529 88.9315 91.4564Z\",fill:\"#E9DFF2\"})),_path1156||(_path1156=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.3692 107.286C88.252 107.495 88.0299 107.626 87.79 107.626C87.5502 107.626 87.328 107.495 87.2108 107.286C87.097 107.082 87.097 106.831 87.2108 106.628C87.328 106.419 87.5502 106.287 87.79 106.287C88.0299 106.287 88.252 106.419 88.3692 106.628C88.483 106.831 88.483 107.082 88.3692 107.286Z\",fill:\"#E9DFF2\"})),_path1157||(_path1157=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.2889 111.278C88.1876 111.455 87.9991 111.564 87.7949 111.564H87.7856C87.5815 111.564 87.393 111.455 87.2917 111.278C87.1937 111.106 87.1916 110.896 87.2862 110.723L87.2951 110.707C87.394 110.525 87.5839 110.413 87.7903 110.413C87.9967 110.413 88.1866 110.525 88.2854 110.707L88.2944 110.723C88.389 110.896 88.3869 111.106 88.2889 111.278Z\",fill:\"#E9DFF2\"})),_path1158||(_path1158=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.8985 123.758C88.6687 124.152 88.2464 124.395 87.7903 124.395C87.3342 124.395 86.9119 124.152 86.6821 123.758C86.4486 123.358 86.4486 122.861 86.6821 122.461C86.9119 122.067 87.3342 121.824 87.7903 121.824C88.2464 121.824 88.6687 122.067 88.8985 122.461C89.1321 122.861 89.1321 123.358 88.8985 123.758Z\",fill:\"#E9DFF2\"})),_path1159||(_path1159=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1805 127.961C88.8922 128.455 88.3623 128.76 87.7901 128.76C87.2178 128.76 86.688 128.455 86.3996 127.961C86.1086 127.462 86.1057 126.844 86.3931 126.343L86.4061 126.321C86.6905 125.825 87.2185 125.519 87.7901 125.519C88.3617 125.519 88.8896 125.825 89.1741 126.321L89.187 126.343C89.4745 126.844 89.4716 127.462 89.1805 127.961Z\",fill:\"#E9DFF2\"})),_path1160||(_path1160=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1741 132.004C88.8896 132.5 88.3617 132.806 87.7901 132.806C87.2185 132.806 86.6905 132.5 86.4061 132.004L86.3931 131.981C86.1057 131.48 86.1086 130.863 86.3996 130.364C86.688 129.87 87.2178 129.564 87.7901 129.564C88.3623 129.564 88.8922 129.87 89.1805 130.364C89.4716 130.863 89.4745 131.48 89.187 131.981L89.1741 132.004Z\",fill:\"#E9DFF2\"})),_path1161||(_path1161=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1793 136.026C88.8913 136.52 88.3617 136.824 87.7901 136.824C87.2185 136.824 86.6889 136.52 86.4008 136.026C86.1089 135.526 86.1089 134.907 86.4008 134.407C86.6889 133.913 87.2185 133.609 87.7901 133.609C88.3617 133.609 88.8913 133.913 89.1793 134.407C89.4712 134.907 89.4712 135.526 89.1793 136.026Z\",fill:\"#E9DFF2\"})),_path1162||(_path1162=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1805 140.069C88.8922 140.563 88.3623 140.868 87.7901 140.868C87.2178 140.868 86.688 140.563 86.3996 140.069C86.1086 139.57 86.1057 138.952 86.3931 138.451L86.4061 138.428C86.6905 137.933 87.2185 137.627 87.7901 137.627C88.3617 137.627 88.8896 137.933 89.1741 138.428L89.187 138.451C89.4745 138.952 89.4716 139.57 89.1805 140.069Z\",fill:\"#E9DFF2\"})),_path1163||(_path1163=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1741 144.111C88.8896 144.607 88.3617 144.912 87.7901 144.912C87.2185 144.912 86.6905 144.607 86.4061 144.111L86.3931 144.088C86.1057 143.587 86.1086 142.97 86.3996 142.471C86.688 141.977 87.2178 141.671 87.7901 141.671C88.3623 141.671 88.8922 141.977 89.1805 142.471C89.4716 142.97 89.4745 143.587 89.187 144.088L89.1741 144.111Z\",fill:\"#E9DFF2\"})),_path1164||(_path1164=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1793 148.133C88.8913 148.626 88.3617 148.93 87.7901 148.93C87.2185 148.93 86.6889 148.626 86.4008 148.133C86.1089 147.632 86.1089 147.014 86.4008 146.513C86.6889 146.019 87.2185 145.716 87.7901 145.716C88.3617 145.716 88.8913 146.019 89.1793 146.513C89.4712 147.014 89.4712 147.632 89.1793 148.133Z\",fill:\"#E9DFF2\"})),_path1165||(_path1165=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1724 152.154C88.8891 152.645 88.3578 152.948 87.7904 152.948C87.223 152.948 86.6917 152.645 86.4084 152.154C86.1278 151.667 86.1296 151.061 86.4066 150.572C86.6882 150.075 87.2193 149.761 87.7904 149.761C88.3615 149.761 88.8926 150.075 89.1741 150.572C89.4512 151.061 89.453 151.667 89.1724 152.154Z\",fill:\"#E9DFF2\"})),_path1166||(_path1166=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.6115 155.874C88.4434 156.168 88.1306 156.35 87.7918 156.35H87.7761C87.4444 156.35 87.137 156.176 86.9664 155.892C86.7891 155.596 86.7868 155.228 86.9605 154.93L86.9681 154.917C87.1374 154.627 87.448 154.448 87.7839 154.448C88.1269 154.448 88.443 154.634 88.6096 154.934L88.6171 154.948C88.7774 155.236 88.7753 155.588 88.6115 155.874Z\",fill:\"#E9DFF2\"})),_path1167||(_path1167=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.8106 172.143C95.5971 172.513 95.2012 172.743 94.7744 172.743C94.3404 172.743 93.939 172.505 93.7283 172.126C93.526 171.762 93.526 171.314 93.7283 170.95C93.939 170.571 94.3404 170.333 94.7744 170.333C95.2012 170.333 95.5971 170.563 95.8106 170.932C96.0262 171.305 96.0262 171.77 95.8106 172.143Z\",fill:\"#E9DFF2\"})),_path1168||(_path1168=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 174.38C99.3924 174.876 98.8617 175.181 98.2877 175.181H98.2665C97.6925 175.181 97.1618 174.876 96.8725 174.38C96.5815 173.881 96.5824 173.259 96.8699 172.758C97.1585 172.255 97.6972 171.939 98.2771 171.939C98.857 171.939 99.3957 172.255 99.6843 172.758C99.9718 173.259 99.9727 173.881 99.6817 174.38Z\",fill:\"#E9DFF2\"})),_path1169||(_path1169=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 176.392C102.873 176.886 102.344 177.189 101.772 177.189C101.201 177.189 100.671 176.886 100.383 176.392C100.091 175.892 100.091 175.273 100.383 174.772C100.671 174.279 101.201 173.975 101.772 173.975C102.344 173.975 102.873 174.279 103.161 174.772C103.453 175.273 103.453 175.892 103.161 176.392Z\",fill:\"#E9DFF2\"})),_path1170||(_path1170=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.675 178.407C106.386 178.91 105.848 179.225 105.268 179.225C104.688 179.225 104.149 178.91 103.861 178.407C103.573 177.906 103.572 177.284 103.863 176.785C104.152 176.289 104.683 175.984 105.257 175.984H105.278C105.852 175.984 106.383 176.289 106.672 176.785C106.963 177.284 106.962 177.906 106.675 178.407Z\",fill:\"#E9DFF2\"})),_path1171||(_path1171=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 180.437C109.864 180.931 109.335 181.234 108.763 181.234C108.192 181.234 107.662 180.931 107.374 180.437C107.082 179.937 107.082 179.318 107.374 178.817C107.662 178.324 108.192 178.02 108.763 178.02C109.335 178.02 109.864 178.324 110.152 178.817C110.444 179.318 110.444 179.937 110.152 180.437Z\",fill:\"#E9DFF2\"})),_path1172||(_path1172=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.658 182.429C113.373 182.932 112.838 183.244 112.259 183.244C111.68 183.244 111.145 182.932 110.86 182.429C110.581 181.937 110.581 181.336 110.86 180.844C111.145 180.341 111.68 180.029 112.259 180.029C112.838 180.029 113.373 180.341 113.658 180.844C113.937 181.336 113.937 181.937 113.658 182.429Z\",fill:\"#E9DFF2\"})),_path1173||(_path1173=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.066 133.786C287.859 134.141 287.48 134.359 287.07 134.359H287.056C286.646 134.359 286.266 134.141 286.06 133.786C285.852 133.428 285.852 132.986 286.06 132.628C286.266 132.273 286.646 132.055 287.056 132.055H287.07C287.48 132.055 287.859 132.273 288.066 132.628C288.274 132.986 288.274 133.428 288.066 133.786Z\",fill:\"#E9DFF2\"})),_path1174||(_path1174=/*#__PURE__*/React.createElement(\"path\",{d:\"M287.901 129.631C287.731 129.937 287.406 130.127 287.056 130.127C286.713 130.127 286.394 129.945 286.221 129.648C286.046 129.348 286.046 128.977 286.221 128.677C286.394 128.38 286.713 128.198 287.056 128.198C287.406 128.198 287.731 128.388 287.901 128.694C288.063 128.985 288.063 129.34 287.901 129.631Z\",fill:\"#E9DFF2\"})),_path1175||(_path1175=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.228 117.724C287.988 118.139 287.542 118.394 287.063 118.394C286.583 118.394 286.138 118.139 285.897 117.724C285.657 117.31 285.655 116.799 285.891 116.383L285.902 116.364C286.139 115.947 286.582 115.689 287.063 115.689C287.543 115.689 287.986 115.947 288.223 116.364L288.234 116.383C288.471 116.799 288.469 117.31 288.228 117.724Z\",fill:\"#E9DFF2\"})),_path1176||(_path1176=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 113.803C288.177 114.306 287.635 114.618 287.056 114.618C286.484 114.618 285.948 114.314 285.66 113.82C285.368 113.32 285.368 112.701 285.66 112.201C285.948 111.707 286.484 111.403 287.056 111.403C287.635 111.403 288.177 111.715 288.462 112.218C288.74 112.71 288.74 113.311 288.462 113.803Z\",fill:\"#E9DFF2\"})),_path1177||(_path1177=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M288.46 109.775C288.176 110.284 287.639 110.6 287.056 110.6C286.48 110.6 285.949 110.292 285.662 109.793L285.652 109.776C285.365 109.275 285.367 108.658 285.658 108.16C285.947 107.664 286.482 107.359 287.056 107.359C287.637 107.359 288.177 107.671 288.464 108.177C288.742 108.667 288.744 109.266 288.469 109.758L288.46 109.775Z\",fill:\"#802DF6\"})),_path1178||(_path1178=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M288.464 105.737C288.177 106.243 287.637 106.555 287.056 106.555C286.482 106.555 285.947 106.25 285.658 105.754C285.367 105.255 285.365 104.639 285.652 104.138L285.662 104.121C285.949 103.622 286.48 103.314 287.056 103.314C287.639 103.314 288.176 103.63 288.46 104.139L288.469 104.156C288.744 104.648 288.742 105.247 288.464 105.737Z\",fill:\"#802DF6\"})),_path1179||(_path1179=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M288.462 101.696C288.177 102.199 287.635 102.511 287.056 102.511C286.484 102.511 285.948 102.207 285.66 101.713C285.368 101.213 285.368 100.594 285.66 100.094C285.948 99.6 286.484 99.2964 287.056 99.2964C287.635 99.2964 288.177 99.6076 288.462 100.111C288.74 100.603 288.74 101.204 288.462 101.696Z\",fill:\"#802DF6\"})),_path1180||(_path1180=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 97.6678C288.176 98.177 287.639 98.4925 287.056 98.4925C286.48 98.4925 285.949 98.1846 285.662 97.6852L285.652 97.6684C285.365 97.1675 285.367 96.551 285.658 96.0521C285.947 95.5563 286.482 95.2515 287.056 95.2515C287.637 95.2515 288.177 95.564 288.464 96.0696C288.742 96.5596 288.744 97.1588 288.469 97.6508L288.46 97.6678Z\",fill:\"#E9DFF2\"})),_path1181||(_path1181=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.464 93.6295C288.177 94.1351 287.637 94.4476 287.056 94.4476C286.482 94.4476 285.947 94.1427 285.658 93.647C285.367 93.148 285.365 92.5316 285.652 92.0306L285.662 92.0139C285.949 91.5145 286.48 91.2065 287.056 91.2065C287.639 91.2065 288.176 91.5221 288.46 92.0313L288.469 92.0483C288.744 92.5402 288.742 93.1395 288.464 93.6295Z\",fill:\"#E9DFF2\"})),_path1182||(_path1182=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 89.5885C288.177 90.092 287.635 90.4033 287.056 90.4033C286.484 90.4033 285.948 90.0996 285.66 89.6059C285.368 89.1055 285.368 88.4867 285.66 87.9863C285.948 87.4926 286.484 87.189 287.056 87.189C287.635 87.189 288.177 87.5002 288.462 88.0038C288.74 88.4953 288.74 89.0969 288.462 89.5885Z\",fill:\"#E9DFF2\"})),_path1183||(_path1183=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 85.544C288.177 86.0476 287.635 86.3588 287.056 86.3588C286.484 86.3588 285.948 86.0552 285.66 85.5615C285.368 85.0611 285.368 84.4423 285.66 83.9419C285.948 83.4481 286.484 83.1445 287.056 83.1445C287.635 83.1445 288.177 83.4558 288.462 83.9593C288.74 84.4508 288.74 85.0525 288.462 85.544Z\",fill:\"#E9DFF2\"})),_path1184||(_path1184=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 81.5164C288.176 82.0256 287.639 82.3412 287.056 82.3412C286.48 82.3412 285.949 82.0332 285.662 81.5338L285.652 81.5171C285.365 81.0161 285.367 80.3997 285.658 79.9008C285.947 79.405 286.482 79.1001 287.056 79.1001C287.637 79.1001 288.177 79.4126 288.464 79.9182C288.742 80.4082 288.744 81.0075 288.469 81.4994L288.46 81.5164Z\",fill:\"#E9DFF2\"})),_path1185||(_path1185=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.464 77.4786C288.177 77.9842 287.637 78.2967 287.056 78.2967C286.482 78.2967 285.947 77.9919 285.658 77.4961C285.367 76.9972 285.365 76.3808 285.652 75.8798L285.662 75.863C285.949 75.3636 286.48 75.0557 287.056 75.0557C287.639 75.0557 288.176 75.3713 288.46 75.8804L288.469 75.8974C288.744 76.3894 288.742 76.9886 288.464 77.4786Z\",fill:\"#E9DFF2\"})),_path1186||(_path1186=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 73.4371C288.177 73.9407 287.635 74.2519 287.056 74.2519C286.484 74.2519 285.948 73.9483 285.66 73.4545C285.368 72.9541 285.368 72.3354 285.66 71.8349C285.948 71.3412 286.484 71.0376 287.056 71.0376C287.635 71.0376 288.177 71.3488 288.462 71.8524C288.74 72.3439 288.74 72.9456 288.462 73.4371Z\",fill:\"#E9DFF2\"})),_path1187||(_path1187=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 69.41C288.176 69.9191 287.639 70.2347 287.056 70.2347C286.48 70.2347 285.949 69.9268 285.662 69.4274L285.652 69.4106C285.365 68.9096 285.367 68.2932 285.658 67.7943C285.947 67.2985 286.482 66.9937 287.056 66.9937C287.637 66.9937 288.177 67.3061 288.464 67.8118C288.742 68.3017 288.744 68.901 288.469 69.393L288.46 69.41Z\",fill:\"#E9DFF2\"})),_path1188||(_path1188=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.464 65.3712C288.177 65.8768 287.637 66.1893 287.056 66.1893C286.482 66.1893 285.947 65.8844 285.658 65.3887C285.367 64.8897 285.365 64.2733 285.652 63.7723L285.662 63.7556C285.949 63.2562 286.48 62.9482 287.056 62.9482C287.639 62.9482 288.176 63.2638 288.46 63.773L288.469 63.79C288.744 64.2819 288.742 64.8812 288.464 65.3712Z\",fill:\"#E9DFF2\"})),_path1189||(_path1189=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 61.3292C288.177 61.8327 287.635 62.144 287.056 62.144C286.484 62.144 285.948 61.8404 285.66 61.3466C285.368 60.8462 285.368 60.2274 285.66 59.727C285.948 59.2333 286.484 58.9297 287.056 58.9297C287.635 58.9297 288.177 59.2409 288.462 59.7445C288.74 60.236 288.74 60.8377 288.462 61.3292Z\",fill:\"#E9DFF2\"})),_path1190||(_path1190=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 57.2847C288.177 57.7883 287.635 58.0995 287.056 58.0995C286.484 58.0995 285.948 57.7959 285.66 57.3022C285.368 56.8018 285.368 56.183 285.66 55.6826C285.948 55.1889 286.484 54.8853 287.056 54.8853C287.635 54.8853 288.177 55.1965 288.462 55.7001C288.74 56.1916 288.74 56.7932 288.462 57.2847Z\",fill:\"#E9DFF2\"})),_path1191||(_path1191=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 53.2572C288.176 53.7663 287.639 54.0819 287.056 54.0819C286.48 54.0819 285.949 53.7739 285.662 53.2745L285.652 53.2578C285.365 52.7568 285.367 52.1404 285.658 51.6415C285.947 51.1457 286.482 50.8408 287.056 50.8408C287.637 50.8408 288.177 51.1533 288.464 51.6589C288.742 52.1489 288.744 52.7482 288.469 53.2401L288.46 53.2572Z\",fill:\"#E9DFF2\"})),_path1192||(_path1192=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.464 49.2189C288.177 49.7245 287.637 50.037 287.056 50.037C286.482 50.037 285.947 49.7321 285.658 49.2363C285.367 48.7374 285.365 48.121 285.652 47.62L285.662 47.6033C285.949 47.1039 286.48 46.7959 287.056 46.7959C287.639 46.7959 288.176 47.1115 288.46 47.6206L288.469 47.6377C288.744 48.1296 288.742 48.7289 288.464 49.2189Z\",fill:\"#E9DFF2\"})),_path1193||(_path1193=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.951 47.2266C284.667 47.7224 284.139 48.0282 283.567 48.0282C282.996 48.0282 282.468 47.7224 282.183 47.2266L282.17 47.2041C281.883 46.7031 281.886 46.0855 282.177 45.5865C282.465 45.0923 282.995 44.7871 283.567 44.7871C284.139 44.7871 284.669 45.0923 284.958 45.5865C285.249 46.0855 285.252 46.7031 284.964 47.2041L284.951 47.2266Z\",fill:\"#E9DFF2\"})),_path1194||(_path1194=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 45.1778C281.186 45.6814 280.644 45.9926 280.065 45.9926C279.493 45.9926 278.957 45.689 278.669 45.1953C278.377 44.6949 278.377 44.0761 278.669 43.5757C278.957 43.0819 279.493 42.7783 280.065 42.7783C280.644 42.7783 281.186 43.0895 281.471 43.5931C281.75 44.0846 281.75 44.6863 281.471 45.1778Z\",fill:\"#E9DFF2\"})),_path1195||(_path1195=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 43.1843C277.678 43.6786 277.148 43.9838 276.576 43.9838C276.004 43.9838 275.474 43.6786 275.186 43.1843C274.895 42.6854 274.892 42.0678 275.179 41.5668L275.192 41.5442C275.477 41.0484 276.005 40.7427 276.576 40.7427C277.148 40.7427 277.676 41.0484 277.96 41.5442L277.973 41.5668C278.261 42.0678 278.258 42.6854 277.967 43.1843Z\",fill:\"#E9DFF2\"})),_path1196||(_path1196=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 41.1502C274.194 41.6594 273.657 41.975 273.074 41.975C272.498 41.975 271.966 41.667 271.68 41.1676L271.67 41.1509C271.383 40.6499 271.385 40.0335 271.676 39.5346C271.965 39.0388 272.5 38.7339 273.074 38.7339C273.655 38.7339 274.195 39.0464 274.481 39.552C274.759 40.042 274.761 40.6413 274.487 41.1332L274.478 41.1502Z\",fill:\"#E9DFF2\"})),_path1197||(_path1197=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 39.1415C270.686 39.6353 270.15 39.9389 269.578 39.9389C268.999 39.9389 268.457 39.6277 268.172 39.1241C267.893 38.6326 267.893 38.0309 268.172 37.5394C268.457 37.0358 268.999 36.7246 269.578 36.7246C270.15 36.7246 270.686 37.0282 270.974 37.522C271.266 38.0224 271.266 38.6411 270.974 39.1415Z\",fill:\"#E9DFF2\"})),_path1198||(_path1198=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 37.1124C267.204 37.618 266.664 37.9305 266.083 37.9305C265.509 37.9305 264.974 37.6257 264.685 37.1299C264.394 36.6309 264.392 36.0145 264.679 35.5136L264.689 35.4968C264.975 34.9974 265.507 34.6895 266.083 34.6895C266.666 34.6895 267.203 35.005 267.487 35.5142L267.496 35.5312C267.77 36.0231 267.768 36.6224 267.491 37.1124Z\",fill:\"#E9DFF2\"})),_path1199||(_path1199=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.981 35.1139C263.695 35.6133 263.163 35.9212 262.587 35.9212C262.004 35.9212 261.467 35.6057 261.183 35.0965L261.174 35.0795C260.9 34.5876 260.902 33.9883 261.18 33.4983C261.466 32.9927 262.006 32.6802 262.587 32.6802C263.161 32.6802 263.696 32.985 263.985 33.4808C264.276 33.9798 264.278 34.5962 263.991 35.0971L263.981 35.1139Z\",fill:\"#E9DFF2\"})),_path1200||(_path1200=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.498 33.0709C260.212 33.5744 259.67 33.8857 259.092 33.8857C258.52 33.8857 257.984 33.5821 257.696 33.0883C257.404 32.5879 257.404 31.9691 257.696 31.4687C257.984 30.975 258.52 30.6714 259.092 30.6714C259.67 30.6714 260.212 30.9826 260.498 31.4862C260.776 31.9777 260.776 32.5794 260.498 33.0709Z\",fill:\"#E9DFF2\"})),_path1201||(_path1201=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.994 31.0752C256.705 31.571 256.17 31.8758 255.596 31.8758C255.015 31.8758 254.475 31.5633 254.188 31.0577C253.911 30.5677 253.909 29.9685 254.183 29.4765L254.192 29.4595C254.476 28.9504 255.013 28.6348 255.596 28.6348C256.172 28.6348 256.704 28.9427 256.99 29.4421L257 29.4589C257.287 29.9599 257.285 30.5763 256.994 31.0752Z\",fill:\"#E9DFF2\"})),_path1202||(_path1202=/*#__PURE__*/React.createElement(\"path\",{d:\"M252.863 28.6653C252.711 28.9444 252.419 29.118 252.101 29.118C251.79 29.118 251.503 28.9521 251.348 28.6828L251.342 28.6718C251.186 28.4014 251.188 28.0681 251.347 27.7998C251.503 27.5376 251.785 27.377 252.09 27.377H252.111C252.423 27.377 252.711 27.5452 252.864 27.8171C253.01 28.0765 253.012 28.3928 252.869 28.6541L252.863 28.6653Z\",fill:\"#E9DFF2\"})),_path1203||(_path1203=/*#__PURE__*/React.createElement(\"path\",{d:\"M248.949 26.4069C248.881 26.5257 248.755 26.5991 248.618 26.5991H248.606C248.469 26.5991 248.342 26.5257 248.274 26.4069C248.209 26.2931 248.207 26.1539 248.269 26.0382L248.277 26.0232C248.343 25.8995 248.472 25.8223 248.612 25.8223C248.752 25.8223 248.881 25.8995 248.947 26.0232L248.955 26.0382C249.016 26.1539 249.014 26.2931 248.949 26.4069Z\",fill:\"#E9DFF2\"})),_path1204||(_path1204=/*#__PURE__*/React.createElement(\"path\",{d:\"M239.084 20.7059C238.889 21.0543 238.518 21.2701 238.118 21.2701C237.726 21.2701 237.36 21.062 237.162 20.7234C236.962 20.3822 236.96 19.9603 237.156 19.617L237.167 19.5992C237.362 19.2577 237.725 19.0469 238.118 19.0469C238.519 19.0469 238.888 19.2653 239.08 19.6166L239.09 19.6348C239.273 19.9689 239.271 20.3737 239.084 20.7059Z\",fill:\"#E9DFF2\"})),_path1205||(_path1205=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.635 6.58369C158.447 6.91905 158.092 7.12668 157.708 7.12668C157.33 7.12668 156.981 6.92645 156.79 6.60062L156.778 6.57994C156.579 6.2399 156.582 5.81791 156.785 5.48005C156.979 5.15584 157.33 4.95703 157.708 4.95703C158.093 4.95703 158.449 5.16331 158.641 5.49727C158.83 5.82643 158.833 6.2313 158.647 6.56246L158.635 6.58369Z\",fill:\"#E9DFF2\"})),_path1206||(_path1206=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.61 8.87058C155.321 9.36638 154.786 9.67125 154.212 9.67125C153.631 9.67125 153.091 9.35875 152.805 8.85314C152.527 8.36316 152.525 7.76386 152.799 7.27193L152.808 7.2549C153.092 6.74576 153.629 6.43018 154.212 6.43018C154.788 6.43018 155.32 6.73815 155.606 7.23753L155.616 7.25428C155.903 7.75526 155.901 8.37167 155.61 8.87058Z\",fill:\"#E9DFF2\"})),_path1207||(_path1207=/*#__PURE__*/React.createElement(\"path\",{d:\"M152.122 10.8653C151.837 11.3689 151.295 11.6801 150.716 11.6801C150.145 11.6801 149.609 11.3765 149.321 10.8828C149.029 10.3824 149.029 9.76358 149.321 9.26317C149.609 8.76943 150.145 8.46582 150.716 8.46582C151.295 8.46582 151.837 8.77705 152.122 9.28063C152.401 9.77214 152.401 10.3738 152.122 10.8653Z\",fill:\"#E9DFF2\"})),_path1208||(_path1208=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.615 12.9083C148.329 13.4077 147.797 13.7157 147.221 13.7157C146.638 13.7157 146.101 13.4001 145.817 12.8909L145.808 12.8739C145.534 12.382 145.536 11.7827 145.813 11.2927C146.1 10.7871 146.64 10.4746 147.221 10.4746C147.795 10.4746 148.33 10.7795 148.619 11.2753C148.91 11.7742 148.912 12.3906 148.625 12.8916L148.615 12.9083Z\",fill:\"#E9DFF2\"})),_path1209||(_path1209=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.109 14.9255C144.821 15.4198 144.291 15.725 143.719 15.725C143.147 15.725 142.617 15.4198 142.328 14.9255C142.037 14.4266 142.034 13.809 142.322 13.308L142.335 13.2854C142.619 12.7896 143.147 12.4839 143.719 12.4839C144.29 12.4839 144.818 12.7896 145.103 13.2854L145.116 13.308C145.403 13.809 145.4 14.4266 145.109 14.9255Z\",fill:\"#E9DFF2\"})),_path1210||(_path1210=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.626 16.936C141.338 17.4297 140.802 17.7333 140.23 17.7333C139.651 17.7333 139.11 17.4221 138.824 16.9185C138.546 16.427 138.546 15.8254 138.824 15.3338C139.11 14.8303 139.651 14.519 140.23 14.519C140.802 14.519 141.338 14.8227 141.626 15.3164C141.918 15.8168 141.918 16.4356 141.626 16.936Z\",fill:\"#E9DFF2\"})),_path1211||(_path1211=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.112 18.9683C137.827 19.4641 137.299 19.7699 136.728 19.7699C136.156 19.7699 135.628 19.4641 135.344 18.9683L135.331 18.9458C135.043 18.4448 135.046 17.8272 135.337 17.3282C135.626 16.834 136.156 16.5288 136.728 16.5288C137.3 16.5288 137.83 16.834 138.118 17.3282C138.409 17.8272 138.412 18.4448 138.125 18.9458L138.112 18.9683Z\",fill:\"#E9DFF2\"})),_path1212||(_path1212=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.635 20.9804C134.347 21.4742 133.811 21.7778 133.239 21.7778C132.66 21.7778 132.118 21.4665 131.833 20.963C131.555 20.4714 131.555 19.8698 131.833 19.3783C132.118 18.8747 132.66 18.5635 133.239 18.5635C133.811 18.5635 134.347 18.8671 134.635 19.3608C134.927 19.8612 134.927 20.48 134.635 20.9804Z\",fill:\"#E9DFF2\"})),_path1213||(_path1213=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 22.9897C130.838 23.4834 130.308 23.787 129.737 23.787C129.165 23.787 128.635 23.4834 128.347 22.9897C128.055 22.4893 128.055 21.8705 128.347 21.3701C128.635 20.8764 129.165 20.5728 129.737 20.5728C130.308 20.5728 130.838 20.8764 131.126 21.3701C131.418 21.8705 131.418 22.4893 131.126 22.9897Z\",fill:\"#E9DFF2\"})),_path1214||(_path1214=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.646 25.022C127.357 25.5177 126.826 25.8226 126.252 25.8226H126.231C125.657 25.8226 125.126 25.5177 124.837 25.022C124.546 24.523 124.547 23.9012 124.834 23.4002C125.123 22.8972 125.661 22.5815 126.241 22.5815C126.821 22.5815 127.36 22.8972 127.648 23.4002C127.936 23.9012 127.937 24.523 127.646 25.022Z\",fill:\"#E9DFF2\"})),_path1215||(_path1215=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.128 27.0101C123.845 27.5017 123.313 27.8047 122.746 27.8047C122.179 27.8047 121.647 27.5017 121.364 27.0101C121.083 26.5232 121.085 25.9172 121.362 25.4283C121.644 24.9314 122.175 24.6172 122.746 24.6172C123.317 24.6172 123.848 24.9314 124.13 25.4283C124.407 25.9172 124.409 26.5232 124.128 27.0101Z\",fill:\"#E9DFF2\"})),_path1216||(_path1216=/*#__PURE__*/React.createElement(\"path\",{d:\"M119.563 28.3986C119.502 28.5113 119.385 28.5817 119.256 28.5817H119.244C119.116 28.5817 118.998 28.5113 118.937 28.3986C118.882 28.2955 118.882 28.1714 118.937 28.0684C118.998 27.9556 119.116 27.8853 119.244 27.8853H119.256C119.385 27.8853 119.502 27.9556 119.563 28.0684C119.619 28.1714 119.619 28.2955 119.563 28.3986Z\",fill:\"#E9DFF2\"})),_path1217||(_path1217=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.624 34.7762C109.448 35.0858 109.119 35.2776 108.763 35.2776C108.407 35.2776 108.079 35.0858 107.903 34.7762C107.731 34.4728 107.731 34.1002 107.903 33.7968C108.079 33.4872 108.407 33.2954 108.763 33.2954C109.119 33.2954 109.448 33.4872 109.624 33.7968C109.796 34.1002 109.796 34.4728 109.624 34.7762Z\",fill:\"#E9DFF2\"})),_path1218||(_path1218=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 37.1299C106.383 37.6257 105.852 37.9305 105.278 37.9305H105.257C104.683 37.9305 104.152 37.6257 103.863 37.1299C103.572 36.6309 103.573 36.0091 103.861 35.5081C104.149 35.0051 104.688 34.6895 105.268 34.6895C105.848 34.6895 106.386 35.0051 106.675 35.5081C106.962 36.0091 106.963 36.6309 106.672 37.1299Z\",fill:\"#E9DFF2\"})),_path1219||(_path1219=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 39.1415C102.873 39.6353 102.344 39.9389 101.772 39.9389C101.201 39.9389 100.671 39.6353 100.383 39.1415C100.091 38.6411 100.091 38.0224 100.383 37.522C100.671 37.0282 101.201 36.7246 101.772 36.7246C102.344 36.7246 102.873 37.0282 103.161 37.522C103.453 38.0224 103.453 38.6411 103.161 39.1415Z\",fill:\"#E9DFF2\"})),_path1220||(_path1220=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.652 41.1517C99.3658 41.6424 98.8381 41.9482 98.27 41.9482C97.6947 41.9482 97.1615 41.6347 96.8779 41.1342C96.6009 40.6453 96.6007 40.0422 96.8813 39.5553C97.1646 39.0637 97.6888 38.7607 98.2563 38.7607H98.2835C98.8439 38.7607 99.3627 39.0562 99.6485 39.5381C99.9426 40.0337 99.9424 40.6539 99.652 41.1517Z\",fill:\"#E9DFF2\"})),_path1221||(_path1221=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.0862 42.5558C95.0216 42.6607 94.9072 42.7247 94.784 42.7247H94.7788C94.6556 42.7247 94.5412 42.6607 94.4766 42.5558C94.4085 42.4452 94.4063 42.3064 94.4707 42.1937L94.4808 42.1759C94.5425 42.068 94.6572 42.0015 94.7814 42.0015C94.9056 42.0015 95.0203 42.068 95.082 42.1759L95.0921 42.1937C95.1565 42.3064 95.1543 42.4452 95.0862 42.5558Z\",fill:\"#E9DFF2\"})),_path1222||(_path1222=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.9287 44.7607C91.7972 44.9908 91.5509 45.1357 91.2859 45.1357C91.0208 45.1357 90.7745 44.9908 90.643 44.7607C90.5112 44.5302 90.5112 44.2413 90.643 44.0107C90.7745 43.7806 91.0208 43.6357 91.2859 43.6357C91.5509 43.6357 91.7972 43.7806 91.9287 44.0107C92.0605 44.2413 92.0605 44.5302 91.9287 44.7607Z\",fill:\"#E9DFF2\"})),_path1223||(_path1223=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.704 56.7448C84.6164 56.8881 84.4606 56.9755 84.2926 56.9755H84.2842C84.1091 56.9755 83.9478 56.8806 83.8627 56.7275C83.7818 56.5819 83.7818 56.4048 83.8627 56.2592C83.9478 56.1062 84.1091 56.0112 84.2842 56.0112H84.2926C84.4606 56.0112 84.6164 56.0986 84.704 56.242C84.7983 56.3963 84.7983 56.5904 84.704 56.7448Z\",fill:\"#E9DFF2\"})),_path1224||(_path1224=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6941 61.3292C85.4088 61.8327 84.867 62.144 84.2881 62.144C83.7165 62.144 83.1803 61.8404 82.8923 61.3466C82.6004 60.8462 82.6004 60.2274 82.8923 59.727C83.1803 59.2333 83.7165 58.9297 84.2881 58.9297C84.867 58.9297 85.4088 59.2409 85.6941 59.7445C85.9727 60.236 85.9727 60.8377 85.6941 61.3292Z\",fill:\"#E9DFF2\"})),_path1225||(_path1225=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.696 65.3712C85.4095 65.8768 84.8693 66.1893 84.2882 66.1893C83.7142 66.1893 83.1796 65.8844 82.8904 65.3887C82.5993 64.8897 82.5971 64.2733 82.8846 63.7723L82.8942 63.7556C83.1807 63.2562 83.7125 62.9482 84.2882 62.9482C84.8711 62.9482 85.4083 63.2638 85.6921 63.773L85.7016 63.79C85.9758 64.2819 85.9737 64.8812 85.696 65.3712Z\",fill:\"#E9DFF2\"})),_path1226||(_path1226=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6921 69.41C85.4083 69.9191 84.8711 70.2347 84.2882 70.2347C83.7125 70.2347 83.1807 69.9268 82.8942 69.4274L82.8846 69.4106C82.5971 68.9096 82.5993 68.2932 82.8904 67.7943C83.1796 67.2985 83.7142 66.9937 84.2882 66.9937C84.8693 66.9937 85.4095 67.3061 85.696 67.8118C85.9737 68.3017 85.9758 68.901 85.7016 69.393L85.6921 69.41Z\",fill:\"#E9DFF2\"})),_path1227||(_path1227=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6941 73.4371C85.4088 73.9407 84.867 74.2519 84.2881 74.2519C83.7165 74.2519 83.1803 73.9483 82.8923 73.4545C82.6004 72.9541 82.6004 72.3354 82.8923 71.8349C83.1803 71.3412 83.7165 71.0376 84.2881 71.0376C84.867 71.0376 85.4088 71.3488 85.6941 71.8524C85.9727 72.3439 85.9727 72.9456 85.6941 73.4371Z\",fill:\"#E9DFF2\"})),_path1228||(_path1228=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.696 77.4786C85.4095 77.9842 84.8693 78.2967 84.2882 78.2967C83.7142 78.2967 83.1796 77.9919 82.8904 77.4961C82.5993 76.9972 82.5971 76.3808 82.8846 75.8798L82.8942 75.863C83.1807 75.3636 83.7125 75.0557 84.2882 75.0557C84.8711 75.0557 85.4083 75.3713 85.6921 75.8804L85.7016 75.8974C85.9758 76.3894 85.9737 76.9886 85.696 77.4786Z\",fill:\"#E9DFF2\"})),_path1229||(_path1229=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6921 81.5164C85.4083 82.0256 84.8711 82.3412 84.2882 82.3412C83.7125 82.3412 83.1807 82.0332 82.8942 81.5338L82.8846 81.5171C82.5971 81.0161 82.5993 80.3997 82.8904 79.9008C83.1796 79.405 83.7142 79.1001 84.2882 79.1001C84.8693 79.1001 85.4095 79.4126 85.696 79.9182C85.9737 80.4082 85.9758 81.0075 85.7016 81.4994L85.6921 81.5164Z\",fill:\"#E9DFF2\"})),_path1230||(_path1230=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M85.7521 85.5954C85.4637 86.0897 84.9338 86.3949 84.3616 86.3949C83.7894 86.3949 83.2595 86.0897 82.9712 85.5954C82.6801 85.0965 82.6772 84.4789 82.9647 83.9779L82.9776 83.9554C83.2621 83.4596 83.79 83.1538 84.3616 83.1538C84.9332 83.1538 85.4612 83.4596 85.7456 83.9554L85.7586 83.9779C86.046 84.4789 86.0431 85.0965 85.7521 85.5954Z\",fill:\"#802DF6\"})),_path1231||(_path1231=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M85.5288 89.5954C85.2405 90.0897 84.7106 90.3949 84.1384 90.3949C83.5662 90.3949 83.0363 90.0897 82.7479 89.5954C82.4569 89.0965 82.454 88.4789 82.7414 87.9779L82.7544 87.9554C83.0388 87.4596 83.5668 87.1538 84.1384 87.1538C84.71 87.1538 85.2379 87.4596 85.5224 87.9554L85.5353 87.9779C85.8228 88.4789 85.8199 89.0965 85.5288 89.5954Z\",fill:\"#802DF6\"})),_path1232||(_path1232=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6574 93.6235C85.3773 94.1012 84.8651 94.3947 84.3113 94.3947H84.2778C83.7241 94.3947 83.2118 94.1012 82.9318 93.6235C82.6482 93.1398 82.6479 92.5378 82.9279 92.052C83.2088 91.5645 83.7319 91.2607 84.2946 91.2607C84.8572 91.2607 85.3803 91.5645 85.6613 92.052C85.9412 92.5378 85.9409 93.1398 85.6574 93.6235Z\",fill:\"#E9DFF2\"})),_path1233||(_path1233=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.7345 97.1305C84.645 97.2932 84.4741 97.3943 84.2884 97.3943C84.1096 97.3943 83.9438 97.3004 83.8518 97.1471L83.8421 97.1309C83.7419 96.9639 83.7443 96.7547 83.8483 96.59C83.9428 96.4404 84.1075 96.3496 84.2845 96.3496H84.2923C84.4762 96.3496 84.6462 96.4476 84.7383 96.6068C84.8288 96.763 84.8309 96.9552 84.7439 97.1134L84.7345 97.1305Z\",fill:\"#E9DFF2\"})),_path1234||(_path1234=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.4613 101.584C85.2219 102.005 84.7721 102.27 84.2879 102.27C83.8107 102.27 83.3664 102.013 83.1244 101.602C82.8729 101.174 82.8729 100.634 83.1244 100.207C83.3664 99.7953 83.8107 99.5381 84.2879 99.5381C84.7721 99.5381 85.2219 99.803 85.4613 100.224C85.6994 100.643 85.6994 101.166 85.4613 101.584Z\",fill:\"#E9DFF2\"})),_path1235||(_path1235=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.6578 109.178C84.5828 109.311 84.441 109.395 84.2881 109.395C84.1422 109.395 84.0058 109.318 83.9284 109.195C83.8416 109.056 83.8416 108.877 83.9284 108.738C84.0058 108.614 84.1422 108.538 84.2881 108.538C84.441 108.538 84.5828 108.621 84.6578 108.755C84.7312 108.885 84.7312 109.047 84.6578 109.178Z\",fill:\"#E9DFF2\"})),_path1236||(_path1236=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6158 125.903C85.3455 126.378 84.8412 126.672 84.2947 126.672C83.7483 126.672 83.2439 126.378 82.9737 125.903L82.9621 125.883C82.6926 125.409 82.6948 124.828 82.9679 124.356C83.242 123.883 83.7476 123.591 84.2947 123.591C84.8418 123.591 85.3475 123.883 85.6216 124.356C85.8946 124.828 85.8969 125.409 85.6273 125.883L85.6158 125.903Z\",fill:\"#E9DFF2\"})),_path1237||(_path1237=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.6947 129.393C84.6128 129.532 84.4635 129.618 84.3022 129.618H84.2873C84.126 129.618 83.9767 129.532 83.8948 129.393C83.811 129.251 83.811 129.074 83.8948 128.932C83.9767 128.792 84.126 128.707 84.2873 128.707H84.3022C84.4635 128.707 84.6128 128.792 84.6947 128.932C84.7785 129.074 84.7785 129.251 84.6947 129.393Z\",fill:\"#E9DFF2\"})),_path1238||(_path1238=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.1379 133.689C84.9639 133.987 84.6398 134.171 84.2944 134.171C83.9491 134.171 83.6249 133.987 83.4509 133.689C83.2767 133.39 83.2745 133.021 83.4452 132.721L83.4543 132.705C83.6259 132.402 83.9468 132.215 84.2944 132.215C84.6421 132.215 84.963 132.402 85.1346 132.705L85.1437 132.721C85.3144 133.021 85.3122 133.39 85.1379 133.689Z\",fill:\"#E9DFF2\"})),_path1239||(_path1239=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6921 138.034C85.4083 138.543 84.8711 138.859 84.2882 138.859C83.7125 138.859 83.1807 138.551 82.8942 138.051L82.8846 138.035C82.5971 137.534 82.5993 136.917 82.8904 136.418C83.1796 135.923 83.7142 135.618 84.2882 135.618C84.8693 135.618 85.4095 135.93 85.696 136.436C85.9737 136.926 85.9758 137.525 85.7016 138.017L85.6921 138.034Z\",fill:\"#E9DFF2\"})),_path1240||(_path1240=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6689 142.082C85.3827 142.572 84.8559 142.876 84.2878 142.876C83.7125 142.876 83.1803 142.565 82.8967 142.064C82.6182 141.573 82.6182 140.966 82.8967 140.474C83.1803 139.974 83.7125 139.662 84.2878 139.662C84.8559 139.662 85.3827 139.966 85.6689 140.457C85.9608 140.957 85.9608 141.581 85.6689 142.082Z\",fill:\"#E9DFF2\"})),_path1241||(_path1241=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.8485 145.614C84.738 145.81 84.531 145.93 84.3066 145.93H84.2829C84.0585 145.93 83.8515 145.81 83.741 145.614C83.6356 145.428 83.6335 145.2 83.7356 145.011L83.7411 145.001C83.8512 144.798 84.0637 144.671 84.2947 144.671C84.5258 144.671 84.7383 144.798 84.8484 145.001L84.8539 145.011C84.956 145.2 84.9539 145.428 84.8485 145.614Z\",fill:\"#E9DFF2\"})),_path1242||(_path1242=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.5097 150.049C85.2563 150.482 84.7902 150.752 84.2883 150.752C83.7794 150.752 83.3077 150.475 83.057 150.032C82.8129 149.6 82.8131 149.069 83.0608 148.64C83.3107 148.206 83.7728 147.939 84.273 147.939H84.3035C84.7966 147.939 85.2533 148.199 85.5058 148.622C85.7669 149.06 85.7671 149.609 85.5097 150.049Z\",fill:\"#E9DFF2\"})),_path1243||(_path1243=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.5676 176.044C95.404 176.322 95.1039 176.493 94.7812 176.493C94.4585 176.493 94.1584 176.322 93.9948 176.044C93.8271 175.759 93.8271 175.405 93.9948 175.12C94.1584 174.842 94.4585 174.671 94.7812 174.671C95.1039 174.671 95.404 174.842 95.5676 175.12C95.7352 175.405 95.7352 175.759 95.5676 176.044Z\",fill:\"#E9DFF2\"})),_path1244||(_path1244=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 178.407C99.3957 178.91 98.857 179.225 98.2771 179.225C97.6972 179.225 97.1585 178.91 96.8699 178.407C96.5824 177.906 96.5815 177.284 96.8725 176.785C97.1618 176.289 97.6925 175.984 98.2665 175.984H98.2877C98.8617 175.984 99.3924 176.289 99.6817 176.785C99.9727 177.284 99.9718 177.906 99.6843 178.407Z\",fill:\"#E9DFF2\"})),_path1245||(_path1245=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 180.437C102.873 180.931 102.344 181.234 101.772 181.234C101.201 181.234 100.671 180.931 100.383 180.437C100.091 179.937 100.091 179.318 100.383 178.817C100.671 178.324 101.201 178.02 101.772 178.02C102.344 178.02 102.873 178.324 103.161 178.817C103.453 179.318 103.453 179.937 103.161 180.437Z\",fill:\"#E9DFF2\"})),_path1246||(_path1246=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 182.446C106.382 182.94 105.854 183.244 105.282 183.244H105.253C104.682 183.244 104.153 182.94 103.865 182.446C103.573 181.946 103.573 181.327 103.865 180.827C104.153 180.333 104.682 180.029 105.253 180.029H105.282C105.854 180.029 106.382 180.333 106.67 180.827C106.962 181.327 106.962 181.946 106.67 182.446Z\",fill:\"#E9DFF2\"})),_path1247||(_path1247=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 184.477C109.863 184.972 109.335 185.278 108.763 185.278C108.192 185.278 107.664 184.972 107.379 184.477L107.366 184.454C107.079 183.953 107.082 183.335 107.373 182.837C107.661 182.342 108.191 182.037 108.763 182.037C109.335 182.037 109.865 182.342 110.154 182.837C110.445 183.335 110.448 183.953 110.16 184.454L110.147 184.477Z\",fill:\"#E9DFF2\"})),_path1248||(_path1248=/*#__PURE__*/React.createElement(\"path\",{d:\"M112.981 186.097C112.833 186.353 112.555 186.51 112.259 186.51C111.963 186.51 111.685 186.353 111.537 186.097C111.387 185.839 111.387 185.521 111.537 185.263C111.685 185.007 111.963 184.85 112.259 184.85C112.555 184.85 112.833 185.007 112.981 185.263C113.131 185.521 113.131 185.839 112.981 186.097Z\",fill:\"#E9DFF2\"})),_path1249||(_path1249=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.466 139.787C291.277 140.108 290.93 140.305 290.558 140.305C290.186 140.305 289.839 140.108 289.65 139.787C289.458 139.461 289.456 139.057 289.645 138.729L289.655 138.711C289.841 138.388 290.185 138.188 290.558 138.188C290.931 138.188 291.275 138.388 291.461 138.711L291.472 138.729C291.66 139.057 291.658 139.461 291.466 139.787Z\",fill:\"#E9DFF2\"})),_path1250||(_path1250=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.867 135.985C291.597 136.451 291.097 136.743 290.558 136.743C290.019 136.743 289.519 136.451 289.249 135.985C288.975 135.512 288.975 134.92 289.249 134.447C289.519 133.98 290.019 133.689 290.558 133.689C291.097 133.689 291.597 133.98 291.867 134.447C292.141 134.92 292.141 135.512 291.867 135.985Z\",fill:\"#E9DFF2\"})),_path1251||(_path1251=/*#__PURE__*/React.createElement(\"path\",{d:\"M290.981 131.437C290.894 131.587 290.733 131.68 290.559 131.68C290.384 131.68 290.224 131.587 290.136 131.437L290.128 131.423C290.039 131.268 290.041 131.076 290.134 130.923C290.223 130.778 290.381 130.689 290.552 130.689H290.566C290.736 130.689 290.894 130.778 290.983 130.923C291.076 131.076 291.079 131.268 290.989 131.423L290.981 131.437Z\",fill:\"#E9DFF2\"})),_path1252||(_path1252=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.898 127.915C291.624 128.389 291.119 128.68 290.571 128.68H290.545C289.998 128.68 289.492 128.389 289.218 127.915C288.945 127.444 288.945 126.858 289.215 126.384C289.489 125.902 290.003 125.6 290.558 125.6C291.113 125.6 291.627 125.902 291.902 126.384C292.171 126.858 292.171 127.444 291.898 127.915Z\",fill:\"#E9DFF2\"})),_path1253||(_path1253=/*#__PURE__*/React.createElement(\"path\",{d:\"M290.978 123.343C290.893 123.496 290.731 123.591 290.556 123.591H290.548C290.38 123.591 290.224 123.504 290.136 123.361C290.042 123.206 290.042 123.012 290.136 122.858C290.224 122.714 290.38 122.627 290.548 122.627H290.556C290.731 122.627 290.893 122.722 290.978 122.875C291.059 123.021 291.059 123.198 290.978 123.343Z\",fill:\"#E9DFF2\"})),_path1254||(_path1254=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.869 119.831C291.597 120.301 291.094 120.591 290.552 120.591C290.001 120.591 289.493 120.293 289.224 119.813C288.963 119.349 288.963 118.78 289.224 118.316C289.493 117.836 290.001 117.538 290.552 117.538C291.094 117.538 291.597 117.828 291.869 118.298C292.143 118.771 292.143 119.358 291.869 119.831Z\",fill:\"#E9DFF2\"})),_path1255||(_path1255=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.942 115.852C291.658 116.348 291.13 116.654 290.558 116.654C289.987 116.654 289.459 116.348 289.174 115.852L289.161 115.83C288.874 115.329 288.877 114.711 289.168 114.212C289.456 113.718 289.986 113.413 290.558 113.413C291.13 113.413 291.66 113.718 291.949 114.212C292.24 114.711 292.243 115.329 291.955 115.83L291.942 115.852Z\",fill:\"#E9DFF2\"})),_path1256||(_path1256=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M291.949 111.809C291.66 112.304 291.13 112.609 290.558 112.609C289.986 112.609 289.456 112.304 289.168 111.809C288.877 111.31 288.874 110.693 289.161 110.192L289.174 110.169C289.459 109.673 289.987 109.368 290.558 109.368C291.13 109.368 291.658 109.673 291.942 110.169L291.955 110.192C292.243 110.693 292.24 111.31 291.949 111.809Z\",fill:\"#802DF6\"})),_path1257||(_path1257=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M291.947 107.767C291.659 108.261 291.13 108.564 290.558 108.564C289.987 108.564 289.457 108.261 289.169 107.767C288.877 107.267 288.877 106.648 289.169 106.147C289.457 105.654 289.987 105.35 290.558 105.35C291.13 105.35 291.659 105.654 291.947 106.147C292.239 106.648 292.239 107.267 291.947 107.767Z\",fill:\"#802DF6\"})),_path1258||(_path1258=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M291.942 103.745C291.658 104.241 291.13 104.546 290.558 104.546C289.987 104.546 289.459 104.241 289.174 103.745L289.161 103.722C288.874 103.221 288.877 102.604 289.168 102.105C289.456 101.61 289.986 101.305 290.558 101.305C291.13 101.305 291.66 101.61 291.949 102.105C292.24 102.604 292.243 103.221 291.955 103.722L291.942 103.745Z\",fill:\"#802DF6\"})),_path1259||(_path1259=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M291.949 99.7024C291.66 100.197 291.13 100.502 290.558 100.502C289.986 100.502 289.456 100.197 289.168 99.7024C288.877 99.2035 288.874 98.5858 289.161 98.0848L289.174 98.0623C289.459 97.5665 289.987 97.2607 290.558 97.2607C291.13 97.2607 291.658 97.5665 291.942 98.0623L291.955 98.0848C292.243 98.5858 292.24 99.2035 291.949 99.7024Z\",fill:\"#802DF6\"})),_path1260||(_path1260=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 95.6601C291.659 96.1538 291.13 96.4575 290.558 96.4575C289.987 96.4575 289.457 96.1538 289.169 95.6601C288.877 95.1597 288.877 94.5409 289.169 94.0405C289.457 93.5468 289.987 93.2432 290.558 93.2432C291.13 93.2432 291.659 93.5468 291.947 94.0405C292.239 94.5409 292.239 95.1597 291.947 95.6601Z\",fill:\"#E9DFF2\"})),_path1261||(_path1261=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 91.6152C291.659 92.1089 291.13 92.4125 290.558 92.4125C289.987 92.4125 289.457 92.1089 289.169 91.6152C288.877 91.1148 288.877 90.496 289.169 89.9956C289.457 89.5018 289.987 89.1982 290.558 89.1982C291.13 89.1982 291.659 89.5018 291.947 89.9956C292.239 90.496 292.239 91.1148 291.947 91.6152Z\",fill:\"#E9DFF2\"})),_path1262||(_path1262=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.949 87.5955C291.66 88.0897 291.13 88.3949 290.558 88.3949C289.986 88.3949 289.456 88.0897 289.168 87.5955C288.877 87.0965 288.874 86.4789 289.161 85.9779L289.174 85.9553C289.459 85.4596 289.987 85.1538 290.558 85.1538C291.13 85.1538 291.658 85.4596 291.942 85.9553L291.955 85.9779C292.243 86.4789 292.24 87.0965 291.949 87.5955Z\",fill:\"#E9DFF2\"})),_path1263||(_path1263=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 83.5522C291.659 84.0459 291.13 84.3495 290.558 84.3495C289.987 84.3495 289.457 84.0459 289.169 83.5522C288.877 83.0518 288.877 82.433 289.169 81.9326C289.457 81.4389 289.987 81.1353 290.558 81.1353C291.13 81.1353 291.659 81.4389 291.947 81.9326C292.239 82.433 292.239 83.0518 291.947 83.5522Z\",fill:\"#E9DFF2\"})),_path1264||(_path1264=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 79.5082C291.659 80.002 291.13 80.3056 290.558 80.3056C289.987 80.3056 289.457 80.002 289.169 79.5082C288.877 79.0078 288.877 78.3891 289.169 77.8887C289.457 77.3949 289.987 77.0913 290.558 77.0913C291.13 77.0913 291.659 77.3949 291.947 77.8887C292.239 78.3891 292.239 79.0078 291.947 79.5082Z\",fill:\"#E9DFF2\"})),_path1265||(_path1265=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.942 75.4859C291.658 75.9817 291.13 76.2875 290.558 76.2875C289.987 76.2875 289.459 75.9817 289.174 75.4859L289.161 75.4634C288.874 74.9624 288.877 74.3447 289.168 73.8458C289.456 73.3515 289.986 73.0464 290.558 73.0464C291.13 73.0464 291.66 73.3515 291.949 73.8458C292.24 74.3447 292.243 74.9624 291.955 75.4634L291.942 75.4859Z\",fill:\"#E9DFF2\"})),_path1266||(_path1266=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.949 71.4426C291.66 71.9369 291.13 72.2421 290.558 72.2421C289.986 72.2421 289.456 71.9369 289.168 71.4426C288.877 70.9437 288.874 70.3261 289.161 69.8251L289.174 69.8025C289.459 69.3067 289.987 69.001 290.558 69.001C291.13 69.001 291.658 69.3067 291.942 69.8025L291.955 69.8251C292.243 70.3261 292.24 70.9437 291.949 71.4426Z\",fill:\"#E9DFF2\"})),_path1267||(_path1267=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 67.4008C291.659 67.8946 291.13 68.1982 290.558 68.1982C289.987 68.1982 289.457 67.8946 289.169 67.4008C288.877 66.9004 288.877 66.2816 289.169 65.7812C289.457 65.2875 289.987 64.9839 290.558 64.9839C291.13 64.9839 291.659 65.2875 291.947 65.7812C292.239 66.2816 292.239 66.9004 291.947 67.4008Z\",fill:\"#E9DFF2\"})),_path1268||(_path1268=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.942 63.3785C291.658 63.8743 291.13 64.18 290.558 64.18C289.987 64.18 289.459 63.8743 289.174 63.3785L289.161 63.3559C288.874 62.855 288.877 62.2373 289.168 61.7384C289.456 61.2441 289.986 60.939 290.558 60.939C291.13 60.939 291.66 61.2441 291.949 61.7384C292.24 62.2373 292.243 62.855 291.955 63.3559L291.942 63.3785Z\",fill:\"#E9DFF2\"})),_path1269||(_path1269=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.949 59.3357C291.66 59.83 291.13 60.1351 290.558 60.1351C289.986 60.1351 289.456 59.83 289.168 59.3357C288.877 58.8368 288.874 58.2191 289.161 57.7181L289.174 57.6956C289.459 57.1998 289.987 56.894 290.558 56.894C291.13 56.894 291.658 57.1998 291.942 57.6956L291.955 57.7181C292.243 58.2191 292.24 58.8368 291.949 59.3357Z\",fill:\"#E9DFF2\"})),_path1270||(_path1270=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 55.2929C291.659 55.7867 291.13 56.0903 290.558 56.0903C289.987 56.0903 289.457 55.7867 289.169 55.2929C288.877 54.7925 288.877 54.1737 289.169 53.6733C289.457 53.1796 289.987 52.876 290.558 52.876C291.13 52.876 291.659 53.1796 291.947 53.6733C292.239 54.1737 292.239 54.7925 291.947 55.2929Z\",fill:\"#E9DFF2\"})),_path1271||(_path1271=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 51.249C291.659 51.7427 291.13 52.0463 290.558 52.0463C289.987 52.0463 289.457 51.7427 289.169 51.249C288.877 50.7486 288.877 50.1298 289.169 49.6294C289.457 49.1356 289.987 48.832 290.558 48.832C291.13 48.832 291.659 49.1356 291.947 49.6294C292.239 50.1298 292.239 50.7486 291.947 51.249Z\",fill:\"#E9DFF2\"})),_path1272||(_path1272=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.942 47.2267C291.658 47.7224 291.13 48.0282 290.558 48.0282C289.987 48.0282 289.459 47.7224 289.174 47.2267L289.161 47.2041C288.874 46.7031 288.877 46.0855 289.168 45.5865C289.456 45.0923 289.986 44.7871 290.558 44.7871C291.13 44.7871 291.66 45.0923 291.949 45.5865C292.24 46.0855 292.243 46.7031 291.955 47.2041L291.942 47.2267Z\",fill:\"#E9DFF2\"})),_path1273||(_path1273=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 45.1778C288.177 45.6814 287.635 45.9926 287.056 45.9926C286.484 45.9926 285.948 45.689 285.66 45.1953C285.368 44.6949 285.368 44.0761 285.66 43.5757C285.948 43.0819 286.484 42.7783 287.056 42.7783C287.635 42.7783 288.177 43.0895 288.462 43.5931C288.74 44.0846 288.74 44.6863 288.462 45.1778Z\",fill:\"#E9DFF2\"})),_path1274||(_path1274=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 43.1843C284.669 43.6786 284.139 43.9838 283.567 43.9838C282.995 43.9838 282.465 43.6786 282.177 43.1843C281.886 42.6854 281.883 42.0678 282.17 41.5668L282.183 41.5442C282.468 41.0484 282.996 40.7427 283.567 40.7427C284.139 40.7427 284.667 41.0484 284.951 41.5442L284.964 41.5668C285.252 42.0678 285.249 42.6854 284.958 43.1843Z\",fill:\"#E9DFF2\"})),_path1275||(_path1275=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 41.1502C281.185 41.6594 280.648 41.975 280.065 41.975C279.489 41.975 278.958 41.667 278.671 41.1676L278.661 41.1509C278.374 40.6499 278.376 40.0335 278.667 39.5346C278.956 39.0388 279.491 38.7339 280.065 38.7339C280.646 38.7339 281.186 39.0464 281.473 39.552C281.751 40.042 281.753 40.6413 281.478 41.1332L281.469 41.1502Z\",fill:\"#E9DFF2\"})),_path1276||(_path1276=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 39.1415C277.677 39.6353 277.148 39.9389 276.576 39.9389C276.005 39.9389 275.475 39.6353 275.187 39.1415C274.895 38.6411 274.895 38.0224 275.187 37.522C275.475 37.0282 276.005 36.7246 276.576 36.7246C277.148 36.7246 277.677 37.0282 277.965 37.522C278.257 38.0224 278.257 38.6411 277.965 39.1415Z\",fill:\"#E9DFF2\"})),_path1277||(_path1277=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 37.1124C274.195 37.618 273.655 37.9305 273.074 37.9305C272.5 37.9305 271.965 37.6257 271.676 37.1299C271.385 36.6309 271.383 36.0145 271.67 35.5136L271.68 35.4968C271.966 34.9974 272.498 34.6895 273.074 34.6895C273.657 34.6895 274.194 35.005 274.478 35.5142L274.487 35.5312C274.761 36.0231 274.759 36.6224 274.481 37.1124Z\",fill:\"#E9DFF2\"})),_path1278||(_path1278=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.972 35.1139C270.685 35.6133 270.154 35.9212 269.578 35.9212C268.995 35.9212 268.458 35.6057 268.174 35.0965L268.164 35.0795C267.89 34.5876 267.892 33.9883 268.17 33.4983C268.457 32.9927 268.997 32.6802 269.578 32.6802C270.152 32.6802 270.686 32.985 270.976 33.4808C271.267 33.9798 271.269 34.5962 270.981 35.0971L270.972 35.1139Z\",fill:\"#E9DFF2\"})),_path1279||(_path1279=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.489 33.0709C267.203 33.5744 266.662 33.8857 266.083 33.8857C265.511 33.8857 264.975 33.5821 264.687 33.0883C264.395 32.5879 264.395 31.9691 264.687 31.4687C264.975 30.975 265.511 30.6714 266.083 30.6714C266.662 30.6714 267.203 30.9826 267.489 31.4862C267.767 31.9777 267.767 32.5794 267.489 33.0709Z\",fill:\"#E9DFF2\"})),_path1280||(_path1280=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.985 31.0752C263.696 31.571 263.161 31.8758 262.587 31.8758C262.006 31.8758 261.466 31.5633 261.18 31.0577C260.902 30.5677 260.9 29.9685 261.174 29.4765L261.183 29.4595C261.467 28.9504 262.004 28.6348 262.587 28.6348C263.163 28.6348 263.695 28.9427 263.981 29.4421L263.991 29.4589C264.278 29.9599 264.276 30.5763 263.985 31.0752Z\",fill:\"#E9DFF2\"})),_path1281||(_path1281=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.43 29.0362C260.153 29.5172 259.64 29.8136 259.085 29.8136C258.53 29.8136 258.017 29.5172 257.74 29.0362L257.73 29.019C257.45 28.5332 257.452 27.9346 257.735 27.4509C258.016 26.9732 258.531 26.6797 259.085 26.6797C259.639 26.6797 260.154 26.9732 260.434 27.4509C260.718 27.9346 260.72 28.5332 260.44 29.019L260.43 29.0362Z\",fill:\"#E9DFF2\"})),_path1282||(_path1282=/*#__PURE__*/React.createElement(\"path\",{d:\"M256.261 26.5972C256.127 26.8309 255.879 26.9751 255.609 26.9751H255.583C255.321 26.9751 255.078 26.8383 254.942 26.6143C254.796 26.3752 254.796 26.075 254.942 25.8359C255.078 25.6119 255.321 25.4751 255.583 25.4751H255.609C255.879 25.4751 256.127 25.6193 256.261 25.853C256.392 26.0836 256.392 26.3666 256.261 26.5972Z\",fill:\"#E9DFF2\"})),_path1283||(_path1283=/*#__PURE__*/React.createElement(\"path\",{d:\"M242.845 18.8349C242.594 19.2779 242.123 19.5552 241.614 19.5552C241.112 19.5552 240.646 19.2856 240.392 18.8524C240.135 18.4123 240.135 17.8636 240.396 17.4256C240.649 17.0021 241.106 16.7427 241.599 16.7427H241.629C242.129 16.7427 242.591 17.0096 242.841 17.4428C243.089 17.872 243.089 18.4036 242.845 18.8349Z\",fill:\"#E9DFF2\"})),_path1284||(_path1284=/*#__PURE__*/React.createElement(\"path\",{d:\"M158.649 2.56351C158.453 2.89997 158.091 3.10847 157.701 3.10847C157.311 3.10847 156.95 2.89997 156.753 2.56351C156.553 2.22232 156.55 1.79867 156.746 1.45541L156.759 1.43178C156.952 1.09382 157.312 0.885254 157.701 0.885254C158.09 0.885254 158.45 1.09382 158.643 1.43178L158.656 1.45541C158.852 1.79867 158.849 2.22232 158.649 2.56351Z\",fill:\"#E9DFF2\"})),_path1285||(_path1285=/*#__PURE__*/React.createElement(\"path\",{d:\"M155.483 4.74791C155.225 5.2056 154.737 5.4933 154.212 5.4933C153.694 5.4933 153.212 5.21337 152.951 4.7654C152.685 4.30743 152.685 3.73275 152.951 3.27478C153.212 2.82681 153.694 2.54688 154.212 2.54688C154.737 2.54688 155.225 2.83458 155.483 3.29227C155.736 3.74131 155.736 4.29887 155.483 4.74791Z\",fill:\"#E9DFF2\"})),_path1286||(_path1286=/*#__PURE__*/React.createElement(\"path\",{d:\"M151.334 6.39866C151.205 6.61651 150.97 6.7516 150.716 6.7516C150.456 6.7516 150.215 6.60879 150.089 6.38119C149.967 6.16276 149.967 5.89402 150.089 5.67559C150.215 5.44799 150.456 5.30518 150.716 5.30518C150.97 5.30518 151.205 5.44027 151.334 5.65812C151.469 5.88546 151.469 6.17132 151.334 6.39866Z\",fill:\"#E9DFF2\"})),_path1287||(_path1287=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.619 8.87058C148.33 9.36638 147.795 9.67125 147.221 9.67125C146.64 9.67125 146.1 9.35875 145.813 8.85313C145.536 8.36315 145.534 7.76387 145.808 7.27195L145.817 7.25491C146.101 6.74577 146.638 6.43018 147.221 6.43018C147.797 6.43018 148.329 6.73814 148.615 7.23753L148.625 7.25428C148.912 7.75526 148.91 8.37167 148.619 8.87058Z\",fill:\"#E9DFF2\"})),_path1288||(_path1288=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.108 10.8828C144.82 11.3765 144.29 11.6801 143.719 11.6801C143.147 11.6801 142.618 11.3765 142.33 10.8828C142.038 10.3824 142.038 9.76357 142.33 9.26317C142.618 8.76943 143.147 8.46582 143.719 8.46582C144.29 8.46582 144.82 8.76943 145.108 9.26317C145.4 9.76357 145.4 10.3824 145.108 10.8828Z\",fill:\"#E9DFF2\"})),_path1289||(_path1289=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.624 12.9083C141.338 13.4077 140.806 13.7157 140.23 13.7157C139.647 13.7157 139.11 13.4001 138.826 12.891L138.817 12.8739C138.543 12.382 138.545 11.7827 138.822 11.2927C139.109 10.7871 139.649 10.4746 140.23 10.4746C140.804 10.4746 141.339 10.7795 141.628 11.2753C141.919 11.7742 141.921 12.3906 141.634 12.8916L141.624 12.9083Z\",fill:\"#E9DFF2\"})),_path1290||(_path1290=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.118 14.9255C137.83 15.4198 137.3 15.725 136.728 15.725C136.156 15.725 135.626 15.4198 135.337 14.9255C135.046 14.4266 135.043 13.809 135.331 13.308L135.344 13.2854C135.628 12.7896 136.156 12.4839 136.728 12.4839C137.299 12.4839 137.827 12.7896 138.112 13.2854L138.125 13.308C138.412 13.809 138.409 14.4266 138.118 14.9255Z\",fill:\"#E9DFF2\"})),_path1291||(_path1291=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.635 16.936C134.347 17.4297 133.811 17.7333 133.239 17.7333C132.66 17.7333 132.118 17.4221 131.833 16.9185C131.555 16.427 131.555 15.8254 131.833 15.3338C132.118 14.8303 132.66 14.519 133.239 14.519C133.811 14.519 134.347 14.8227 134.635 15.3164C134.927 15.8168 134.927 16.4356 134.635 16.936Z\",fill:\"#E9DFF2\"})),_path1292||(_path1292=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.121 18.9683C130.836 19.4641 130.308 19.7699 129.737 19.7699C129.165 19.7699 128.637 19.4641 128.353 18.9683L128.34 18.9458C128.052 18.4448 128.055 17.8272 128.346 17.3282C128.634 16.834 129.164 16.5288 129.737 16.5288C130.309 16.5288 130.839 16.834 131.127 17.3282C131.418 17.8272 131.421 18.4448 131.134 18.9458L131.121 18.9683Z\",fill:\"#E9DFF2\"})),_path1293||(_path1293=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 20.9804C127.356 21.4742 126.827 21.7778 126.256 21.7778H126.227C125.655 21.7778 125.127 21.4742 124.839 20.9804C124.547 20.48 124.547 19.8612 124.839 19.3608C125.127 18.8671 125.655 18.5635 126.227 18.5635H126.256C126.827 18.5635 127.356 18.8671 127.644 19.3608C127.936 19.8612 127.936 20.48 127.644 20.9804Z\",fill:\"#E9DFF2\"})),_path1294||(_path1294=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.135 22.9897C123.847 23.4834 123.317 23.787 122.745 23.787C122.174 23.787 121.644 23.4834 121.356 22.9897C121.064 22.4893 121.064 21.8705 121.356 21.3701C121.644 20.8764 122.174 20.5728 122.745 20.5728C123.317 20.5728 123.847 20.8764 124.135 21.3701C124.427 21.8705 124.427 22.4893 124.135 22.9897Z\",fill:\"#E9DFF2\"})),_path1295||(_path1295=/*#__PURE__*/React.createElement(\"path\",{d:\"M119.771 24.5127C119.664 24.6941 119.469 24.8055 119.258 24.8055H119.242C119.031 24.8055 118.836 24.6941 118.729 24.5127C118.621 24.3292 118.618 24.1018 118.723 23.9163L118.731 23.9032C118.836 23.7159 119.035 23.6001 119.25 23.6001C119.465 23.6001 119.664 23.7159 119.77 23.9032L119.777 23.9163C119.882 24.1018 119.88 24.3292 119.771 24.5127Z\",fill:\"#E9DFF2\"})),_path1296||(_path1296=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 33.0883C106.382 33.5821 105.854 33.8857 105.282 33.8857H105.253C104.682 33.8857 104.153 33.5821 103.865 33.0883C103.573 32.5879 103.573 31.9691 103.865 31.4687C104.153 30.975 104.682 30.6714 105.253 30.6714H105.282C105.854 30.6714 106.382 30.975 106.67 31.4687C106.962 31.9691 106.962 32.5879 106.67 33.0883Z\",fill:\"#E9DFF2\"})),_path1297||(_path1297=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.081 35.0567C102.811 35.523 102.311 35.8143 101.772 35.8143C101.234 35.8143 100.733 35.523 100.463 35.0568C100.189 34.5836 100.189 33.9915 100.463 33.5183C100.733 33.052 101.234 32.7607 101.772 32.7607C102.311 32.7607 102.811 33.052 103.081 33.5183C103.355 33.9915 103.355 34.5836 103.081 35.0567Z\",fill:\"#E9DFF2\"})),_path1298||(_path1298=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.8572 43.0004C88.6359 43.3773 88.2273 43.6088 87.7902 43.6088C87.3532 43.6088 86.9445 43.3773 86.7233 43.0004C86.4972 42.6153 86.4972 42.1381 86.7233 41.753C86.9445 41.376 87.3532 41.1445 87.7902 41.1445C88.2273 41.1445 88.6359 41.376 88.8572 41.753C89.0832 42.1381 89.0832 42.6153 88.8572 43.0004Z\",fill:\"#E9DFF2\"})),_path1299||(_path1299=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.3817 46.7543C81.2616 46.9624 81.0395 47.0907 80.7992 47.0907C80.5589 47.0907 80.3368 46.9624 80.2167 46.7543L80.2079 46.739C80.0852 46.5262 80.0874 46.2636 80.2138 46.053C80.336 45.8493 80.5562 45.7246 80.7938 45.7246H80.8047C81.0422 45.7246 81.2624 45.8493 81.3846 46.053C81.511 46.2636 81.5133 46.5262 81.3905 46.739L81.3817 46.7543Z\",fill:\"#E9DFF2\"})),_path1300||(_path1300=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.2233 54.7322C81.1345 54.8775 80.9764 54.9662 80.8061 54.9662H80.792C80.6217 54.9662 80.4636 54.8775 80.3748 54.7322C80.2813 54.5793 80.2791 54.3874 80.3689 54.2323L80.3769 54.2185C80.4641 54.0679 80.625 53.9751 80.799 53.9751C80.9731 53.9751 81.134 54.0679 81.2212 54.2185L81.2292 54.2323C81.319 54.3874 81.3167 54.5793 81.2233 54.7322Z\",fill:\"#E9DFF2\"})),_path1301||(_path1301=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1893 59.3357C81.901 59.83 81.3711 60.1351 80.7989 60.1351C80.2266 60.1351 79.6967 59.83 79.4084 59.3357C79.1174 58.8368 79.1145 58.2191 79.4019 57.7181L79.4149 57.6956C79.6993 57.1998 80.2273 56.894 80.7989 56.894C81.3705 56.894 81.8984 57.1998 82.1829 57.6956L82.1958 57.7181C82.4833 58.2191 82.4803 58.8368 82.1893 59.3357Z\",fill:\"#E9DFF2\"})),_path1302||(_path1302=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1829 63.3785C81.8984 63.8743 81.3705 64.18 80.7989 64.18C80.2273 64.18 79.6993 63.8743 79.4149 63.3785L79.4019 63.3559C79.1145 62.855 79.1174 62.2373 79.4084 61.7384C79.6967 61.2441 80.2266 60.939 80.7989 60.939C81.3711 60.939 81.901 61.2441 82.1893 61.7384C82.4803 62.2373 82.4833 62.855 82.1958 63.3559L82.1829 63.3785Z\",fill:\"#E9DFF2\"})),_path1303||(_path1303=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1881 67.4008C81.9001 67.8946 81.3705 68.1982 80.7989 68.1982C80.2273 68.1982 79.6977 67.8946 79.4096 67.4008C79.1177 66.9004 79.1177 66.2816 79.4096 65.7812C79.6977 65.2875 80.2273 64.9839 80.7989 64.9839C81.3705 64.9839 81.9001 65.2875 82.1881 65.7812C82.48 66.2816 82.48 66.9004 82.1881 67.4008Z\",fill:\"#E9DFF2\"})),_path1304||(_path1304=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1893 71.4426C81.901 71.9369 81.3711 72.2421 80.7989 72.2421C80.2266 72.2421 79.6967 71.9369 79.4084 71.4426C79.1174 70.9437 79.1145 70.3261 79.4019 69.8251L79.4149 69.8025C79.6993 69.3067 80.2273 69.001 80.7989 69.001C81.3705 69.001 81.8984 69.3067 82.1829 69.8025L82.1958 69.8251C82.4833 70.3261 82.4803 70.9437 82.1893 71.4426Z\",fill:\"#E9DFF2\"})),_path1305||(_path1305=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1829 75.4859C81.8984 75.9817 81.3705 76.2875 80.7989 76.2875C80.2273 76.2875 79.6993 75.9817 79.4149 75.4859L79.4019 75.4634C79.1145 74.9624 79.1174 74.3447 79.4084 73.8458C79.6967 73.3515 80.2266 73.0464 80.7989 73.0464C81.3711 73.0464 81.901 73.3515 82.1893 73.8458C82.4803 74.3447 82.4833 74.9624 82.1958 75.4634L82.1829 75.4859Z\",fill:\"#E9DFF2\"})),_path1306||(_path1306=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1881 79.5082C81.9001 80.002 81.3705 80.3056 80.7989 80.3056C80.2273 80.3056 79.6977 80.002 79.4096 79.5082C79.1177 79.0078 79.1177 78.3891 79.4096 77.8887C79.6977 77.3949 80.2273 77.0913 80.7989 77.0913C81.3705 77.0913 81.9001 77.3949 82.1881 77.8887C82.48 78.3891 82.48 79.0078 82.1881 79.5082Z\",fill:\"#E9DFF2\"})),_path1307||(_path1307=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M82.1805 83.5954C81.8922 84.0897 81.3623 84.3949 80.7901 84.3949C80.2178 84.3949 79.688 84.0897 79.3996 83.5954C79.1086 83.0965 79.1057 82.4789 79.3931 81.9779L79.4061 81.9554C79.6905 81.4596 80.2185 81.1538 80.7901 81.1538C81.3617 81.1538 81.8896 81.4596 82.1741 81.9554L82.187 81.9779C82.4745 82.4789 82.4716 83.0965 82.1805 83.5954Z\",fill:\"#802DF6\"})),_path1308||(_path1308=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M82.2796 87.4946C81.9903 87.9904 81.4596 88.2953 80.8856 88.2953H80.8644C80.2904 88.2953 79.7597 87.9904 79.4704 87.4946C79.1794 86.9957 79.1803 86.3738 79.4678 85.8728C79.7564 85.3699 80.2951 85.0542 80.875 85.0542C81.4549 85.0542 81.9936 85.3699 82.2822 85.8728C82.5697 86.3738 82.5706 86.9957 82.2796 87.4946Z\",fill:\"#802DF6\"})),_path1309||(_path1309=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M82.1805 91.5954C81.8922 92.0897 81.3623 92.3949 80.7901 92.3949C80.2178 92.3949 79.688 92.0897 79.3996 91.5954C79.1086 91.0965 79.1057 90.4789 79.3931 89.9779L79.4061 89.9554C79.6905 89.4596 80.2185 89.1538 80.7901 89.1538C81.3617 89.1538 81.8896 89.4596 82.1741 89.9554L82.187 89.9779C82.4745 90.4789 82.4716 91.0965 82.1805 91.5954Z\",fill:\"#802DF6\"})),_path1310||(_path1310=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1881 95.6601C81.9001 96.1538 81.3705 96.4575 80.7989 96.4575C80.2273 96.4575 79.6977 96.1538 79.4096 95.6601C79.1177 95.1597 79.1177 94.5409 79.4096 94.0405C79.6977 93.5468 80.2273 93.2432 80.7989 93.2432C81.3705 93.2432 81.9001 93.5468 82.1881 94.0405C82.48 94.5409 82.48 95.1597 82.1881 95.6601Z\",fill:\"#E9DFF2\"})),_path1311||(_path1311=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.3097 99.207C81.2003 99.379 81.0105 99.4832 80.8067 99.4832H80.7776C80.5669 99.4832 80.3718 99.3719 80.2646 99.1904C80.1562 99.007 80.154 98.7796 80.2588 98.5941L80.263 98.5867C80.3709 98.3958 80.5731 98.2778 80.7923 98.2778C81.0045 98.2778 81.2013 98.3885 81.3117 98.5697L81.316 98.5769C81.4342 98.771 81.4317 99.0153 81.3097 99.207Z\",fill:\"#E9DFF2\"})),_path1312||(_path1312=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.0223 107.659C81.7736 108.098 81.3041 108.376 80.7992 108.376C80.2944 108.376 79.8249 108.098 79.5762 107.659C79.3321 107.228 79.3307 106.693 79.5784 106.264C79.8283 105.831 80.2904 105.564 80.7906 105.564H80.8079C81.3081 105.564 81.7702 105.831 82.0201 106.264C82.2678 106.693 82.2664 107.228 82.0223 107.659Z\",fill:\"#E9DFF2\"})),_path1313||(_path1313=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.1072 119.251C81.0414 119.366 80.9183 119.438 80.7857 119.438C80.6532 119.438 80.5301 119.366 80.4643 119.251C80.3984 119.136 80.3984 118.991 80.4643 118.876C80.5301 118.761 80.6532 118.688 80.7857 118.688C80.9183 118.688 81.0414 118.761 81.1072 118.876C81.1731 118.991 81.1731 119.136 81.1072 119.251Z\",fill:\"#E9DFF2\"})),_path1314||(_path1314=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.2233 123.357C81.1345 123.502 80.9764 123.591 80.8061 123.591H80.792C80.6217 123.591 80.4636 123.502 80.3748 123.357C80.2813 123.204 80.2791 123.012 80.3689 122.857L80.3769 122.843C80.4641 122.692 80.625 122.6 80.799 122.6C80.9731 122.6 81.134 122.692 81.2212 122.843L81.2292 122.857C81.319 123.012 81.3167 123.204 81.2233 123.357Z\",fill:\"#E9DFF2\"})),_path1315||(_path1315=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.3751 127.474C81.2588 127.674 81.0452 127.796 80.8142 127.796H80.7834C80.5524 127.796 80.3388 127.674 80.2225 127.474C80.1066 127.276 80.1044 127.03 80.2168 126.83L80.2206 126.823C80.3378 126.613 80.559 126.484 80.7988 126.484C81.0386 126.484 81.2598 126.613 81.377 126.823L81.3808 126.83C81.4932 127.03 81.491 127.275 81.3751 127.474Z\",fill:\"#E9DFF2\"})),_path1316||(_path1316=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0113 180.34C95.7555 180.777 95.2868 181.046 94.7801 181.046H94.7557C94.249 181.046 93.7803 180.777 93.5245 180.34C93.2664 179.899 93.2669 179.348 93.5214 178.905C93.7771 178.46 94.2543 178.18 94.7679 178.18C95.2815 178.18 95.7587 178.46 96.0144 178.905C96.2689 179.348 96.2694 179.899 96.0113 180.34Z\",fill:\"#E9DFF2\"})),_path1317||(_path1317=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 182.446C99.3917 182.94 98.8631 183.244 98.2915 183.244H98.2627C97.6911 183.244 97.1625 182.94 96.8745 182.446C96.5826 181.946 96.5826 181.327 96.8745 180.827C97.1625 180.333 97.6911 180.029 98.2627 180.029H98.2915C98.8631 180.029 99.3917 180.333 99.6797 180.827C99.9716 181.327 99.9716 181.946 99.6797 182.446Z\",fill:\"#E9DFF2\"})),_path1318||(_path1318=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 184.477C102.872 184.972 102.344 185.278 101.772 185.278C101.201 185.278 100.673 184.972 100.388 184.477L100.375 184.454C100.088 183.953 100.091 183.335 100.382 182.837C100.67 182.342 101.2 182.037 101.772 182.037C102.344 182.037 102.874 182.342 103.163 182.837C103.454 183.335 103.457 183.953 103.169 184.454L103.156 184.477Z\",fill:\"#E9DFF2\"})),_path1319||(_path1319=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.67 186.489C106.382 186.983 105.854 187.287 105.282 187.287H105.253C104.682 187.287 104.153 186.983 103.865 186.489C103.573 185.989 103.573 185.37 103.865 184.87C104.153 184.376 104.682 184.072 105.253 184.072H105.282C105.854 184.072 106.382 184.376 106.67 184.87C106.962 185.37 106.962 185.989 106.67 186.489Z\",fill:\"#E9DFF2\"})),_path1320||(_path1320=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.152 188.499C109.864 188.993 109.335 189.296 108.763 189.296C108.192 189.296 107.662 188.993 107.374 188.499C107.082 187.999 107.082 187.38 107.374 186.879C107.662 186.386 108.192 186.082 108.763 186.082C109.335 186.082 109.864 186.386 110.152 186.879C110.444 187.38 110.444 187.999 110.152 188.499Z\",fill:\"#E9DFF2\"})),_path1321||(_path1321=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.375 142.018C295.105 142.497 294.597 142.796 294.047 142.796C293.504 142.796 293.002 142.505 292.73 142.035C292.456 141.562 292.456 140.976 292.73 140.503C293.002 140.033 293.504 139.742 294.047 139.742C294.597 139.742 295.105 140.041 295.375 140.52C295.635 140.984 295.635 141.554 295.375 142.018Z\",fill:\"#E9DFF2\"})),_path1322||(_path1322=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.34 137.973C295.077 138.434 294.584 138.725 294.054 138.725C293.524 138.725 293.03 138.434 292.767 137.973C292.505 137.515 292.503 136.944 292.768 136.488C293.033 136.032 293.527 135.752 294.054 135.752C294.581 135.752 295.074 136.032 295.339 136.488C295.604 136.944 295.602 137.515 295.34 137.973Z\",fill:\"#E9DFF2\"})),_path1323||(_path1323=/*#__PURE__*/React.createElement(\"path\",{d:\"M294.652 133.549C294.53 133.753 294.31 133.877 294.072 133.877H294.035C293.797 133.877 293.577 133.753 293.455 133.549C293.328 133.338 293.328 133.072 293.451 132.86C293.574 132.646 293.807 132.511 294.054 132.511C294.3 132.511 294.533 132.646 294.656 132.86C294.779 133.072 294.779 133.338 294.652 133.549Z\",fill:\"#E9DFF2\"})),_path1324||(_path1324=/*#__PURE__*/React.createElement(\"path\",{d:\"M294.734 129.57C294.595 129.815 294.335 129.966 294.054 129.966C293.772 129.966 293.513 129.815 293.374 129.57L293.368 129.559C293.228 129.313 293.228 129.012 293.368 128.766L293.374 128.755C293.513 128.51 293.772 128.359 294.054 128.359C294.335 128.359 294.595 128.51 294.734 128.755L294.74 128.766C294.879 129.012 294.879 129.313 294.74 129.559L294.734 129.57Z\",fill:\"#E9DFF2\"})),_path1325||(_path1325=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 121.906C295.169 122.402 294.638 122.706 294.064 122.706H294.043C293.469 122.706 292.938 122.402 292.649 121.906C292.358 121.407 292.359 120.785 292.647 120.284C292.935 119.781 293.474 119.465 294.054 119.465C294.634 119.465 295.172 119.781 295.461 120.284C295.748 120.785 295.749 121.407 295.458 121.906Z\",fill:\"#E9DFF2\"})),_path1326||(_path1326=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 117.865C295.168 118.359 294.64 118.663 294.068 118.663H294.039C293.468 118.663 292.939 118.359 292.651 117.865C292.359 117.365 292.359 116.746 292.651 116.246C292.939 115.752 293.468 115.448 294.039 115.448H294.068C294.64 115.448 295.168 115.752 295.456 116.246C295.748 116.746 295.748 117.365 295.456 117.865Z\",fill:\"#E9DFF2\"})),_path1327||(_path1327=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M295.456 113.82C295.168 114.314 294.64 114.618 294.068 114.618H294.039C293.468 114.618 292.939 114.314 292.651 113.82C292.359 113.32 292.359 112.701 292.651 112.201C292.939 111.707 293.468 111.403 294.039 111.403H294.068C294.64 111.403 295.168 111.707 295.456 112.201C295.748 112.701 295.748 113.32 295.456 113.82Z\",fill:\"#802DF6\"})),_path1328||(_path1328=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M295.461 109.781C295.172 110.284 294.634 110.6 294.054 110.6C293.474 110.6 292.935 110.284 292.647 109.781C292.359 109.28 292.358 108.658 292.649 108.16C292.938 107.664 293.469 107.359 294.043 107.359H294.064C294.638 107.359 295.169 107.664 295.458 108.16C295.749 108.658 295.748 109.28 295.461 109.781Z\",fill:\"#802DF6\"})),_path1329||(_path1329=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 105.754C295.169 106.25 294.638 106.555 294.064 106.555H294.043C293.469 106.555 292.938 106.25 292.649 105.754C292.358 105.255 292.359 104.634 292.647 104.133C292.935 103.63 293.474 103.314 294.054 103.314C294.634 103.314 295.172 103.63 295.461 104.133C295.748 104.634 295.749 105.255 295.458 105.754Z\",fill:\"#802DF6\"})),_path1330||(_path1330=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M295.456 101.713C295.168 102.207 294.64 102.511 294.068 102.511H294.039C293.468 102.511 292.939 102.207 292.651 101.713C292.359 101.213 292.359 100.594 292.651 100.094C292.939 99.6 293.468 99.2964 294.039 99.2964H294.068C294.64 99.2964 295.168 99.6 295.456 100.094C295.748 100.594 295.748 101.213 295.456 101.713Z\",fill:\"#802DF6\"})),_path1331||(_path1331=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M295.461 97.6739C295.172 98.1769 294.634 98.4925 294.054 98.4925C293.474 98.4925 292.935 98.1769 292.647 97.6739C292.359 97.1729 292.358 96.551 292.649 96.0521C292.938 95.5563 293.469 95.2515 294.043 95.2515H294.064C294.638 95.2515 295.169 95.5563 295.458 96.0521C295.749 96.551 295.748 97.1729 295.461 97.6739Z\",fill:\"#802DF6\"})),_path1332||(_path1332=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M320.278 75.5688C319.99 76.0625 319.461 76.3661 318.889 76.3661H318.861C318.289 76.3661 317.76 76.0625 317.472 75.5688C317.18 75.0684 317.18 74.4496 317.472 73.9492C317.76 73.4555 318.289 73.1519 318.861 73.1519H318.889C319.461 73.1519 319.99 73.4555 320.278 73.9492C320.57 74.4496 320.57 75.0684 320.278 75.5688Z\",fill:\"#802DF6\"})),_path1333||(_path1333=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M320.282 71.5299C319.994 72.0328 319.455 72.3485 318.875 72.3485C318.295 72.3485 317.756 72.0328 317.468 71.5299C317.18 71.0289 317.179 70.407 317.47 69.9081C317.76 69.4123 318.29 69.1074 318.864 69.1074H318.886C319.46 69.1074 319.99 69.4123 320.28 69.9081C320.571 70.407 320.57 71.0289 320.282 71.5299Z\",fill:\"#802DF6\"})),_path1334||(_path1334=/*#__PURE__*/React.createElement(\"path\",{d:\"M320.28 67.5029C319.99 67.9987 319.46 68.3036 318.886 68.3036H318.864C318.29 68.3036 317.76 67.9987 317.47 67.5029C317.179 67.004 317.18 66.3821 317.468 65.8811C317.756 65.3782 318.295 65.0625 318.875 65.0625C319.455 65.0625 319.994 65.3782 320.282 65.8811C320.57 66.3821 320.571 67.004 320.28 67.5029Z\",fill:\"#802DF6\"})),_path1335||(_path1335=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M320.278 63.4619C319.99 63.9556 319.461 64.2592 318.889 64.2592H318.861C318.289 64.2592 317.76 63.9556 317.472 63.4619C317.18 62.9615 317.18 62.3427 317.472 61.8423C317.76 61.3485 318.289 61.0449 318.861 61.0449H318.889C319.461 61.0449 319.99 61.3485 320.278 61.8423C320.57 62.3427 320.57 62.9615 320.278 63.4619Z\",fill:\"#802DF6\"})),_path1336||(_path1336=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M320.282 59.4224C319.994 59.9254 319.455 60.2411 318.875 60.2411C318.295 60.2411 317.756 59.9254 317.468 59.4224C317.18 58.9214 317.179 58.2996 317.47 57.8007C317.76 57.3049 318.29 57 318.864 57H318.886C319.46 57 319.99 57.3049 320.28 57.8007C320.571 58.2996 320.57 58.9214 320.282 59.4224Z\",fill:\"#802DF6\"})),_path1337||(_path1337=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 93.647C295.169 94.1427 294.638 94.4476 294.064 94.4476H294.043C293.469 94.4476 292.938 94.1427 292.649 93.647C292.358 93.148 292.359 92.5262 292.647 92.0252C292.935 91.5222 293.474 91.2065 294.054 91.2065C294.634 91.2065 295.172 91.5222 295.461 92.0252C295.748 92.5262 295.749 93.148 295.458 93.647Z\",fill:\"#E9DFF2\"})),_path1338||(_path1338=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 89.6059C295.168 90.0996 294.64 90.4033 294.068 90.4033H294.039C293.468 90.4033 292.939 90.0996 292.651 89.6059C292.359 89.1055 292.359 88.4867 292.651 87.9863C292.939 87.4926 293.468 87.189 294.039 87.189H294.068C294.64 87.189 295.168 87.4926 295.456 87.9863C295.748 88.4867 295.748 89.1055 295.456 89.6059Z\",fill:\"#E9DFF2\"})),_path1339||(_path1339=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 85.5615C295.168 86.0552 294.64 86.3588 294.068 86.3588H294.039C293.468 86.3588 292.939 86.0552 292.651 85.5615C292.359 85.0611 292.359 84.4423 292.651 83.9419C292.939 83.4481 293.468 83.1445 294.039 83.1445H294.068C294.64 83.1445 295.168 83.4481 295.456 83.9419C295.748 84.4423 295.748 85.0611 295.456 85.5615Z\",fill:\"#E9DFF2\"})),_path1340||(_path1340=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.461 81.5225C295.172 82.0255 294.634 82.3412 294.054 82.3412C293.474 82.3412 292.935 82.0255 292.647 81.5225C292.359 81.0215 292.358 80.3997 292.649 79.9008C292.938 79.405 293.469 79.1001 294.043 79.1001H294.064C294.638 79.1001 295.169 79.405 295.458 79.9008C295.749 80.3997 295.748 81.0215 295.461 81.5225Z\",fill:\"#E9DFF2\"})),_path1341||(_path1341=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 77.4961C295.169 77.9919 294.638 78.2967 294.064 78.2967H294.043C293.469 78.2967 292.938 77.9919 292.649 77.4961C292.358 76.9972 292.359 76.3753 292.647 75.8743C292.935 75.3713 293.474 75.0557 294.054 75.0557C294.634 75.0557 295.172 75.3713 295.461 75.8743C295.748 76.3753 295.749 76.9972 295.458 77.4961Z\",fill:\"#E9DFF2\"})),_path1342||(_path1342=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 73.4545C295.168 73.9483 294.64 74.2519 294.068 74.2519H294.039C293.468 74.2519 292.939 73.9483 292.651 73.4545C292.359 72.9541 292.359 72.3354 292.651 71.8349C292.939 71.3412 293.468 71.0376 294.039 71.0376H294.068C294.64 71.0376 295.168 71.3412 295.456 71.8349C295.748 72.3354 295.748 72.9541 295.456 73.4545Z\",fill:\"#E9DFF2\"})),_path1343||(_path1343=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.461 69.4161C295.172 69.9191 294.634 70.2347 294.054 70.2347C293.474 70.2347 292.935 69.9191 292.647 69.4161C292.359 68.9151 292.358 68.2932 292.649 67.7943C292.938 67.2985 293.469 66.9937 294.043 66.9937H294.064C294.638 66.9937 295.169 67.2985 295.458 67.7943C295.749 68.2932 295.748 68.9151 295.461 69.4161Z\",fill:\"#E9DFF2\"})),_path1344||(_path1344=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 65.3887C295.169 65.8844 294.638 66.1893 294.064 66.1893H294.043C293.469 66.1893 292.938 65.8844 292.649 65.3887C292.358 64.8897 292.359 64.2679 292.647 63.7669C292.935 63.2639 293.474 62.9482 294.054 62.9482C294.634 62.9482 295.172 63.2639 295.461 63.7669C295.748 64.2679 295.749 64.8897 295.458 65.3887Z\",fill:\"#E9DFF2\"})),_path1345||(_path1345=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 61.3466C295.168 61.8404 294.64 62.144 294.068 62.144H294.039C293.468 62.144 292.939 61.8404 292.651 61.3466C292.359 60.8462 292.359 60.2274 292.651 59.727C292.939 59.2333 293.468 58.9297 294.039 58.9297H294.068C294.64 58.9297 295.168 59.2333 295.456 59.727C295.748 60.2274 295.748 60.8462 295.456 61.3466Z\",fill:\"#E9DFF2\"})),_path1346||(_path1346=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M295.456 57.3022C295.168 57.7959 294.64 58.0995 294.068 58.0995H294.039C293.468 58.0995 292.939 57.7959 292.651 57.3022C292.359 56.8018 292.359 56.183 292.651 55.6826C292.939 55.1889 293.468 54.8853 294.039 54.8853H294.068C294.64 54.8853 295.168 55.1889 295.456 55.6826C295.748 56.183 295.748 56.8018 295.456 57.3022Z\",fill:\"#802DF6\"})),_path1347||(_path1347=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.461 53.2633C295.172 53.7662 294.634 54.0819 294.054 54.0819C293.474 54.0819 292.935 53.7662 292.647 53.2633C292.359 52.7623 292.358 52.1404 292.649 51.6415C292.938 51.1457 293.469 50.8408 294.043 50.8408H294.064C294.638 50.8408 295.169 51.1457 295.458 51.6415C295.749 52.1404 295.748 52.7623 295.461 53.2633Z\",fill:\"#E9DFF2\"})),_path1348||(_path1348=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 49.2363C295.169 49.7321 294.638 50.037 294.064 50.037H294.043C293.469 50.037 292.938 49.7321 292.649 49.2363C292.358 48.7374 292.359 48.1155 292.647 47.6145C292.935 47.1116 293.474 46.7959 294.054 46.7959C294.634 46.7959 295.172 47.1116 295.461 47.6145C295.748 48.1155 295.749 48.7374 295.458 49.2363Z\",fill:\"#E9DFF2\"})),_path1349||(_path1349=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 45.1953C295.168 45.689 294.64 45.9926 294.068 45.9926H294.039C293.468 45.9926 292.939 45.689 292.651 45.1953C292.359 44.6949 292.359 44.0761 292.651 43.5757C292.939 43.0819 293.468 42.7783 294.039 42.7783H294.068C294.64 42.7783 295.168 43.0819 295.456 43.5757C295.748 44.0761 295.748 44.6949 295.456 45.1953Z\",fill:\"#E9DFF2\"})),_path1350||(_path1350=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.949 43.1843C291.66 43.6786 291.13 43.9838 290.558 43.9838C289.986 43.9838 289.456 43.6786 289.168 43.1843C288.877 42.6854 288.874 42.0678 289.161 41.5668L289.174 41.5442C289.459 41.0484 289.987 40.7427 290.558 40.7427C291.13 40.7427 291.658 41.0484 291.942 41.5442L291.955 41.5668C292.243 42.0678 292.24 42.6854 291.949 43.1843Z\",fill:\"#E9DFF2\"})),_path1351||(_path1351=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 41.1502C288.176 41.6594 287.639 41.975 287.056 41.975C286.48 41.975 285.949 41.667 285.662 41.1676L285.652 41.1509C285.365 40.6499 285.367 40.0335 285.658 39.5346C285.947 39.0388 286.482 38.7339 287.056 38.7339C287.637 38.7339 288.177 39.0464 288.464 39.552C288.742 40.042 288.744 40.6413 288.469 41.1332L288.46 41.1502Z\",fill:\"#E9DFF2\"})),_path1352||(_path1352=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 39.1415C284.668 39.6353 284.139 39.9389 283.567 39.9389C282.996 39.9389 282.466 39.6353 282.178 39.1415C281.886 38.6411 281.886 38.0224 282.178 37.522C282.466 37.0282 282.996 36.7246 283.567 36.7246C284.139 36.7246 284.668 37.0282 284.956 37.522C285.248 38.0224 285.248 38.6411 284.956 39.1415Z\",fill:\"#E9DFF2\"})),_path1353||(_path1353=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 37.1124C281.186 37.618 280.646 37.9305 280.065 37.9305C279.491 37.9305 278.956 37.6257 278.667 37.1299C278.376 36.6309 278.374 36.0145 278.661 35.5136L278.671 35.4968C278.958 34.9974 279.489 34.6895 280.065 34.6895C280.648 34.6895 281.185 35.005 281.469 35.5142L281.478 35.5312C281.753 36.0231 281.751 36.6224 281.473 37.1124Z\",fill:\"#E9DFF2\"})),_path1354||(_path1354=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.96 35.1197C277.676 35.6155 277.148 35.9212 276.576 35.9212C276.005 35.9212 275.477 35.6155 275.192 35.1197L275.179 35.0971C274.892 34.5962 274.895 33.9785 275.186 33.4796C275.474 32.9853 276.004 32.6802 276.576 32.6802C277.148 32.6802 277.678 32.9853 277.967 33.4796C278.258 33.9785 278.261 34.5962 277.973 35.0971L277.96 35.1197Z\",fill:\"#E9DFF2\"})),_path1355||(_path1355=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.48 33.0709C274.194 33.5744 273.652 33.8857 273.074 33.8857C272.502 33.8857 271.966 33.5821 271.678 33.0883C271.386 32.5879 271.386 31.9691 271.678 31.4687C271.966 30.975 272.502 30.6714 273.074 30.6714C273.652 30.6714 274.194 30.9826 274.48 31.4862C274.758 31.9777 274.758 32.5794 274.48 33.0709Z\",fill:\"#E9DFF2\"})),_path1356||(_path1356=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.976 31.0752C270.686 31.571 270.152 31.8758 269.578 31.8758C268.997 31.8758 268.457 31.5633 268.17 31.0577C267.892 30.5677 267.89 29.9685 268.164 29.4765L268.174 29.4595C268.458 28.9504 268.995 28.6348 269.578 28.6348C270.154 28.6348 270.685 28.9427 270.972 29.4421L270.981 29.4589C271.269 29.9599 271.267 30.5763 270.976 31.0752Z\",fill:\"#E9DFF2\"})),_path1357||(_path1357=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.487 29.0433C267.203 29.5524 266.666 29.868 266.083 29.868C265.507 29.868 264.975 29.5601 264.689 29.0607L264.679 29.0439C264.392 28.5429 264.394 27.9265 264.685 27.4276C264.974 26.9318 265.509 26.627 266.083 26.627C266.664 26.627 267.204 26.9395 267.491 27.4451C267.768 27.9351 267.77 28.5343 267.496 29.0263L267.487 29.0433Z\",fill:\"#E9DFF2\"})),_path1358||(_path1358=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.983 27.0341C263.695 27.5279 263.159 27.8315 262.587 27.8315C262.009 27.8315 261.467 27.5202 261.181 27.0167C260.903 26.5252 260.903 25.9235 261.181 25.432C261.467 24.9284 262.009 24.6172 262.587 24.6172C263.159 24.6172 263.695 24.9208 263.983 25.4145C264.275 25.9149 264.275 26.5337 263.983 27.0341Z\",fill:\"#E9DFF2\"})),_path1359||(_path1359=/*#__PURE__*/React.createElement(\"path\",{d:\"M260.103 24.7918C259.896 25.1485 259.511 25.368 259.098 25.368C258.686 25.368 258.301 25.1485 258.094 24.7918C257.886 24.4354 257.884 23.9957 258.088 23.6373L258.098 23.6198C258.302 23.2599 258.684 23.0376 259.098 23.0376C259.512 23.0376 259.894 23.2599 260.099 23.6198L260.109 23.6373C260.312 23.9957 260.31 24.4354 260.103 24.7918Z\",fill:\"#E9DFF2\"})),_path1360||(_path1360=/*#__PURE__*/React.createElement(\"path\",{d:\"M235.135 10.373C235.029 10.5524 234.837 10.6625 234.628 10.6625H234.618C234.402 10.6625 234.204 10.5447 234.1 10.3553C234.005 10.1795 234.005 9.96688 234.1 9.791C234.204 9.60168 234.402 9.48389 234.618 9.48389H234.628C234.837 9.48389 235.029 9.59397 235.135 9.77339C235.245 9.95831 235.245 10.188 235.135 10.373Z\",fill:\"#E9DFF2\"})),_path1361||(_path1361=/*#__PURE__*/React.createElement(\"path\",{d:\"M152.059 2.7929C151.779 3.27061 151.264 3.56411 150.71 3.56411C150.156 3.56411 149.641 3.2706 149.36 2.79289C149.077 2.3092 149.075 1.71057 149.355 1.2248L149.365 1.20765C149.642 0.726608 150.155 0.430176 150.71 0.430176C151.265 0.430176 151.778 0.726603 152.055 1.20764L152.065 1.22478C152.345 1.71057 152.343 2.30921 152.059 2.7929Z\",fill:\"#E9DFF2\"})),_path1362||(_path1362=/*#__PURE__*/React.createElement(\"path\",{d:\"M148.54 4.78395C148.267 5.25545 147.759 5.54576 147.215 5.54576C146.67 5.54576 146.163 5.25545 145.89 4.78395C145.616 4.31076 145.616 3.72719 145.89 3.254C146.163 2.7825 146.67 2.49219 147.215 2.49219C147.759 2.49219 148.267 2.7825 148.54 3.254C148.814 3.72719 148.814 4.31076 148.54 4.78395Z\",fill:\"#E9DFF2\"})),_path1363||(_path1363=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.103 6.8614C144.818 7.35719 144.29 7.66295 143.719 7.66295C143.147 7.66295 142.619 7.35719 142.335 6.8614L142.322 6.83885C142.034 6.33786 142.037 5.72023 142.328 5.22131C142.617 4.72703 143.147 4.42188 143.719 4.42188C144.291 4.42188 144.821 4.72703 145.109 5.22131C145.4 5.72023 145.403 6.33786 145.116 6.83885L145.103 6.8614Z\",fill:\"#E9DFF2\"})),_path1364||(_path1364=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.628 8.87058C141.339 9.36638 140.804 9.67125 140.23 9.67125C139.649 9.67125 139.109 9.35875 138.822 8.85314C138.545 8.36316 138.543 7.76386 138.817 7.27193L138.826 7.2549C139.11 6.74576 139.647 6.43018 140.23 6.43018C140.806 6.43018 141.338 6.73815 141.624 7.23753L141.634 7.25428C141.921 7.75526 141.919 8.37167 141.628 8.87058Z\",fill:\"#E9DFF2\"})),_path1365||(_path1365=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.117 10.8828C137.829 11.3765 137.299 11.6801 136.728 11.6801C136.156 11.6801 135.627 11.3765 135.339 10.8828C135.047 10.3824 135.047 9.76357 135.339 9.26317C135.627 8.76943 136.156 8.46582 136.728 8.46582C137.299 8.46582 137.829 8.76943 138.117 9.26317C138.409 9.76357 138.409 10.3824 138.117 10.8828Z\",fill:\"#E9DFF2\"})),_path1366||(_path1366=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.633 12.9083C134.346 13.4077 133.815 13.7157 133.239 13.7157C132.656 13.7157 132.119 13.4001 131.835 12.891L131.826 12.8739C131.551 12.382 131.553 11.7827 131.831 11.2927C132.118 10.7871 132.658 10.4746 133.239 10.4746C133.813 10.4746 134.348 10.7795 134.637 11.2753C134.928 11.7742 134.93 12.3906 134.643 12.8916L134.633 12.9083Z\",fill:\"#E9DFF2\"})),_path1367||(_path1367=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.127 14.9255C130.839 15.4198 130.309 15.725 129.737 15.725C129.164 15.725 128.634 15.4198 128.346 14.9255C128.055 14.4266 128.052 13.809 128.34 13.308L128.353 13.2854C128.637 12.7896 129.165 12.4839 129.737 12.4839C130.308 12.4839 130.836 12.7896 131.121 13.2854L131.134 13.308C131.421 13.809 131.418 14.4266 131.127 14.9255Z\",fill:\"#E9DFF2\"})),_path1368||(_path1368=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.644 16.936C127.356 17.4297 126.827 17.7333 126.256 17.7333H126.227C125.655 17.7333 125.127 17.4297 124.839 16.936C124.547 16.4356 124.547 15.8168 124.839 15.3164C125.127 14.8227 125.655 14.519 126.227 14.519H126.256C126.827 14.519 127.356 14.8227 127.644 15.3164C127.936 15.8168 127.936 16.4356 127.644 16.936Z\",fill:\"#E9DFF2\"})),_path1369||(_path1369=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.129 18.9683C123.845 19.4641 123.317 19.7699 122.745 19.7699C122.174 19.7699 121.646 19.4641 121.361 18.9683L121.348 18.9458C121.061 18.4448 121.064 17.8272 121.355 17.3282C121.643 16.834 122.173 16.5288 122.745 16.5288C123.318 16.5288 123.848 16.834 124.136 17.3282C124.427 17.8272 124.43 18.4448 124.142 18.9458L124.129 18.9683Z\",fill:\"#E9DFF2\"})),_path1370||(_path1370=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.61 20.9361C120.332 21.4237 119.811 21.7247 119.25 21.7247C118.689 21.7247 118.168 21.4237 117.891 20.9361C117.621 20.4613 117.619 19.8798 117.885 19.403L117.895 19.3857C118.169 18.8949 118.688 18.5908 119.25 18.5908C119.813 18.5908 120.331 18.8949 120.605 19.3857L120.615 19.403C120.882 19.8798 120.88 20.4613 120.61 20.9361Z\",fill:\"#E9DFF2\"})),_path1371||(_path1371=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.077 28.7157C105.907 28.9981 105.597 29.1709 105.268 29.1709C104.939 29.1709 104.629 28.9981 104.459 28.7157C104.281 28.4188 104.281 28.0479 104.459 27.7511C104.629 27.4687 104.939 27.2959 105.268 27.2959C105.597 27.2959 105.907 27.4687 106.077 27.7511C106.255 28.0479 106.255 28.4188 106.077 28.7157Z\",fill:\"#E9DFF2\"})),_path1372||(_path1372=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 31.0764C102.874 31.5707 102.344 31.8758 101.772 31.8758C101.2 31.8758 100.67 31.5707 100.382 31.0764C100.091 30.5775 100.088 29.9599 100.375 29.4589L100.388 29.4363C100.673 28.9405 101.201 28.6348 101.772 28.6348C102.344 28.6348 102.872 28.9405 103.156 29.4363L103.169 29.4589C103.457 29.9599 103.454 30.5775 103.163 31.0764Z\",fill:\"#E9DFF2\"})),_path1373||(_path1373=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.3213 32.8816C99.106 33.2544 98.7074 33.484 98.2769 33.484C97.8464 33.484 97.4478 33.2544 97.2324 32.8816C97.0169 32.5085 97.0169 32.0487 97.2324 31.6756C97.4478 31.3028 97.8464 31.0732 98.2769 31.0732C98.7074 31.0732 99.106 31.3028 99.3213 31.6756C99.5369 32.0487 99.5369 32.5085 99.3213 32.8816Z\",fill:\"#E9DFF2\"})),_path1374||(_path1374=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6904 37.1299C92.4012 37.6257 91.8704 37.9305 91.2965 37.9305H91.2753C90.7013 37.9305 90.1705 37.6257 89.8813 37.1299C89.5903 36.6309 89.5912 36.0091 89.8787 35.5081C90.1673 35.0051 90.706 34.6895 91.2859 34.6895C91.8658 34.6895 92.4045 35.0051 92.6931 35.5081C92.9806 36.0091 92.9815 36.6309 92.6904 37.1299Z\",fill:\"#E9DFF2\"})),_path1375||(_path1375=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1284 39.0969C88.8554 39.5684 88.3519 39.8587 87.8071 39.8587H87.773C87.2282 39.8587 86.7246 39.5684 86.4517 39.0969C86.1777 38.6237 86.1777 38.0402 86.4517 37.567C86.7246 37.0955 87.2282 36.8052 87.773 36.8052H87.8071C88.3519 36.8052 88.8554 37.0955 89.1284 37.567C89.4024 38.0402 89.4024 38.6237 89.1284 39.0969Z\",fill:\"#E9DFF2\"})),_path1376||(_path1376=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6921 41.1502C85.4083 41.6594 84.8711 41.975 84.2882 41.975C83.7125 41.975 83.1807 41.667 82.8942 41.1676L82.8846 41.1509C82.5971 40.6499 82.5993 40.0335 82.8904 39.5346C83.1796 39.0388 83.7142 38.7339 84.2882 38.7339C84.8693 38.7339 85.4095 39.0464 85.696 39.552C85.9737 40.042 85.9758 40.6413 85.7016 41.1332L85.6921 41.1502Z\",fill:\"#E9DFF2\"})),_path1377||(_path1377=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1893 43.1843C81.901 43.6786 81.3711 43.9838 80.7989 43.9838C80.2266 43.9838 79.6967 43.6786 79.4084 43.1843C79.1174 42.6854 79.1145 42.0678 79.4019 41.5668L79.4149 41.5442C79.6993 41.0484 80.2273 40.7427 80.7989 40.7427C81.3705 40.7427 81.8984 41.0484 82.1829 41.5442L82.1958 41.5668C82.4833 42.0678 82.4803 42.6854 82.1893 43.1843Z\",fill:\"#E9DFF2\"})),_path1378||(_path1378=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7029 45.1778C78.4176 45.6814 77.8757 45.9926 77.2969 45.9926C76.7253 45.9926 76.1891 45.689 75.9011 45.1953C75.6092 44.6949 75.6092 44.0761 75.9011 43.5757C76.1891 43.0819 76.7253 42.7783 77.2969 42.7783C77.8757 42.7783 78.4176 43.0896 78.7029 43.5931C78.9815 44.0846 78.9815 44.6863 78.7029 45.1778Z\",fill:\"#E9DFF2\"})),_path1379||(_path1379=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.638 49.2162C78.3592 49.6919 77.8486 49.9841 77.2972 49.9841C76.7387 49.9841 76.2226 49.6843 75.9464 49.1988C75.6754 48.7225 75.6754 48.1386 75.9464 47.6622C76.2226 47.1768 76.7387 46.877 77.2972 46.877C77.8486 46.877 78.3592 47.1692 78.638 47.6449C78.9224 48.13 78.9224 48.731 78.638 49.2162Z\",fill:\"#E9DFF2\"})),_path1380||(_path1380=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.5404 53.1632C78.2895 53.6148 77.8135 53.8949 77.2968 53.8949C76.7874 53.8949 76.3168 53.6224 76.0631 53.1806L76.0543 53.1653C75.7998 52.7219 75.802 52.1763 76.0601 51.735C76.3159 51.2976 76.7901 51.0288 77.2968 51.0288C77.8107 51.0288 78.2904 51.3053 78.5435 51.7524C78.7882 52.1848 78.7903 52.7133 78.5491 53.1476L78.5404 53.1632Z\",fill:\"#E9DFF2\"})),_path1381||(_path1381=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7029 57.2847C78.4176 57.7883 77.8757 58.0995 77.2969 58.0995C76.7253 58.0995 76.1891 57.7959 75.9011 57.3022C75.6092 56.8018 75.6092 56.183 75.9011 55.6826C76.1891 55.1889 76.7253 54.8853 77.2969 54.8853C77.8757 54.8853 78.4176 55.1965 78.7029 55.7001C78.9815 56.1916 78.9815 56.7932 78.7029 57.2847Z\",fill:\"#E9DFF2\"})),_path1382||(_path1382=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7029 61.3292C78.4176 61.8327 77.8757 62.144 77.2969 62.144C76.7253 62.144 76.1891 61.8404 75.9011 61.3466C75.6092 60.8462 75.6092 60.2274 75.9011 59.727C76.1891 59.2333 76.7253 58.9297 77.2969 58.9297C77.8757 58.9297 78.4176 59.2409 78.7029 59.7445C78.9815 60.236 78.9815 60.8377 78.7029 61.3292Z\",fill:\"#E9DFF2\"})),_path1383||(_path1383=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 65.3712C78.4183 65.8768 77.8781 66.1893 77.297 66.1893C76.723 66.1893 76.1884 65.8844 75.8992 65.3887C75.6081 64.8897 75.6059 64.2733 75.8934 63.7723L75.903 63.7556C76.1895 63.2562 76.7213 62.9482 77.297 62.9482C77.8799 62.9482 78.4171 63.2638 78.7009 63.773L78.7104 63.79C78.9846 64.2819 78.9825 64.8812 78.7048 65.3712Z\",fill:\"#E9DFF2\"})),_path1384||(_path1384=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7009 69.41C78.4171 69.9191 77.8799 70.2347 77.297 70.2347C76.7213 70.2347 76.1895 69.9268 75.903 69.4274L75.8934 69.4106C75.6059 68.9096 75.6081 68.2932 75.8992 67.7943C76.1884 67.2985 76.723 66.9937 77.297 66.9937C77.8781 66.9937 78.4183 67.3061 78.7048 67.8118C78.9825 68.3017 78.9846 68.901 78.7104 69.393L78.7009 69.41Z\",fill:\"#E9DFF2\"})),_path1385||(_path1385=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7029 73.4371C78.4176 73.9407 77.8757 74.2519 77.2969 74.2519C76.7253 74.2519 76.1891 73.9483 75.9011 73.4545C75.6092 72.9541 75.6092 72.3354 75.9011 71.8349C76.1891 71.3412 76.7253 71.0376 77.2969 71.0376C77.8757 71.0376 78.4176 71.3488 78.7029 71.8524C78.9815 72.3439 78.9815 72.9456 78.7029 73.4371Z\",fill:\"#E9DFF2\"})),_path1386||(_path1386=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 77.4786C78.4183 77.9842 77.8781 78.2967 77.297 78.2967C76.723 78.2967 76.1884 77.9919 75.8992 77.4961C75.6081 76.9972 75.6059 76.3808 75.8934 75.8798L75.903 75.863C76.1895 75.3636 76.7213 75.0557 77.297 75.0557C77.8799 75.0557 78.4171 75.3713 78.7009 75.8804L78.7104 75.8974C78.9846 76.3894 78.9825 76.9886 78.7048 77.4786Z\",fill:\"#E9DFF2\"})),_path1387||(_path1387=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7009 81.5164C78.4171 82.0256 77.8799 82.3412 77.297 82.3412C76.7213 82.3412 76.1895 82.0332 75.903 81.5338L75.8934 81.5171C75.6059 81.0161 75.6081 80.3997 75.8992 79.9008C76.1884 79.405 76.723 79.1001 77.297 79.1001C77.8781 79.1001 78.4183 79.4126 78.7048 79.9182C78.9825 80.4082 78.9846 81.0075 78.7104 81.4994L78.7009 81.5164Z\",fill:\"#E9DFF2\"})),_path1388||(_path1388=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M78.7521 85.4416C78.4637 85.9359 77.9338 86.2411 77.3616 86.2411C76.7894 86.2411 76.2595 85.9359 75.9712 85.4416C75.6801 84.9427 75.6772 84.3251 75.9647 83.8241L75.9776 83.8015C76.2621 83.3058 76.79 83 77.3616 83C77.9332 83 78.4612 83.3058 78.7456 83.8015L78.7586 83.8241C79.046 84.3251 79.0431 84.9427 78.7521 85.4416Z\",fill:\"#802DF6\"})),_path1389||(_path1389=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M78.7521 89.5954C78.4637 90.0897 77.9338 90.3949 77.3616 90.3949C76.7894 90.3949 76.2595 90.0897 75.9712 89.5954C75.6801 89.0965 75.6772 88.4789 75.9647 87.9779L75.9776 87.9554C76.2621 87.4596 76.79 87.1538 77.3616 87.1538C77.9332 87.1538 78.4612 87.4596 78.7456 87.9554L78.7586 87.9779C79.046 88.4789 79.0431 89.0965 78.7521 89.5954Z\",fill:\"#802DF6\"})),_path1390||(_path1390=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 93.6295C78.4183 94.1351 77.8781 94.4476 77.297 94.4476C76.723 94.4476 76.1884 94.1427 75.8992 93.647C75.6081 93.148 75.6059 92.5316 75.8934 92.0306L75.903 92.0139C76.1895 91.5145 76.7213 91.2065 77.297 91.2065C77.8799 91.2065 78.4171 91.5221 78.7009 92.0313L78.7104 92.0483C78.9846 92.5402 78.9825 93.1395 78.7048 93.6295Z\",fill:\"#E9DFF2\"})),_path1391||(_path1391=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.638 97.6449C78.3592 98.1206 77.8486 98.4128 77.2972 98.4128C76.7387 98.4128 76.2226 98.113 75.9464 97.6275C75.6754 97.1512 75.6754 96.5673 75.9464 96.091C76.2226 95.6055 76.7387 95.3057 77.2972 95.3057C77.8486 95.3057 78.3592 95.5979 78.638 96.0736C78.9224 96.5587 78.9224 97.1597 78.638 97.6449Z\",fill:\"#E9DFF2\"})),_path1392||(_path1392=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7029 117.848C78.4176 118.351 77.8757 118.663 77.2969 118.663C76.7253 118.663 76.1891 118.359 75.9011 117.865C75.6092 117.365 75.6092 116.746 75.9011 116.246C76.1891 115.752 76.7253 115.448 77.2969 115.448C77.8757 115.448 78.4176 115.759 78.7029 116.263C78.9815 116.755 78.9815 117.356 78.7029 117.848Z\",fill:\"#E9DFF2\"})),_path1393||(_path1393=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 121.888C78.4183 122.394 77.8781 122.706 77.297 122.706C76.723 122.706 76.1884 122.402 75.8992 121.906C75.6081 121.407 75.6059 120.79 75.8934 120.289L75.903 120.273C76.1895 119.773 76.7213 119.465 77.297 119.465C77.8799 119.465 78.4171 119.781 78.7009 120.29L78.7104 120.307C78.9846 120.799 78.9825 121.398 78.7048 121.888Z\",fill:\"#E9DFF2\"})),_path1394||(_path1394=/*#__PURE__*/React.createElement(\"path\",{d:\"M77.5101 125.265C77.4651 125.34 77.3841 125.386 77.2967 125.386C77.2025 125.386 77.1163 125.333 77.0742 125.248L77.0673 125.235C77.0308 125.162 77.0327 125.075 77.0723 125.004C77.1159 124.926 77.1986 124.877 77.2884 124.877H77.3049C77.3878 124.877 77.4652 124.918 77.5112 124.987C77.5644 125.067 77.5669 125.17 77.5176 125.253L77.5101 125.265Z\",fill:\"#E9DFF2\"})),_path1395||(_path1395=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 184.477C95.8806 184.972 95.3526 185.278 94.781 185.278C94.2094 185.278 93.6815 184.972 93.397 184.477L93.3841 184.454C93.0966 183.953 93.0996 183.335 93.3906 182.837C93.6789 182.342 94.2088 182.037 94.781 182.037C95.3533 182.037 95.8832 182.342 96.1715 182.837C96.4625 183.335 96.4654 183.953 96.178 184.454L96.165 184.477Z\",fill:\"#E9DFF2\"})),_path1396||(_path1396=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 186.489C99.3917 186.983 98.8631 187.287 98.2915 187.287H98.2627C97.6911 187.287 97.1625 186.983 96.8745 186.489C96.5826 185.989 96.5826 185.37 96.8745 184.87C97.1625 184.376 97.6911 184.072 98.2627 184.072H98.2915C98.8631 184.072 99.3917 184.376 99.6797 184.87C99.9716 185.37 99.9716 185.989 99.6797 186.489Z\",fill:\"#E9DFF2\"})),_path1397||(_path1397=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 188.499C102.873 188.993 102.344 189.296 101.772 189.296C101.201 189.296 100.671 188.993 100.383 188.499C100.091 187.999 100.091 187.38 100.383 186.879C100.671 186.386 101.201 186.082 101.772 186.082C102.344 186.082 102.873 186.386 103.161 186.879C103.453 187.38 103.453 187.999 103.161 188.499Z\",fill:\"#E9DFF2\"})),_path1398||(_path1398=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.663 190.511C106.38 191.002 105.856 191.305 105.288 191.305H105.247C104.68 191.305 104.156 191.002 103.872 190.511C103.592 190.024 103.592 189.421 103.869 188.932C104.153 188.431 104.691 188.118 105.268 188.118C105.844 188.118 106.383 188.431 106.667 188.932C106.944 189.421 106.944 190.024 106.663 190.511Z\",fill:\"#E9DFF2\"})),_path1399||(_path1399=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.249 143.674C298.107 143.924 297.836 144.082 297.549 144.082C297.262 144.082 296.991 143.924 296.85 143.674C296.712 143.431 296.712 143.13 296.854 142.889C296.994 142.649 297.251 142.501 297.529 142.501H297.569C297.847 142.501 298.104 142.649 298.245 142.889C298.386 143.13 298.387 143.431 298.249 143.674Z\",fill:\"#E9DFF2\"})),_path1400||(_path1400=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.848 123.846C298.583 124.302 298.096 124.582 297.569 124.582H297.53C297.003 124.582 296.516 124.302 296.251 123.846C295.985 123.39 295.985 122.823 296.247 122.365C296.513 121.899 297.013 121.609 297.549 121.609C298.085 121.609 298.586 121.899 298.852 122.365C299.114 122.823 299.113 123.39 298.848 123.846Z\",fill:\"#E9DFF2\"})),_path1401||(_path1401=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 119.873C298.65 120.367 298.121 120.671 297.549 120.671C296.978 120.671 296.448 120.367 296.16 119.873C295.868 119.373 295.868 118.754 296.16 118.254C296.448 117.76 296.978 117.457 297.549 117.457C298.121 117.457 298.65 117.76 298.938 118.254C299.23 118.754 299.23 119.373 298.938 119.873Z\",fill:\"#E9DFF2\"})),_path1402||(_path1402=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.933 115.852C298.649 116.348 298.121 116.654 297.549 116.654C296.978 116.654 296.45 116.348 296.165 115.852L296.152 115.83C295.865 115.329 295.868 114.711 296.159 114.212C296.447 113.718 296.977 113.413 297.549 113.413C298.121 113.413 298.651 113.718 298.94 114.212C299.231 114.711 299.234 115.329 298.946 115.83L298.933 115.852Z\",fill:\"#E9DFF2\"})),_path1403||(_path1403=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M298.088 111.305C297.978 111.498 297.771 111.618 297.549 111.618C297.327 111.618 297.12 111.498 297.011 111.305C296.904 111.117 296.904 110.887 297.011 110.699C297.12 110.505 297.327 110.386 297.549 110.386C297.771 110.386 297.978 110.505 298.088 110.699C298.194 110.887 298.194 111.117 298.088 111.305Z\",fill:\"#802DF6\"})),_path1404||(_path1404=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M298.938 107.767C298.65 108.261 298.121 108.564 297.549 108.564C296.978 108.564 296.448 108.261 296.16 107.767C295.868 107.267 295.868 106.648 296.16 106.147C296.448 105.654 296.978 105.35 297.549 105.35C298.121 105.35 298.65 105.654 298.938 106.147C299.23 106.648 299.23 107.267 298.938 107.767Z\",fill:\"#802DF6\"})),_path1405||(_path1405=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M298.933 103.745C298.649 104.24 298.121 104.546 297.549 104.546C296.978 104.546 296.45 104.24 296.165 103.745L296.152 103.722C295.865 103.221 295.868 102.604 296.159 102.105C296.447 101.61 296.977 101.305 297.549 101.305C298.121 101.305 298.651 101.61 298.94 102.105C299.231 102.604 299.234 103.221 298.946 103.722L298.933 103.745Z\",fill:\"#802DF6\"})),_path1406||(_path1406=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M298.94 99.7024C298.651 100.197 298.121 100.502 297.549 100.502C296.977 100.502 296.447 100.197 296.159 99.7024C295.868 99.2035 295.865 98.5858 296.152 98.0848L296.165 98.0623C296.45 97.5665 296.978 97.2607 297.549 97.2607C298.121 97.2607 298.649 97.5665 298.933 98.0623L298.946 98.0848C299.234 98.5858 299.231 99.2035 298.94 99.7024Z\",fill:\"#802DF6\"})),_path1407||(_path1407=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 95.6601C298.65 96.1538 298.121 96.4575 297.549 96.4575C296.978 96.4575 296.448 96.1538 296.16 95.6601C295.868 95.1597 295.868 94.5409 296.16 94.0405C296.448 93.5468 296.978 93.2432 297.549 93.2432C298.121 93.2432 298.65 93.5468 298.938 94.0405C299.23 94.5409 299.23 95.1597 298.938 95.6601Z\",fill:\"#E9DFF2\"})),_path1408||(_path1408=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 91.6152C298.65 92.1089 298.121 92.4125 297.549 92.4125C296.978 92.4125 296.448 92.1089 296.16 91.6152C295.868 91.1148 295.868 90.496 296.16 89.9956C296.448 89.5018 296.978 89.1982 297.549 89.1982C298.121 89.1982 298.65 89.5018 298.938 89.9956C299.23 90.496 299.23 91.1148 298.938 91.6152Z\",fill:\"#E9DFF2\"})),_path1409||(_path1409=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.94 87.5954C298.651 88.0897 298.121 88.3949 297.549 88.3949C296.977 88.3949 296.447 88.0897 296.159 87.5954C295.868 87.0965 295.865 86.4789 296.152 85.9779L296.165 85.9554C296.45 85.4596 296.978 85.1538 297.549 85.1538C298.121 85.1538 298.649 85.4596 298.933 85.9554L298.946 85.9779C299.234 86.4789 299.231 87.0965 298.94 87.5954Z\",fill:\"#E9DFF2\"})),_path1410||(_path1410=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 83.5522C298.65 84.0459 298.121 84.3495 297.549 84.3495C296.978 84.3495 296.448 84.0459 296.16 83.5522C295.868 83.0518 295.868 82.433 296.16 81.9326C296.448 81.4389 296.978 81.1353 297.549 81.1353C298.121 81.1353 298.65 81.4389 298.938 81.9326C299.23 82.433 299.23 83.0518 298.938 83.5522Z\",fill:\"#E9DFF2\"})),_path1411||(_path1411=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 79.5082C298.65 80.002 298.121 80.3056 297.549 80.3056C296.978 80.3056 296.448 80.002 296.16 79.5082C295.868 79.0078 295.868 78.3891 296.16 77.8887C296.448 77.3949 296.978 77.0913 297.549 77.0913C298.121 77.0913 298.65 77.3949 298.938 77.8887C299.23 78.3891 299.23 79.0078 298.938 79.5082Z\",fill:\"#E9DFF2\"})),_path1412||(_path1412=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.933 75.4859C298.649 75.9817 298.121 76.2875 297.549 76.2875C296.978 76.2875 296.45 75.9817 296.165 75.4859L296.152 75.4634C295.865 74.9624 295.868 74.3447 296.159 73.8458C296.447 73.3515 296.977 73.0464 297.549 73.0464C298.121 73.0464 298.651 73.3515 298.94 73.8458C299.231 74.3447 299.234 74.9624 298.946 75.4634L298.933 75.4859Z\",fill:\"#E9DFF2\"})),_path1413||(_path1413=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.94 71.4426C298.651 71.9369 298.121 72.2421 297.549 72.2421C296.977 72.2421 296.447 71.9369 296.159 71.4426C295.868 70.9437 295.865 70.3261 296.152 69.8251L296.165 69.8025C296.45 69.3067 296.978 69.001 297.549 69.001C298.121 69.001 298.649 69.3067 298.933 69.8025L298.946 69.8251C299.234 70.3261 299.231 70.9437 298.94 71.4426Z\",fill:\"#E9DFF2\"})),_path1414||(_path1414=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 67.4008C298.65 67.8946 298.121 68.1982 297.549 68.1982C296.978 68.1982 296.448 67.8946 296.16 67.4008C295.868 66.9004 295.868 66.2816 296.16 65.7812C296.448 65.2875 296.978 64.9839 297.549 64.9839C298.121 64.9839 298.65 65.2875 298.938 65.7812C299.23 66.2816 299.23 66.9004 298.938 67.4008Z\",fill:\"#E9DFF2\"})),_path1415||(_path1415=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.933 63.3785C298.649 63.8743 298.121 64.18 297.549 64.18C296.978 64.18 296.45 63.8743 296.165 63.3785L296.152 63.3559C295.865 62.855 295.868 62.2373 296.159 61.7384C296.447 61.2441 296.977 60.939 297.549 60.939C298.121 60.939 298.651 61.2441 298.94 61.7384C299.231 62.2373 299.234 62.855 298.946 63.3559L298.933 63.3785Z\",fill:\"#E9DFF2\"})),_path1416||(_path1416=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.94 59.3357C298.651 59.83 298.121 60.1351 297.549 60.1351C296.977 60.1351 296.447 59.83 296.159 59.3357C295.868 58.8368 295.865 58.2191 296.152 57.7181L296.165 57.6956C296.45 57.1998 296.978 56.894 297.549 56.894C298.121 56.894 298.649 57.1998 298.933 57.6956L298.946 57.7181C299.234 58.2191 299.231 58.8368 298.94 59.3357Z\",fill:\"#E9DFF2\"})),_path1417||(_path1417=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 55.2929C298.65 55.7867 298.121 56.0903 297.549 56.0903C296.978 56.0903 296.448 55.7867 296.16 55.2929C295.868 54.7925 295.868 54.1737 296.16 53.6733C296.448 53.1796 296.978 52.876 297.549 52.876C298.121 52.876 298.65 53.1796 298.938 53.6733C299.23 54.1737 299.23 54.7925 298.938 55.2929Z\",fill:\"#E9DFF2\"})),_path1418||(_path1418=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 51.249C298.65 51.7427 298.121 52.0463 297.549 52.0463C296.978 52.0463 296.448 51.7427 296.16 51.249C295.868 50.7486 295.868 50.1298 296.16 49.6294C296.448 49.1356 296.978 48.832 297.549 48.832C298.121 48.832 298.65 49.1356 298.938 49.6294C299.23 50.1298 299.23 50.7486 298.938 51.249Z\",fill:\"#E9DFF2\"})),_path1419||(_path1419=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.933 47.2266C298.649 47.7224 298.121 48.0282 297.549 48.0282C296.978 48.0282 296.45 47.7224 296.165 47.2266L296.152 47.2041C295.865 46.7031 295.868 46.0855 296.159 45.5865C296.447 45.0923 296.977 44.7871 297.549 44.7871C298.121 44.7871 298.651 45.0923 298.94 45.5865C299.231 46.0855 299.234 46.7031 298.946 47.2041L298.933 47.2266Z\",fill:\"#E9DFF2\"})),_path1420||(_path1420=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.94 43.1843C298.651 43.6786 298.121 43.9838 297.549 43.9838C296.977 43.9838 296.447 43.6786 296.159 43.1843C295.868 42.6854 295.865 42.0678 296.152 41.5668L296.165 41.5442C296.45 41.0484 296.978 40.7427 297.549 40.7427C298.121 40.7427 298.649 41.0484 298.933 41.5442L298.946 41.5668C299.234 42.0678 299.231 42.6854 298.94 43.1843Z\",fill:\"#E9DFF2\"})),_path1421||(_path1421=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.461 41.1563C295.172 41.6593 294.634 41.975 294.054 41.975C293.474 41.975 292.935 41.6593 292.647 41.1563C292.359 40.6553 292.358 40.0335 292.649 39.5346C292.938 39.0388 293.469 38.7339 294.043 38.7339H294.064C294.638 38.7339 295.169 39.0388 295.458 39.5346C295.749 40.0335 295.748 40.6553 295.461 41.1563Z\",fill:\"#E9DFF2\"})),_path1422||(_path1422=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 39.1415C291.659 39.6353 291.13 39.9389 290.558 39.9389C289.987 39.9389 289.457 39.6353 289.169 39.1415C288.877 38.6411 288.877 38.0224 289.169 37.522C289.457 37.0282 289.987 36.7246 290.558 36.7246C291.13 36.7246 291.659 37.0282 291.947 37.522C292.239 38.0224 292.239 38.6411 291.947 39.1415Z\",fill:\"#E9DFF2\"})),_path1423||(_path1423=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.464 37.1124C288.177 37.618 287.637 37.9305 287.056 37.9305C286.482 37.9305 285.947 37.6257 285.658 37.1299C285.367 36.6309 285.365 36.0145 285.652 35.5136L285.662 35.4968C285.949 34.9974 286.48 34.6895 287.056 34.6895C287.639 34.6895 288.176 35.005 288.46 35.5142L288.469 35.5312C288.744 36.0231 288.742 36.6224 288.464 37.1124Z\",fill:\"#E9DFF2\"})),_path1424||(_path1424=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.951 35.1197C284.667 35.6155 284.139 35.9212 283.567 35.9212C282.996 35.9212 282.468 35.6155 282.183 35.1197L282.17 35.0971C281.883 34.5962 281.886 33.9785 282.177 33.4796C282.465 32.9853 282.995 32.6802 283.567 32.6802C284.139 32.6802 284.669 32.9853 284.958 33.4796C285.249 33.9785 285.252 34.5962 284.964 35.0971L284.951 35.1197Z\",fill:\"#E9DFF2\"})),_path1425||(_path1425=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 33.0709C281.186 33.5744 280.644 33.8857 280.065 33.8857C279.493 33.8857 278.957 33.5821 278.669 33.0883C278.377 32.5879 278.377 31.9691 278.669 31.4687C278.957 30.975 279.493 30.6714 280.065 30.6714C280.644 30.6714 281.186 30.9826 281.471 31.4862C281.75 31.9777 281.75 32.5794 281.471 33.0709Z\",fill:\"#E9DFF2\"})),_path1426||(_path1426=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.967 31.0764C277.678 31.5707 277.148 31.8758 276.576 31.8758C276.004 31.8758 275.474 31.5707 275.186 31.0764C274.895 30.5775 274.892 29.9599 275.179 29.4589L275.192 29.4363C275.477 28.9405 276.005 28.6348 276.576 28.6348C277.148 28.6348 277.676 28.9405 277.96 29.4363L277.973 29.4589C278.261 29.9599 278.258 30.5775 277.967 31.0764Z\",fill:\"#E9DFF2\"})),_path1427||(_path1427=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.478 29.0433C274.194 29.5524 273.657 29.868 273.074 29.868C272.498 29.868 271.966 29.5601 271.68 29.0607L271.67 29.0439C271.383 28.5429 271.385 27.9265 271.676 27.4276C271.965 26.9318 272.5 26.627 273.074 26.627C273.655 26.627 274.195 26.9394 274.481 27.4451C274.759 27.935 274.761 28.5343 274.487 29.0263L274.478 29.0433Z\",fill:\"#E9DFF2\"})),_path1428||(_path1428=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 27.0341C270.686 27.5279 270.15 27.8315 269.578 27.8315C268.999 27.8315 268.457 27.5202 268.172 27.0167C267.893 26.5252 267.893 25.9235 268.172 25.432C268.457 24.9284 268.999 24.6172 269.578 24.6172C270.15 24.6172 270.686 24.9208 270.974 25.4145C271.266 25.9149 271.266 26.5337 270.974 27.0341Z\",fill:\"#E9DFF2\"})),_path1429||(_path1429=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.491 25.0045C267.204 25.5101 266.664 25.8226 266.083 25.8226C265.509 25.8226 264.974 25.5177 264.685 25.022C264.394 24.523 264.392 23.9066 264.679 23.4056L264.689 23.3889C264.975 22.8895 265.507 22.5815 266.083 22.5815C266.666 22.5815 267.203 22.8971 267.487 23.4063L267.496 23.4233C267.77 23.9152 267.768 24.5145 267.491 25.0045Z\",fill:\"#E9DFF2\"})),_path1430||(_path1430=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.946 22.971C263.667 23.4556 263.147 23.7599 262.587 23.7599C262.021 23.7599 261.495 23.4477 261.219 22.9533C260.952 22.4766 260.951 21.8894 261.221 21.4146C261.499 20.9271 262.016 20.626 262.577 20.626H262.597C263.151 20.626 263.663 20.9195 263.943 21.3972C264.227 21.8809 264.226 22.4852 263.946 22.971Z\",fill:\"#E9DFF2\"})),_path1431||(_path1431=/*#__PURE__*/React.createElement(\"path\",{d:\"M145.092 2.7755C144.814 3.26301 144.297 3.56411 143.736 3.56411H143.716C143.162 3.56411 142.65 3.27061 142.37 2.7929C142.086 2.30921 142.087 1.70488 142.367 1.2191C142.646 0.73448 143.166 0.430176 143.726 0.430176C144.292 0.430176 144.818 0.742339 145.094 1.23676C145.361 1.71353 145.362 2.30069 145.092 2.7755Z\",fill:\"#E9DFF2\"})),_path1432||(_path1432=/*#__PURE__*/React.createElement(\"path\",{d:\"M141.626 4.82953C141.338 5.32328 140.802 5.62688 140.23 5.62688C139.651 5.62688 139.11 5.31566 138.824 4.81209C138.546 4.32057 138.546 3.71891 138.824 3.22739C139.11 2.72383 139.651 2.4126 140.23 2.4126C140.802 2.4126 141.338 2.71621 141.626 3.20995C141.918 3.71035 141.918 4.32913 141.626 4.82953Z\",fill:\"#E9DFF2\"})),_path1433||(_path1433=/*#__PURE__*/React.createElement(\"path\",{d:\"M138.112 6.8614C137.827 7.35719 137.299 7.66295 136.728 7.66295C136.156 7.66295 135.628 7.35719 135.344 6.8614L135.331 6.83885C135.043 6.33786 135.046 5.72023 135.337 5.22131C135.626 4.72703 136.156 4.42188 136.728 4.42188C137.3 4.42188 137.83 4.72703 138.118 5.22131C138.409 5.72023 138.412 6.33786 138.125 6.83885L138.112 6.8614Z\",fill:\"#E9DFF2\"})),_path1434||(_path1434=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.637 8.87058C134.348 9.36638 133.813 9.67125 133.239 9.67125C132.658 9.67125 132.118 9.35875 131.831 8.85313C131.553 8.36315 131.551 7.76387 131.826 7.27194L131.835 7.25491C132.119 6.74576 132.656 6.43018 133.239 6.43018C133.815 6.43018 134.346 6.73815 134.633 7.23753L134.643 7.25428C134.93 7.75526 134.928 8.37167 134.637 8.87058Z\",fill:\"#E9DFF2\"})),_path1435||(_path1435=/*#__PURE__*/React.createElement(\"path\",{d:\"M131.126 10.8828C130.838 11.3765 130.308 11.6801 129.737 11.6801C129.165 11.6801 128.635 11.3765 128.347 10.8828C128.055 10.3824 128.055 9.76358 128.347 9.26317C128.635 8.76943 129.165 8.46582 129.737 8.46582C130.308 8.46582 130.838 8.76943 131.126 9.26317C131.418 9.76357 131.418 10.3824 131.126 10.8828Z\",fill:\"#E9DFF2\"})),_path1436||(_path1436=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.648 12.897C127.36 13.4 126.821 13.7157 126.241 13.7157C125.661 13.7157 125.123 13.4 124.834 12.897C124.547 12.3961 124.546 11.7742 124.837 11.2753C125.126 10.7795 125.657 10.4746 126.231 10.4746H126.252C126.826 10.4746 127.357 10.7795 127.646 11.2753C127.937 11.7742 127.936 12.3961 127.648 12.897Z\",fill:\"#E9DFF2\"})),_path1437||(_path1437=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.136 14.9255C123.848 15.4198 123.318 15.725 122.745 15.725C122.173 15.725 121.643 15.4198 121.355 14.9255C121.064 14.4266 121.061 13.809 121.348 13.308L121.361 13.2854C121.646 12.7896 122.174 12.4839 122.745 12.4839C123.317 12.4839 123.845 12.7896 124.129 13.2854L124.142 13.308C124.43 13.809 124.427 14.4266 124.136 14.9255Z\",fill:\"#E9DFF2\"})),_path1438||(_path1438=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.653 16.936C120.365 17.4297 119.836 17.7333 119.264 17.7333H119.236C118.664 17.7333 118.135 17.4297 117.847 16.936C117.555 16.4356 117.555 15.8168 117.847 15.3164C118.135 14.8227 118.664 14.519 119.236 14.519H119.264C119.836 14.519 120.365 14.8227 120.653 15.3164C120.945 15.8168 120.945 16.4356 120.653 16.936Z\",fill:\"#E9DFF2\"})),_path1439||(_path1439=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.138 18.9683C116.854 19.4641 116.326 19.7699 115.754 19.7699C115.183 19.7699 114.655 19.4641 114.37 18.9683L114.357 18.9458C114.07 18.4448 114.073 17.8272 114.364 17.3282C114.652 16.834 115.182 16.5288 115.754 16.5288C116.327 16.5288 116.857 16.834 117.145 17.3282C117.436 17.8272 117.439 18.4448 117.151 18.9458L117.138 18.9683Z\",fill:\"#E9DFF2\"})),_path1440||(_path1440=/*#__PURE__*/React.createElement(\"path\",{d:\"M112.779 20.4842C112.673 20.6715 112.474 20.7873 112.259 20.7873C112.044 20.7873 111.845 20.6715 111.74 20.4842L111.734 20.4744C111.628 20.2863 111.628 20.0562 111.734 19.8681L111.74 19.8583C111.845 19.671 112.044 19.5552 112.259 19.5552C112.474 19.5552 112.673 19.671 112.779 19.8583L112.784 19.8681C112.891 20.0562 112.891 20.2863 112.784 20.4744L112.779 20.4842Z\",fill:\"#E9DFF2\"})),_path1441||(_path1441=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.035 26.3798C101.98 26.4667 101.884 26.5194 101.781 26.5194H101.764C101.661 26.5194 101.565 26.4667 101.509 26.3798C101.449 26.2846 101.446 26.1635 101.503 26.066L101.51 26.0537C101.565 25.9606 101.664 25.9033 101.772 25.9033C101.88 25.9033 101.98 25.9606 102.034 26.0537L102.041 26.066C102.098 26.1635 102.096 26.2846 102.035 26.3798Z\",fill:\"#E9DFF2\"})),_path1442||(_path1442=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 29.0494C99.3957 29.5524 98.857 29.868 98.2771 29.868C97.6972 29.868 97.1585 29.5524 96.8699 29.0494C96.5824 28.5484 96.5815 27.9265 96.8725 27.4276C97.1618 26.9318 97.6925 26.627 98.2665 26.627H98.2877C98.8617 26.627 99.3924 26.9318 99.6817 27.4276C99.9727 27.9265 99.9718 28.5484 99.6843 29.0494Z\",fill:\"#E9DFF2\"})),_path1443||(_path1443=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1715 31.0764C95.8832 31.5707 95.3533 31.8758 94.781 31.8758C94.2088 31.8758 93.6789 31.5707 93.3906 31.0764C93.0996 30.5775 93.0966 29.9599 93.3841 29.4589L93.397 29.4363C93.6815 28.9405 94.2094 28.6348 94.781 28.6348C95.3526 28.6348 95.8806 28.9405 96.165 29.4363L96.178 29.4589C96.4654 29.9599 96.4625 30.5775 96.1715 31.0764Z\",fill:\"#E9DFF2\"})),_path1444||(_path1444=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.3751 32.9228C92.148 33.3039 91.7372 33.5374 91.2935 33.5374H91.2779C90.8343 33.5374 90.4234 33.3039 90.1964 32.9228C89.9598 32.5258 89.9598 32.0311 90.1964 31.6341C90.4234 31.253 90.8343 31.0195 91.2779 31.0195H91.2935C91.7372 31.0195 92.148 31.253 92.3751 31.6341C92.6116 32.0311 92.6116 32.5258 92.3751 32.9228Z\",fill:\"#E9DFF2\"})),_path1445||(_path1445=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.5857 34.7692C88.4176 35.0494 88.1105 35.2242 87.7837 35.2242C87.4497 35.2242 87.1371 35.0418 86.9714 34.7518C86.8082 34.4662 86.8085 34.1118 86.9753 33.8282C87.1401 33.548 87.4409 33.376 87.766 33.376H87.8009C88.119 33.376 88.4145 33.5407 88.5816 33.8114C88.762 34.1033 88.7623 34.4749 88.5857 34.7692Z\",fill:\"#E9DFF2\"})),_path1446||(_path1446=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.696 37.1124C85.4095 37.618 84.8693 37.9305 84.2882 37.9305C83.7142 37.9305 83.1796 37.6257 82.8904 37.1299C82.5993 36.6309 82.5971 36.0145 82.8846 35.5136L82.8942 35.4968C83.1807 34.9974 83.7125 34.6895 84.2882 34.6895C84.8711 34.6895 85.4083 35.005 85.6921 35.5142L85.7016 35.5312C85.9758 36.0231 85.9737 36.6224 85.696 37.1124Z\",fill:\"#E9DFF2\"})),_path1447||(_path1447=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1881 39.1415C81.9001 39.6353 81.3705 39.9389 80.7989 39.9389C80.2273 39.9389 79.6977 39.6353 79.4096 39.1415C79.1177 38.6411 79.1177 38.0224 79.4096 37.522C79.6977 37.0282 80.2273 36.7246 80.7989 36.7246C81.3705 36.7246 81.9001 37.0282 82.1881 37.522C82.48 38.0224 82.48 38.6411 82.1881 39.1415Z\",fill:\"#E9DFF2\"})),_path1448||(_path1448=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7009 41.1502C78.4171 41.6594 77.8799 41.975 77.297 41.975C76.7213 41.975 76.1895 41.667 75.903 41.1676L75.8934 41.1509C75.6059 40.6499 75.6081 40.0335 75.8992 39.5346C76.1884 39.0388 76.723 38.7339 77.297 38.7339C77.8781 38.7339 78.4183 39.0464 78.7048 39.552C78.9825 40.042 78.9846 40.6413 78.7104 41.1332L78.7009 41.1502Z\",fill:\"#E9DFF2\"})),_path1449||(_path1449=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1986 43.1843C74.9103 43.6786 74.3804 43.9838 73.8081 43.9838C73.2359 43.9838 72.706 43.6786 72.4177 43.1843C72.1267 42.6854 72.1237 42.0678 72.4112 41.5668L72.4241 41.5442C72.7086 41.0484 73.2365 40.7427 73.8081 40.7427C74.3797 40.7427 74.9077 41.0484 75.1921 41.5442L75.2051 41.5668C75.4925 42.0678 75.4896 42.6854 75.1986 43.1843Z\",fill:\"#E9DFF2\"})),_path1450||(_path1450=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1921 47.2266C74.9077 47.7224 74.3797 48.0282 73.8081 48.0282C73.2365 48.0282 72.7086 47.7224 72.4241 47.2266L72.4112 47.2041C72.1237 46.7031 72.1267 46.0855 72.4177 45.5865C72.706 45.0923 73.2359 44.7871 73.8081 44.7871C74.3804 44.7871 74.9103 45.0923 75.1986 45.5865C75.4896 46.0855 75.4925 46.7031 75.2051 47.2041L75.1921 47.2266Z\",fill:\"#E9DFF2\"})),_path1451||(_path1451=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 51.249C74.9094 51.7427 74.3797 52.0463 73.8081 52.0463C73.2365 52.0463 72.7069 51.7427 72.4189 51.249C72.127 50.7486 72.127 50.1298 72.4189 49.6294C72.7069 49.1356 73.2365 48.832 73.8081 48.832C74.3797 48.832 74.9094 49.1356 75.1974 49.6294C75.4893 50.1298 75.4893 50.7486 75.1974 51.249Z\",fill:\"#E9DFF2\"})),_path1452||(_path1452=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 55.2929C74.9094 55.7867 74.3797 56.0903 73.8081 56.0903C73.2365 56.0903 72.7069 55.7867 72.4189 55.2929C72.127 54.7925 72.127 54.1737 72.4189 53.6733C72.7069 53.1796 73.2365 52.876 73.8081 52.876C74.3797 52.876 74.9094 53.1796 75.1974 53.6733C75.4893 54.1737 75.4893 54.7925 75.1974 55.2929Z\",fill:\"#E9DFF2\"})),_path1453||(_path1453=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1986 59.3357C74.9103 59.83 74.3804 60.1351 73.8081 60.1351C73.2359 60.1351 72.706 59.83 72.4177 59.3357C72.1267 58.8368 72.1237 58.2191 72.4112 57.7181L72.4241 57.6956C72.7086 57.1998 73.2365 56.894 73.8081 56.894C74.3797 56.894 74.9077 57.1998 75.1921 57.6956L75.2051 57.7181C75.4925 58.2191 75.4896 58.8368 75.1986 59.3357Z\",fill:\"#E9DFF2\"})),_path1454||(_path1454=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1921 75.4859C74.9077 75.9817 74.3797 76.2875 73.8081 76.2875C73.2365 76.2875 72.7086 75.9817 72.4241 75.4859L72.4112 75.4634C72.1237 74.9624 72.1267 74.3447 72.4177 73.8458C72.706 73.3515 73.2359 73.0464 73.8081 73.0464C74.3804 73.0464 74.9103 73.3515 75.1986 73.8458C75.4896 74.3447 75.4925 74.9624 75.2051 75.4634L75.1921 75.4859Z\",fill:\"#E9DFF2\"})),_path1455||(_path1455=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 79.5082C74.9094 80.002 74.3797 80.3056 73.8081 80.3056C73.2365 80.3056 72.7069 80.002 72.4189 79.5082C72.127 79.0078 72.127 78.3891 72.4189 77.8887C72.7069 77.3949 73.2365 77.0913 73.8081 77.0913C74.3797 77.0913 74.9094 77.3949 75.1974 77.8887C75.4893 78.3891 75.4893 79.0078 75.1974 79.5082Z\",fill:\"#E9DFF2\"})),_path1456||(_path1456=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 83.5522C74.9094 84.0459 74.3797 84.3495 73.8081 84.3495C73.2365 84.3495 72.7069 84.0459 72.4189 83.5522C72.127 83.0518 72.127 82.433 72.4189 81.9326C72.7069 81.4389 73.2365 81.1353 73.8081 81.1353C74.3797 81.1353 74.9094 81.4389 75.1974 81.9326C75.4893 82.433 75.4893 83.0518 75.1974 83.5522Z\",fill:\"#E9DFF2\"})),_path1457||(_path1457=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M75.1986 87.5954C74.9103 88.0897 74.3804 88.3949 73.8081 88.3949C73.2359 88.3949 72.706 88.0897 72.4177 87.5954C72.1267 87.0965 72.1237 86.4789 72.4112 85.9779L72.4241 85.9553C72.7086 85.4596 73.2365 85.1538 73.8081 85.1538C74.3797 85.1538 74.9077 85.4596 75.1921 85.9553L75.2051 85.9779C75.4925 86.4789 75.4896 87.0965 75.1986 87.5954Z\",fill:\"#802DF6\"})),_path1458||(_path1458=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 91.6152C74.9094 92.1089 74.3797 92.4125 73.8081 92.4125C73.2365 92.4125 72.7069 92.1089 72.4189 91.6152C72.127 91.1148 72.127 90.496 72.4189 89.9956C72.7069 89.5018 73.2365 89.1982 73.8081 89.1982C74.3797 89.1982 74.9094 89.5018 75.1974 89.9956C75.4893 90.496 75.4893 91.1148 75.1974 91.6152Z\",fill:\"#E9DFF2\"})),_path1459||(_path1459=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 95.6601C74.9094 96.1538 74.3797 96.4575 73.8081 96.4575C73.2365 96.4575 72.7069 96.1538 72.4189 95.6601C72.127 95.1597 72.127 94.5409 72.4189 94.0405C72.7069 93.5468 73.2365 93.2432 73.8081 93.2432C74.3797 93.2432 74.9094 93.5468 75.1974 94.0405C75.4893 94.5409 75.4893 95.1597 75.1974 95.6601Z\",fill:\"#E9DFF2\"})),_path1460||(_path1460=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.7481 99.4249C74.5557 99.7594 74.1993 99.9655 73.8135 99.9655H73.7887C73.41 99.9655 73.059 99.7668 72.8642 99.4421C72.6615 99.1042 72.6619 98.678 72.861 98.3379C73.0558 98.005 73.4153 97.7959 73.8011 97.7959C74.1939 97.7959 74.5589 98.0129 74.7511 98.3555C74.9369 98.6866 74.9373 99.0957 74.7481 99.4249Z\",fill:\"#E9DFF2\"})),_path1461||(_path1461=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1986 111.809C74.9103 112.304 74.3804 112.609 73.8081 112.609C73.2359 112.609 72.706 112.304 72.4177 111.809C72.1267 111.31 72.1237 110.693 72.4112 110.192L72.4241 110.169C72.7086 109.673 73.2365 109.368 73.8081 109.368C74.3797 109.368 74.9077 109.673 75.1921 110.169L75.2051 110.192C75.4925 110.693 75.4896 111.31 75.1986 111.809Z\",fill:\"#E9DFF2\"})),_path1462||(_path1462=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.0729 115.746C74.8149 116.203 74.3268 116.493 73.8014 116.493C73.2831 116.493 72.8005 116.211 72.5399 115.763C72.2749 115.308 72.2736 114.739 72.5422 114.286C72.8039 113.844 73.2791 113.573 73.7923 113.573H73.8105C74.3309 113.573 74.8116 113.852 75.0707 114.303C75.3258 114.747 75.3245 115.299 75.0729 115.746Z\",fill:\"#E9DFF2\"})),_path1463||(_path1463=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 119.873C74.9094 120.367 74.3797 120.671 73.8081 120.671C73.2365 120.671 72.7069 120.367 72.4189 119.873C72.127 119.373 72.127 118.754 72.4189 118.254C72.7069 117.76 73.2365 117.457 73.8081 117.457C74.3797 117.457 74.9094 117.76 75.1974 118.254C75.4893 118.754 75.4893 119.373 75.1974 119.873Z\",fill:\"#E9DFF2\"})),_path1464||(_path1464=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1239 188.46C95.8495 188.942 95.336 189.242 94.7812 189.242C94.2265 189.242 93.713 188.942 93.4386 188.46C93.1676 187.983 93.1676 187.394 93.4386 186.918C93.713 186.436 94.2265 186.135 94.7812 186.135C95.336 186.135 95.8495 186.436 96.1239 186.918C96.3949 187.394 96.3949 187.983 96.1239 188.46Z\",fill:\"#E9DFF2\"})),_path1465||(_path1465=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 190.532C99.3924 191.028 98.8617 191.332 98.2877 191.332H98.2665C97.6925 191.332 97.1618 191.028 96.8725 190.532C96.5815 190.033 96.5824 189.411 96.8699 188.91C97.1585 188.407 97.6972 188.091 98.2771 188.091C98.857 188.091 99.3957 188.407 99.6843 188.91C99.9718 189.411 99.9727 190.033 99.6817 190.532Z\",fill:\"#E9DFF2\"})),_path1466||(_path1466=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 192.543C102.873 193.037 102.344 193.341 101.772 193.341C101.201 193.341 100.671 193.037 100.383 192.543C100.091 192.043 100.091 191.424 100.383 190.924C100.671 190.43 101.201 190.126 101.772 190.126C102.344 190.126 102.873 190.43 103.161 190.924C103.453 191.424 103.453 192.043 103.161 192.543Z\",fill:\"#E9DFF2\"})),_path1467||(_path1467=/*#__PURE__*/React.createElement(\"path\",{d:\"M105.668 193.973C105.586 194.112 105.437 194.198 105.276 194.198H105.261C105.099 194.198 104.95 194.112 104.868 193.973C104.784 193.831 104.784 193.654 104.868 193.512C104.95 193.373 105.099 193.287 105.261 193.287H105.276C105.437 193.287 105.586 193.373 105.668 193.512C105.752 193.654 105.752 193.831 105.668 193.973Z\",fill:\"#E9DFF2\"})),_path1468||(_path1468=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.377 146.103C302.1 146.575 301.592 146.868 301.045 146.868C300.497 146.868 299.989 146.575 299.712 146.103C299.428 145.618 299.428 145.011 299.712 144.526C299.989 144.054 300.497 143.761 301.045 143.761C301.592 143.761 302.1 144.054 302.377 144.526C302.662 145.011 302.662 145.618 302.377 146.103Z\",fill:\"#E9DFF2\"})),_path1469||(_path1469=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.006 137.792C301.809 138.138 301.442 138.351 301.045 138.351C300.647 138.351 300.28 138.138 300.083 137.793L300.076 137.781C299.88 137.437 299.882 137.015 300.082 136.674C300.28 136.336 300.643 136.127 301.035 136.127H301.054C301.446 136.127 301.809 136.336 302.007 136.674C302.207 137.015 302.209 137.437 302.013 137.78L302.006 137.792Z\",fill:\"#E9DFF2\"})),_path1470||(_path1470=/*#__PURE__*/React.createElement(\"path\",{d:\"M301.334 121.283C301.271 121.386 301.159 121.448 301.038 121.448C300.91 121.448 300.793 121.378 300.732 121.265C300.677 121.162 300.677 121.038 300.732 120.935C300.793 120.822 300.91 120.752 301.038 120.752C301.159 120.752 301.271 120.815 301.334 120.917C301.403 121.029 301.403 121.171 301.334 121.283Z\",fill:\"#E9DFF2\"})),_path1471||(_path1471=/*#__PURE__*/React.createElement(\"path\",{d:\"M301.533 117.348C301.429 117.516 301.246 117.618 301.049 117.618H301.041C300.843 117.618 300.66 117.516 300.557 117.348C300.445 117.168 300.443 116.941 300.55 116.759L300.56 116.743C300.661 116.571 300.846 116.466 301.045 116.466C301.244 116.466 301.428 116.571 301.53 116.743L301.539 116.759C301.647 116.941 301.645 117.168 301.533 117.348Z\",fill:\"#E9DFF2\"})),_path1472||(_path1472=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.089 113.613C301.874 113.986 301.475 114.215 301.045 114.215C300.614 114.215 300.216 113.986 300.001 113.613C299.785 113.24 299.785 112.78 300.001 112.407C300.216 112.034 300.614 111.805 301.045 111.805C301.475 111.805 301.874 112.034 302.089 112.407C302.305 112.78 302.305 113.24 302.089 113.613Z\",fill:\"#E9DFF2\"})),_path1473||(_path1473=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M302.365 109.751C302.095 110.226 301.591 110.519 301.044 110.519C300.498 110.519 299.994 110.226 299.723 109.751L299.712 109.731C299.442 109.257 299.445 108.676 299.718 108.204C299.992 107.731 300.497 107.439 301.044 107.439C301.592 107.439 302.097 107.731 302.371 108.204C302.644 108.676 302.647 109.257 302.377 109.731L302.365 109.751Z\",fill:\"#802DF6\"})),_path1474||(_path1474=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M302.449 105.754C302.16 106.25 301.629 106.555 301.055 106.555H301.034C300.46 106.555 299.929 106.25 299.64 105.754C299.349 105.255 299.35 104.634 299.637 104.133C299.926 103.63 300.465 103.314 301.045 103.314C301.625 103.314 302.163 103.63 302.452 104.133C302.739 104.634 302.74 105.255 302.449 105.754Z\",fill:\"#802DF6\"})),_path1475||(_path1475=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M302.447 101.713C302.159 102.207 301.631 102.511 301.059 102.511H301.03C300.459 102.511 299.93 102.207 299.642 101.713C299.35 101.213 299.35 100.594 299.642 100.094C299.93 99.6 300.459 99.2964 301.03 99.2964H301.059C301.631 99.2964 302.159 99.6 302.447 100.094C302.739 100.594 302.739 101.213 302.447 101.713Z\",fill:\"#802DF6\"})),_path1476||(_path1476=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.452 97.6739C302.163 98.1769 301.625 98.4925 301.045 98.4925C300.465 98.4925 299.926 98.1769 299.637 97.6739C299.35 97.1729 299.349 96.551 299.64 96.0521C299.929 95.5563 300.46 95.2515 301.034 95.2515H301.055C301.629 95.2515 302.16 95.5563 302.449 96.0521C302.74 96.551 302.739 97.1729 302.452 97.6739Z\",fill:\"#E9DFF2\"})),_path1477||(_path1477=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.449 93.647C302.16 94.1427 301.629 94.4476 301.055 94.4476H301.034C300.46 94.4476 299.929 94.1427 299.64 93.647C299.349 93.148 299.35 92.5262 299.637 92.0252C299.926 91.5222 300.465 91.2065 301.045 91.2065C301.625 91.2065 302.163 91.5222 302.452 92.0252C302.739 92.5262 302.74 93.148 302.449 93.647Z\",fill:\"#E9DFF2\"})),_path1478||(_path1478=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M302.447 89.6059C302.159 90.0996 301.631 90.4033 301.059 90.4033H301.03C300.459 90.4033 299.93 90.0996 299.642 89.6059C299.35 89.1055 299.35 88.4867 299.642 87.9863C299.93 87.4926 300.459 87.189 301.03 87.189H301.059C301.631 87.189 302.159 87.4926 302.447 87.9863C302.739 88.4867 302.739 89.1055 302.447 89.6059Z\",fill:\"#802DF6\"})),_path1479||(_path1479=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 85.5615C302.159 86.0552 301.631 86.3588 301.059 86.3588H301.03C300.459 86.3588 299.93 86.0552 299.642 85.5615C299.35 85.0611 299.35 84.4423 299.642 83.9419C299.93 83.4481 300.459 83.1445 301.03 83.1445H301.059C301.631 83.1445 302.159 83.4481 302.447 83.9419C302.739 84.4423 302.739 85.0611 302.447 85.5615Z\",fill:\"#E9DFF2\"})),_path1480||(_path1480=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.452 81.5225C302.163 82.0255 301.625 82.3412 301.045 82.3412C300.465 82.3412 299.926 82.0255 299.637 81.5225C299.35 81.0215 299.349 80.3997 299.64 79.9008C299.929 79.405 300.46 79.1001 301.034 79.1001H301.055C301.629 79.1001 302.16 79.405 302.449 79.9008C302.74 80.3997 302.739 81.0215 302.452 81.5225Z\",fill:\"#E9DFF2\"})),_path1481||(_path1481=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.449 77.4961C302.16 77.9919 301.629 78.2967 301.055 78.2967H301.034C300.46 78.2967 299.929 77.9919 299.64 77.4961C299.349 76.9972 299.35 76.3753 299.637 75.8743C299.926 75.3713 300.465 75.0557 301.045 75.0557C301.625 75.0557 302.163 75.3713 302.452 75.8743C302.739 76.3753 302.74 76.9972 302.449 77.4961Z\",fill:\"#E9DFF2\"})),_path1482||(_path1482=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 73.4545C302.159 73.9483 301.631 74.2519 301.059 74.2519H301.03C300.459 74.2519 299.93 73.9483 299.642 73.4545C299.35 72.9541 299.35 72.3354 299.642 71.8349C299.93 71.3412 300.459 71.0376 301.03 71.0376H301.059C301.631 71.0376 302.159 71.3412 302.447 71.8349C302.739 72.3354 302.739 72.9541 302.447 73.4545Z\",fill:\"#E9DFF2\"})),_path1483||(_path1483=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M302.452 69.4161C302.163 69.9191 301.625 70.2347 301.045 70.2347C300.465 70.2347 299.926 69.9191 299.637 69.4161C299.35 68.9151 299.349 68.2932 299.64 67.7943C299.929 67.2985 300.46 66.9937 301.034 66.9937H301.055C301.629 66.9937 302.16 67.2985 302.449 67.7943C302.74 68.2932 302.739 68.9151 302.452 69.4161Z\",fill:\"#802DF6\"})),_path1484||(_path1484=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.449 65.3887C302.16 65.8844 301.629 66.1893 301.055 66.1893H301.034C300.46 66.1893 299.929 65.8844 299.64 65.3887C299.349 64.8897 299.35 64.2679 299.637 63.7669C299.926 63.2639 300.465 62.9482 301.045 62.9482C301.625 62.9482 302.163 63.2639 302.452 63.7669C302.739 64.2679 302.74 64.8897 302.449 65.3887Z\",fill:\"#E9DFF2\"})),_path1485||(_path1485=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 61.3466C302.159 61.8404 301.631 62.144 301.059 62.144H301.03C300.459 62.144 299.93 61.8404 299.642 61.3466C299.35 60.8462 299.35 60.2274 299.642 59.727C299.93 59.2333 300.459 58.9297 301.03 58.9297H301.059C301.631 58.9297 302.159 59.2333 302.447 59.727C302.739 60.2274 302.739 60.8462 302.447 61.3466Z\",fill:\"#E9DFF2\"})),_path1486||(_path1486=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 57.3022C302.159 57.7959 301.631 58.0995 301.059 58.0995H301.03C300.459 58.0995 299.93 57.7959 299.642 57.3022C299.35 56.8018 299.35 56.183 299.642 55.6826C299.93 55.1889 300.459 54.8853 301.03 54.8853H301.059C301.631 54.8853 302.159 55.1889 302.447 55.6826C302.739 56.183 302.739 56.8018 302.447 57.3022Z\",fill:\"#E9DFF2\"})),_path1487||(_path1487=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.452 53.2633C302.163 53.7662 301.625 54.0819 301.045 54.0819C300.465 54.0819 299.926 53.7662 299.637 53.2633C299.35 52.7623 299.349 52.1404 299.64 51.6415C299.929 51.1457 300.46 50.8408 301.034 50.8408H301.055C301.629 50.8408 302.16 51.1457 302.449 51.6415C302.74 52.1404 302.739 52.7623 302.452 53.2633Z\",fill:\"#E9DFF2\"})),_path1488||(_path1488=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.449 49.2363C302.16 49.7321 301.629 50.037 301.055 50.037H301.034C300.46 50.037 299.929 49.7321 299.64 49.2363C299.349 48.7374 299.35 48.1155 299.637 47.6145C299.926 47.1116 300.465 46.7959 301.045 46.7959C301.625 46.7959 302.163 47.1116 302.452 47.6145C302.739 48.1155 302.74 48.7374 302.449 49.2363Z\",fill:\"#E9DFF2\"})),_path1489||(_path1489=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 45.1953C302.159 45.689 301.631 45.9926 301.059 45.9926H301.03C300.459 45.9926 299.93 45.689 299.642 45.1953C299.35 44.6949 299.35 44.0761 299.642 43.5757C299.93 43.0819 300.459 42.7783 301.03 42.7783H301.059C301.631 42.7783 302.159 43.0819 302.447 43.5757C302.739 44.0761 302.739 44.6949 302.447 45.1953Z\",fill:\"#E9DFF2\"})),_path1490||(_path1490=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.452 41.1563C302.163 41.6593 301.625 41.975 301.045 41.975C300.465 41.975 299.926 41.6593 299.637 41.1563C299.35 40.6553 299.349 40.0335 299.64 39.5346C299.929 39.0388 300.46 38.7339 301.034 38.7339H301.055C301.629 38.7339 302.16 39.0388 302.449 39.5346C302.74 40.0335 302.739 40.6553 302.452 41.1563Z\",fill:\"#E9DFF2\"})),_path1491||(_path1491=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.938 39.1415C298.65 39.6353 298.121 39.9389 297.549 39.9389C296.978 39.9389 296.448 39.6353 296.16 39.1415C295.868 38.6411 295.868 38.0224 296.16 37.522C296.448 37.0282 296.978 36.7246 297.549 36.7246C298.121 36.7246 298.65 37.0282 298.938 37.522C299.23 38.0224 299.23 38.6411 298.938 39.1415Z\",fill:\"#E9DFF2\"})),_path1492||(_path1492=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.458 37.1299C295.169 37.6257 294.638 37.9305 294.064 37.9305H294.043C293.469 37.9305 292.938 37.6257 292.649 37.1299C292.358 36.6309 292.359 36.0091 292.647 35.5081C292.935 35.0051 293.474 34.6895 294.054 34.6895C294.634 34.6895 295.172 35.0051 295.461 35.5081C295.748 36.0091 295.749 36.6309 295.458 37.1299Z\",fill:\"#E9DFF2\"})),_path1493||(_path1493=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.942 35.1197C291.658 35.6155 291.13 35.9212 290.558 35.9212C289.987 35.9212 289.459 35.6155 289.174 35.1197L289.161 35.0971C288.874 34.5962 288.877 33.9785 289.168 33.4796C289.456 32.9853 289.986 32.6802 290.558 32.6802C291.13 32.6802 291.66 32.9853 291.949 33.4796C292.24 33.9785 292.243 34.5962 291.955 35.0971L291.942 35.1197Z\",fill:\"#E9DFF2\"})),_path1494||(_path1494=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.462 33.0709C288.177 33.5744 287.635 33.8857 287.056 33.8857C286.484 33.8857 285.948 33.5821 285.66 33.0883C285.368 32.5879 285.368 31.9691 285.66 31.4687C285.948 30.975 286.484 30.6714 287.056 30.6714C287.635 30.6714 288.177 30.9826 288.462 31.4862C288.74 31.9777 288.74 32.5794 288.462 33.0709Z\",fill:\"#E9DFF2\"})),_path1495||(_path1495=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.958 31.0764C284.669 31.5707 284.139 31.8758 283.567 31.8758C282.995 31.8758 282.465 31.5707 282.177 31.0764C281.886 30.5775 281.883 29.9599 282.17 29.4589L282.183 29.4363C282.468 28.9405 282.996 28.6348 283.567 28.6348C284.139 28.6348 284.667 28.9405 284.951 29.4363L284.964 29.4589C285.252 29.9599 285.249 30.5775 284.958 31.0764Z\",fill:\"#E9DFF2\"})),_path1496||(_path1496=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.469 29.0433C281.185 29.5524 280.648 29.868 280.065 29.868C279.489 29.868 278.958 29.5601 278.671 29.0607L278.661 29.0439C278.374 28.5429 278.376 27.9265 278.667 27.4276C278.956 26.9318 279.491 26.627 280.065 26.627C280.646 26.627 281.186 26.9394 281.473 27.4451C281.751 27.935 281.753 28.5343 281.478 29.0263L281.469 29.0433Z\",fill:\"#E9DFF2\"})),_path1497||(_path1497=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 27.0341C277.677 27.5279 277.148 27.8315 276.576 27.8315C276.005 27.8315 275.475 27.5279 275.187 27.0341C274.895 26.5337 274.895 25.9149 275.187 25.4145C275.475 24.9208 276.005 24.6172 276.576 24.6172C277.148 24.6172 277.677 24.9208 277.965 25.4145C278.257 25.9149 278.257 26.5337 277.965 27.0341Z\",fill:\"#E9DFF2\"})),_path1498||(_path1498=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.481 25.0045C274.195 25.5101 273.655 25.8226 273.074 25.8226C272.5 25.8226 271.965 25.5177 271.676 25.022C271.385 24.523 271.383 23.9066 271.67 23.4056L271.68 23.3889C271.966 22.8895 272.498 22.5815 273.074 22.5815C273.657 22.5815 274.194 22.8971 274.478 23.4063L274.487 23.4233C274.761 23.9152 274.759 24.5145 274.481 25.0045Z\",fill:\"#E9DFF2\"})),_path1499||(_path1499=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.974 22.9897C270.686 23.4834 270.15 23.787 269.578 23.787C268.999 23.787 268.457 23.4758 268.172 22.9722C267.893 22.4807 267.893 21.8791 268.172 21.3876C268.457 20.884 268.999 20.5728 269.578 20.5728C270.15 20.5728 270.686 20.8764 270.974 21.3701C271.266 21.8705 271.266 22.4893 270.974 22.9897Z\",fill:\"#E9DFF2\"})),_path1500||(_path1500=/*#__PURE__*/React.createElement(\"path\",{d:\"M266.813 20.5848C266.664 20.8427 266.388 21.0015 266.09 21.0015H266.062C265.764 21.0015 265.488 20.8427 265.338 20.5848C265.19 20.3285 265.19 20.0084 265.335 19.7501C265.485 19.4833 265.77 19.314 266.076 19.314C266.382 19.314 266.667 19.4833 266.817 19.7501C266.962 20.0084 266.962 20.3285 266.813 20.5848Z\",fill:\"#E9DFF2\"})),_path1501||(_path1501=/*#__PURE__*/React.createElement(\"path\",{d:\"M137.865 2.65478C137.633 3.05182 137.208 3.29597 136.749 3.29597H136.733C136.274 3.29597 135.849 3.05183 135.617 2.65479C135.384 2.25595 135.382 1.76329 135.611 1.36239L135.619 1.34893C135.849 0.946259 136.277 0.697754 136.741 0.697754C137.205 0.697754 137.633 0.946261 137.863 1.34894L137.871 1.3624C138.1 1.76329 138.098 2.25595 137.865 2.65478Z\",fill:\"#E9DFF2\"})),_path1502||(_path1502=/*#__PURE__*/React.createElement(\"path\",{d:\"M134.349 4.65367C134.123 5.05384 133.698 5.30532 133.239 5.30532C132.787 5.30532 132.367 5.0616 132.139 4.67117C131.905 4.27085 131.905 3.76836 132.139 3.36803C132.367 2.9776 132.787 2.73389 133.239 2.73389C133.698 2.73389 134.123 2.98537 134.349 3.38554C134.569 3.77692 134.569 4.26228 134.349 4.65367Z\",fill:\"#E9DFF2\"})),_path1503||(_path1503=/*#__PURE__*/React.createElement(\"path\",{d:\"M130.8 6.67246C130.581 7.0532 130.176 7.28795 129.737 7.28795C129.297 7.28795 128.892 7.0532 128.673 6.67246L128.662 6.6528C128.44 6.2671 128.442 5.79222 128.668 5.40861C128.89 5.02965 129.297 4.79688 129.737 4.79688C130.176 4.79688 130.583 5.02965 130.805 5.40861C131.031 5.79222 131.033 6.2671 130.811 6.6528L130.8 6.67246Z\",fill:\"#E9DFF2\"})),_path1504||(_path1504=/*#__PURE__*/React.createElement(\"path\",{d:\"M127.646 8.87058C127.357 9.36638 126.826 9.67125 126.252 9.67125H126.231C125.657 9.67125 125.126 9.36638 124.837 8.87058C124.546 8.37167 124.547 7.7498 124.834 7.24882C125.123 6.74584 125.661 6.43018 126.241 6.43018C126.821 6.43018 127.36 6.74584 127.648 7.24882C127.936 7.7498 127.937 8.37167 127.646 8.87058Z\",fill:\"#E9DFF2\"})),_path1505||(_path1505=/*#__PURE__*/React.createElement(\"path\",{d:\"M124.135 10.8828C123.847 11.3765 123.317 11.6801 122.745 11.6801C122.174 11.6801 121.644 11.3765 121.356 10.8828C121.064 10.3824 121.064 9.76357 121.356 9.26317C121.644 8.76943 122.174 8.46582 122.745 8.46582C123.317 8.46582 123.847 8.76943 124.135 9.26317C124.427 9.76357 124.427 10.3824 124.135 10.8828Z\",fill:\"#E9DFF2\"})),_path1506||(_path1506=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.657 12.897C120.369 13.4 119.83 13.7157 119.25 13.7157C118.67 13.7157 118.131 13.4 117.843 12.897C117.555 12.3961 117.554 11.7742 117.845 11.2753C118.135 10.7795 118.665 10.4746 119.239 10.4746H119.261C119.835 10.4746 120.365 10.7795 120.655 11.2753C120.946 11.7742 120.945 12.3961 120.657 12.897Z\",fill:\"#E9DFF2\"})),_path1507||(_path1507=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.145 14.9255C116.857 15.4198 116.327 15.725 115.754 15.725C115.182 15.725 114.652 15.4198 114.364 14.9255C114.073 14.4266 114.07 13.809 114.357 13.308L114.37 13.2854C114.655 12.7896 115.183 12.4839 115.754 12.4839C116.326 12.4839 116.854 12.7896 117.138 13.2854L117.151 13.308C117.439 13.809 117.436 14.4266 117.145 14.9255Z\",fill:\"#E9DFF2\"})),_path1508||(_path1508=/*#__PURE__*/React.createElement(\"path\",{d:\"M112.9 16.5049C112.769 16.735 112.524 16.877 112.259 16.877C111.994 16.877 111.749 16.735 111.618 16.5049L111.613 16.4958C111.482 16.2679 111.485 15.9875 111.618 15.7616C111.75 15.5398 111.989 15.4038 112.246 15.4038H112.272C112.529 15.4038 112.768 15.5398 112.9 15.7616C113.033 15.9875 113.036 16.2679 112.905 16.4958L112.9 16.5049Z\",fill:\"#E9DFF2\"})),_path1509||(_path1509=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.074 18.9033C109.804 19.3696 109.302 19.6625 108.763 19.6625C108.225 19.6625 107.723 19.3696 107.453 18.9033C107.181 18.4327 107.18 17.846 107.456 17.3775C107.727 16.9179 108.22 16.6357 108.754 16.6357H108.773C109.307 16.6357 109.8 16.9179 110.071 17.3775C110.347 17.846 110.346 18.4327 110.074 18.9033Z\",fill:\"#E9DFF2\"})),_path1510||(_path1510=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1239 26.9954C95.8495 27.4776 95.336 27.778 94.7812 27.778C94.2265 27.778 93.713 27.4776 93.4386 26.9954C93.1676 26.5191 93.1676 25.9299 93.4386 25.4535C93.713 24.9714 94.2265 24.6709 94.7812 24.6709C95.336 24.6709 95.8495 24.9714 96.1239 25.4535C96.3949 25.9299 96.3949 26.5191 96.1239 26.9954Z\",fill:\"#E9DFF2\"})),_path1511||(_path1511=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.6931 29.0494C92.4045 29.5524 91.8658 29.868 91.2859 29.868C90.706 29.868 90.1673 29.5524 89.8787 29.0494C89.5912 28.5484 89.5903 27.9265 89.8813 27.4276C90.1705 26.9318 90.7013 26.627 91.2753 26.627H91.2965C91.8704 26.627 92.4012 26.9318 92.6904 27.4276C92.9815 27.9265 92.9806 28.5484 92.6931 29.0494Z\",fill:\"#E9DFF2\"})),_path1512||(_path1512=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1805 31.0764C88.8922 31.5707 88.3623 31.8758 87.7901 31.8758C87.2178 31.8758 86.688 31.5707 86.3996 31.0764C86.1086 30.5775 86.1057 29.9599 86.3931 29.4589L86.4061 29.4363C86.6905 28.9405 87.2185 28.6348 87.7901 28.6348C88.3617 28.6348 88.8896 28.9405 89.1741 29.4363L89.187 29.4589C89.4745 29.9599 89.4716 30.5775 89.1805 31.0764Z\",fill:\"#E9DFF2\"})),_path1513||(_path1513=/*#__PURE__*/React.createElement(\"path\",{d:\"M85.6937 33.0709C85.4084 33.5744 84.8733 33.8857 84.2945 33.8857C83.7157 33.8857 83.1806 33.5744 82.8953 33.0709C82.6168 32.5794 82.6168 31.9777 82.8953 31.4862C83.1806 30.9826 83.7157 30.6714 84.2945 30.6714C84.8733 30.6714 85.4084 30.9826 85.6937 31.4862C85.9723 31.9777 85.9723 32.5794 85.6937 33.0709Z\",fill:\"#E9DFF2\"})),_path1514||(_path1514=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.0598 35.0074C81.8019 35.4566 81.3171 35.7337 80.7991 35.7337C80.2811 35.7337 79.7963 35.4566 79.5384 35.0074C79.2824 34.5614 79.2824 34.0131 79.5384 33.5671C79.7963 33.1179 80.2811 32.8408 80.7991 32.8408C81.3171 32.8408 81.8019 33.1179 82.0598 33.5671C82.3158 34.0131 82.3158 34.5614 82.0598 35.0074Z\",fill:\"#E9DFF2\"})),_path1515||(_path1515=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 37.1124C78.4183 37.618 77.8781 37.9305 77.297 37.9305C76.723 37.9305 76.1884 37.6257 75.8992 37.1299C75.6081 36.6309 75.6059 36.0145 75.8934 35.5136L75.903 35.4968C76.1895 34.9974 76.7213 34.6895 77.297 34.6895C77.8799 34.6895 78.4171 35.005 78.7009 35.5142L78.7104 35.5312C78.9846 36.0231 78.9825 36.6224 78.7048 37.1124Z\",fill:\"#E9DFF2\"})),_path1516||(_path1516=/*#__PURE__*/React.createElement(\"path\",{d:\"M75.1974 39.1415C74.9094 39.6353 74.3797 39.9389 73.8081 39.9389C73.2365 39.9389 72.7069 39.6353 72.4189 39.1415C72.127 38.6411 72.127 38.0224 72.4189 37.522C72.7069 37.0282 73.2365 36.7246 73.8081 36.7246C74.3797 36.7246 74.9094 37.0282 75.1974 37.522C75.4893 38.0224 75.4893 38.6411 75.1974 39.1415Z\",fill:\"#E9DFF2\"})),_path1517||(_path1517=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7097 41.1502C71.4259 41.6594 70.8887 41.975 70.3058 41.975C69.7301 41.975 69.1983 41.667 68.9118 41.1676L68.9022 41.1509C68.6147 40.6499 68.6169 40.0335 68.9079 39.5346C69.1972 39.0388 69.7318 38.7339 70.3058 38.7339C70.8869 38.7339 71.4271 39.0464 71.7136 39.552C71.9913 40.042 71.9934 40.6413 71.7192 41.1332L71.7097 41.1502Z\",fill:\"#E9DFF2\"})),_path1518||(_path1518=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7117 45.1778C71.4264 45.6814 70.8845 45.9926 70.3057 45.9926C69.7341 45.9926 69.1979 45.689 68.9099 45.1953C68.618 44.6949 68.618 44.0761 68.9099 43.5757C69.1979 43.0819 69.7341 42.7783 70.3057 42.7783C70.8845 42.7783 71.4264 43.0896 71.7117 43.5931C71.9902 44.0846 71.9902 44.6863 71.7117 45.1778Z\",fill:\"#E9DFF2\"})),_path1519||(_path1519=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7136 49.2189C71.4271 49.7245 70.8869 50.037 70.3058 50.037C69.7318 50.037 69.1972 49.7321 68.9079 49.2363C68.6169 48.7374 68.6147 48.121 68.9022 47.62L68.9118 47.6033C69.1983 47.1039 69.7301 46.7959 70.3058 46.7959C70.8887 46.7959 71.4259 47.1115 71.7097 47.6206L71.7192 47.6377C71.9934 48.1296 71.9913 48.7289 71.7136 49.2189Z\",fill:\"#E9DFF2\"})),_path1520||(_path1520=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7097 53.2572C71.4259 53.7663 70.8887 54.0819 70.3058 54.0819C69.7301 54.0819 69.1983 53.7739 68.9118 53.2745L68.9022 53.2578C68.6147 52.7568 68.6169 52.1404 68.9079 51.6415C69.1972 51.1457 69.7318 50.8408 70.3058 50.8408C70.8869 50.8408 71.4271 51.1533 71.7136 51.6589C71.9913 52.1489 71.9934 52.7482 71.7192 53.2401L71.7097 53.2572Z\",fill:\"#E9DFF2\"})),_path1521||(_path1521=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7117 57.2847C71.4264 57.7883 70.8845 58.0995 70.3057 58.0995C69.7341 58.0995 69.1979 57.7959 68.9099 57.3022C68.618 56.8018 68.618 56.183 68.9099 55.6826C69.1979 55.1889 69.7341 54.8853 70.3057 54.8853C70.8845 54.8853 71.4264 55.1965 71.7117 55.7001C71.9902 56.1916 71.9902 56.7932 71.7117 57.2847Z\",fill:\"#E9DFF2\"})),_path1522||(_path1522=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7136 77.4786C71.4271 77.9842 70.8869 78.2967 70.3058 78.2967C69.7318 78.2967 69.1972 77.9919 68.9079 77.4961C68.6169 76.9972 68.6147 76.3808 68.9022 75.8798L68.9118 75.863C69.1983 75.3636 69.7301 75.0557 70.3058 75.0557C70.8887 75.0557 71.4259 75.3713 71.7097 75.8804L71.7192 75.8974C71.9934 76.3894 71.9913 76.9886 71.7136 77.4786Z\",fill:\"#E9DFF2\"})),_path1523||(_path1523=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7097 81.5164C71.4259 82.0256 70.8887 82.3412 70.3058 82.3412C69.7301 82.3412 69.1983 82.0332 68.9118 81.5338L68.9022 81.5171C68.6147 81.0161 68.6169 80.3997 68.9079 79.9008C69.1972 79.405 69.7318 79.1001 70.3058 79.1001C70.8869 79.1001 71.4271 79.4126 71.7136 79.9182C71.9913 80.4082 71.9934 81.0075 71.7192 81.4994L71.7097 81.5164Z\",fill:\"#E9DFF2\"})),_path1524||(_path1524=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7117 85.544C71.4264 86.0476 70.8845 86.3588 70.3057 86.3588C69.7341 86.3588 69.1979 86.0552 68.9099 85.5615C68.618 85.0611 68.618 84.4423 68.9099 83.9419C69.1979 83.4481 69.7341 83.1445 70.3057 83.1445C70.8845 83.1445 71.4264 83.4558 71.7117 83.9593C71.9902 84.4508 71.9902 85.0525 71.7117 85.544Z\",fill:\"#E9DFF2\"})),_path1525||(_path1525=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7117 89.5884C71.4264 90.092 70.8845 90.4033 70.3057 90.4033C69.7341 90.4033 69.1979 90.0996 68.9099 89.6059C68.618 89.1055 68.618 88.4867 68.9099 87.9863C69.1979 87.4926 69.7341 87.189 70.3057 87.189C70.8845 87.189 71.4264 87.5002 71.7117 88.0038C71.9902 88.4953 71.9902 89.0969 71.7117 89.5884Z\",fill:\"#E9DFF2\"})),_path1526||(_path1526=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7136 93.6295C71.4271 94.1351 70.8869 94.4476 70.3058 94.4476C69.7318 94.4476 69.1972 94.1427 68.9079 93.647C68.6169 93.148 68.6147 92.5316 68.9022 92.0306L68.9118 92.0139C69.1983 91.5145 69.7301 91.2065 70.3058 91.2065C70.8887 91.2065 71.4259 91.5221 71.7097 92.0313L71.7192 92.0483C71.9934 92.5402 71.9913 93.1395 71.7136 93.6295Z\",fill:\"#E9DFF2\"})),_path1527||(_path1527=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.6468 97.6449C71.3679 98.1206 70.8574 98.4128 70.306 98.4128C69.7475 98.4128 69.2314 98.113 68.9552 97.6275C68.6842 97.1512 68.6842 96.5673 68.9552 96.091C69.2314 95.6055 69.7475 95.3057 70.306 95.3057C70.8574 95.3057 71.3679 95.5979 71.6468 96.0736C71.9312 96.5587 71.9312 97.1597 71.6468 97.6449Z\",fill:\"#E9DFF2\"})),_path1528||(_path1528=/*#__PURE__*/React.createElement(\"path\",{d:\"M70.672 109.185C70.599 109.314 70.4616 109.395 70.3127 109.395C70.1638 109.395 70.0265 109.314 69.9534 109.185L69.9469 109.173C69.875 109.045 69.8772 108.889 69.9527 108.763C70.0265 108.64 70.1594 108.564 70.3029 108.564H70.3225C70.466 108.564 70.5989 108.64 70.6727 108.763C70.7482 108.889 70.7504 109.045 70.6785 109.173L70.672 109.185Z\",fill:\"#E9DFF2\"})),_path1529||(_path1529=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.687 113.823C71.4007 114.313 70.874 114.618 70.3059 114.618C69.7306 114.618 69.1984 114.306 68.9147 113.805C68.6362 113.314 68.6362 112.707 68.9147 112.216C69.1984 111.715 69.7306 111.403 70.3059 111.403C70.874 111.403 71.4007 111.707 71.687 112.198C71.9789 112.699 71.9789 113.322 71.687 113.823Z\",fill:\"#E9DFF2\"})),_path1530||(_path1530=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.6883 117.865C71.4003 118.359 70.8707 118.663 70.2991 118.663C69.7275 118.663 69.1979 118.359 68.9099 117.865C68.618 117.365 68.618 116.746 68.9099 116.246C69.1979 115.752 69.7275 115.448 70.2991 115.448C70.8707 115.448 71.4003 115.752 71.6883 116.246C71.9802 116.746 71.9802 117.365 71.6883 117.865Z\",fill:\"#E9DFF2\"})),_path1531||(_path1531=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0456 192.461C95.7876 192.919 95.3004 193.207 94.775 193.207C94.2568 193.207 93.7751 192.927 93.5145 192.479C93.248 192.021 93.248 191.446 93.5145 190.988C93.7751 190.54 94.2568 190.26 94.775 190.26C95.3004 190.26 95.7876 190.548 96.0456 191.006C96.2987 191.455 96.2987 192.012 96.0456 192.461Z\",fill:\"#E9DFF2\"})),_path1532||(_path1532=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M99.6843 194.558C99.3957 195.061 98.857 195.377 98.2771 195.377C97.6972 195.377 97.1585 195.061 96.8699 194.558C96.5824 194.057 96.5815 193.435 96.8725 192.936C97.1618 192.441 97.6925 192.136 98.2665 192.136H98.2877C98.8617 192.136 99.3924 192.441 99.6817 192.936C99.9727 193.435 99.9718 194.057 99.6843 194.558Z\",fill:\"#802DF6\"})),_path1533||(_path1533=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.163 196.586C102.874 197.08 102.344 197.386 101.772 197.386C101.2 197.386 100.67 197.08 100.382 196.586C100.091 196.087 100.088 195.47 100.375 194.969L100.388 194.946C100.673 194.45 101.201 194.145 101.772 194.145C102.344 194.145 102.872 194.45 103.156 194.946L103.169 194.969C103.457 195.47 103.454 196.087 103.163 196.586Z\",fill:\"#E9DFF2\"})),_path1534||(_path1534=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.843 176.326C305.577 176.792 305.076 177.082 304.54 177.082C304.005 177.082 303.504 176.792 303.238 176.326C302.976 175.868 302.976 175.301 303.242 174.845C303.507 174.389 303.994 174.109 304.521 174.109H304.56C305.087 174.109 305.574 174.389 305.839 174.845C306.105 175.301 306.105 175.868 305.843 176.326Z\",fill:\"#E9DFF2\"})),_path1535||(_path1535=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 172.333C305.643 172.83 305.112 173.145 304.54 173.145C303.969 173.145 303.438 172.83 303.157 172.333C302.88 171.844 302.878 171.239 303.158 170.752C303.442 170.26 303.973 169.957 304.54 169.957C305.108 169.957 305.639 170.26 305.922 170.752C306.203 171.239 306.201 171.844 305.924 172.333Z\",fill:\"#E9DFF2\"})),_path1536||(_path1536=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.2 167.888C305.065 168.124 304.812 168.269 304.54 168.269C304.269 168.269 304.015 168.124 303.88 167.888C303.75 167.659 303.747 167.378 303.875 167.147L303.885 167.13C304.016 166.891 304.268 166.743 304.54 166.743C304.813 166.743 305.064 166.891 305.196 167.13L305.206 167.148C305.333 167.379 305.331 167.659 305.2 167.888Z\",fill:\"#E9DFF2\"})),_path1537||(_path1537=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.69 147.997C305.453 148.405 305.013 148.662 304.54 148.662C304.068 148.662 303.628 148.405 303.391 147.997C303.152 147.584 303.151 147.068 303.394 146.658C303.631 146.256 304.063 146.01 304.529 146.01H304.552C305.018 146.01 305.449 146.256 305.687 146.658C305.93 147.068 305.929 147.584 305.69 147.997Z\",fill:\"#E9DFF2\"})),_path1538||(_path1538=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M305.705 139.812C305.435 140.287 304.93 140.58 304.384 140.58C303.838 140.58 303.333 140.287 303.063 139.812L303.051 139.791C302.782 139.318 302.784 138.736 303.057 138.265C303.331 137.791 303.837 137.5 304.384 137.5C304.931 137.5 305.437 137.791 305.711 138.265C305.984 138.736 305.986 139.318 305.717 139.791L305.705 139.812Z\",fill:\"#802DF6\"})),_path1539||(_path1539=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M305.705 135.812C305.435 136.287 304.93 136.58 304.384 136.58C303.838 136.58 303.333 136.287 303.063 135.812L303.051 135.791C302.782 135.318 302.784 134.736 303.057 134.265C303.331 133.791 303.837 133.5 304.384 133.5C304.931 133.5 305.437 133.791 305.711 134.265C305.984 134.736 305.986 135.318 305.717 135.791L305.705 135.812Z\",fill:\"#802DF6\"})),_path1540||(_path1540=/*#__PURE__*/React.createElement(\"path\",{d:\"M304.876 131.357C304.809 131.474 304.685 131.546 304.55 131.546H304.53C304.395 131.546 304.271 131.474 304.204 131.357C304.139 131.242 304.139 131.101 304.204 130.985C304.271 130.868 304.395 130.796 304.53 130.796H304.55C304.685 130.796 304.809 130.868 304.876 130.985C304.942 131.101 304.942 131.242 304.876 131.357Z\",fill:\"#E9DFF2\"})),_path1541||(_path1541=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 107.767C305.641 108.261 305.112 108.564 304.54 108.564C303.968 108.564 303.439 108.261 303.151 107.767C302.859 107.267 302.859 106.648 303.151 106.147C303.439 105.654 303.968 105.35 304.54 105.35C305.112 105.35 305.641 105.654 305.929 106.147C306.221 106.648 306.221 107.267 305.929 107.767Z\",fill:\"#E9DFF2\"})),_path1542||(_path1542=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 103.745C305.64 104.24 305.112 104.546 304.54 104.546C303.968 104.546 303.441 104.24 303.156 103.745L303.143 103.722C302.856 103.221 302.859 102.604 303.15 102.105C303.438 101.61 303.968 101.305 304.54 101.305C305.112 101.305 305.642 101.61 305.931 102.105C306.222 102.604 306.224 103.221 305.937 103.722L305.924 103.745Z\",fill:\"#E9DFF2\"})),_path1543||(_path1543=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 99.7024C305.642 100.197 305.112 100.502 304.54 100.502C303.968 100.502 303.438 100.197 303.15 99.7024C302.859 99.2035 302.856 98.5858 303.143 98.0848L303.156 98.0623C303.441 97.5665 303.968 97.2607 304.54 97.2607C305.112 97.2607 305.64 97.5665 305.924 98.0623L305.937 98.0848C306.224 98.5858 306.222 99.2035 305.931 99.7024Z\",fill:\"#E9DFF2\"})),_path1544||(_path1544=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 95.6601C305.641 96.1538 305.112 96.4575 304.54 96.4575C303.968 96.4575 303.439 96.1538 303.151 95.6601C302.859 95.1597 302.859 94.5409 303.151 94.0405C303.439 93.5468 303.968 93.2432 304.54 93.2432C305.112 93.2432 305.641 93.5468 305.929 94.0405C306.221 94.5409 306.221 95.1597 305.929 95.6601Z\",fill:\"#E9DFF2\"})),_path1545||(_path1545=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 91.6152C305.641 92.1089 305.112 92.4125 304.54 92.4125C303.968 92.4125 303.439 92.1089 303.151 91.6152C302.859 91.1148 302.859 90.496 303.151 89.9956C303.439 89.5018 303.968 89.1982 304.54 89.1982C305.112 89.1982 305.641 89.5018 305.929 89.9956C306.221 90.496 306.221 91.1148 305.929 91.6152Z\",fill:\"#E9DFF2\"})),_path1546||(_path1546=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 87.5954C305.642 88.0897 305.112 88.3949 304.54 88.3949C303.968 88.3949 303.438 88.0897 303.15 87.5954C302.859 87.0965 302.856 86.4789 303.143 85.9779L303.156 85.9554C303.441 85.4596 303.968 85.1538 304.54 85.1538C305.112 85.1538 305.64 85.4596 305.924 85.9554L305.937 85.9779C306.224 86.4789 306.222 87.0965 305.931 87.5954Z\",fill:\"#E9DFF2\"})),_path1547||(_path1547=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 83.5522C305.641 84.0459 305.112 84.3495 304.54 84.3495C303.968 84.3495 303.439 84.0459 303.151 83.5522C302.859 83.0518 302.859 82.433 303.151 81.9326C303.439 81.4389 303.968 81.1353 304.54 81.1353C305.112 81.1353 305.641 81.4389 305.929 81.9326C306.221 82.433 306.221 83.0518 305.929 83.5522Z\",fill:\"#E9DFF2\"})),_path1548||(_path1548=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 79.5082C305.641 80.002 305.112 80.3056 304.54 80.3056C303.968 80.3056 303.439 80.002 303.151 79.5082C302.859 79.0078 302.859 78.3891 303.151 77.8887C303.439 77.3949 303.968 77.0913 304.54 77.0913C305.112 77.0913 305.641 77.3949 305.929 77.8887C306.221 78.3891 306.221 79.0078 305.929 79.5082Z\",fill:\"#E9DFF2\"})),_path1549||(_path1549=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 75.4859C305.64 75.9817 305.112 76.2875 304.54 76.2875C303.968 76.2875 303.441 75.9817 303.156 75.4859L303.143 75.4634C302.856 74.9624 302.859 74.3447 303.15 73.8458C303.438 73.3515 303.968 73.0464 304.54 73.0464C305.112 73.0464 305.642 73.3515 305.931 73.8458C306.222 74.3447 306.224 74.9624 305.937 75.4634L305.924 75.4859Z\",fill:\"#E9DFF2\"})),_path1550||(_path1550=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 71.4426C305.642 71.9369 305.112 72.2421 304.54 72.2421C303.968 72.2421 303.438 71.9369 303.15 71.4426C302.859 70.9437 302.856 70.3261 303.143 69.8251L303.156 69.8025C303.441 69.3067 303.968 69.001 304.54 69.001C305.112 69.001 305.64 69.3067 305.924 69.8025L305.937 69.8251C306.224 70.3261 306.222 70.9437 305.931 71.4426Z\",fill:\"#E9DFF2\"})),_path1551||(_path1551=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 67.4008C305.641 67.8946 305.112 68.1982 304.54 68.1982C303.968 68.1982 303.439 67.8946 303.151 67.4008C302.859 66.9004 302.859 66.2816 303.151 65.7812C303.439 65.2875 303.968 64.9839 304.54 64.9839C305.112 64.9839 305.641 65.2875 305.929 65.7812C306.221 66.2816 306.221 66.9004 305.929 67.4008Z\",fill:\"#E9DFF2\"})),_path1552||(_path1552=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 63.3785C305.64 63.8743 305.112 64.18 304.54 64.18C303.968 64.18 303.441 63.8743 303.156 63.3785L303.143 63.3559C302.856 62.855 302.859 62.2373 303.15 61.7384C303.438 61.2441 303.968 60.939 304.54 60.939C305.112 60.939 305.642 61.2441 305.931 61.7384C306.222 62.2373 306.224 62.855 305.937 63.3559L305.924 63.3785Z\",fill:\"#E9DFF2\"})),_path1553||(_path1553=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 59.3357C305.642 59.83 305.112 60.1351 304.54 60.1351C303.968 60.1351 303.438 59.83 303.15 59.3357C302.859 58.8368 302.856 58.2191 303.143 57.7181L303.156 57.6956C303.441 57.1998 303.968 56.894 304.54 56.894C305.112 56.894 305.64 57.1998 305.924 57.6956L305.937 57.7181C306.224 58.2191 306.222 58.8368 305.931 59.3357Z\",fill:\"#E9DFF2\"})),_path1554||(_path1554=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 55.2929C305.641 55.7867 305.112 56.0903 304.54 56.0903C303.968 56.0903 303.439 55.7867 303.151 55.2929C302.859 54.7925 302.859 54.1737 303.151 53.6733C303.439 53.1796 303.968 52.876 304.54 52.876C305.112 52.876 305.641 53.1796 305.929 53.6733C306.221 54.1737 306.221 54.7925 305.929 55.2929Z\",fill:\"#E9DFF2\"})),_path1555||(_path1555=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 51.249C305.641 51.7427 305.112 52.0463 304.54 52.0463C303.968 52.0463 303.439 51.7427 303.151 51.249C302.859 50.7486 302.859 50.1298 303.151 49.6294C303.439 49.1356 303.968 48.832 304.54 48.832C305.112 48.832 305.641 49.1356 305.929 49.6294C306.221 50.1298 306.221 50.7486 305.929 51.249Z\",fill:\"#E9DFF2\"})),_path1556||(_path1556=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 47.2266C305.64 47.7224 305.112 48.0282 304.54 48.0282C303.968 48.0282 303.441 47.7224 303.156 47.2266L303.143 47.2041C302.856 46.7031 302.859 46.0855 303.15 45.5865C303.438 45.0923 303.968 44.7871 304.54 44.7871C305.112 44.7871 305.642 45.0923 305.931 45.5865C306.222 46.0855 306.224 46.7031 305.937 47.2041L305.924 47.2266Z\",fill:\"#E9DFF2\"})),_path1557||(_path1557=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 43.1843C305.642 43.6786 305.112 43.9838 304.54 43.9838C303.968 43.9838 303.438 43.6786 303.15 43.1843C302.859 42.6854 302.856 42.0678 303.143 41.5668L303.156 41.5442C303.441 41.0484 303.968 40.7427 304.54 40.7427C305.112 40.7427 305.64 41.0484 305.924 41.5442L305.937 41.5668C306.224 42.0678 306.222 42.6854 305.931 43.1843Z\",fill:\"#E9DFF2\"})),_path1558||(_path1558=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.929 39.1415C305.641 39.6353 305.112 39.9389 304.54 39.9389C303.968 39.9389 303.439 39.6353 303.151 39.1415C302.859 38.6411 302.859 38.0224 303.151 37.522C303.439 37.0282 303.968 36.7246 304.54 36.7246C305.112 36.7246 305.641 37.0282 305.929 37.522C306.221 38.0224 306.221 38.6411 305.929 39.1415Z\",fill:\"#E9DFF2\"})),_path1559||(_path1559=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.449 37.1299C302.16 37.6257 301.629 37.9305 301.055 37.9305H301.034C300.46 37.9305 299.929 37.6257 299.64 37.1299C299.349 36.6309 299.35 36.0091 299.637 35.5081C299.926 35.0051 300.465 34.6895 301.045 34.6895C301.625 34.6895 302.163 35.0051 302.452 35.5081C302.739 36.0091 302.74 36.6309 302.449 37.1299Z\",fill:\"#E9DFF2\"})),_path1560||(_path1560=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.933 35.1197C298.649 35.6155 298.121 35.9212 297.549 35.9212C296.978 35.9212 296.45 35.6155 296.165 35.1197L296.152 35.0971C295.865 34.5962 295.868 33.9785 296.159 33.4796C296.447 32.9853 296.977 32.6802 297.549 32.6802C298.121 32.6802 298.651 32.9853 298.94 33.4796C299.231 33.9785 299.234 34.5962 298.946 35.0971L298.933 35.1197Z\",fill:\"#E9DFF2\"})),_path1561||(_path1561=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.456 33.0883C295.168 33.5821 294.64 33.8857 294.068 33.8857H294.039C293.468 33.8857 292.939 33.5821 292.651 33.0883C292.359 32.5879 292.359 31.9691 292.651 31.4687C292.939 30.975 293.468 30.6714 294.039 30.6714H294.068C294.64 30.6714 295.168 30.975 295.456 31.4687C295.748 31.9691 295.748 32.5879 295.456 33.0883Z\",fill:\"#E9DFF2\"})),_path1562||(_path1562=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.949 31.0764C291.66 31.5707 291.13 31.8758 290.558 31.8758C289.986 31.8758 289.456 31.5707 289.168 31.0764C288.877 30.5775 288.874 29.9599 289.161 29.4589L289.174 29.4363C289.459 28.9405 289.987 28.6348 290.558 28.6348C291.13 28.6348 291.658 28.9405 291.942 29.4363L291.955 29.4589C292.243 29.9599 292.24 30.5775 291.949 31.0764Z\",fill:\"#E9DFF2\"})),_path1563||(_path1563=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.46 29.0433C288.176 29.5524 287.639 29.868 287.056 29.868C286.48 29.868 285.949 29.5601 285.662 29.0607L285.652 29.0439C285.365 28.5429 285.367 27.9265 285.658 27.4276C285.947 26.9318 286.482 26.627 287.056 26.627C287.637 26.627 288.177 26.9394 288.464 27.4451C288.742 27.935 288.744 28.5343 288.469 29.0263L288.46 29.0433Z\",fill:\"#E9DFF2\"})),_path1564||(_path1564=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.956 27.0341C284.668 27.5279 284.139 27.8315 283.567 27.8315C282.996 27.8315 282.466 27.5279 282.178 27.0341C281.886 26.5337 281.886 25.9149 282.178 25.4145C282.466 24.9208 282.996 24.6172 283.567 24.6172C284.139 24.6172 284.668 24.9208 284.956 25.4145C285.248 25.9149 285.248 26.5337 284.956 27.0341Z\",fill:\"#E9DFF2\"})),_path1565||(_path1565=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.473 25.0045C281.186 25.5101 280.646 25.8226 280.065 25.8226C279.491 25.8226 278.956 25.5177 278.667 25.022C278.376 24.523 278.374 23.9066 278.661 23.4056L278.671 23.3889C278.958 22.8895 279.489 22.5815 280.065 22.5815C280.648 22.5815 281.185 22.8971 281.469 23.4063L281.478 23.4233C281.753 23.9152 281.751 24.5145 281.473 25.0045Z\",fill:\"#E9DFF2\"})),_path1566||(_path1566=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.965 22.9897C277.677 23.4834 277.148 23.787 276.576 23.787C276.005 23.787 275.475 23.4834 275.187 22.9897C274.895 22.4893 274.895 21.8705 275.187 21.3701C275.475 20.8764 276.005 20.5728 276.576 20.5728C277.148 20.5728 277.677 20.8764 277.965 21.3701C278.257 21.8705 278.257 22.4893 277.965 22.9897Z\",fill:\"#E9DFF2\"})),_path1567||(_path1567=/*#__PURE__*/React.createElement(\"path\",{d:\"M274.453 20.9736C274.167 21.4555 273.648 21.751 273.088 21.751H273.06C272.493 21.751 271.969 21.448 271.685 20.9564C271.405 20.4695 271.405 19.8664 271.682 19.3775C271.965 18.877 272.499 18.5635 273.074 18.5635C273.642 18.5635 274.17 18.8693 274.456 19.36C274.746 19.8578 274.747 20.478 274.453 20.9736Z\",fill:\"#E9DFF2\"})),_path1568||(_path1568=/*#__PURE__*/React.createElement(\"path\",{d:\"M269.971 18.3664C269.89 18.5055 269.74 18.5909 269.578 18.5909C269.41 18.5909 269.254 18.4977 269.175 18.3486C269.105 18.2153 269.105 18.0557 269.175 17.9225C269.254 17.7734 269.41 17.6802 269.578 17.6802C269.74 17.6802 269.89 17.7656 269.971 17.9047C270.055 18.0472 270.055 18.2239 269.971 18.3664Z\",fill:\"#E9DFF2\"})),_path1569||(_path1569=/*#__PURE__*/React.createElement(\"path\",{d:\"M123.759 6.62411C123.555 6.984 123.173 7.20633 122.759 7.20633C122.345 7.20633 121.963 6.984 121.759 6.62411L121.749 6.60667C121.545 6.24823 121.547 5.80855 121.754 5.45215C121.962 5.09545 122.346 4.87598 122.759 4.87598C123.172 4.87598 123.556 5.09545 123.764 5.45215C123.971 5.80855 123.973 6.24823 123.769 6.60667L123.759 6.62411Z\",fill:\"#E9DFF2\"})),_path1570||(_path1570=/*#__PURE__*/React.createElement(\"path\",{d:\"M120.575 8.82936C120.302 9.30086 119.795 9.59117 119.25 9.59117C118.705 9.59117 118.198 9.30086 117.925 8.82936C117.651 8.35617 117.651 7.7726 117.925 7.29941C118.198 6.82791 118.705 6.5376 119.25 6.5376C119.795 6.5376 120.302 6.82791 120.575 7.29941C120.849 7.7726 120.849 8.35617 120.575 8.82936Z\",fill:\"#E9DFF2\"})),_path1571||(_path1571=/*#__PURE__*/React.createElement(\"path\",{d:\"M117.144 10.8828C116.856 11.3765 116.326 11.6801 115.754 11.6801C115.183 11.6801 114.653 11.3765 114.365 10.8828C114.073 10.3824 114.073 9.76358 114.365 9.26317C114.653 8.76943 115.183 8.46582 115.754 8.46582C116.326 8.46582 116.856 8.76943 117.144 9.26317C117.436 9.76357 117.436 10.3824 117.144 10.8828Z\",fill:\"#E9DFF2\"})),_path1572||(_path1572=/*#__PURE__*/React.createElement(\"path\",{d:\"M112.696 12.3592C112.608 12.5185 112.441 12.6174 112.259 12.6174C112.077 12.6174 111.91 12.5185 111.823 12.3592L111.81 12.3366C111.723 12.1784 111.726 11.9851 111.816 11.8288C111.908 11.671 112.077 11.5728 112.259 11.5728C112.442 11.5728 112.611 11.671 112.702 11.8289C112.793 11.9851 112.795 12.1784 112.708 12.3366L112.696 12.3592Z\",fill:\"#E9DFF2\"})),_path1573||(_path1573=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.751 14.6993C109.547 15.0505 109.17 15.2694 108.763 15.2694C108.357 15.2694 107.98 15.0505 107.776 14.6993C107.568 14.3414 107.568 13.8938 107.776 13.5359C107.98 13.1847 108.357 12.9658 108.763 12.9658C109.17 12.9658 109.547 13.1847 109.751 13.5359C109.959 13.8938 109.959 14.3414 109.751 14.6993Z\",fill:\"#E9DFF2\"})),_path1574||(_path1574=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.3556 20.7745C99.1358 21.1633 98.7166 21.4037 98.27 21.4037C97.8306 21.4037 97.4169 21.1709 97.1945 20.7919C96.9693 20.4083 96.9671 19.9334 97.1887 19.5477L97.1966 19.5339C97.4174 19.1496 97.8268 18.9126 98.2701 18.9126C98.7204 18.9126 99.1353 19.1572 99.3533 19.5513L99.3611 19.5654C99.5695 19.9421 99.5674 20.3998 99.3556 20.7745Z\",fill:\"#E9DFF2\"})),_path1575||(_path1575=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0002 22.8765C95.7514 23.3077 95.2915 23.5733 94.7937 23.5733H94.7687C94.2709 23.5733 93.811 23.3077 93.5622 22.8765C93.3137 22.4457 93.3137 21.9152 93.5622 21.4844C93.811 21.0532 94.2709 20.7876 94.7687 20.7876H94.7937C95.2915 20.7876 95.7514 21.0532 96.0002 21.4844C96.2487 21.9152 96.2487 22.4457 96.0002 22.8765Z\",fill:\"#E9DFF2\"})),_path1576||(_path1576=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.1384 24.7188C91.9585 25.0213 91.631 25.2067 91.2791 25.2067C90.9201 25.2067 90.587 25.0138 90.4098 24.7015C90.2385 24.3996 90.2364 24.0304 90.4043 23.7266L90.4148 23.7076C90.5886 23.393 90.9196 23.1978 91.279 23.1978C91.6314 23.1978 91.957 23.3855 92.1336 23.6904L92.1443 23.7089C92.3254 24.0218 92.3231 24.4081 92.1384 24.7188Z\",fill:\"#E9DFF2\"})),_path1577||(_path1577=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1374 27.0101C88.8586 27.4858 88.3413 27.778 87.79 27.778C87.2386 27.778 86.7213 27.4858 86.4425 27.0101C86.1581 26.525 86.1581 25.924 86.4425 25.4388C86.7213 24.9631 87.2386 24.6709 87.79 24.6709C88.3413 24.6709 88.8586 24.9631 89.1374 25.4388C89.4219 25.924 89.4219 26.525 89.1374 27.0101Z\",fill:\"#E9DFF2\"})),_path1578||(_path1578=/*#__PURE__*/React.createElement(\"path\",{d:\"M82.1434 31.0372C81.8672 31.5226 81.3511 31.8225 80.7925 31.8225C80.2412 31.8225 79.7306 31.5302 79.4518 31.0546C79.1674 30.5694 79.1674 29.9684 79.4518 29.4832C79.7306 29.0076 80.2412 28.7153 80.7925 28.7153C81.3511 28.7153 81.8672 29.0152 82.1434 29.5006C82.4144 29.977 82.4144 30.5608 82.1434 31.0372Z\",fill:\"#E9DFF2\"})),_path1579||(_path1579=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.225 34.5245C74.1411 34.6754 73.9805 34.769 73.8079 34.769C73.6352 34.769 73.4746 34.6754 73.3908 34.5245L73.3871 34.5178C73.3076 34.3747 73.3097 34.2003 73.3927 34.0593C73.4757 33.9182 73.6271 33.8315 73.7908 33.8315H73.825C73.9886 33.8315 74.1401 33.9182 74.2231 34.0593C74.3061 34.2003 74.3082 34.3747 74.2287 34.5178L74.225 34.5245Z\",fill:\"#E9DFF2\"})),_path1580||(_path1580=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7136 37.1124C71.4271 37.618 70.8869 37.9305 70.3058 37.9305C69.7318 37.9305 69.1972 37.6257 68.9079 37.1299C68.6169 36.6309 68.6147 36.0145 68.9022 35.5136L68.9118 35.4968C69.1983 34.9974 69.7301 34.6895 70.3058 34.6895C70.8887 34.6895 71.4259 35.005 71.7097 35.5142L71.7192 35.5312C71.9934 36.0231 71.9913 36.6224 71.7136 37.1124Z\",fill:\"#E9DFF2\"})),_path1581||(_path1581=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 39.1415C67.9179 39.6353 67.3817 39.9389 66.8101 39.9389C66.2313 39.9389 65.6894 39.6277 65.4041 39.1241C65.1255 38.6326 65.1255 38.0309 65.4041 37.5394C65.6894 37.0358 66.2313 36.7246 66.8101 36.7246C67.3817 36.7246 67.9179 37.0282 68.2059 37.522C68.4978 38.0224 68.4978 38.6411 68.2059 39.1415Z\",fill:\"#E9DFF2\"})),_path1582||(_path1582=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2078 43.1831C67.9186 43.6789 67.384 43.9838 66.81 43.9838C66.2289 43.9838 65.6887 43.6713 65.4022 43.1656C65.1245 42.6757 65.1224 42.0764 65.3966 41.5844L65.4061 41.5674C65.6899 41.0583 66.2271 40.7427 66.81 40.7427C67.3857 40.7427 67.9175 41.0506 68.204 41.55L68.2136 41.5668C68.5011 42.0678 68.4989 42.6842 68.2078 43.1831Z\",fill:\"#E9DFF2\"})),_path1583||(_path1583=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.204 47.2208C67.9175 47.7202 67.3857 48.0282 66.81 48.0282C66.2271 48.0282 65.6899 47.7126 65.4061 47.2034L65.3966 47.1864C65.1224 46.6945 65.1245 46.0952 65.4022 45.6052C65.6887 45.0996 66.2289 44.7871 66.81 44.7871C67.384 44.7871 67.9186 45.092 68.2078 45.5878C68.4989 46.0867 68.5011 46.7031 68.2136 47.2041L68.204 47.2208Z\",fill:\"#E9DFF2\"})),_path1584||(_path1584=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 51.249C67.9179 51.7427 67.3817 52.0463 66.8101 52.0463C66.2313 52.0463 65.6894 51.7351 65.4041 51.2315C65.1255 50.74 65.1255 50.1383 65.4041 49.6468C65.6894 49.1433 66.2313 48.832 66.8101 48.832C67.3817 48.832 67.9179 49.1356 68.2059 49.6294C68.4978 50.1298 68.4978 50.7486 68.2059 51.249Z\",fill:\"#E9DFF2\"})),_path1585||(_path1585=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 55.2929C67.9179 55.7867 67.3817 56.0903 66.8101 56.0903C66.2313 56.0903 65.6894 55.779 65.4041 55.2755C65.1255 54.7839 65.1255 54.1823 65.4041 53.6908C65.6894 53.1872 66.2313 52.876 66.8101 52.876C67.3817 52.876 67.9179 53.1796 68.2059 53.6733C68.4978 54.1737 68.4978 54.7925 68.2059 55.2929Z\",fill:\"#E9DFF2\"})),_path1586||(_path1586=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 79.5082C67.9179 80.002 67.3817 80.3056 66.8101 80.3056C66.2313 80.3056 65.6894 79.9944 65.4041 79.4908C65.1255 78.9993 65.1255 78.3976 65.4041 77.9061C65.6894 77.4025 66.2313 77.0913 66.8101 77.0913C67.3817 77.0913 67.9179 77.3949 68.2059 77.8887C68.4978 78.3891 68.4978 79.0078 68.2059 79.5082Z\",fill:\"#E9DFF2\"})),_path1587||(_path1587=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 83.5522C67.9179 84.0459 67.3817 84.3495 66.8101 84.3495C66.2313 84.3495 65.6894 84.0383 65.4041 83.5347C65.1255 83.0432 65.1255 82.4416 65.4041 81.9501C65.6894 81.4465 66.2313 81.1353 66.8101 81.1353C67.3817 81.1353 67.9179 81.4389 68.2059 81.9326C68.4978 82.433 68.4978 83.0518 68.2059 83.5522Z\",fill:\"#E9DFF2\"})),_path1588||(_path1588=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2078 87.5942C67.9186 88.09 67.384 88.3949 66.81 88.3949C66.2289 88.3949 65.6887 88.0824 65.4022 87.5768C65.1245 87.0868 65.1224 86.4875 65.3966 85.9956L65.4061 85.9785C65.6899 85.4694 66.2271 85.1538 66.81 85.1538C67.3857 85.1538 67.9175 85.4618 68.204 85.9612L68.2136 85.9779C68.5011 86.4789 68.4989 87.0953 68.2078 87.5942Z\",fill:\"#E9DFF2\"})),_path1589||(_path1589=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 91.6152C67.9179 92.1089 67.3817 92.4125 66.8101 92.4125C66.2313 92.4125 65.6894 92.1013 65.4041 91.5977C65.1255 91.1062 65.1255 90.5046 65.4041 90.013C65.6894 89.5095 66.2313 89.1982 66.8101 89.1982C67.3817 89.1982 67.9179 89.5018 68.2059 89.9956C68.4978 90.496 68.4978 91.1148 68.2059 91.6152Z\",fill:\"#E9DFF2\"})),_path1590||(_path1590=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2059 95.6601C67.9179 96.1538 67.3817 96.4575 66.8101 96.4575C66.2313 96.4575 65.6894 96.1462 65.4041 95.6426C65.1255 95.1511 65.1255 94.5495 65.4041 94.058C65.6894 93.5544 66.2313 93.2432 66.8101 93.2432C67.3817 93.2432 67.9179 93.5468 68.2059 94.0405C68.4978 94.5409 68.4978 95.1597 68.2059 95.6601Z\",fill:\"#E9DFF2\"})),_path1591||(_path1591=/*#__PURE__*/React.createElement(\"path\",{d:\"M67.8489 99.4958C67.6333 99.8689 67.2342 100.1 66.8033 100.1C66.3723 100.1 65.9733 99.8689 65.7577 99.4958C65.543 99.1242 65.54 98.6654 65.7512 98.2918L65.7641 98.2689C65.9759 97.8942 66.3729 97.6626 66.8033 97.6626C67.2336 97.6626 67.6306 97.8942 67.8424 98.2689L67.8553 98.2918C68.0665 98.6654 68.0636 99.1242 67.8489 99.4958Z\",fill:\"#E9DFF2\"})),_path1592||(_path1592=/*#__PURE__*/React.createElement(\"path\",{d:\"M67.1551 111.197C67.0872 111.324 66.9547 111.404 66.8105 111.404C66.6734 111.404 66.5463 111.332 66.4757 111.214L66.4724 111.209C66.3961 111.081 66.3961 110.922 66.4724 110.795L66.4757 110.79C66.5463 110.672 66.6734 110.6 66.8105 110.6C66.9547 110.6 67.0872 110.68 67.1551 110.807L67.1583 110.813C67.2213 110.931 67.2213 111.073 67.1583 111.191L67.1551 111.197Z\",fill:\"#E9DFF2\"})),_path1593||(_path1593=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2021 115.812C67.9185 116.313 67.3853 116.626 66.81 116.626C66.2419 116.626 65.7142 116.321 65.4279 115.83C65.1376 115.332 65.1374 114.712 65.4314 114.216C65.7173 113.734 66.2361 113.439 66.7964 113.439H66.8237C67.3911 113.439 67.9154 113.742 68.1987 114.234C68.4793 114.72 68.4791 115.324 68.2021 115.812Z\",fill:\"#E9DFF2\"})),_path1594||(_path1594=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1715 196.586C95.8832 197.08 95.3533 197.386 94.781 197.386C94.2088 197.386 93.6789 197.08 93.3906 196.586C93.0996 196.087 93.0966 195.47 93.3841 194.969L93.397 194.946C93.6815 194.45 94.2094 194.145 94.781 194.145C95.3526 194.145 95.8806 194.45 96.165 194.946L96.178 194.969C96.4654 195.47 96.4625 196.087 96.1715 196.586Z\",fill:\"#E9DFF2\"})),_path1595||(_path1595=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 198.598C99.3917 199.091 98.8631 199.395 98.2915 199.395H98.2627C97.6911 199.395 97.1625 199.091 96.8745 198.598C96.5826 198.097 96.5826 197.478 96.8745 196.978C97.1625 196.484 97.6911 196.181 98.2627 196.181H98.2915C98.8631 196.181 99.3917 196.484 99.6797 196.978C99.9716 197.478 99.9716 198.097 99.6797 198.598Z\",fill:\"#E9DFF2\"})),_path1596||(_path1596=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 200.606C102.873 201.1 102.344 201.404 101.772 201.404C101.201 201.404 100.671 201.1 100.383 200.606C100.091 200.106 100.091 199.487 100.383 198.987C100.671 198.493 101.201 198.189 101.772 198.189C102.344 198.189 102.873 198.493 103.161 198.987C103.453 199.487 103.453 200.106 103.161 200.606Z\",fill:\"#E9DFF2\"})),_path1597||(_path1597=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.245 180.037C305.099 180.281 304.835 180.43 304.55 180.43H304.53C304.246 180.43 303.982 180.281 303.835 180.037C303.684 179.784 303.681 179.468 303.83 179.213L303.836 179.202C303.982 178.951 304.25 178.796 304.54 178.796C304.83 178.796 305.099 178.951 305.244 179.202L305.251 179.213C305.399 179.468 305.397 179.784 305.245 180.037Z\",fill:\"#E9DFF2\"})),_path1598||(_path1598=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 178.407C309.155 178.91 308.616 179.225 308.036 179.225C307.456 179.225 306.917 178.91 306.629 178.407C306.341 177.906 306.34 177.284 306.631 176.785C306.921 176.289 307.451 175.984 308.025 175.984H308.046C308.62 175.984 309.151 176.289 309.44 176.785C309.731 177.284 309.731 177.906 309.443 178.407Z\",fill:\"#E9DFF2\"})),_path1599||(_path1599=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 174.38C309.151 174.876 308.62 175.181 308.046 175.181H308.025C307.451 175.181 306.921 174.876 306.631 174.38C306.34 173.881 306.341 173.259 306.629 172.758C306.917 172.255 307.456 171.939 308.036 171.939C308.616 171.939 309.155 172.255 309.443 172.758C309.731 173.259 309.731 173.881 309.44 174.38Z\",fill:\"#E9DFF2\"})),_path1600||(_path1600=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 170.338C309.15 170.832 308.622 171.136 308.05 171.136H308.021C307.45 171.136 306.921 170.832 306.633 170.338C306.341 169.838 306.341 169.219 306.633 168.719C306.921 168.225 307.45 167.921 308.021 167.921H308.05C308.622 167.921 309.15 168.225 309.439 168.719C309.73 169.219 309.73 169.838 309.439 170.338Z\",fill:\"#E9DFF2\"})),_path1601||(_path1601=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.036 166.08C308.832 166.44 308.45 166.662 308.036 166.662C307.622 166.662 307.24 166.44 307.035 166.08L307.025 166.063C306.822 165.704 306.824 165.265 307.031 164.908C307.239 164.551 307.623 164.332 308.036 164.332C308.448 164.332 308.833 164.551 309.04 164.908C309.248 165.265 309.25 165.704 309.046 166.063L309.036 166.08Z\",fill:\"#E9DFF2\"})),_path1602||(_path1602=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M309.365 141.952C309.095 142.427 308.591 142.72 308.044 142.72C307.498 142.72 306.994 142.427 306.723 141.952L306.712 141.931C306.442 141.458 306.445 140.876 306.718 140.405C306.992 139.931 307.497 139.64 308.044 139.64C308.592 139.64 309.097 139.931 309.371 140.405C309.644 140.876 309.647 141.458 309.377 141.931L309.365 141.952Z\",fill:\"#802DF6\"})),_path1603||(_path1603=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.565 137.94C309.276 138.436 308.745 138.741 308.171 138.741H308.15C307.576 138.741 307.045 138.436 306.756 137.94C306.465 137.441 306.466 136.82 306.753 136.319C307.042 135.816 307.58 135.5 308.16 135.5C308.74 135.5 309.279 135.816 309.567 136.319C309.855 136.82 309.856 137.441 309.565 137.94Z\",fill:\"#802DF6\"})),_path1604||(_path1604=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M309.365 133.751C309.095 134.226 308.591 134.519 308.044 134.519C307.498 134.519 306.994 134.226 306.723 133.751L306.712 133.731C306.442 133.257 306.445 132.676 306.718 132.204C306.992 131.731 307.497 131.439 308.044 131.439C308.592 131.439 309.097 131.731 309.371 132.204C309.644 132.676 309.647 133.257 309.377 133.731L309.365 133.751Z\",fill:\"#802DF6\"})),_path1605||(_path1605=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.194 129.82C308.96 130.239 308.516 130.502 308.036 130.502C307.556 130.502 307.112 130.239 306.877 129.82C306.65 129.414 306.65 128.911 306.877 128.505C307.112 128.086 307.556 127.823 308.036 127.823C308.516 127.823 308.96 128.086 309.194 128.505C309.422 128.911 309.422 129.414 309.194 129.82Z\",fill:\"#E9DFF2\"})),_path1606||(_path1606=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.312 105.666C309.053 106.117 308.572 106.395 308.052 106.395H308.02C307.5 106.395 307.019 106.117 306.76 105.666C306.505 105.221 306.504 104.672 306.756 104.225C307.016 103.764 307.507 103.476 308.036 103.476C308.565 103.476 309.056 103.764 309.316 104.225C309.567 104.672 309.567 105.221 309.312 105.666Z\",fill:\"#E9DFF2\"})),_path1607||(_path1607=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 101.713C309.15 102.207 308.622 102.511 308.05 102.511H308.021C307.45 102.511 306.921 102.207 306.633 101.713C306.341 101.213 306.341 100.594 306.633 100.094C306.921 99.6 307.45 99.2964 308.021 99.2964H308.05C308.622 99.2964 309.15 99.6 309.439 100.094C309.73 100.594 309.73 101.213 309.439 101.713Z\",fill:\"#E9DFF2\"})),_path1608||(_path1608=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 97.6739C309.155 98.1769 308.616 98.4925 308.036 98.4925C307.456 98.4925 306.917 98.1769 306.629 97.6739C306.341 97.1729 306.34 96.551 306.631 96.0521C306.921 95.5563 307.451 95.2515 308.025 95.2515H308.046C308.62 95.2515 309.151 95.5563 309.44 96.0521C309.731 96.551 309.731 97.1729 309.443 97.6739Z\",fill:\"#E9DFF2\"})),_path1609||(_path1609=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 93.647C309.151 94.1427 308.62 94.4476 308.046 94.4476H308.025C307.451 94.4476 306.921 94.1427 306.631 93.647C306.34 93.148 306.341 92.5262 306.629 92.0252C306.917 91.5222 307.456 91.2065 308.036 91.2065C308.616 91.2065 309.155 91.5222 309.443 92.0252C309.731 92.5262 309.731 93.148 309.44 93.647Z\",fill:\"#E9DFF2\"})),_path1610||(_path1610=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 89.6059C309.15 90.0996 308.622 90.4033 308.05 90.4033H308.021C307.45 90.4033 306.921 90.0996 306.633 89.6059C306.341 89.1055 306.341 88.4867 306.633 87.9863C306.921 87.4926 307.45 87.189 308.021 87.189H308.05C308.622 87.189 309.15 87.4926 309.439 87.9863C309.73 88.4867 309.73 89.1055 309.439 89.6059Z\",fill:\"#E9DFF2\"})),_path1611||(_path1611=/*#__PURE__*/React.createElement(\"path\",{d:\"M308.8 85.1928C308.643 85.4647 308.35 85.6356 308.036 85.6356C307.722 85.6356 307.429 85.4647 307.272 85.1928C307.116 84.9224 307.117 84.5856 307.276 84.3173C307.432 84.0552 307.714 83.8945 308.019 83.8945H308.053C308.358 83.8945 308.64 84.0552 308.796 84.3173C308.955 84.5856 308.956 84.9224 308.8 85.1928Z\",fill:\"#E9DFF2\"})),_path1612||(_path1612=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 81.5225C309.155 82.0255 308.616 82.3412 308.036 82.3412C307.456 82.3412 306.917 82.0255 306.629 81.5225C306.341 81.0215 306.34 80.3997 306.631 79.9008C306.921 79.405 307.451 79.1001 308.025 79.1001H308.046C308.62 79.1001 309.151 79.405 309.44 79.9008C309.731 80.3997 309.731 81.0215 309.443 81.5225Z\",fill:\"#E9DFF2\"})),_path1613||(_path1613=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 77.4961C309.151 77.9919 308.62 78.2967 308.046 78.2967H308.025C307.451 78.2967 306.921 77.9919 306.631 77.4961C306.34 76.9972 306.341 76.3753 306.629 75.8743C306.917 75.3713 307.456 75.0557 308.036 75.0557C308.616 75.0557 309.155 75.3713 309.443 75.8743C309.731 76.3753 309.731 76.9972 309.44 77.4961Z\",fill:\"#E9DFF2\"})),_path1614||(_path1614=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 73.4545C309.15 73.9483 308.622 74.2519 308.05 74.2519H308.021C307.45 74.2519 306.921 73.9483 306.633 73.4545C306.341 72.9541 306.341 72.3354 306.633 71.8349C306.921 71.3412 307.45 71.0376 308.021 71.0376H308.05C308.622 71.0376 309.15 71.3412 309.439 71.8349C309.73 72.3354 309.73 72.9541 309.439 73.4545Z\",fill:\"#E9DFF2\"})),_path1615||(_path1615=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 69.4161C309.155 69.9191 308.616 70.2347 308.036 70.2347C307.456 70.2347 306.917 69.9191 306.629 69.4161C306.341 68.9151 306.34 68.2932 306.631 67.7943C306.921 67.2985 307.451 66.9937 308.025 66.9937H308.046C308.62 66.9937 309.151 67.2985 309.44 67.7943C309.731 68.2932 309.731 68.9151 309.443 69.4161Z\",fill:\"#E9DFF2\"})),_path1616||(_path1616=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 65.3887C309.151 65.8844 308.62 66.1893 308.046 66.1893H308.025C307.451 66.1893 306.921 65.8844 306.631 65.3887C306.34 64.8897 306.341 64.2679 306.629 63.7669C306.917 63.2639 307.456 62.9482 308.036 62.9482C308.616 62.9482 309.155 63.2639 309.443 63.7669C309.731 64.2679 309.731 64.8897 309.44 65.3887Z\",fill:\"#E9DFF2\"})),_path1617||(_path1617=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 61.3466C309.15 61.8404 308.622 62.144 308.05 62.144H308.021C307.45 62.144 306.921 61.8404 306.633 61.3466C306.341 60.8462 306.341 60.2274 306.633 59.727C306.921 59.2333 307.45 58.9297 308.021 58.9297H308.05C308.622 58.9297 309.15 59.2333 309.439 59.727C309.73 60.2274 309.73 60.8462 309.439 61.3466Z\",fill:\"#E9DFF2\"})),_path1618||(_path1618=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 57.3022C309.15 57.7959 308.622 58.0995 308.05 58.0995H308.021C307.45 58.0995 306.921 57.7959 306.633 57.3022C306.341 56.8018 306.341 56.183 306.633 55.6826C306.921 55.1889 307.45 54.8853 308.021 54.8853H308.05C308.622 54.8853 309.15 55.1889 309.439 55.6826C309.73 56.183 309.73 56.8018 309.439 57.3022Z\",fill:\"#E9DFF2\"})),_path1619||(_path1619=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 53.2633C309.155 53.7662 308.616 54.0819 308.036 54.0819C307.456 54.0819 306.917 53.7662 306.629 53.2633C306.341 52.7623 306.34 52.1404 306.631 51.6415C306.921 51.1457 307.451 50.8408 308.025 50.8408H308.046C308.62 50.8408 309.151 51.1457 309.44 51.6415C309.731 52.1404 309.731 52.7623 309.443 53.2633Z\",fill:\"#E9DFF2\"})),_path1620||(_path1620=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 49.2363C309.151 49.7321 308.62 50.037 308.046 50.037H308.025C307.451 50.037 306.921 49.7321 306.631 49.2363C306.34 48.7374 306.341 48.1155 306.629 47.6145C306.917 47.1116 307.456 46.7959 308.036 46.7959C308.616 46.7959 309.155 47.1116 309.443 47.6145C309.731 48.1155 309.731 48.7374 309.44 49.2363Z\",fill:\"#E9DFF2\"})),_path1621||(_path1621=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 45.1953C309.15 45.689 308.622 45.9926 308.05 45.9926H308.021C307.45 45.9926 306.921 45.689 306.633 45.1953C306.341 44.6949 306.341 44.0761 306.633 43.5757C306.921 43.0819 307.45 42.7783 308.021 42.7783H308.05C308.622 42.7783 309.15 43.0819 309.439 43.5757C309.73 44.0761 309.73 44.6949 309.439 45.1953Z\",fill:\"#E9DFF2\"})),_path1622||(_path1622=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 41.1563C309.155 41.6593 308.616 41.975 308.036 41.975C307.456 41.975 306.917 41.6593 306.629 41.1563C306.341 40.6553 306.34 40.0335 306.631 39.5346C306.921 39.0388 307.451 38.7339 308.025 38.7339H308.046C308.62 38.7339 309.151 39.0388 309.44 39.5346C309.731 40.0335 309.731 40.6553 309.443 41.1563Z\",fill:\"#E9DFF2\"})),_path1623||(_path1623=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.44 37.1299C309.151 37.6257 308.62 37.9305 308.046 37.9305H308.025C307.451 37.9305 306.921 37.6257 306.631 37.1299C306.34 36.6309 306.341 36.0091 306.629 35.5081C306.917 35.0051 307.456 34.6895 308.036 34.6895C308.616 34.6895 309.155 35.0051 309.443 35.5081C309.731 36.0091 309.731 36.6309 309.44 37.1299Z\",fill:\"#E9DFF2\"})),_path1624||(_path1624=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.924 35.1197C305.64 35.6155 305.112 35.9212 304.54 35.9212C303.968 35.9212 303.441 35.6155 303.156 35.1197L303.143 35.0971C302.856 34.5962 302.859 33.9785 303.15 33.4796C303.438 32.9853 303.968 32.6802 304.54 32.6802C305.112 32.6802 305.642 32.9853 305.931 33.4796C306.222 33.9785 306.224 34.5962 305.937 35.0971L305.924 35.1197Z\",fill:\"#E9DFF2\"})),_path1625||(_path1625=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.447 33.0883C302.159 33.5821 301.631 33.8857 301.059 33.8857H301.03C300.459 33.8857 299.93 33.5821 299.642 33.0883C299.35 32.5879 299.35 31.9691 299.642 31.4687C299.93 30.975 300.459 30.6714 301.03 30.6714H301.059C301.631 30.6714 302.159 30.975 302.447 31.4687C302.739 31.9691 302.739 32.5879 302.447 33.0883Z\",fill:\"#E9DFF2\"})),_path1626||(_path1626=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.94 31.0764C298.651 31.5707 298.121 31.8758 297.549 31.8758C296.977 31.8758 296.447 31.5707 296.159 31.0764C295.868 30.5775 295.865 29.9599 296.152 29.4589L296.165 29.4363C296.45 28.9405 296.978 28.6348 297.549 28.6348C298.121 28.6348 298.649 28.9405 298.933 29.4363L298.946 29.4589C299.234 29.9599 299.231 30.5775 298.94 31.0764Z\",fill:\"#E9DFF2\"})),_path1627||(_path1627=/*#__PURE__*/React.createElement(\"path\",{d:\"M295.461 29.0494C295.172 29.5524 294.634 29.868 294.054 29.868C293.474 29.868 292.935 29.5524 292.647 29.0494C292.359 28.5484 292.358 27.9265 292.649 27.4276C292.938 26.9318 293.469 26.627 294.043 26.627H294.064C294.638 26.627 295.169 26.9318 295.458 27.4276C295.749 27.9265 295.748 28.5484 295.461 29.0494Z\",fill:\"#E9DFF2\"})),_path1628||(_path1628=/*#__PURE__*/React.createElement(\"path\",{d:\"M291.947 27.0341C291.659 27.5279 291.13 27.8315 290.558 27.8315C289.987 27.8315 289.457 27.5279 289.169 27.0341C288.877 26.5337 288.877 25.9149 289.169 25.4145C289.457 24.9208 289.987 24.6172 290.558 24.6172C291.13 24.6172 291.659 24.9208 291.947 25.4145C292.239 25.9149 292.239 26.5337 291.947 27.0341Z\",fill:\"#E9DFF2\"})),_path1629||(_path1629=/*#__PURE__*/React.createElement(\"path\",{d:\"M288.43 25.0036C288.149 25.4918 287.626 25.7954 287.063 25.7954C286.499 25.7954 285.977 25.4918 285.696 25.0036C285.415 24.5167 285.412 23.9149 285.689 23.426L285.703 23.4002C285.981 22.9106 286.5 22.6079 287.063 22.6079C287.626 22.6079 288.145 22.9106 288.423 23.4002L288.437 23.426C288.714 23.9149 288.71 24.5167 288.43 25.0036Z\",fill:\"#E9DFF2\"})),_path1630||(_path1630=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.95 22.976C284.669 23.4729 284.138 23.7871 283.567 23.7871C282.996 23.7871 282.465 23.4729 282.183 22.976C281.906 22.4871 281.904 21.8811 282.185 21.3942C282.468 20.9026 282.999 20.5996 283.567 20.5996C284.134 20.5996 284.665 20.9026 284.949 21.3942C285.229 21.8811 285.228 22.4871 284.95 22.976Z\",fill:\"#E9DFF2\"})),_path1631||(_path1631=/*#__PURE__*/React.createElement(\"path\",{d:\"M281.471 20.963C281.186 21.4665 280.644 21.7778 280.065 21.7778C279.493 21.7778 278.957 21.4742 278.669 20.9804C278.377 20.48 278.377 19.8612 278.669 19.3608C278.957 18.8671 279.493 18.5635 280.065 18.5635C280.644 18.5635 281.186 18.8747 281.471 19.3783C281.75 19.8698 281.75 20.4715 281.471 20.963Z\",fill:\"#E9DFF2\"})),_path1632||(_path1632=/*#__PURE__*/React.createElement(\"path\",{d:\"M277.96 18.9683C277.676 19.4641 277.148 19.7699 276.576 19.7699C276.005 19.7699 275.477 19.4641 275.192 18.9683L275.179 18.9458C274.892 18.4448 274.895 17.8272 275.186 17.3282C275.474 16.834 276.004 16.5288 276.576 16.5288C277.148 16.5288 277.678 16.834 277.967 17.3282C278.258 17.8272 278.261 18.4448 277.973 18.9458L277.96 18.9683Z\",fill:\"#E9DFF2\"})),_path1633||(_path1633=/*#__PURE__*/React.createElement(\"path\",{d:\"M267.101 12.6815C266.889 13.0403 266.5 13.2605 266.083 13.2605C265.659 13.2605 265.264 13.0327 265.054 12.6641C264.849 12.3031 264.849 11.8607 265.054 11.4997C265.264 11.131 265.659 10.9033 266.083 10.9033C266.5 10.9033 266.889 11.1235 267.101 11.4823C267.32 11.8522 267.32 12.3116 267.101 12.6815Z\",fill:\"#E9DFF2\"})),_path1634||(_path1634=/*#__PURE__*/React.createElement(\"path\",{d:\"M263.252 10.4453C263.118 10.679 262.87 10.8232 262.601 10.8232H262.574C262.312 10.8232 262.069 10.6865 261.933 10.4625C261.788 10.2233 261.788 9.92318 261.933 9.68401C262.069 9.46001 262.312 9.32324 262.574 9.32324H262.601C262.87 9.32324 263.118 9.46746 263.252 9.70114C263.384 9.93171 263.384 10.2148 263.252 10.4453Z\",fill:\"#E9DFF2\"})),_path1635||(_path1635=/*#__PURE__*/React.createElement(\"path\",{d:\"M116.735 6.58656C116.535 6.93498 116.162 7.15339 115.761 7.15339C115.367 7.15339 114.999 6.9426 114.798 6.60393C114.588 6.25199 114.589 5.80963 114.802 5.45995C115.003 5.13092 115.36 4.93018 115.745 4.93018H115.777C116.17 4.93018 116.532 5.13827 116.731 5.47689C116.93 5.81808 116.931 6.24331 116.735 6.58656Z\",fill:\"#E9DFF2\"})),_path1636||(_path1636=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.028 8.51938C112.867 8.78575 112.577 8.94845 112.266 8.94845C111.947 8.94845 111.652 8.77833 111.493 8.50229C111.337 8.23077 111.335 7.89707 111.488 7.62356L111.499 7.60374C111.654 7.32593 111.947 7.15381 112.266 7.15381C112.577 7.15381 112.865 7.31856 113.023 7.58688L113.034 7.60608C113.2 7.88846 113.198 8.23922 113.028 8.51938Z\",fill:\"#E9DFF2\"})),_path1637||(_path1637=/*#__PURE__*/React.createElement(\"path\",{d:\"M109.992 10.7897C109.737 11.225 109.268 11.4926 108.764 11.4926C108.259 11.4926 107.79 11.225 107.535 10.7897C107.276 10.347 107.276 9.79896 107.535 9.35621C107.79 8.92088 108.259 8.65332 108.764 8.65332C109.268 8.65332 109.737 8.92088 109.992 9.35621C110.251 9.79896 110.251 10.347 109.992 10.7897Z\",fill:\"#E9DFF2\"})),_path1638||(_path1638=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.106 12.5507C105.937 12.8542 105.615 13.0463 105.268 13.0463C104.921 13.0463 104.599 12.8542 104.43 12.5507C104.27 12.262 104.27 11.9069 104.434 11.6202C104.602 11.3261 104.914 11.1445 105.253 11.1445H105.283C105.621 11.1445 105.934 11.3261 106.102 11.6202C106.266 11.9069 106.266 12.262 106.106 12.5507Z\",fill:\"#E9DFF2\"})),_path1639||(_path1639=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.112 14.8792C102.838 15.3527 102.332 15.6443 101.785 15.6443H101.759C101.212 15.6443 100.706 15.3527 100.432 14.8792C100.159 14.4075 100.159 13.822 100.428 13.3483C100.703 12.8661 101.217 12.564 101.772 12.564C102.327 12.564 102.841 12.8661 103.116 13.3483C103.385 13.822 103.385 14.4075 103.112 14.8792Z\",fill:\"#E9DFF2\"})),_path1640||(_path1640=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 16.936C99.3917 17.4297 98.8631 17.7333 98.2915 17.7333H98.2627C97.6911 17.7333 97.1625 17.4297 96.8745 16.936C96.5826 16.4356 96.5826 15.8168 96.8745 15.3164C97.1625 14.8227 97.6911 14.519 98.2627 14.519H98.2915C98.8631 14.519 99.3917 14.8227 99.6797 15.3164C99.9716 15.8168 99.9716 16.4356 99.6797 16.936Z\",fill:\"#E9DFF2\"})),_path1641||(_path1641=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 18.9683C95.8806 19.4641 95.3526 19.7699 94.781 19.7699C94.2094 19.7699 93.6815 19.4641 93.397 18.9683L93.3841 18.9458C93.0966 18.4448 93.0996 17.8272 93.3906 17.3282C93.6789 16.834 94.2088 16.5288 94.781 16.5288C95.3533 16.5288 95.8832 16.834 96.1715 17.3282C96.4625 17.8272 96.4654 18.4448 96.178 18.9458L96.165 18.9683Z\",fill:\"#E9DFF2\"})),_path1642||(_path1642=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.8796 20.4978C91.7612 20.7093 91.5377 20.8403 91.2954 20.8403H91.2768C91.0344 20.8403 90.8109 20.7093 90.6925 20.4978C90.5787 20.2945 90.5787 20.0467 90.6925 19.8434C90.8109 19.632 91.0344 19.501 91.2768 19.501H91.2954C91.5377 19.501 91.7612 19.632 91.8796 19.8434C91.9935 20.0467 91.9935 20.2945 91.8796 20.4978Z\",fill:\"#E9DFF2\"})),_path1643||(_path1643=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.4574 22.5729C88.318 22.8108 88.0595 22.9569 87.7838 22.9569C87.5009 22.9569 87.2368 22.8031 87.1001 22.5554C86.9712 22.3218 86.9712 22.0384 87.1001 21.8049C87.2368 21.5571 87.5009 21.4033 87.7838 21.4033C88.0595 21.4033 88.318 21.5494 88.4574 21.7873C88.5996 22.0299 88.5996 22.3304 88.4574 22.5729Z\",fill:\"#E9DFF2\"})),_path1644||(_path1644=/*#__PURE__*/React.createElement(\"path\",{d:\"M77.9523 28.6351C77.816 28.8677 77.5665 29.0107 77.2968 29.0107C77.0201 29.0107 76.7652 28.8602 76.6315 28.6179L76.6249 28.6058C76.4974 28.3748 76.4995 28.0941 76.6304 27.8651C76.7651 27.6294 77.0158 27.4839 77.2873 27.4839H77.3063C77.5707 27.4839 77.816 27.6219 77.9532 27.8479C78.0976 28.0857 78.0999 28.3835 77.9592 28.6234L77.9523 28.6351Z\",fill:\"#E9DFF2\"})),_path1645||(_path1645=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.6384 30.7525C74.4644 31.0508 74.1402 31.2342 73.7949 31.2342C73.4496 31.2342 73.1254 31.0508 72.9514 30.7525C72.7772 30.4537 72.775 30.0848 72.9457 29.784L72.9548 29.768C73.1264 29.4656 73.4472 29.2788 73.7949 29.2788C74.1426 29.2788 74.4635 29.4656 74.6351 29.768L74.6442 29.784C74.8149 30.0848 74.8127 30.4537 74.6384 30.7525Z\",fill:\"#E9DFF2\"})),_path1646||(_path1646=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.163 32.7847C70.9844 33.0851 70.6553 33.2693 70.3058 33.2693C69.9491 33.2693 69.6144 33.0776 69.4383 32.7674C69.2661 32.464 69.2661 32.0924 69.4383 31.789C69.6144 31.4788 69.9491 31.2871 70.3058 31.2871C70.6553 31.2871 70.9844 31.4712 71.163 31.7717C71.3487 32.0838 71.3487 32.4725 71.163 32.7847Z\",fill:\"#E9DFF2\"})),_path1647||(_path1647=/*#__PURE__*/React.createElement(\"path\",{d:\"M67.2033 34.5178C67.1215 34.6569 66.9716 34.7423 66.8102 34.7423C66.6416 34.7423 66.4861 34.649 66.4072 34.5C66.3367 34.3667 66.3367 34.2071 66.4072 34.0738C66.4861 33.9248 66.6416 33.8315 66.8102 33.8315C66.9716 33.8315 67.1215 33.9169 67.2033 34.056C67.2871 34.1985 67.2871 34.3753 67.2033 34.5178Z\",fill:\"#E9DFF2\"})),_path1648||(_path1648=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7226 37.1124C64.4361 37.618 63.896 37.9305 63.3148 37.9305C62.7408 37.9305 62.2062 37.6257 61.917 37.1299C61.6259 36.6309 61.6237 36.0145 61.9112 35.5136L61.9208 35.4968C62.2073 34.9974 62.7391 34.6895 63.3148 34.6895C63.8977 34.6895 64.4349 35.005 64.7187 35.5142L64.7282 35.5312C65.0024 36.0231 65.0003 36.6224 64.7226 37.1124Z\",fill:\"#E9DFF2\"})),_path1649||(_path1649=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 41.1502C64.4349 41.6594 63.8977 41.975 63.3148 41.975C62.7391 41.975 62.2073 41.667 61.9208 41.1676L61.9112 41.1509C61.6237 40.6499 61.6259 40.0335 61.917 39.5346C62.2062 39.0388 62.7408 38.7339 63.3148 38.7339C63.896 38.7339 64.4361 39.0464 64.7226 39.552C65.0003 40.042 65.0024 40.6413 64.7282 41.1332L64.7187 41.1502Z\",fill:\"#E9DFF2\"})),_path1650||(_path1650=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 45.1778C64.4354 45.6814 63.8936 45.9926 63.3148 45.9926C62.7432 45.9926 62.2069 45.689 61.9189 45.1953C61.627 44.6949 61.627 44.0761 61.9189 43.5757C62.2069 43.0819 62.7432 42.7783 63.3148 42.7783C63.8936 42.7783 64.4354 43.0896 64.7208 43.5931C64.9993 44.0846 64.9993 44.6863 64.7208 45.1778Z\",fill:\"#E9DFF2\"})),_path1651||(_path1651=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M64.7226 49.2189C64.4361 49.7245 63.896 50.037 63.3148 50.037C62.7408 50.037 62.2062 49.7321 61.917 49.2363C61.6259 48.7374 61.6237 48.121 61.9112 47.62L61.9208 47.6033C62.2073 47.1039 62.7391 46.7959 63.3148 46.7959C63.8977 46.7959 64.4349 47.1115 64.7187 47.6206L64.7282 47.6377C65.0024 48.1296 65.0003 48.7289 64.7226 49.2189Z\",fill:\"#802DF6\"})),_path1652||(_path1652=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 53.2572C64.4349 53.7663 63.8977 54.0819 63.3148 54.0819C62.7391 54.0819 62.2073 53.7739 61.9208 53.2745L61.9112 53.2578C61.6237 52.7568 61.6259 52.1404 61.917 51.6415C62.2062 51.1457 62.7408 50.8408 63.3148 50.8408C63.896 50.8408 64.4361 51.1533 64.7226 51.6589C65.0003 52.1489 65.0024 52.7482 64.7282 53.2401L64.7187 53.2572Z\",fill:\"#E9DFF2\"})),_path1653||(_path1653=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 57.2847C64.4354 57.7883 63.8936 58.0995 63.3148 58.0995C62.7432 58.0995 62.2069 57.7959 61.9189 57.3022C61.627 56.8018 61.627 56.183 61.9189 55.6826C62.2069 55.1889 62.7432 54.8853 63.3148 54.8853C63.8936 54.8853 64.4354 55.1965 64.7208 55.7001C64.9993 56.1916 64.9993 56.7932 64.7208 57.2847Z\",fill:\"#E9DFF2\"})),_path1654||(_path1654=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7226 77.4786C64.4361 77.9842 63.896 78.2967 63.3148 78.2967C62.7408 78.2967 62.2062 77.9919 61.917 77.4961C61.6259 76.9972 61.6237 76.3808 61.9112 75.8798L61.9208 75.863C62.2073 75.3636 62.7391 75.0557 63.3148 75.0557C63.8977 75.0557 64.4349 75.3713 64.7187 75.8804L64.7282 75.8974C65.0024 76.3894 65.0003 76.9886 64.7226 77.4786Z\",fill:\"#E9DFF2\"})),_path1655||(_path1655=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 81.5164C64.4349 82.0256 63.8977 82.3412 63.3148 82.3412C62.7391 82.3412 62.2073 82.0332 61.9208 81.5338L61.9112 81.5171C61.6237 81.0161 61.6259 80.3997 61.917 79.9008C62.2062 79.405 62.7408 79.1001 63.3148 79.1001C63.896 79.1001 64.4361 79.4126 64.7226 79.9182C65.0003 80.4082 65.0024 81.0075 64.7282 81.4994L64.7187 81.5164Z\",fill:\"#E9DFF2\"})),_path1656||(_path1656=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 85.544C64.4354 86.0476 63.8936 86.3588 63.3148 86.3588C62.7432 86.3588 62.2069 86.0552 61.9189 85.5615C61.627 85.0611 61.627 84.4423 61.9189 83.9419C62.2069 83.4481 62.7432 83.1445 63.3148 83.1445C63.8936 83.1445 64.4354 83.4558 64.7208 83.9593C64.9993 84.4508 64.9993 85.0525 64.7208 85.544Z\",fill:\"#E9DFF2\"})),_path1657||(_path1657=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 89.5885C64.4354 90.092 63.8936 90.4033 63.3148 90.4033C62.7432 90.4033 62.2069 90.0996 61.9189 89.6059C61.627 89.1055 61.627 88.4867 61.9189 87.9863C62.2069 87.4926 62.7432 87.189 63.3148 87.189C63.8936 87.189 64.4354 87.5002 64.7208 88.0038C64.9993 88.4953 64.9993 89.0969 64.7208 89.5885Z\",fill:\"#E9DFF2\"})),_path1658||(_path1658=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7226 93.6295C64.4361 94.1351 63.896 94.4476 63.3148 94.4476C62.7408 94.4476 62.2062 94.1427 61.917 93.647C61.6259 93.148 61.6237 92.5316 61.9112 92.0306L61.9208 92.0139C62.2073 91.5145 62.7391 91.2065 63.3148 91.2065C63.8977 91.2065 64.4349 91.5221 64.7187 92.0313L64.7282 92.0483C65.0024 92.5402 65.0003 93.1395 64.7226 93.6295Z\",fill:\"#E9DFF2\"})),_path1659||(_path1659=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 97.6678C64.4349 98.177 63.8977 98.4925 63.3148 98.4925C62.7391 98.4925 62.2073 98.1846 61.9208 97.6852L61.9112 97.6684C61.6237 97.1675 61.6259 96.551 61.917 96.0521C62.2062 95.5563 62.7408 95.2515 63.3148 95.2515C63.896 95.2515 64.4361 95.564 64.7226 96.0696C65.0003 96.5596 65.0024 97.1588 64.7282 97.6508L64.7187 97.6678Z\",fill:\"#E9DFF2\"})),_path1660||(_path1660=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 101.696C64.4354 102.199 63.8936 102.511 63.3148 102.511C62.7432 102.511 62.2069 102.207 61.9189 101.713C61.627 101.213 61.627 100.594 61.9189 100.094C62.2069 99.6 62.7432 99.2964 63.3148 99.2964C63.8936 99.2964 64.4354 99.6076 64.7208 100.111C64.9993 100.603 64.9993 101.204 64.7208 101.696Z\",fill:\"#E9DFF2\"})),_path1661||(_path1661=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7226 105.737C64.4361 106.243 63.896 106.555 63.3148 106.555C62.7408 106.555 62.2062 106.25 61.917 105.754C61.6259 105.255 61.6237 104.639 61.9112 104.138L61.9208 104.121C62.2073 103.622 62.7391 103.314 63.3148 103.314C63.8977 103.314 64.4349 103.63 64.7187 104.139L64.7282 104.156C65.0024 104.648 65.0003 105.247 64.7226 105.737Z\",fill:\"#E9DFF2\"})),_path1662||(_path1662=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 109.775C64.4349 110.284 63.8977 110.6 63.3148 110.6C62.7391 110.6 62.2073 110.292 61.9208 109.793L61.9112 109.776C61.6237 109.275 61.6259 108.658 61.917 108.16C62.2062 107.664 62.7408 107.359 63.3148 107.359C63.896 107.359 64.4361 107.671 64.7226 108.177C65.0003 108.667 65.0024 109.266 64.7282 109.758L64.7187 109.775Z\",fill:\"#E9DFF2\"})),_path1663||(_path1663=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7208 113.803C64.4354 114.306 63.8936 114.618 63.3148 114.618C62.7432 114.618 62.2069 114.314 61.9189 113.82C61.627 113.32 61.627 112.701 61.9189 112.201C62.2069 111.707 62.7432 111.403 63.3148 111.403C63.8936 111.403 64.4354 111.715 64.7208 112.218C64.9993 112.71 64.9993 113.311 64.7208 113.803Z\",fill:\"#E9DFF2\"})),_path1664||(_path1664=/*#__PURE__*/React.createElement(\"path\",{d:\"M63.6108 117.238C63.5476 117.341 63.4354 117.403 63.3148 117.403C63.1869 117.403 63.0693 117.333 63.0087 117.221C62.9532 117.117 62.9532 116.993 63.0087 116.89C63.0693 116.777 63.1869 116.707 63.3148 116.707C63.4354 116.707 63.5476 116.77 63.6108 116.873C63.6797 116.984 63.6797 117.126 63.6108 117.238Z\",fill:\"#E9DFF2\"})),_path1665||(_path1665=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 200.606C95.8823 201.1 95.3526 201.404 94.781 201.404C94.2094 201.404 93.6798 201.1 93.3918 200.606C93.0999 200.106 93.0999 199.487 93.3918 198.987C93.6798 198.493 94.2094 198.189 94.781 198.189C95.3526 198.189 95.8823 198.493 96.1703 198.987C96.4622 199.487 96.4622 200.106 96.1703 200.606Z\",fill:\"#E9DFF2\"})),_path1666||(_path1666=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 202.639C99.3924 203.134 98.8617 203.439 98.2877 203.439H98.2665C97.6925 203.439 97.1618 203.134 96.8725 202.639C96.5815 202.14 96.5824 201.518 96.8699 201.017C97.1585 200.514 97.6972 200.198 98.2771 200.198C98.857 200.198 99.3957 200.514 99.6843 201.017C99.9718 201.518 99.9727 202.14 99.6817 202.639Z\",fill:\"#E9DFF2\"})),_path1667||(_path1667=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.153 204.63C102.871 205.119 102.348 205.421 101.783 205.421H101.762C101.197 205.421 100.675 205.119 100.392 204.63C100.111 204.141 100.111 203.54 100.392 203.052C100.675 202.562 101.197 202.26 101.762 202.26H101.783C102.348 202.26 102.871 202.562 103.153 203.052C103.434 203.54 103.434 204.141 103.153 204.63Z\",fill:\"#E9DFF2\"})),_path1668||(_path1668=/*#__PURE__*/React.createElement(\"path\",{d:\"M304.997 183.91C304.905 184.076 304.73 184.18 304.54 184.18C304.35 184.18 304.175 184.076 304.084 183.91L304.078 183.899C303.991 183.741 303.993 183.549 304.083 183.392C304.175 183.233 304.345 183.135 304.529 183.135H304.551C304.735 183.135 304.905 183.233 304.997 183.392C305.088 183.549 305.09 183.741 305.003 183.899L304.997 183.91Z\",fill:\"#E9DFF2\"})),_path1669||(_path1669=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 182.446C309.15 182.94 308.622 183.244 308.05 183.244H308.021C307.45 183.244 306.921 182.94 306.633 182.446C306.341 181.946 306.341 181.327 306.633 180.827C306.921 180.333 307.45 180.029 308.021 180.029H308.05C308.622 180.029 309.15 180.333 309.439 180.827C309.73 181.327 309.73 181.946 309.439 182.446Z\",fill:\"#E9DFF2\"})),_path1670||(_path1670=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 180.437C312.633 180.931 312.103 181.234 311.531 181.234C310.96 181.234 310.43 180.931 310.142 180.437C309.85 179.937 309.85 179.318 310.142 178.817C310.43 178.324 310.96 178.02 311.531 178.02C312.103 178.02 312.633 178.324 312.921 178.817C313.212 179.318 313.212 179.937 312.921 180.437Z\",fill:\"#E9DFF2\"})),_path1671||(_path1671=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 176.392C312.633 176.886 312.103 177.189 311.531 177.189C310.96 177.189 310.43 176.886 310.142 176.392C309.85 175.892 309.85 175.273 310.142 174.772C310.43 174.279 310.96 173.975 311.531 173.975C312.103 173.975 312.633 174.279 312.921 174.772C313.212 175.273 313.212 175.892 312.921 176.392Z\",fill:\"#E9DFF2\"})),_path1672||(_path1672=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M312.915 172.37C312.631 172.866 312.103 173.171 311.531 173.171C310.96 173.171 310.432 172.866 310.147 172.37L310.134 172.347C309.847 171.846 309.85 171.229 310.141 170.73C310.429 170.235 310.959 169.93 311.531 169.93C312.104 169.93 312.633 170.235 312.922 170.73C313.213 171.229 313.216 171.846 312.928 172.347L312.915 172.37Z\",fill:\"#802DF6\"})),_path1673||(_path1673=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.922 168.328C312.633 168.822 312.104 169.127 311.531 169.127C310.959 169.127 310.429 168.822 310.141 168.328C309.85 167.829 309.847 167.211 310.134 166.71L310.147 166.688C310.432 166.192 310.96 165.886 311.531 165.886C312.103 165.886 312.631 166.192 312.915 166.688L312.928 166.71C313.216 167.211 313.213 167.829 312.922 168.328Z\",fill:\"#E9DFF2\"})),_path1674||(_path1674=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.874 164.246C312.6 164.729 312.086 165.029 311.531 165.029C310.977 165.029 310.463 164.729 310.189 164.246C309.918 163.77 309.918 163.181 310.189 162.705C310.463 162.222 310.977 161.922 311.531 161.922C312.086 161.922 312.6 162.222 312.874 162.705C313.145 163.181 313.145 163.77 312.874 164.246Z\",fill:\"#E9DFF2\"})),_path1675||(_path1675=/*#__PURE__*/React.createElement(\"path\",{d:\"M311.788 159.575C311.737 159.667 311.64 159.725 311.535 159.725H311.528C311.423 159.725 311.326 159.667 311.276 159.575L311.272 159.568C311.225 159.482 311.228 159.379 311.278 159.295C311.327 159.213 311.416 159.162 311.513 159.162H311.55C311.647 159.162 311.736 159.213 311.786 159.295C311.836 159.379 311.838 159.482 311.791 159.568L311.788 159.575Z\",fill:\"#E9DFF2\"})),_path1676||(_path1676=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.392 139.75C312.216 140.06 311.887 140.252 311.531 140.252C311.175 140.252 310.847 140.06 310.671 139.75C310.499 139.447 310.499 139.074 310.671 138.771C310.847 138.461 311.175 138.27 311.531 138.27C311.887 138.27 312.216 138.461 312.392 138.771C312.564 139.074 312.564 139.447 312.392 139.75Z\",fill:\"#E9DFF2\"})),_path1677||(_path1677=/*#__PURE__*/React.createElement(\"path\",{d:\"M311.986 135.47C311.895 135.628 311.727 135.724 311.546 135.724H311.517C311.335 135.724 311.167 135.628 311.076 135.47C310.985 135.313 310.985 135.118 311.076 134.96C311.167 134.803 311.335 134.707 311.517 134.707H311.546C311.727 134.707 311.895 134.803 311.986 134.96C312.078 135.118 312.078 135.313 311.986 135.47Z\",fill:\"#E9DFF2\"})),_path1678||(_path1678=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.392 131.661C312.216 131.971 311.887 132.162 311.531 132.162C311.175 132.162 310.847 131.971 310.671 131.661C310.499 131.358 310.499 130.985 310.671 130.682C310.847 130.372 311.175 130.18 311.531 130.18C311.887 130.18 312.216 130.372 312.392 130.682C312.564 130.985 312.564 131.358 312.392 131.661Z\",fill:\"#E9DFF2\"})),_path1679||(_path1679=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.231 107.353C312.088 107.605 311.821 107.76 311.531 107.76C311.242 107.76 310.974 107.605 310.832 107.353C310.692 107.107 310.692 106.806 310.832 106.561C310.974 106.309 311.242 106.153 311.531 106.153C311.821 106.153 312.088 106.309 312.231 106.561C312.37 106.806 312.37 107.107 312.231 107.353Z\",fill:\"#E9DFF2\"})),_path1680||(_path1680=/*#__PURE__*/React.createElement(\"path\",{d:\"M311.954 103.178C311.867 103.328 311.706 103.421 311.532 103.421C311.358 103.421 311.197 103.328 311.11 103.178L311.102 103.164C311.012 103.009 311.014 102.817 311.108 102.664C311.197 102.519 311.355 102.43 311.525 102.43H311.539C311.709 102.43 311.867 102.519 311.956 102.664C312.05 102.817 312.052 103.009 311.962 103.164L311.954 103.178Z\",fill:\"#E9DFF2\"})),_path1681||(_path1681=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M312.797 99.6292C312.535 100.071 312.06 100.342 311.547 100.342H311.516C311.002 100.342 310.527 100.071 310.265 99.6292C309.997 99.176 309.996 98.6095 310.261 98.1542C310.524 97.7029 311.009 97.4219 311.531 97.4219C312.053 97.4219 312.538 97.7029 312.801 98.1542C313.066 98.6095 313.066 99.176 312.797 99.6292Z\",fill:\"#802DF6\"})),_path1682||(_path1682=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.879 95.6356C312.6 96.1113 312.083 96.4035 311.531 96.4035C310.98 96.4035 310.463 96.1113 310.184 95.6356C309.9 95.1504 309.9 94.5495 310.184 94.0643C310.463 93.5886 310.98 93.2964 311.531 93.2964C312.083 93.2964 312.6 93.5886 312.879 94.0643C313.163 94.5495 313.163 95.1505 312.879 95.6356Z\",fill:\"#E9DFF2\"})),_path1683||(_path1683=/*#__PURE__*/React.createElement(\"path\",{d:\"M311.754 90.9465C311.707 91.0249 311.623 91.0728 311.531 91.0728C311.44 91.0728 311.355 91.0249 311.308 90.9465L311.306 90.9428C311.255 90.858 311.255 90.752 311.306 90.6672L311.308 90.6634C311.355 90.5851 311.44 90.5371 311.531 90.5371C311.623 90.5371 311.707 90.5851 311.754 90.6634L311.757 90.6672C311.807 90.752 311.807 90.858 311.757 90.9428L311.754 90.9465Z\",fill:\"#E9DFF2\"})),_path1684||(_path1684=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.108 87.108C311.991 87.3075 311.778 87.4302 311.547 87.4302H311.516C311.285 87.4302 311.071 87.3075 310.955 87.108C310.839 86.9093 310.837 86.6641 310.949 86.4634L310.953 86.4566C311.07 86.2473 311.291 86.1177 311.531 86.1177C311.771 86.1177 311.992 86.2473 312.109 86.4566L312.113 86.4634C312.226 86.6641 312.223 86.9093 312.108 87.108Z\",fill:\"#E9DFF2\"})),_path1685||(_path1685=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.754 83.4468C312.505 83.8862 312.037 84.1625 311.532 84.1625C311.027 84.1625 310.558 83.8862 310.31 83.4468C310.064 83.013 310.064 82.4728 310.31 82.0389C310.558 81.5996 311.027 81.3232 311.532 81.3232C312.037 81.3232 312.505 81.5996 312.754 82.0389C312.999 82.4728 312.999 83.013 312.754 83.4468Z\",fill:\"#E9DFF2\"})),_path1686||(_path1686=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 79.5082C312.633 80.002 312.103 80.3056 311.531 80.3056C310.96 80.3056 310.43 80.002 310.142 79.5082C309.85 79.0078 309.85 78.3891 310.142 77.8887C310.43 77.3949 310.96 77.0913 311.531 77.0913C312.103 77.0913 312.633 77.3949 312.921 77.8887C313.212 78.3891 313.212 79.0078 312.921 79.5082Z\",fill:\"#E9DFF2\"})),_path1687||(_path1687=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.915 75.4859C312.631 75.9817 312.103 76.2875 311.531 76.2875C310.96 76.2875 310.432 75.9817 310.147 75.4859L310.134 75.4634C309.847 74.9624 309.85 74.3447 310.141 73.8458C310.429 73.3515 310.959 73.0464 311.531 73.0464C312.104 73.0464 312.633 73.3515 312.922 73.8458C313.213 74.3447 313.216 74.9624 312.928 75.4634L312.915 75.4859Z\",fill:\"#E9DFF2\"})),_path1688||(_path1688=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.922 71.4426C312.633 71.9369 312.104 72.2421 311.531 72.2421C310.959 72.2421 310.429 71.9369 310.141 71.4426C309.85 70.9437 309.847 70.3261 310.134 69.8251L310.147 69.8025C310.432 69.3067 310.96 69.001 311.531 69.001C312.103 69.001 312.631 69.3067 312.915 69.8025L312.928 69.8251C313.216 70.3261 313.213 70.9437 312.922 71.4426Z\",fill:\"#E9DFF2\"})),_path1689||(_path1689=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 67.4008C312.633 67.8946 312.103 68.1982 311.531 68.1982C310.96 68.1982 310.43 67.8946 310.142 67.4008C309.85 66.9004 309.85 66.2816 310.142 65.7812C310.43 65.2875 310.96 64.9839 311.531 64.9839C312.103 64.9839 312.633 65.2875 312.921 65.7812C313.212 66.2816 313.212 66.9004 312.921 67.4008Z\",fill:\"#E9DFF2\"})),_path1690||(_path1690=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.915 63.3785C312.631 63.8743 312.103 64.18 311.531 64.18C310.96 64.18 310.432 63.8743 310.147 63.3785L310.134 63.3559C309.847 62.855 309.85 62.2373 310.141 61.7384C310.429 61.2441 310.959 60.939 311.531 60.939C312.104 60.939 312.633 61.2441 312.922 61.7384C313.213 62.2373 313.216 62.855 312.928 63.3559L312.915 63.3785Z\",fill:\"#E9DFF2\"})),_path1691||(_path1691=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.922 59.3357C312.633 59.83 312.104 60.1351 311.531 60.1351C310.959 60.1351 310.429 59.83 310.141 59.3357C309.85 58.8368 309.847 58.2191 310.134 57.7181L310.147 57.6956C310.432 57.1998 310.96 56.894 311.531 56.894C312.103 56.894 312.631 57.1998 312.915 57.6956L312.928 57.7181C313.216 58.2191 313.213 58.8368 312.922 59.3357Z\",fill:\"#E9DFF2\"})),_path1692||(_path1692=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M312.921 55.2929C312.633 55.7867 312.103 56.0903 311.531 56.0903C310.96 56.0903 310.43 55.7867 310.142 55.2929C309.85 54.7925 309.85 54.1737 310.142 53.6733C310.43 53.1796 310.96 52.876 311.531 52.876C312.103 52.876 312.633 53.1796 312.921 53.6733C313.212 54.1737 313.212 54.7925 312.921 55.2929Z\",fill:\"#802DF6\"})),_path1693||(_path1693=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 51.249C312.633 51.7427 312.103 52.0463 311.531 52.0463C310.96 52.0463 310.43 51.7427 310.142 51.249C309.85 50.7486 309.85 50.1298 310.142 49.6294C310.43 49.1356 310.96 48.832 311.531 48.832C312.103 48.832 312.633 49.1356 312.921 49.6294C313.212 50.1298 313.212 50.7486 312.921 51.249Z\",fill:\"#E9DFF2\"})),_path1694||(_path1694=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.915 47.2266C312.631 47.7224 312.103 48.0282 311.531 48.0282C310.96 48.0282 310.432 47.7224 310.147 47.2266L310.134 47.2041C309.847 46.7031 309.85 46.0855 310.141 45.5865C310.429 45.0923 310.959 44.7871 311.531 44.7871C312.104 44.7871 312.633 45.0923 312.922 45.5865C313.213 46.0855 313.216 46.7031 312.928 47.2041L312.915 47.2266Z\",fill:\"#E9DFF2\"})),_path1695||(_path1695=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.922 43.1843C312.633 43.6786 312.104 43.9838 311.531 43.9838C310.959 43.9838 310.429 43.6786 310.141 43.1843C309.85 42.6854 309.847 42.0678 310.134 41.5668L310.147 41.5442C310.432 41.0484 310.96 40.7427 311.531 40.7427C312.103 40.7427 312.631 41.0484 312.915 41.5442L312.928 41.5668C313.216 42.0678 313.213 42.6854 312.922 43.1843Z\",fill:\"#E9DFF2\"})),_path1696||(_path1696=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.921 39.1415C312.633 39.6353 312.103 39.9389 311.531 39.9389C310.96 39.9389 310.43 39.6353 310.142 39.1415C309.85 38.6411 309.85 38.0224 310.142 37.522C310.43 37.0282 310.96 36.7246 311.531 36.7246C312.103 36.7246 312.633 37.0282 312.921 37.522C313.212 38.0224 313.212 38.6411 312.921 39.1415Z\",fill:\"#E9DFF2\"})),_path1697||(_path1697=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.915 35.1197C312.631 35.6155 312.103 35.9212 311.531 35.9212C310.96 35.9212 310.432 35.6155 310.147 35.1197L310.134 35.0971C309.847 34.5962 309.85 33.9785 310.141 33.4796C310.429 32.9853 310.959 32.6802 311.531 32.6802C312.104 32.6802 312.633 32.9853 312.922 33.4796C313.213 33.9785 313.216 34.5962 312.928 35.0971L312.915 35.1197Z\",fill:\"#E9DFF2\"})),_path1698||(_path1698=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.439 33.0883C309.15 33.5821 308.622 33.8857 308.05 33.8857H308.021C307.45 33.8857 306.921 33.5821 306.633 33.0883C306.341 32.5879 306.341 31.9691 306.633 31.4687C306.921 30.975 307.45 30.6714 308.021 30.6714H308.05C308.622 30.6714 309.15 30.975 309.439 31.4687C309.73 31.9691 309.73 32.5879 309.439 33.0883Z\",fill:\"#E9DFF2\"})),_path1699||(_path1699=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.931 31.0764C305.642 31.5707 305.112 31.8758 304.54 31.8758C303.968 31.8758 303.438 31.5707 303.15 31.0764C302.859 30.5775 302.856 29.9599 303.143 29.4589L303.156 29.4363C303.441 28.9405 303.968 28.6348 304.54 28.6348C305.112 28.6348 305.64 28.9405 305.924 29.4363L305.937 29.4589C306.224 29.9599 306.222 30.5775 305.931 31.0764Z\",fill:\"#E9DFF2\"})),_path1700||(_path1700=/*#__PURE__*/React.createElement(\"path\",{d:\"M302.452 29.0494C302.163 29.5524 301.625 29.868 301.045 29.868C300.465 29.868 299.926 29.5524 299.637 29.0494C299.35 28.5484 299.349 27.9265 299.64 27.4276C299.929 26.9318 300.46 26.627 301.034 26.627H301.055C301.629 26.627 302.16 26.9318 302.449 27.4276C302.74 27.9265 302.739 28.5484 302.452 29.0494Z\",fill:\"#E9DFF2\"})),_path1701||(_path1701=/*#__PURE__*/React.createElement(\"path\",{d:\"M298.934 27.0191C298.65 27.5196 298.118 27.8315 297.542 27.8315C296.974 27.8315 296.448 27.5273 296.161 27.0366C295.869 26.5362 295.869 25.9125 296.161 25.4121C296.448 24.9214 296.974 24.6172 297.542 24.6172C298.118 24.6172 298.65 24.929 298.934 25.4295C299.212 25.921 299.212 26.5276 298.934 27.0191Z\",fill:\"#E9DFF2\"})),_path1702||(_path1702=/*#__PURE__*/React.createElement(\"path\",{d:\"M294.662 24.5781C294.534 24.7861 294.307 24.9128 294.063 24.9128H294.031C293.78 24.9128 293.548 24.7787 293.422 24.5611C293.299 24.3472 293.299 24.081 293.418 23.8652C293.545 23.6377 293.787 23.4932 294.047 23.4932C294.3 23.4932 294.537 23.6299 294.666 23.8476C294.799 24.0723 294.798 24.3557 294.662 24.5781Z\",fill:\"#E9DFF2\"})),_path1703||(_path1703=/*#__PURE__*/React.createElement(\"path\",{d:\"M287.703 20.5373C287.572 20.7591 287.333 20.8951 287.075 20.8951H287.05C286.792 20.8951 286.554 20.7591 286.422 20.5373C286.288 20.3114 286.286 20.031 286.416 19.8031L286.421 19.794C286.553 19.5639 286.798 19.4219 287.063 19.4219C287.328 19.4219 287.572 19.5639 287.704 19.794L287.709 19.8031C287.839 20.031 287.837 20.3114 287.703 20.5373Z\",fill:\"#E9DFF2\"})),_path1704||(_path1704=/*#__PURE__*/React.createElement(\"path\",{d:\"M284.953 18.9282C284.669 19.4287 284.136 19.7422 283.561 19.7422C282.992 19.7422 282.465 19.4364 282.178 18.9457C281.888 18.4479 281.888 17.8277 282.182 17.3321C282.468 16.8501 282.987 16.5547 283.547 16.5547H283.574C284.142 16.5547 284.666 16.8576 284.949 17.3493C285.23 17.8362 285.23 18.4393 284.953 18.9282Z\",fill:\"#E9DFF2\"})),_path1705||(_path1705=/*#__PURE__*/React.createElement(\"path\",{d:\"M270.243 10.4454C270.109 10.679 269.861 10.8232 269.591 10.8232H269.578C269.309 10.8232 269.06 10.679 268.927 10.4453C268.795 10.2148 268.795 9.93171 268.927 9.70114C269.06 9.46746 269.309 9.32324 269.578 9.32324H269.591C269.861 9.32324 270.109 9.46745 270.243 9.70113C270.374 9.93171 270.374 10.2148 270.243 10.4454Z\",fill:\"#E9DFF2\"})),_path1706||(_path1706=/*#__PURE__*/React.createElement(\"path\",{d:\"M113.229 4.59446C113.026 4.93524 112.656 5.14404 112.259 5.14404C111.863 5.14404 111.492 4.93524 111.289 4.59446C111.078 4.23988 111.078 3.79821 111.289 3.44362C111.492 3.10285 111.863 2.89404 112.259 2.89404C112.656 2.89404 113.026 3.10285 113.229 3.44362C113.44 3.79821 113.44 4.23988 113.229 4.59446Z\",fill:\"#E9DFF2\"})),_path1707||(_path1707=/*#__PURE__*/React.createElement(\"path\",{d:\"M110.147 6.86141C109.863 7.3572 109.335 7.66295 108.763 7.66295C108.192 7.66295 107.664 7.3572 107.379 6.86141L107.366 6.83885C107.079 6.33786 107.082 5.72023 107.373 5.22131C107.661 4.72703 108.191 4.42188 108.763 4.42188C109.335 4.42188 109.865 4.72703 110.154 5.22131C110.445 5.72023 110.448 6.33786 110.16 6.83885L110.147 6.86141Z\",fill:\"#E9DFF2\"})),_path1708||(_path1708=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.672 8.87058C106.383 9.36638 105.852 9.67125 105.278 9.67125H105.257C104.683 9.67125 104.152 9.36638 103.863 8.87058C103.572 8.37167 103.573 7.7498 103.861 7.24882C104.149 6.74584 104.688 6.43018 105.268 6.43018C105.848 6.43018 106.386 6.74584 106.675 7.24882C106.962 7.7498 106.963 8.37167 106.672 8.87058Z\",fill:\"#E9DFF2\"})),_path1709||(_path1709=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.161 10.8828C102.873 11.3765 102.344 11.6801 101.772 11.6801C101.201 11.6801 100.671 11.3765 100.383 10.8828C100.091 10.3824 100.091 9.76358 100.383 9.26317C100.671 8.76943 101.201 8.46582 101.772 8.46582C102.344 8.46582 102.873 8.76943 103.161 9.26317C103.453 9.76357 103.453 10.3824 103.161 10.8828Z\",fill:\"#E9DFF2\"})),_path1710||(_path1710=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 12.897C99.3957 13.4 98.857 13.7157 98.2771 13.7157C97.6972 13.7157 97.1585 13.4 96.8699 12.897C96.5824 12.3961 96.5815 11.7742 96.8725 11.2753C97.1618 10.7795 97.6925 10.4746 98.2665 10.4746H98.2877C98.8617 10.4746 99.3924 10.7795 99.6817 11.2753C99.9727 11.7742 99.9718 12.3961 99.6843 12.897Z\",fill:\"#E9DFF2\"})),_path1711||(_path1711=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1715 14.9255C95.8832 15.4198 95.3533 15.725 94.781 15.725C94.2088 15.725 93.6789 15.4198 93.3906 14.9255C93.0996 14.4266 93.0966 13.809 93.3841 13.308L93.397 13.2854C93.6815 12.7896 94.2094 12.4839 94.781 12.4839C95.3526 12.4839 95.8806 12.7896 96.165 13.2854L96.178 13.308C96.4654 13.809 96.4625 14.4266 96.1715 14.9255Z\",fill:\"#E9DFF2\"})),_path1712||(_path1712=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.4912 16.8232C92.2427 17.2539 91.7831 17.5196 91.2859 17.5196C90.7886 17.5196 90.329 17.2539 90.0805 16.8232C89.832 16.3924 89.832 15.8611 90.0805 15.4303C90.329 14.9996 90.7886 14.7339 91.2859 14.7339C91.7831 14.7339 92.2427 14.9996 92.4912 15.4303C92.7397 15.8611 92.7397 16.3924 92.4912 16.8232Z\",fill:\"#E9DFF2\"})),_path1713||(_path1713=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.8924 18.8088C88.6664 19.2042 88.2458 19.4483 87.7903 19.4483C87.3348 19.4483 86.9142 19.2042 86.6882 18.8088L86.6739 18.7837C86.4448 18.3828 86.4485 17.8876 86.6811 17.4888C86.911 17.0948 87.3342 16.8501 87.7903 16.8501C88.2464 16.8501 88.6697 17.0948 88.8995 17.4888C89.1322 17.8876 89.1358 18.3828 88.9067 18.7837L88.8924 18.8088Z\",fill:\"#E9DFF2\"})),_path1714||(_path1714=/*#__PURE__*/React.createElement(\"path\",{d:\"M84.6489 20.3604C84.5791 20.4913 84.4428 20.5731 84.2944 20.5731H84.2808C84.1397 20.5731 84.0089 20.4991 83.9363 20.378C83.8599 20.2508 83.8599 20.0918 83.9363 19.9646C84.0089 19.8436 84.1397 19.7695 84.2808 19.7695H84.2944C84.4428 19.7695 84.5791 19.8513 84.6489 19.9822C84.7119 20.1004 84.7119 20.2422 84.6489 20.3604Z\",fill:\"#E9DFF2\"})),_path1715||(_path1715=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.7048 25.0045C78.4183 25.5101 77.8781 25.8226 77.297 25.8226C76.723 25.8226 76.1884 25.5177 75.8992 25.022C75.6081 24.523 75.6059 23.9066 75.8934 23.4056L75.903 23.3889C76.1895 22.8895 76.7213 22.5815 77.297 22.5815C77.8799 22.5815 78.4171 22.8971 78.7009 23.4063L78.7104 23.4233C78.9846 23.9152 78.9825 24.5145 78.7048 25.0045Z\",fill:\"#E9DFF2\"})),_path1716||(_path1716=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.2649 26.4759C74.1728 26.6351 74.0028 26.7331 73.8189 26.7331H73.7971C73.6132 26.7331 73.4432 26.6351 73.3511 26.4759C73.2606 26.3197 73.2585 26.1275 73.3455 25.9693L73.3515 25.9584C73.4431 25.7919 73.618 25.6885 73.808 25.6885C73.998 25.6885 74.1729 25.7919 74.2645 25.9584L74.2705 25.9693C74.3575 26.1275 74.3554 26.3197 74.2649 26.4759Z\",fill:\"#E9DFF2\"})),_path1717||(_path1717=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.7097 29.0433C71.4259 29.5524 70.8887 29.868 70.3058 29.868C69.7301 29.868 69.1983 29.5601 68.9118 29.0607L68.9022 29.0439C68.6147 28.5429 68.6169 27.9265 68.9079 27.4276C69.1972 26.9318 69.7318 26.627 70.3058 26.627C70.8869 26.627 71.4271 26.9395 71.7136 27.4451C71.9913 27.935 71.9934 28.5343 71.7192 29.0263L71.7097 29.0433Z\",fill:\"#E9DFF2\"})),_path1718||(_path1718=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2078 31.0752C67.9186 31.571 67.384 31.8758 66.81 31.8758C66.2289 31.8758 65.6887 31.5633 65.4022 31.0577C65.1245 30.5677 65.1224 29.9685 65.3966 29.4765L65.4061 29.4595C65.6899 28.9504 66.2271 28.6348 66.81 28.6348C67.3857 28.6348 67.9175 28.9427 68.204 29.4421L68.2136 29.4589C68.5011 29.9599 68.4989 30.5763 68.2078 31.0752Z\",fill:\"#E9DFF2\"})),_path1719||(_path1719=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.5198 32.9501C64.2758 33.3791 63.8202 33.6442 63.3266 33.6442H63.3031C62.8166 33.6442 62.3665 33.3867 62.1198 32.9674C61.8692 32.5414 61.8699 32.0086 62.1169 31.5804C62.3633 31.1533 62.8217 30.8853 63.3148 30.8853C63.815 30.8853 64.279 31.1612 64.5226 31.5981C64.7564 32.0172 64.757 32.5329 64.5198 32.9501Z\",fill:\"#E9DFF2\"})),_path1720||(_path1720=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.0948 35.0306C60.8321 35.4821 60.3483 35.7614 59.8259 35.7614C59.3035 35.7614 58.8196 35.4821 58.5569 35.0306C58.2905 34.5726 58.2905 34.0037 58.5569 33.5457C58.8196 33.0942 59.3035 32.8149 59.8259 32.8149C60.3483 32.8149 60.8321 33.0942 61.0948 33.5457C61.3613 34.0037 61.3613 34.5726 61.0948 35.0306Z\",fill:\"#E9DFF2\"})),_path1721||(_path1721=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 39.1415C60.9274 39.6353 60.3912 39.9389 59.8196 39.9389C59.2408 39.9389 58.699 39.6277 58.4136 39.1241C58.1351 38.6326 58.1351 38.0309 58.4136 37.5394C58.699 37.0358 59.2408 36.7246 59.8196 36.7246C60.3912 36.7246 60.9274 37.0282 61.2154 37.522C61.5073 38.0224 61.5073 38.6411 61.2154 39.1415Z\",fill:\"#E9DFF2\"})),_path1722||(_path1722=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2174 43.1831C60.9282 43.6789 60.3935 43.9838 59.8195 43.9838C59.2384 43.9838 58.6982 43.6713 58.4117 43.1656C58.1341 42.6757 58.1319 42.0764 58.4061 41.5844L58.4156 41.5674C58.6994 41.0583 59.2366 40.7427 59.8195 40.7427C60.3953 40.7427 60.927 41.0506 61.2136 41.55L61.2232 41.5668C61.5106 42.0678 61.5084 42.6842 61.2174 43.1831Z\",fill:\"#E9DFF2\"})),_path1723||(_path1723=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2136 47.2208C60.927 47.7202 60.3953 48.0282 59.8195 48.0282C59.2366 48.0282 58.6994 47.7126 58.4156 47.2035L58.4061 47.1864C58.1319 46.6945 58.1341 46.0952 58.4117 45.6052C58.6982 45.0996 59.2384 44.7871 59.8195 44.7871C60.3935 44.7871 60.9282 45.092 61.2174 45.5878C61.5084 46.0867 61.5106 46.7031 61.2232 47.2041L61.2136 47.2208Z\",fill:\"#E9DFF2\"})),_path1724||(_path1724=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 51.249C60.9274 51.7427 60.3912 52.0463 59.8196 52.0463C59.2408 52.0463 58.699 51.7351 58.4136 51.2315C58.1351 50.74 58.1351 50.1383 58.4136 49.6468C58.699 49.1433 59.2408 48.832 59.8196 48.832C60.3912 48.832 60.9274 49.1356 61.2154 49.6294C61.5073 50.1298 61.5073 50.7486 61.2154 51.249Z\",fill:\"#E9DFF2\"})),_path1725||(_path1725=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 55.2929C60.9274 55.7867 60.3912 56.0903 59.8196 56.0903C59.2408 56.0903 58.699 55.779 58.4136 55.2755C58.1351 54.7839 58.1351 54.1823 58.4136 53.6908C58.699 53.1872 59.2408 52.876 59.8196 52.876C60.3912 52.876 60.9274 53.1796 61.2154 53.6733C61.5073 54.1737 61.5073 54.7925 61.2154 55.2929Z\",fill:\"#E9DFF2\"})),_path1726||(_path1726=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2174 59.3344C60.9282 59.8302 60.3935 60.1351 59.8195 60.1351C59.2384 60.1351 58.6982 59.8226 58.4117 59.317C58.1341 58.827 58.1319 58.2277 58.4061 57.7358L58.4156 57.7188C58.6994 57.2096 59.2366 56.894 59.8195 56.894C60.3953 56.894 60.927 57.202 61.2136 57.7014L61.2232 57.7181C61.5106 58.2191 61.5084 58.8355 61.2174 59.3344Z\",fill:\"#E9DFF2\"})),_path1727||(_path1727=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2136 75.4801C60.927 75.9795 60.3953 76.2875 59.8195 76.2875C59.2366 76.2875 58.6994 75.9719 58.4156 75.4627L58.4061 75.4457C58.1319 74.9538 58.1341 74.3545 58.4117 73.8645C58.6982 73.3589 59.2384 73.0464 59.8195 73.0464C60.3935 73.0464 60.9282 73.3513 61.2174 73.8471C61.5084 74.346 61.5106 74.9624 61.2232 75.4634L61.2136 75.4801Z\",fill:\"#E9DFF2\"})),_path1728||(_path1728=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 79.5082C60.9274 80.002 60.3912 80.3056 59.8196 80.3056C59.2408 80.3056 58.699 79.9944 58.4136 79.4908C58.1351 78.9993 58.1351 78.3976 58.4136 77.9061C58.699 77.4025 59.2408 77.0913 59.8196 77.0913C60.3912 77.0913 60.9274 77.3949 61.2154 77.8887C61.5073 78.3891 61.5073 79.0078 61.2154 79.5082Z\",fill:\"#E9DFF2\"})),_path1729||(_path1729=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 83.5522C60.9274 84.0459 60.3912 84.3495 59.8196 84.3495C59.2408 84.3495 58.699 84.0383 58.4136 83.5347C58.1351 83.0432 58.1351 82.4416 58.4136 81.9501C58.699 81.4465 59.2408 81.1353 59.8196 81.1353C60.3912 81.1353 60.9274 81.4389 61.2154 81.9326C61.5073 82.433 61.5073 83.0518 61.2154 83.5522Z\",fill:\"#E9DFF2\"})),_path1730||(_path1730=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2174 87.5942C60.9282 88.09 60.3935 88.3949 59.8195 88.3949C59.2384 88.3949 58.6982 88.0824 58.4117 87.5768C58.1341 87.0868 58.1319 86.4875 58.4061 85.9956L58.4156 85.9785C58.6994 85.4694 59.2366 85.1538 59.8195 85.1538C60.3953 85.1538 60.927 85.4618 61.2136 85.9612L61.2232 85.9779C61.5106 86.4789 61.5084 87.0953 61.2174 87.5942Z\",fill:\"#E9DFF2\"})),_path1731||(_path1731=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 91.6152C60.9274 92.1089 60.3912 92.4125 59.8196 92.4125C59.2408 92.4125 58.699 92.1013 58.4136 91.5977C58.1351 91.1062 58.1351 90.5046 58.4136 90.013C58.699 89.5095 59.2408 89.1982 59.8196 89.1982C60.3912 89.1982 60.9274 89.5018 61.2154 89.9956C61.5073 90.496 61.5073 91.1148 61.2154 91.6152Z\",fill:\"#E9DFF2\"})),_path1732||(_path1732=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 95.6601C60.9274 96.1538 60.3912 96.4575 59.8196 96.4575C59.2408 96.4575 58.699 96.1462 58.4136 95.6427C58.1351 95.1511 58.1351 94.5495 58.4136 94.058C58.699 93.5544 59.2408 93.2432 59.8196 93.2432C60.3912 93.2432 60.9274 93.5468 61.2154 94.0405C61.5073 94.5409 61.5073 95.1597 61.2154 95.6601Z\",fill:\"#E9DFF2\"})),_path1733||(_path1733=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2174 99.7012C60.9282 100.197 60.3935 100.502 59.8195 100.502C59.2384 100.502 58.6982 100.189 58.4117 99.6837C58.1341 99.1937 58.1319 98.5944 58.4061 98.1025L58.4156 98.0855C58.6994 97.5763 59.2366 97.2607 59.8195 97.2607C60.3953 97.2607 60.927 97.5687 61.2136 98.0681L61.2232 98.0848C61.5106 98.5858 61.5084 99.2022 61.2174 99.7012Z\",fill:\"#E9DFF2\"})),_path1734||(_path1734=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2136 103.739C60.927 104.238 60.3953 104.546 59.8195 104.546C59.2366 104.546 58.6994 104.231 58.4156 103.722L58.4061 103.704C58.1319 103.213 58.1341 102.613 58.4117 102.123C58.6982 101.618 59.2384 101.305 59.8195 101.305C60.3935 101.305 60.9282 101.61 61.2174 102.106C61.5084 102.605 61.5106 103.221 61.2232 103.722L61.2136 103.739Z\",fill:\"#E9DFF2\"})),_path1735||(_path1735=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 107.767C60.9274 108.261 60.3912 108.564 59.8196 108.564C59.2408 108.564 58.699 108.253 58.4136 107.75C58.1351 107.258 58.1351 106.656 58.4136 106.165C58.699 105.661 59.2408 105.35 59.8196 105.35C60.3912 105.35 60.9274 105.654 61.2154 106.147C61.5073 106.648 61.5073 107.267 61.2154 107.767Z\",fill:\"#E9DFF2\"})),_path1736||(_path1736=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2174 111.808C60.9282 112.304 60.3935 112.609 59.8195 112.609C59.2384 112.609 58.6982 112.296 58.4117 111.791C58.1341 111.301 58.1319 110.701 58.4061 110.209L58.4156 110.192C58.6994 109.683 59.2366 109.368 59.8195 109.368C60.3953 109.368 60.927 109.676 61.2136 110.175L61.2232 110.192C61.5106 110.693 61.5084 111.309 61.2174 111.808Z\",fill:\"#E9DFF2\"})),_path1737||(_path1737=/*#__PURE__*/React.createElement(\"path\",{d:\"M60.4847 115.403C60.351 115.645 60.0962 115.796 59.8194 115.796C59.5497 115.796 59.3003 115.653 59.1639 115.42L59.1571 115.409C59.0164 115.169 59.0187 114.871 59.163 114.633C59.3003 114.407 59.5455 114.269 59.8099 114.269H59.829C60.1005 114.269 60.3511 114.415 60.4858 114.65C60.6167 114.879 60.6188 115.16 60.4914 115.391L60.4847 115.403Z\",fill:\"#E9DFF2\"})),_path1738||(_path1738=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.0002 204.536C95.7514 204.967 95.2915 205.233 94.7937 205.233H94.7687C94.2709 205.233 93.811 204.967 93.5622 204.536C93.3137 204.105 93.3137 203.575 93.5622 203.144C93.811 202.713 94.2709 202.447 94.7687 202.447H94.7937C95.2915 202.447 95.7514 202.713 96.0002 203.144C96.2487 203.575 96.2487 204.105 96.0002 204.536Z\",fill:\"#E9DFF2\"})),_path1739||(_path1739=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6843 206.665C99.3957 207.168 98.857 207.484 98.2771 207.484C97.6972 207.484 97.1585 207.168 96.8699 206.665C96.5824 206.164 96.5815 205.542 96.8725 205.043C97.1618 204.548 97.6925 204.243 98.2665 204.243H98.2877C98.8617 204.243 99.3924 204.548 99.6817 205.043C99.9727 205.542 99.9718 206.164 99.6843 206.665Z\",fill:\"#E9DFF2\"})),_path1740||(_path1740=/*#__PURE__*/React.createElement(\"path\",{d:\"M102.188 208.113C102.105 208.254 101.953 208.341 101.79 208.341H101.755C101.592 208.341 101.44 208.254 101.357 208.113C101.274 207.972 101.272 207.798 101.352 207.655L101.355 207.648C101.439 207.497 101.6 207.403 101.772 207.403C101.945 207.403 102.106 207.497 102.19 207.648L102.193 207.655C102.273 207.798 102.271 207.972 102.188 208.113Z\",fill:\"#E9DFF2\"})),_path1741||(_path1741=/*#__PURE__*/React.createElement(\"path\",{d:\"M315.716 182.049C315.571 182.291 315.309 182.439 315.027 182.439C314.745 182.439 314.483 182.291 314.337 182.049C314.185 181.795 314.185 181.477 314.337 181.222C314.483 180.98 314.745 180.832 315.027 180.832C315.309 180.832 315.571 180.98 315.716 181.222C315.869 181.477 315.869 181.795 315.716 182.049Z\",fill:\"#E9DFF2\"})),_path1742||(_path1742=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 178.407C316.145 178.91 315.607 179.225 315.027 179.225C314.447 179.225 313.908 178.91 313.62 178.407C313.332 177.906 313.331 177.284 313.622 176.785C313.912 176.289 314.442 175.984 315.016 175.984H315.037C315.611 175.984 316.142 176.289 316.431 176.785C316.722 177.284 316.722 177.906 316.434 178.407Z\",fill:\"#E9DFF2\"})),_path1743||(_path1743=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.431 174.38C316.142 174.876 315.611 175.181 315.037 175.181H315.016C314.442 175.181 313.912 174.876 313.622 174.38C313.331 173.881 313.332 173.259 313.62 172.758C313.908 172.255 314.447 171.939 315.027 171.939C315.607 171.939 316.145 172.255 316.434 172.758C316.722 173.259 316.722 173.881 316.431 174.38Z\",fill:\"#E9DFF2\"})),_path1744||(_path1744=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 170.338C316.141 170.832 315.613 171.136 315.041 171.136H315.012C314.441 171.136 313.912 170.832 313.624 170.338C313.332 169.838 313.332 169.219 313.624 168.719C313.912 168.225 314.441 167.921 315.012 167.921H315.041C315.613 167.921 316.141 168.225 316.429 168.719C316.721 169.219 316.721 169.838 316.429 170.338Z\",fill:\"#E9DFF2\"})),_path1745||(_path1745=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 166.299C316.145 166.802 315.607 167.118 315.027 167.118C314.447 167.118 313.908 166.802 313.62 166.299C313.332 165.798 313.331 165.177 313.622 164.678C313.912 164.182 314.442 163.877 315.016 163.877H315.037C315.611 163.877 316.142 164.182 316.431 164.678C316.722 165.177 316.722 165.798 316.434 166.299Z\",fill:\"#E9DFF2\"})),_path1746||(_path1746=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.431 162.272C316.142 162.768 315.611 163.073 315.037 163.073H315.016C314.442 163.073 313.912 162.768 313.622 162.272C313.331 161.774 313.332 161.152 313.62 160.651C313.908 160.148 314.447 159.832 315.027 159.832C315.607 159.832 316.145 160.148 316.434 160.651C316.722 161.152 316.722 161.774 316.431 162.272Z\",fill:\"#E9DFF2\"})),_path1747||(_path1747=/*#__PURE__*/React.createElement(\"path\",{d:\"M315.585 141.612C315.472 141.814 315.258 141.939 315.027 141.939C314.795 141.939 314.582 141.814 314.469 141.612L314.46 141.597C314.346 141.394 314.346 141.146 314.46 140.943L314.469 140.927C314.582 140.725 314.795 140.6 315.027 140.6C315.258 140.6 315.472 140.725 315.585 140.927L315.594 140.943C315.707 141.146 315.707 141.394 315.594 141.597L315.585 141.612Z\",fill:\"#E9DFF2\"})),_path1748||(_path1748=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M316.288 137.888C316.018 138.363 315.513 138.656 314.967 138.656C314.42 138.656 313.916 138.363 313.646 137.888L313.634 137.867C313.365 137.394 313.367 136.812 313.64 136.341C313.914 135.867 314.42 135.576 314.967 135.576C315.514 135.576 316.02 135.867 316.294 136.341C316.567 136.812 316.569 137.394 316.299 137.867L316.288 137.888Z\",fill:\"#802DF6\"})),_path1749||(_path1749=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 113.82C316.141 114.314 315.613 114.618 315.041 114.618H315.012C314.441 114.618 313.912 114.314 313.624 113.82C313.332 113.32 313.332 112.701 313.624 112.201C313.912 111.707 314.441 111.403 315.012 111.403H315.041C315.613 111.403 316.141 111.707 316.429 112.201C316.721 112.701 316.721 113.32 316.429 113.82Z\",fill:\"#E9DFF2\"})),_path1750||(_path1750=/*#__PURE__*/React.createElement(\"path\",{d:\"M315.989 85.3194C315.791 85.6645 315.424 85.8775 315.027 85.8775C314.629 85.8775 314.262 85.6645 314.065 85.3193L314.058 85.3073C313.862 84.9641 313.864 84.5422 314.064 84.201C314.262 83.8624 314.625 83.6543 315.018 83.6543H315.036C315.429 83.6543 315.792 83.8624 315.99 84.201C316.19 84.5422 316.192 84.9641 315.996 85.3073L315.989 85.3194Z\",fill:\"#E9DFF2\"})),_path1751||(_path1751=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 81.5225C316.145 82.0255 315.607 82.3412 315.027 82.3412C314.447 82.3412 313.908 82.0255 313.62 81.5225C313.332 81.0215 313.331 80.3997 313.622 79.9008C313.912 79.405 314.442 79.1001 315.016 79.1001H315.037C315.611 79.1001 316.142 79.405 316.431 79.9008C316.722 80.3997 316.722 81.0215 316.434 81.5225Z\",fill:\"#E9DFF2\"})),_path1752||(_path1752=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M316.431 77.4961C316.142 77.9919 315.611 78.2967 315.037 78.2967H315.016C314.442 78.2967 313.912 77.9919 313.622 77.4961C313.331 76.9972 313.332 76.3753 313.62 75.8743C313.908 75.3713 314.447 75.0557 315.027 75.0557C315.607 75.0557 316.145 75.3713 316.434 75.8743C316.722 76.3753 316.722 76.9972 316.431 77.4961Z\",fill:\"#802DF6\"})),_path1753||(_path1753=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 73.4545C316.141 73.9483 315.613 74.2519 315.041 74.2519H315.012C314.441 74.2519 313.912 73.9483 313.624 73.4545C313.332 72.9541 313.332 72.3354 313.624 71.8349C313.912 71.3412 314.441 71.0376 315.012 71.0376H315.041C315.613 71.0376 316.141 71.3412 316.429 71.8349C316.721 72.3354 316.721 72.9541 316.429 73.4545Z\",fill:\"#E9DFF2\"})),_path1754||(_path1754=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M316.434 69.4161C316.145 69.9191 315.607 70.2347 315.027 70.2347C314.447 70.2347 313.908 69.9191 313.62 69.4161C313.332 68.9151 313.331 68.2932 313.622 67.7943C313.912 67.2985 314.442 66.9937 315.016 66.9937H315.037C315.611 66.9937 316.142 67.2985 316.431 67.7943C316.722 68.2932 316.722 68.9151 316.434 69.4161Z\",fill:\"#802DF6\"})),_path1755||(_path1755=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M316.431 65.3887C316.142 65.8844 315.611 66.1893 315.037 66.1893H315.016C314.442 66.1893 313.912 65.8844 313.622 65.3887C313.331 64.8897 313.332 64.2679 313.62 63.7669C313.908 63.2639 314.447 62.9482 315.027 62.9482C315.607 62.9482 316.145 63.2639 316.434 63.7669C316.722 64.2679 316.722 64.8897 316.431 65.3887Z\",fill:\"#802DF6\"})),_path1756||(_path1756=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 61.3466C316.141 61.8404 315.613 62.144 315.041 62.144H315.012C314.441 62.144 313.912 61.8404 313.624 61.3466C313.332 60.8462 313.332 60.2274 313.624 59.727C313.912 59.2333 314.441 58.9297 315.012 58.9297H315.041C315.613 58.9297 316.141 59.2333 316.429 59.727C316.721 60.2274 316.721 60.8462 316.429 61.3466Z\",fill:\"#E9DFF2\"})),_path1757||(_path1757=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 57.3022C316.141 57.7959 315.613 58.0995 315.041 58.0995H315.012C314.441 58.0995 313.912 57.7959 313.624 57.3022C313.332 56.8018 313.332 56.183 313.624 55.6826C313.912 55.1889 314.441 54.8853 315.012 54.8853H315.041C315.613 54.8853 316.141 55.1889 316.429 55.6826C316.721 56.183 316.721 56.8018 316.429 57.3022Z\",fill:\"#E9DFF2\"})),_path1758||(_path1758=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 53.2633C316.145 53.7662 315.607 54.0819 315.027 54.0819C314.447 54.0819 313.908 53.7662 313.62 53.2633C313.332 52.7623 313.331 52.1404 313.622 51.6415C313.912 51.1457 314.442 50.8408 315.016 50.8408H315.037C315.611 50.8408 316.142 51.1457 316.431 51.6415C316.722 52.1404 316.722 52.7623 316.434 53.2633Z\",fill:\"#E9DFF2\"})),_path1759||(_path1759=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.431 49.2363C316.142 49.7321 315.611 50.037 315.037 50.037H315.016C314.442 50.037 313.912 49.7321 313.622 49.2363C313.331 48.7374 313.332 48.1155 313.62 47.6145C313.908 47.1116 314.447 46.7959 315.027 46.7959C315.607 46.7959 316.145 47.1116 316.434 47.6145C316.722 48.1155 316.722 48.7374 316.431 49.2363Z\",fill:\"#E9DFF2\"})),_path1760||(_path1760=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 45.1953C316.141 45.689 315.613 45.9926 315.041 45.9926H315.012C314.441 45.9926 313.912 45.689 313.624 45.1953C313.332 44.6949 313.332 44.0761 313.624 43.5757C313.912 43.0819 314.441 42.7783 315.012 42.7783H315.041C315.613 42.7783 316.141 43.0819 316.429 43.5757C316.721 44.0761 316.721 44.6949 316.429 45.1953Z\",fill:\"#E9DFF2\"})),_path1761||(_path1761=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 41.1563C316.145 41.6593 315.607 41.975 315.027 41.975C314.447 41.975 313.908 41.6593 313.62 41.1563C313.332 40.6553 313.331 40.0335 313.622 39.5346C313.912 39.0388 314.442 38.7339 315.016 38.7339H315.037C315.611 38.7339 316.142 39.0388 316.431 39.5346C316.722 40.0335 316.722 40.6553 316.434 41.1563Z\",fill:\"#E9DFF2\"})),_path1762||(_path1762=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.431 37.1299C316.142 37.6257 315.611 37.9305 315.037 37.9305H315.016C314.442 37.9305 313.912 37.6257 313.622 37.1299C313.331 36.6309 313.332 36.0091 313.62 35.5081C313.908 35.0051 314.447 34.6895 315.027 34.6895C315.607 34.6895 316.145 35.0051 316.434 35.5081C316.722 36.0091 316.722 36.6309 316.431 37.1299Z\",fill:\"#E9DFF2\"})),_path1763||(_path1763=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.429 33.0883C316.141 33.5821 315.613 33.8857 315.041 33.8857H315.012C314.441 33.8857 313.912 33.5821 313.624 33.0883C313.332 32.5879 313.332 31.9691 313.624 31.4687C313.912 30.975 314.441 30.6714 315.012 30.6714H315.041C315.613 30.6714 316.141 30.975 316.429 31.4687C316.721 31.9691 316.721 32.5879 316.429 33.0883Z\",fill:\"#E9DFF2\"})),_path1764||(_path1764=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.922 31.0764C312.633 31.5707 312.104 31.8758 311.531 31.8758C310.959 31.8758 310.429 31.5707 310.141 31.0764C309.85 30.5775 309.847 29.9599 310.134 29.4589L310.147 29.4363C310.432 28.9405 310.96 28.6348 311.531 28.6348C312.103 28.6348 312.631 28.9405 312.915 29.4363L312.928 29.4589C313.216 29.9599 313.213 30.5775 312.922 31.0764Z\",fill:\"#E9DFF2\"})),_path1765||(_path1765=/*#__PURE__*/React.createElement(\"path\",{d:\"M309.443 29.0494C309.155 29.5524 308.616 29.868 308.036 29.868C307.456 29.868 306.917 29.5524 306.629 29.0494C306.341 28.5484 306.34 27.9265 306.631 27.4276C306.921 26.9318 307.451 26.627 308.025 26.627H308.046C308.62 26.627 309.151 26.9318 309.44 27.4276C309.731 27.9265 309.731 28.5484 309.443 29.0494Z\",fill:\"#E9DFF2\"})),_path1766||(_path1766=/*#__PURE__*/React.createElement(\"path\",{d:\"M305.317 26.6658C305.16 26.9398 304.868 27.1087 304.551 27.1087H304.529C304.213 27.1087 303.92 26.9398 303.763 26.6658C303.606 26.3928 303.606 26.0567 303.763 25.7837C303.92 25.5097 304.213 25.3408 304.529 25.3408H304.551C304.868 25.3408 305.16 25.5097 305.317 25.7837C305.475 26.0567 305.475 26.3928 305.317 26.6658Z\",fill:\"#E9DFF2\"})),_path1767||(_path1767=/*#__PURE__*/React.createElement(\"path\",{d:\"M106.358 4.66351C106.13 5.04463 105.72 5.27811 105.276 5.27811H105.26C104.817 5.27811 104.406 5.04463 104.179 4.66351C103.942 4.26651 103.942 3.77185 104.179 3.37486C104.406 2.99374 104.817 2.76025 105.26 2.76025H105.276C105.72 2.76025 106.13 2.99374 106.358 3.37486C106.594 3.77185 106.594 4.26651 106.358 4.66351Z\",fill:\"#E9DFF2\"})),_path1768||(_path1768=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.156 6.86141C102.872 7.3572 102.344 7.66295 101.772 7.66295C101.201 7.66295 100.673 7.3572 100.388 6.86141L100.375 6.83885C100.088 6.33786 100.091 5.72023 100.382 5.22131C100.67 4.72703 101.2 4.42188 101.772 4.42188C102.344 4.42188 102.874 4.72703 103.163 5.22131C103.454 5.72023 103.457 6.33786 103.169 6.83885L103.156 6.86141Z\",fill:\"#E9DFF2\"})),_path1769||(_path1769=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6817 8.87058C99.3924 9.36638 98.8617 9.67125 98.2877 9.67125H98.2665C97.6925 9.67125 97.1618 9.36638 96.8725 8.87058C96.5815 8.37167 96.5824 7.7498 96.8699 7.24882C97.1585 6.74584 97.6972 6.43018 98.2771 6.43018C98.857 6.43018 99.3957 6.74584 99.6843 7.24882C99.9718 7.7498 99.9727 8.37167 99.6817 8.87058Z\",fill:\"#E9DFF2\"})),_path1770||(_path1770=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.1703 10.8828C95.8823 11.3765 95.3526 11.6801 94.781 11.6801C94.2094 11.6801 93.6798 11.3765 93.3918 10.8828C93.0999 10.3824 93.0999 9.76358 93.3918 9.26317C93.6798 8.76943 94.2094 8.46582 94.781 8.46582C95.3526 8.46582 95.8823 8.76943 96.1703 9.26317C96.4622 9.76357 96.4622 10.3824 96.1703 10.8828Z\",fill:\"#E9DFF2\"})),_path1771||(_path1771=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.1235 12.5507C91.9549 12.8542 91.6329 13.0463 91.2857 13.0463C90.9385 13.0463 90.6165 12.8542 90.4479 12.5507C90.2875 12.262 90.2876 11.9069 90.4514 11.6202C90.6195 11.3261 90.9323 11.1445 91.2711 11.1445H91.3004C91.6391 11.1445 91.9519 11.3261 92.12 11.6202C92.2838 11.9069 92.2839 12.262 92.1235 12.5507Z\",fill:\"#E9DFF2\"})),_path1772||(_path1772=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.8985 14.7669C88.6687 15.1609 88.2464 15.4039 87.7903 15.4039C87.3342 15.4039 86.9119 15.1609 86.6821 14.7669C86.4486 14.3666 86.4486 13.8699 86.6821 13.4696C86.9119 13.0756 87.3342 12.8325 87.7903 12.8325C88.2464 12.8325 88.6687 13.0756 88.8985 13.4696C89.1321 13.8699 89.1321 14.3666 88.8985 14.7669Z\",fill:\"#E9DFF2\"})),_path1773||(_path1773=/*#__PURE__*/React.createElement(\"path\",{d:\"M81.1728 18.3661C81.0995 18.5044 80.9558 18.591 80.7993 18.591C80.6427 18.591 80.499 18.5044 80.4257 18.3661L80.4148 18.3454C80.3456 18.2146 80.3476 18.0577 80.4201 17.9287C80.4971 17.7918 80.6421 17.707 80.7993 17.707C80.9564 17.707 81.1014 17.7918 81.1784 17.9287C81.2509 18.0577 81.2529 18.2146 81.1837 18.3454L81.1728 18.3661Z\",fill:\"#E9DFF2\"})),_path1774||(_path1774=/*#__PURE__*/React.createElement(\"path\",{d:\"M78.4695 20.8399C78.2287 21.255 77.7851 21.5105 77.3052 21.5105H77.2891C76.8163 21.5105 76.3781 21.2625 76.1348 20.857C75.8812 20.4343 75.8828 19.9002 76.1327 19.4754C76.3747 19.0641 76.82 18.8052 77.2972 18.8052C77.7814 18.8052 78.2321 19.0718 78.4715 19.4928C78.7081 19.9089 78.7097 20.4258 78.4695 20.8399Z\",fill:\"#E9DFF2\"})),_path1775||(_path1775=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.3915 22.5244C74.2704 22.7261 74.0525 22.8495 73.8172 22.8495H73.7988C73.5635 22.8495 73.3456 22.7261 73.2245 22.5244C73.0973 22.3124 73.0973 22.0474 73.2245 21.8354C73.3456 21.6337 73.5635 21.5103 73.7988 21.5103H73.8172C74.0525 21.5103 74.2704 21.6337 74.3915 21.8354C74.5187 22.0474 74.5187 22.3124 74.3915 22.5244Z\",fill:\"#E9DFF2\"})),_path1776||(_path1776=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.487 24.9057C71.2409 25.3241 70.7913 25.5817 70.3058 25.5817C69.8132 25.5817 69.3582 25.3165 69.1147 24.8882C68.8774 24.4711 68.8749 23.9596 69.1087 23.5405L69.1209 23.5186C69.3605 23.089 69.8138 22.8228 70.3057 22.8228C70.7906 22.8228 71.2386 23.0815 71.4809 23.5015L71.4932 23.5229C71.7402 23.951 71.7376 24.4796 71.487 24.9057Z\",fill:\"#E9DFF2\"})),_path1777||(_path1777=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2011 27.0191C67.9175 27.5196 67.3853 27.8315 66.81 27.8315C66.2419 27.8315 65.7151 27.5273 65.4289 27.0366C65.137 26.5362 65.137 25.9125 65.4289 25.4121C65.7151 24.9214 66.2419 24.6172 66.81 24.6172C67.3853 24.6172 67.9175 24.929 68.2011 25.4295C68.4796 25.921 68.4796 26.5276 68.2011 27.0191Z\",fill:\"#E9DFF2\"})),_path1778||(_path1778=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.7187 29.0433C64.4349 29.5524 63.8977 29.868 63.3148 29.868C62.7391 29.868 62.2073 29.5601 61.9208 29.0607L61.9112 29.0439C61.6237 28.5429 61.6259 27.9265 61.917 27.4276C62.2062 26.9318 62.7408 26.627 63.3148 26.627C63.896 26.627 64.4361 26.9394 64.7226 27.4451C65.0003 27.935 65.0024 28.5343 64.7282 29.0263L64.7187 29.0433Z\",fill:\"#E9DFF2\"})),_path1779||(_path1779=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.0556 30.9831C60.7997 31.4205 60.3256 31.6893 59.8189 31.6893C59.305 31.6893 58.8253 31.4129 58.5722 30.9657C58.3275 30.5333 58.3254 30.0048 58.5666 29.5705L58.5753 29.555C58.8262 29.1033 59.3022 28.8232 59.8188 28.8232C60.3283 28.8232 60.7989 29.0957 61.0526 29.5376L61.0614 29.5529C61.3159 29.9962 61.3137 30.5419 61.0556 30.9831Z\",fill:\"#E9DFF2\"})),_path1780||(_path1780=/*#__PURE__*/React.createElement(\"path\",{d:\"M56.6519 32.4658C56.5861 32.5809 56.4629 32.6533 56.3304 32.6533C56.1979 32.6533 56.0747 32.5809 56.009 32.4658C55.9431 32.3505 55.9431 32.2061 56.009 32.0908C56.0747 31.9758 56.1979 31.9033 56.3304 31.9033C56.4629 31.9033 56.5861 31.9758 56.6519 32.0908C56.7177 32.2061 56.7177 32.3505 56.6519 32.4658Z\",fill:\"#E9DFF2\"})),_path1781||(_path1781=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 37.1124C57.4451 37.618 56.905 37.9305 56.3238 37.9305C55.7499 37.9305 55.2152 37.6257 54.926 37.1299C54.635 36.6309 54.6328 36.0145 54.9202 35.5136L54.9298 35.4968C55.2164 34.9974 55.7481 34.6895 56.3239 34.6895C56.9068 34.6895 57.444 35.005 57.7278 35.5142L57.7372 35.5312C58.0114 36.0231 58.0093 36.6224 57.7317 37.1124Z\",fill:\"#E9DFF2\"})),_path1782||(_path1782=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7278 41.1502C57.444 41.6594 56.9068 41.975 56.3239 41.975C55.7481 41.975 55.2164 41.667 54.9298 41.1676L54.9202 41.1509C54.6328 40.6499 54.635 40.0335 54.926 39.5346C55.2152 39.0388 55.7499 38.7339 56.3238 38.7339C56.905 38.7339 57.4451 39.0464 57.7317 39.552C58.0093 40.042 58.0114 40.6413 57.7372 41.1332L57.7278 41.1502Z\",fill:\"#E9DFF2\"})),_path1783||(_path1783=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7298 45.1778C57.4444 45.6814 56.9026 45.9926 56.3238 45.9926C55.7522 45.9926 55.216 45.689 54.9279 45.1953C54.636 44.6949 54.636 44.0761 54.9279 43.5757C55.216 43.0819 55.7522 42.7783 56.3238 42.7783C56.9026 42.7783 57.4444 43.0896 57.7298 43.5931C58.0083 44.0846 58.0083 44.6863 57.7298 45.1778Z\",fill:\"#E9DFF2\"})),_path1784||(_path1784=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 49.2189C57.4451 49.7245 56.905 50.037 56.3238 50.037C55.7499 50.037 55.2152 49.7321 54.926 49.2363C54.635 48.7374 54.6328 48.121 54.9202 47.62L54.9298 47.6033C55.2164 47.1039 55.7481 46.7959 56.3239 46.7959C56.9068 46.7959 57.444 47.1115 57.7278 47.6206L57.7372 47.6377C58.0114 48.1296 58.0093 48.7289 57.7317 49.2189Z\",fill:\"#E9DFF2\"})),_path1785||(_path1785=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7278 53.2572C57.444 53.7663 56.9068 54.0819 56.3239 54.0819C55.7481 54.0819 55.2164 53.7739 54.9298 53.2745L54.9202 53.2578C54.6328 52.7568 54.635 52.1404 54.926 51.6415C55.2152 51.1457 55.7499 50.8408 56.3238 50.8408C56.905 50.8408 57.4451 51.1533 57.7317 51.6589C58.0093 52.1489 58.0114 52.7482 57.7372 53.2401L57.7278 53.2572Z\",fill:\"#E9DFF2\"})),_path1786||(_path1786=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7298 57.2847C57.4444 57.7883 56.9026 58.0995 56.3238 58.0995C55.7522 58.0995 55.216 57.7959 54.9279 57.3022C54.636 56.8018 54.636 56.183 54.9279 55.6826C55.216 55.1889 55.7522 54.8853 56.3238 54.8853C56.9026 54.8853 57.4444 55.1965 57.7298 55.7001C58.0083 56.1916 58.0083 56.7932 57.7298 57.2847Z\",fill:\"#E9DFF2\"})),_path1787||(_path1787=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7298 61.3292C57.4444 61.8327 56.9026 62.144 56.3238 62.144C55.7522 62.144 55.216 61.8404 54.9279 61.3466C54.636 60.8462 54.636 60.2274 54.9279 59.727C55.216 59.2333 55.7522 58.9297 56.3238 58.9297C56.9026 58.9297 57.4444 59.2409 57.7298 59.7445C58.0083 60.236 58.0083 60.8377 57.7298 61.3292Z\",fill:\"#E9DFF2\"})),_path1788||(_path1788=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 65.3712C57.4451 65.8768 56.905 66.1893 56.3238 66.1893C55.7499 66.1893 55.2152 65.8844 54.926 65.3887C54.635 64.8897 54.6328 64.2733 54.9202 63.7723L54.9298 63.7556C55.2164 63.2562 55.7481 62.9482 56.3239 62.9482C56.9068 62.9482 57.444 63.2638 57.7278 63.773L57.7372 63.79C58.0114 64.2819 58.0093 64.8812 57.7317 65.3712Z\",fill:\"#E9DFF2\"})),_path1789||(_path1789=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7278 69.41C57.444 69.9191 56.9068 70.2347 56.3239 70.2347C55.7481 70.2347 55.2164 69.9268 54.9298 69.4274L54.9202 69.4106C54.6328 68.9096 54.635 68.2932 54.926 67.7943C55.2152 67.2985 55.7499 66.9937 56.3238 66.9937C56.905 66.9937 57.4451 67.3061 57.7317 67.8118C58.0093 68.3017 58.0114 68.901 57.7372 69.393L57.7278 69.41Z\",fill:\"#E9DFF2\"})),_path1790||(_path1790=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7298 73.4371C57.4444 73.9407 56.9026 74.2519 56.3238 74.2519C55.7522 74.2519 55.216 73.9483 54.9279 73.4545C54.636 72.9541 54.636 72.3354 54.9279 71.8349C55.216 71.3412 55.7522 71.0376 56.3238 71.0376C56.9026 71.0376 57.4444 71.3488 57.7298 71.8524C58.0083 72.3439 58.0083 72.9456 57.7298 73.4371Z\",fill:\"#E9DFF2\"})),_path1791||(_path1791=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 77.4786C57.4451 77.9842 56.905 78.2967 56.3238 78.2967C55.7499 78.2967 55.2152 77.9919 54.926 77.4961C54.635 76.9972 54.6328 76.3808 54.9202 75.8798L54.9298 75.863C55.2164 75.3636 55.7481 75.0557 56.3239 75.0557C56.9068 75.0557 57.444 75.3713 57.7278 75.8804L57.7372 75.8974C58.0114 76.3894 58.0093 76.9886 57.7317 77.4786Z\",fill:\"#E9DFF2\"})),_path1792||(_path1792=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 93.6295C57.4451 94.1351 56.905 94.4476 56.3238 94.4476C55.7499 94.4476 55.2152 94.1427 54.926 93.647C54.635 93.148 54.6328 92.5316 54.9202 92.0306L54.9298 92.0139C55.2164 91.5145 55.7481 91.2065 56.3239 91.2065C56.9068 91.2065 57.444 91.5221 57.7278 92.0313L57.7372 92.0483C58.0114 92.5402 58.0093 93.1395 57.7317 93.6295Z\",fill:\"#E9DFF2\"})),_path1793||(_path1793=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7278 97.6678C57.444 98.1769 56.9068 98.4925 56.3239 98.4925C55.7481 98.4925 55.2164 98.1846 54.9298 97.6852L54.9202 97.6684C54.6328 97.1675 54.635 96.551 54.926 96.0521C55.2152 95.5563 55.7499 95.2515 56.3238 95.2515C56.905 95.2515 57.4451 95.564 57.7317 96.0696C58.0093 96.5596 58.0114 97.1588 57.7372 97.6508L57.7278 97.6678Z\",fill:\"#E9DFF2\"})),_path1794||(_path1794=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M57.7298 101.696C57.4444 102.199 56.9026 102.511 56.3238 102.511C55.7522 102.511 55.216 102.207 54.9279 101.713C54.636 101.213 54.636 100.594 54.9279 100.094C55.216 99.6 55.7522 99.2964 56.3238 99.2964C56.9026 99.2964 57.4444 99.6076 57.7298 100.111C58.0083 100.603 58.0083 101.204 57.7298 101.696Z\",fill:\"#802DF6\"})),_path1795||(_path1795=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 105.737C57.4451 106.243 56.905 106.555 56.3238 106.555C55.7499 106.555 55.2152 106.25 54.926 105.754C54.635 105.255 54.6328 104.639 54.9202 104.138L54.9298 104.121C55.2164 103.622 55.7481 103.314 56.3239 103.314C56.9068 103.314 57.444 103.63 57.7278 104.139L57.7372 104.156C58.0114 104.648 58.0093 105.247 57.7317 105.737Z\",fill:\"#E9DFF2\"})),_path1796||(_path1796=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7005 109.762C57.4189 110.259 56.8879 110.573 56.3168 110.573C55.7456 110.573 55.2146 110.259 54.933 109.762C54.656 109.273 54.6542 108.667 54.9347 108.18C55.2181 107.688 55.7493 107.385 56.3168 107.385C56.8842 107.385 57.4155 107.688 57.6988 108.18C57.9794 108.667 57.9776 109.273 57.7005 109.762Z\",fill:\"#E9DFF2\"})),_path1797||(_path1797=/*#__PURE__*/React.createElement(\"path\",{d:\"M56.8919 113.347C56.7768 113.552 56.5596 113.68 56.324 113.68C56.0954 113.68 55.8835 113.56 55.7659 113.364L55.7585 113.351C55.6328 113.142 55.6352 112.88 55.7646 112.673C55.8834 112.483 56.0916 112.367 56.3156 112.367H56.3325C56.5635 112.367 56.7771 112.49 56.8935 112.689C57.0094 112.888 57.0115 113.133 56.8991 113.334L56.8919 113.347Z\",fill:\"#E9DFF2\"})),_path1798||(_path1798=/*#__PURE__*/React.createElement(\"path\",{d:\"M95.5313 208.327C95.3741 208.6 95.0827 208.769 94.7679 208.769C94.453 208.769 94.1616 208.6 94.0045 208.327C93.8473 208.054 93.8473 207.716 94.0045 207.443C94.1616 207.17 94.453 207.001 94.7679 207.001C95.0827 207.001 95.3741 207.17 95.5313 207.443C95.6884 207.716 95.6884 208.054 95.5313 208.327Z\",fill:\"#E9DFF2\"})),_path1799||(_path1799=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.6797 210.704C99.3917 211.198 98.8631 211.501 98.2915 211.501H98.2627C97.6911 211.501 97.1625 211.198 96.8745 210.704C96.5826 210.204 96.5826 209.585 96.8745 209.084C97.1625 208.591 97.6911 208.287 98.2627 208.287H98.2915C98.8631 208.287 99.3917 208.591 99.6797 209.084C99.9716 209.585 99.9716 210.204 99.6797 210.704Z\",fill:\"#E9DFF2\"})),_path1800||(_path1800=/*#__PURE__*/React.createElement(\"path\",{d:\"M103.075 212.648C102.807 213.115 102.31 213.404 101.772 213.404C101.234 213.404 100.737 213.115 100.47 212.648C100.206 212.187 100.206 211.621 100.47 211.16C100.737 210.692 101.234 210.404 101.772 210.404C102.31 210.404 102.807 210.692 103.075 211.16C103.338 211.621 103.338 212.187 103.075 212.648Z\",fill:\"#E9DFF2\"})),_path1801||(_path1801=/*#__PURE__*/React.createElement(\"path\",{d:\"M105.876 214.301C105.748 214.509 105.521 214.635 105.277 214.635H105.259C105.015 214.635 104.788 214.509 104.66 214.301C104.523 214.078 104.521 213.798 104.654 213.574L104.661 213.561C104.788 213.347 105.019 213.216 105.268 213.216C105.517 213.216 105.748 213.347 105.874 213.561L105.882 213.574C106.015 213.798 106.013 214.078 105.876 214.301Z\",fill:\"#E9DFF2\"})),_path1802||(_path1802=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.59 180.25C319.368 180.627 318.96 180.859 318.523 180.859C318.086 180.859 317.677 180.627 317.456 180.25C317.23 179.865 317.23 179.388 317.456 179.003C317.677 178.626 318.086 178.395 318.523 178.395C318.96 178.395 319.368 178.626 319.59 179.003C319.816 179.388 319.816 179.865 319.59 180.25Z\",fill:\"#E9DFF2\"})),_path1803||(_path1803=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 176.392C319.624 176.886 319.094 177.189 318.523 177.189C317.951 177.189 317.421 176.886 317.133 176.392C316.841 175.892 316.841 175.273 317.133 174.772C317.421 174.279 317.951 173.975 318.523 173.975C319.094 173.975 319.624 174.279 319.912 174.772C320.204 175.273 320.204 175.892 319.912 176.392Z\",fill:\"#E9DFF2\"})),_path1804||(_path1804=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.907 172.37C319.622 172.866 319.094 173.171 318.523 173.171C317.951 173.171 317.423 172.866 317.138 172.37L317.126 172.347C316.838 171.846 316.841 171.229 317.132 170.73C317.42 170.235 317.95 169.93 318.523 169.93C319.095 169.93 319.625 170.235 319.913 170.73C320.204 171.229 320.207 171.846 319.919 172.347L319.907 172.37Z\",fill:\"#E9DFF2\"})),_path1805||(_path1805=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.913 168.328C319.625 168.822 319.095 169.127 318.523 169.127C317.95 169.127 317.42 168.822 317.132 168.328C316.841 167.829 316.838 167.211 317.126 166.71L317.138 166.688C317.423 166.192 317.951 165.886 318.523 165.886C319.094 165.886 319.622 166.192 319.907 166.688L319.919 166.71C320.207 167.211 320.204 167.829 319.913 168.328Z\",fill:\"#E9DFF2\"})),_path1806||(_path1806=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 164.285C319.624 164.778 319.094 165.082 318.523 165.082C317.951 165.082 317.421 164.778 317.133 164.285C316.841 163.784 316.841 163.165 317.133 162.665C317.421 162.171 317.951 161.868 318.523 161.868C319.094 161.868 319.624 162.171 319.912 162.665C320.204 163.165 320.204 163.784 319.912 164.285Z\",fill:\"#E9DFF2\"})),_path1807||(_path1807=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.907 160.262C319.622 160.758 319.094 161.064 318.523 161.064C317.951 161.064 317.423 160.758 317.138 160.262L317.126 160.24C316.838 159.739 316.841 159.121 317.132 158.622C317.42 158.128 317.95 157.823 318.523 157.823C319.095 157.823 319.625 158.128 319.913 158.622C320.204 159.121 320.207 159.739 319.919 160.24L319.907 160.262Z\",fill:\"#E9DFF2\"})),_path1808||(_path1808=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.549 156.008C319.336 156.369 318.941 156.59 318.522 156.59C318.103 156.59 317.708 156.369 317.495 156.008C317.277 155.64 317.275 155.183 317.489 154.812L317.498 154.798C317.709 154.432 318.1 154.207 318.522 154.207C318.945 154.207 319.336 154.432 319.547 154.798L319.555 154.812C319.769 155.183 319.767 155.64 319.549 156.008Z\",fill:\"#E9DFF2\"})),_path1809||(_path1809=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.061 123.412C318.952 123.606 318.744 123.725 318.522 123.725C318.3 123.725 318.093 123.606 317.984 123.412C317.878 123.224 317.878 122.994 317.984 122.806C318.093 122.613 318.3 122.493 318.522 122.493C318.744 122.493 318.952 122.613 319.061 122.806C319.167 122.994 319.167 123.224 319.061 123.412Z\",fill:\"#E9DFF2\"})),_path1810||(_path1810=/*#__PURE__*/React.createElement(\"path\",{d:\"M318.945 119.329C318.858 119.48 318.697 119.573 318.523 119.573C318.349 119.573 318.188 119.48 318.1 119.329L318.094 119.319C318.003 119.161 318.003 118.966 318.094 118.809L318.1 118.798C318.188 118.647 318.349 118.555 318.523 118.555C318.697 118.555 318.858 118.647 318.945 118.798L318.951 118.809C319.042 118.966 319.042 119.161 318.951 119.319L318.945 119.329Z\",fill:\"#E9DFF2\"})),_path1811||(_path1811=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.863 87.5496C319.589 88.0232 319.076 88.3147 318.529 88.3147C317.989 88.3147 317.482 88.0306 317.206 87.5668C316.919 87.0864 316.921 86.4808 317.204 85.9983C317.479 85.5295 317.986 85.2344 318.529 85.2344C319.08 85.2344 319.592 85.5372 319.864 86.0157C320.134 86.4895 320.136 87.0779 319.863 87.5496Z\",fill:\"#E9DFF2\"})),_path1812||(_path1812=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.549 83.3392C319.336 83.7001 318.941 83.9215 318.522 83.9215C318.103 83.9215 317.708 83.7001 317.495 83.3392C317.277 82.9709 317.275 82.5138 317.489 82.1433L317.498 82.129C317.709 81.763 318.1 81.5376 318.522 81.5376C318.945 81.5376 319.336 81.763 319.547 82.129L319.555 82.1432C319.769 82.5137 319.767 82.9709 319.549 83.3392Z\",fill:\"#E9DFF2\"})),_path1813||(_path1813=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 79.5082C319.624 80.002 319.094 80.3056 318.523 80.3056C317.951 80.3056 317.421 80.002 317.133 79.5082C316.841 79.0078 316.841 78.3891 317.133 77.8887C317.421 77.3949 317.951 77.0913 318.523 77.0913C319.094 77.0913 319.624 77.3949 319.912 77.8887C320.204 78.3891 320.204 79.0078 319.912 79.5082Z\",fill:\"#E9DFF2\"})),_path1814||(_path1814=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 55.2929C319.624 55.7867 319.094 56.0903 318.523 56.0903C317.951 56.0903 317.421 55.7867 317.133 55.2929C316.841 54.7925 316.841 54.1737 317.133 53.6733C317.421 53.1796 317.951 52.876 318.523 52.876C319.094 52.876 319.624 53.1796 319.912 53.6733C320.204 54.1737 320.204 54.7925 319.912 55.2929Z\",fill:\"#E9DFF2\"})),_path1815||(_path1815=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 51.249C319.624 51.7427 319.094 52.0463 318.523 52.0463C317.951 52.0463 317.421 51.7427 317.133 51.249C316.841 50.7486 316.841 50.1298 317.133 49.6294C317.421 49.1356 317.951 48.832 318.523 48.832C319.094 48.832 319.624 49.1356 319.912 49.6294C320.204 50.1298 320.204 50.7486 319.912 51.249Z\",fill:\"#E9DFF2\"})),_path1816||(_path1816=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.907 47.2266C319.622 47.7224 319.094 48.0282 318.523 48.0282C317.951 48.0282 317.423 47.7224 317.138 47.2266L317.126 47.2041C316.838 46.7031 316.841 46.0855 317.132 45.5865C317.42 45.0923 317.95 44.7871 318.523 44.7871C319.095 44.7871 319.625 45.0923 319.913 45.5865C320.204 46.0855 320.207 46.7031 319.919 47.2041L319.907 47.2266Z\",fill:\"#E9DFF2\"})),_path1817||(_path1817=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.913 43.1843C319.625 43.6786 319.095 43.9838 318.523 43.9838C317.95 43.9838 317.42 43.6786 317.132 43.1843C316.841 42.6854 316.838 42.0678 317.126 41.5668L317.138 41.5442C317.423 41.0484 317.951 40.7427 318.523 40.7427C319.094 40.7427 319.622 41.0484 319.907 41.5442L319.919 41.5668C320.207 42.0678 320.204 42.6854 319.913 43.1843Z\",fill:\"#E9DFF2\"})),_path1818||(_path1818=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 39.1415C319.624 39.6353 319.094 39.9389 318.523 39.9389C317.951 39.9389 317.421 39.6353 317.133 39.1415C316.841 38.6411 316.841 38.0224 317.133 37.522C317.421 37.0282 317.951 36.7246 318.523 36.7246C319.094 36.7246 319.624 37.0282 319.912 37.522C320.204 38.0224 320.204 38.6411 319.912 39.1415Z\",fill:\"#E9DFF2\"})),_path1819||(_path1819=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.907 35.1197C319.622 35.6155 319.094 35.9212 318.523 35.9212C317.951 35.9212 317.423 35.6155 317.138 35.1197L317.126 35.0971C316.838 34.5962 316.841 33.9785 317.132 33.4796C317.42 32.9853 317.95 32.6802 318.523 32.6802C319.095 32.6802 319.625 32.9853 319.913 33.4796C320.204 33.9785 320.207 34.5962 319.919 35.0971L319.907 35.1197Z\",fill:\"#E9DFF2\"})),_path1820||(_path1820=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.913 31.0764C319.625 31.5707 319.095 31.8758 318.523 31.8758C317.95 31.8758 317.42 31.5707 317.132 31.0764C316.841 30.5775 316.838 29.9599 317.126 29.4589L317.138 29.4363C317.423 28.9405 317.951 28.6348 318.523 28.6348C319.094 28.6348 319.622 28.9405 319.907 29.4363L319.919 29.4589C320.207 29.9599 320.204 30.5775 319.913 31.0764Z\",fill:\"#E9DFF2\"})),_path1821||(_path1821=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.434 29.0494C316.145 29.5524 315.607 29.868 315.027 29.868C314.447 29.868 313.908 29.5524 313.62 29.0494C313.332 28.5484 313.331 27.9265 313.622 27.4276C313.912 26.9318 314.442 26.627 315.016 26.627H315.037C315.611 26.627 316.142 26.9318 316.431 27.4276C316.722 27.9265 316.722 28.5484 316.434 29.0494Z\",fill:\"#E9DFF2\"})),_path1822||(_path1822=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.309 26.6658C312.151 26.9398 311.859 27.1087 311.543 27.1087H311.52C311.204 27.1087 310.912 26.9398 310.754 26.6658C310.597 26.3928 310.597 26.0567 310.754 25.7837C310.912 25.5097 311.204 25.3408 311.52 25.3408H311.543C311.859 25.3408 312.151 25.5097 312.309 25.7837C312.466 26.0567 312.466 26.3928 312.309 26.6658Z\",fill:\"#E9DFF2\"})),_path1823||(_path1823=/*#__PURE__*/React.createElement(\"path\",{d:\"M99.1184 4.50534C98.9456 4.80158 98.6285 4.98375 98.2855 4.98375H98.2682C97.9252 4.98375 97.6081 4.80158 97.4353 4.50533C97.2601 4.20509 97.2601 3.83383 97.4353 3.53359C97.6081 3.23734 97.9252 3.05518 98.2682 3.05518H98.2855C98.6285 3.05518 98.9456 3.23734 99.1184 3.53359C99.2936 3.83383 99.2936 4.2051 99.1184 4.50534Z\",fill:\"#E9DFF2\"})),_path1824||(_path1824=/*#__PURE__*/React.createElement(\"path\",{d:\"M96.165 6.86141C95.8806 7.3572 95.3526 7.66295 94.781 7.66295C94.2094 7.66295 93.6815 7.3572 93.397 6.86141L93.3841 6.83885C93.0966 6.33786 93.0996 5.72023 93.3906 5.22131C93.6789 4.72703 94.2088 4.42188 94.781 4.42188C95.3533 4.42188 95.8832 4.72703 96.1715 5.22131C96.4625 5.72023 96.4654 6.33786 96.178 6.83885L96.165 6.86141Z\",fill:\"#E9DFF2\"})),_path1825||(_path1825=/*#__PURE__*/React.createElement(\"path\",{d:\"M92.2904 8.63944C92.083 8.99614 91.7015 9.21561 91.2889 9.21561H91.2695C90.8639 9.21561 90.4879 9.00354 90.278 8.65648C90.0573 8.2915 90.0585 7.82891 90.2755 7.46171C90.4845 7.10792 90.8682 6.88525 91.2792 6.88525C91.6972 6.88525 92.0863 7.11567 92.2928 7.47911C92.4965 7.83755 92.4976 8.28303 92.2904 8.63944Z\",fill:\"#E9DFF2\"})),_path1826||(_path1826=/*#__PURE__*/React.createElement(\"path\",{d:\"M89.1793 10.8828C88.8913 11.3765 88.3617 11.6801 87.7901 11.6801C87.2185 11.6801 86.6889 11.3765 86.4008 10.8828C86.1089 10.3824 86.1089 9.76357 86.4008 9.26317C86.6889 8.76943 87.2185 8.46582 87.7901 8.46582C88.3617 8.46582 88.8913 8.76943 89.1793 9.26317C89.4712 9.76357 89.4712 10.3824 89.1793 10.8828Z\",fill:\"#E9DFF2\"})),_path1827||(_path1827=/*#__PURE__*/React.createElement(\"path\",{d:\"M74.2313 18.4129C74.1437 18.5722 73.9763 18.6711 73.7946 18.6711C73.6129 18.6711 73.4456 18.5722 73.358 18.4129L73.3455 18.3903C73.2585 18.2321 73.2612 18.0388 73.3517 17.8826C73.4431 17.7247 73.6123 17.6265 73.7946 17.6265C73.977 17.6265 74.1462 17.7247 74.2375 17.8826C74.328 18.0388 74.3307 18.2321 74.2437 18.3903L74.2313 18.4129Z\",fill:\"#E9DFF2\"})),_path1828||(_path1828=/*#__PURE__*/React.createElement(\"path\",{d:\"M71.6333 20.9196C71.364 21.3993 70.8559 21.6976 70.3058 21.6976C69.7629 21.6976 69.2604 21.407 68.9883 20.9371C68.7144 20.464 68.7144 19.8777 68.9883 19.4045C69.2604 18.9347 69.7629 18.644 70.3058 18.644C70.8559 18.644 71.364 18.9424 71.6333 19.4221C71.8939 19.8863 71.8939 20.4554 71.6333 20.9196Z\",fill:\"#E9DFF2\"})),_path1829||(_path1829=/*#__PURE__*/React.createElement(\"path\",{d:\"M67.7973 22.7388C67.597 23.0893 67.2209 23.3057 66.8172 23.3057C66.4135 23.3057 66.0373 23.0893 65.837 22.7388C65.6394 22.393 65.6394 21.9684 65.837 21.6225C66.0373 21.272 66.4135 21.0557 66.8172 21.0557C67.2209 21.0557 67.597 21.272 67.7973 21.6225C67.995 21.9684 67.995 22.393 67.7973 22.7388Z\",fill:\"#E9DFF2\"})),_path1830||(_path1830=/*#__PURE__*/React.createElement(\"path\",{d:\"M64.6986 25.0232C64.4103 25.5175 63.8804 25.8226 63.3081 25.8226C62.7359 25.8226 62.206 25.5175 61.9177 25.0232C61.6267 24.5243 61.6237 23.9066 61.9112 23.4056L61.9241 23.3831C62.2086 22.8873 62.7365 22.5815 63.3081 22.5815C63.8797 22.5815 64.4077 22.8873 64.6922 23.3831L64.7051 23.4056C64.9925 23.9066 64.9896 24.5243 64.6986 25.0232Z\",fill:\"#E9DFF2\"})),_path1831||(_path1831=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.2154 27.0341C60.9274 27.5279 60.3912 27.8315 59.8196 27.8315C59.2408 27.8315 58.699 27.5202 58.4136 27.0167C58.1351 26.5252 58.1351 25.9235 58.4136 25.432C58.699 24.9284 59.2408 24.6172 59.8196 24.6172C60.3912 24.6172 60.9274 24.9208 61.2154 25.4145C61.5073 25.9149 61.5073 26.5337 61.2154 27.0341Z\",fill:\"#E9DFF2\"})),_path1832||(_path1832=/*#__PURE__*/React.createElement(\"path\",{d:\"M56.6614 28.44C56.5888 28.5611 56.4578 28.6351 56.3167 28.6351C56.1755 28.6351 56.0445 28.5611 55.9719 28.44C55.8956 28.3128 55.8956 28.1539 55.9719 28.0266C56.0445 27.9056 56.1755 27.8315 56.3167 27.8315C56.4578 27.8315 56.5888 27.9056 56.6614 28.0266C56.7377 28.1539 56.7377 28.3128 56.6614 28.44Z\",fill:\"#E9DFF2\"})),_path1833||(_path1833=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2226 35.1139C53.9361 35.6133 53.4043 35.9212 52.8285 35.9212C52.2456 35.9212 51.7084 35.6057 51.4247 35.0965L51.4152 35.0795C51.141 34.5876 51.1431 33.9883 51.4207 33.4983C51.7073 32.9927 52.2474 32.6802 52.8286 32.6802C53.4026 32.6802 53.9372 32.985 54.2264 33.4808C54.5174 33.9798 54.5196 34.5962 54.2322 35.0971L54.2226 35.1139Z\",fill:\"#E9DFF2\"})),_path1834||(_path1834=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 39.1415C53.9365 39.6353 53.4002 39.9389 52.8286 39.9389C52.2498 39.9389 51.708 39.6277 51.4226 39.1241C51.1441 38.6326 51.1441 38.0309 51.4226 37.5394C51.708 37.0358 52.2498 36.7246 52.8286 36.7246C53.4002 36.7246 53.9365 37.0282 54.2245 37.522C54.5164 38.0224 54.5164 38.6411 54.2245 39.1415Z\",fill:\"#E9DFF2\"})),_path1835||(_path1835=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2264 43.1831C53.9372 43.6789 53.4026 43.9838 52.8286 43.9838C52.2474 43.9838 51.7073 43.6713 51.4207 43.1656C51.1431 42.6757 51.141 42.0764 51.4152 41.5844L51.4247 41.5674C51.7084 41.0583 52.2456 40.7427 52.8285 40.7427C53.4043 40.7427 53.9361 41.0506 54.2226 41.55L54.2322 41.5668C54.5196 42.0678 54.5174 42.6842 54.2264 43.1831Z\",fill:\"#E9DFF2\"})),_path1836||(_path1836=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2226 47.2208C53.9361 47.7202 53.4043 48.0282 52.8285 48.0282C52.2456 48.0282 51.7084 47.7126 51.4247 47.2034L51.4152 47.1864C51.141 46.6945 51.1431 46.0952 51.4207 45.6052C51.7073 45.0996 52.2474 44.7871 52.8286 44.7871C53.4026 44.7871 53.9372 45.092 54.2264 45.5878C54.5174 46.0867 54.5196 46.7031 54.2322 47.2041L54.2226 47.2208Z\",fill:\"#E9DFF2\"})),_path1837||(_path1837=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 51.249C53.9365 51.7427 53.4002 52.0463 52.8286 52.0463C52.2498 52.0463 51.708 51.7351 51.4226 51.2315C51.1441 50.74 51.1441 50.1383 51.4226 49.6468C51.708 49.1433 52.2498 48.832 52.8286 48.832C53.4002 48.832 53.9365 49.1356 54.2245 49.6294C54.5164 50.1298 54.5164 50.7486 54.2245 51.249Z\",fill:\"#E9DFF2\"})),_path1838||(_path1838=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 55.2929C53.9365 55.7867 53.4002 56.0903 52.8286 56.0903C52.2498 56.0903 51.708 55.779 51.4226 55.2755C51.1441 54.7839 51.1441 54.1823 51.4226 53.6908C51.708 53.1872 52.2498 52.876 52.8286 52.876C53.4002 52.876 53.9365 53.1796 54.2245 53.6733C54.5164 54.1737 54.5164 54.7925 54.2245 55.2929Z\",fill:\"#E9DFF2\"})),_path1839||(_path1839=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2264 59.3344C53.9372 59.8302 53.4026 60.1351 52.8286 60.1351C52.2474 60.1351 51.7073 59.8226 51.4207 59.317C51.1431 58.827 51.141 58.2277 51.4152 57.7358L51.4247 57.7188C51.7084 57.2096 52.2456 56.894 52.8285 56.894C53.4043 56.894 53.9361 57.202 54.2226 57.7014L54.2322 57.7181C54.5196 58.2191 54.5174 58.8355 54.2264 59.3344Z\",fill:\"#E9DFF2\"})),_path1840||(_path1840=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2226 63.3727C53.9361 63.8721 53.4043 64.18 52.8285 64.18C52.2456 64.18 51.7084 63.8644 51.4247 63.3553L51.4152 63.3383C51.141 62.8463 51.1431 62.2471 51.4207 61.7571C51.7073 61.2515 52.2474 60.939 52.8286 60.939C53.4026 60.939 53.9372 61.2438 54.2264 61.7396C54.5174 62.2385 54.5196 62.855 54.2322 63.3559L54.2226 63.3727Z\",fill:\"#E9DFF2\"})),_path1841||(_path1841=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 67.4008C53.9365 67.8946 53.4002 68.1982 52.8286 68.1982C52.2498 68.1982 51.708 67.8869 51.4226 67.3834C51.1441 66.8919 51.1441 66.2902 51.4226 65.7987C51.708 65.2951 52.2498 64.9839 52.8286 64.9839C53.4002 64.9839 53.9365 65.2875 54.2245 65.7812C54.5164 66.2816 54.5164 66.9004 54.2245 67.4008Z\",fill:\"#E9DFF2\"})),_path1842||(_path1842=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2264 71.4414C53.9372 71.9372 53.4026 72.2421 52.8286 72.2421C52.2474 72.2421 51.7073 71.9296 51.4207 71.4239C51.1431 70.934 51.141 70.3347 51.4152 69.8427L51.4247 69.8257C51.7084 69.3166 52.2456 69.001 52.8285 69.001C53.4043 69.001 53.9361 69.3089 54.2226 69.8083L54.2322 69.8251C54.5196 70.3261 54.5174 70.9425 54.2264 71.4414Z\",fill:\"#E9DFF2\"})),_path1843||(_path1843=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2226 75.4801C53.9361 75.9795 53.4043 76.2875 52.8285 76.2875C52.2456 76.2875 51.7084 75.9719 51.4247 75.4627L51.4152 75.4457C51.141 74.9538 51.1431 74.3545 51.4207 73.8645C51.7073 73.3589 52.2474 73.0464 52.8286 73.0464C53.4026 73.0464 53.9372 73.3513 54.2264 73.8471C54.5174 74.346 54.5196 74.9624 54.2322 75.4634L54.2226 75.4801Z\",fill:\"#E9DFF2\"})),_path1844||(_path1844=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 95.6601C53.9365 96.1538 53.4002 96.4575 52.8286 96.4575C52.2498 96.4575 51.708 96.1462 51.4226 95.6426C51.1441 95.1511 51.1441 94.5495 51.4226 94.058C51.708 93.5544 52.2498 93.2432 52.8286 93.2432C53.4002 93.2432 53.9365 93.5468 54.2245 94.0405C54.5164 94.5409 54.5164 95.1597 54.2245 95.6601Z\",fill:\"#E9DFF2\"})),_path1845||(_path1845=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2264 99.7012C53.9372 100.197 53.4026 100.502 52.8286 100.502C52.2474 100.502 51.7073 100.189 51.4207 99.6837C51.1431 99.1937 51.141 98.5944 51.4152 98.1025L51.4247 98.0855C51.7084 97.5763 52.2456 97.2607 52.8285 97.2607C53.4043 97.2607 53.9361 97.5687 54.2226 98.0681L54.2322 98.0848C54.5196 98.5858 54.5174 99.2022 54.2264 99.7012Z\",fill:\"#E9DFF2\"})),_path1846||(_path1846=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.1345 103.675C53.8693 104.147 53.3697 104.44 52.8279 104.44C52.2932 104.44 51.7991 104.155 51.5312 103.692L51.521 103.675C51.2486 103.204 51.2508 102.623 51.5269 102.155C51.7978 101.695 52.2944 101.413 52.8279 101.413C53.3685 101.413 53.8706 101.703 54.1389 102.172C54.4015 102.632 54.4036 103.196 54.1445 103.657L54.1345 103.675Z\",fill:\"#E9DFF2\"})),_path1847||(_path1847=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.425 178.407C323.137 178.91 322.598 179.225 322.018 179.225C321.438 179.225 320.899 178.91 320.611 178.407C320.323 177.906 320.322 177.284 320.614 176.785C320.903 176.289 321.434 175.984 322.007 175.984H322.029C322.603 175.984 323.133 176.289 323.423 176.785C323.714 177.284 323.713 177.906 323.425 178.407Z\",fill:\"#E9DFF2\"})),_path1848||(_path1848=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.423 174.38C323.133 174.876 322.603 175.181 322.029 175.181H322.008C321.434 175.181 320.903 174.876 320.614 174.38C320.322 173.881 320.323 173.259 320.611 172.758C320.899 172.255 321.438 171.939 322.018 171.939C322.598 171.939 323.137 172.255 323.425 172.758C323.713 173.259 323.714 173.881 323.423 174.38Z\",fill:\"#E9DFF2\"})),_path1849||(_path1849=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.421 170.338C323.133 170.832 322.604 171.136 322.032 171.136H322.004C321.432 171.136 320.903 170.832 320.615 170.338C320.324 169.838 320.324 169.219 320.615 168.719C320.903 168.225 321.432 167.921 322.004 167.921H322.032C322.604 167.921 323.133 168.225 323.421 168.719C323.713 169.219 323.713 169.838 323.421 170.338Z\",fill:\"#E9DFF2\"})),_path1850||(_path1850=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.425 166.299C323.137 166.802 322.598 167.118 322.018 167.118C321.438 167.118 320.899 166.802 320.611 166.299C320.323 165.798 320.322 165.177 320.614 164.678C320.903 164.182 321.434 163.877 322.007 163.877H322.029C322.603 163.877 323.133 164.182 323.423 164.678C323.714 165.177 323.713 165.798 323.425 166.299Z\",fill:\"#E9DFF2\"})),_path1851||(_path1851=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.423 162.272C323.133 162.768 322.603 163.073 322.029 163.073H322.008C321.434 163.073 320.903 162.768 320.614 162.272C320.322 161.774 320.323 161.152 320.611 160.651C320.899 160.148 321.438 159.832 322.018 159.832C322.598 159.832 323.137 160.148 323.425 160.651C323.713 161.152 323.714 161.774 323.423 162.272Z\",fill:\"#E9DFF2\"})),_path1852||(_path1852=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.421 158.231C323.133 158.725 322.604 159.028 322.032 159.028H322.004C321.432 159.028 320.903 158.725 320.615 158.231C320.324 157.73 320.324 157.112 320.615 156.611C320.903 156.118 321.432 155.814 322.004 155.814H322.032C322.604 155.814 323.133 156.118 323.421 156.611C323.713 157.112 323.713 157.73 323.421 158.231Z\",fill:\"#E9DFF2\"})),_path1853||(_path1853=/*#__PURE__*/React.createElement(\"path\",{d:\"M322.426 153.629C322.339 153.771 322.184 153.859 322.018 153.859C321.851 153.859 321.696 153.771 321.61 153.629C321.515 153.475 321.515 153.278 321.61 153.124C321.696 152.982 321.851 152.895 322.018 152.895C322.184 152.895 322.339 152.982 322.426 153.124C322.52 153.278 322.52 153.475 322.426 153.629Z\",fill:\"#E9DFF2\"})),_path1854||(_path1854=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.377 121.865C323.1 122.352 322.579 122.653 322.018 122.653C321.457 122.653 320.936 122.352 320.659 121.865C320.388 121.39 320.386 120.809 320.653 120.332L320.663 120.314C320.937 119.824 321.456 119.52 322.018 119.52C322.58 119.52 323.099 119.824 323.373 120.314L323.383 120.332C323.65 120.809 323.648 121.39 323.377 121.865Z\",fill:\"#E9DFF2\"})),_path1855||(_path1855=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.064 93.442C322.848 93.8152 322.449 94.0464 322.018 94.0464C321.587 94.0464 321.188 93.8152 320.972 93.442C320.758 93.0704 320.755 92.6117 320.966 92.2381L320.979 92.2152C321.191 91.8405 321.588 91.6089 322.018 91.6089C322.448 91.6089 322.845 91.8405 323.057 92.2152L323.07 92.2381C323.281 92.6117 323.278 93.0704 323.064 93.442Z\",fill:\"#E9DFF2\"})),_path1856||(_path1856=/*#__PURE__*/React.createElement(\"path\",{d:\"M322.224 88.93C322.179 88.997 322.104 89.0373 322.023 89.0373H322.013C321.933 89.0373 321.857 88.997 321.813 88.93C321.759 88.849 321.759 88.7435 321.813 88.6625C321.857 88.5955 321.933 88.5552 322.013 88.5552H322.023C322.104 88.5552 322.179 88.5955 322.224 88.6625C322.278 88.7435 322.278 88.849 322.224 88.93Z\",fill:\"#E9DFF2\"})),_path1857||(_path1857=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.343 77.4539C323.07 77.9254 322.563 78.2157 322.018 78.2157C321.473 78.2157 320.966 77.9254 320.693 77.4539C320.419 76.9807 320.419 76.3971 320.693 75.9239C320.966 75.4524 321.473 75.1621 322.018 75.1621C322.563 75.1621 323.07 75.4524 323.343 75.9239C323.617 76.3971 323.617 76.9807 323.343 77.4539Z\",fill:\"#E9DFF2\"})),_path1858||(_path1858=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.421 73.4545C323.133 73.9483 322.604 74.2519 322.032 74.2519H322.004C321.432 74.2519 320.903 73.9483 320.615 73.4545C320.324 72.9541 320.324 72.3354 320.615 71.8349C320.903 71.3412 321.432 71.0376 322.004 71.0376H322.032C322.604 71.0376 323.133 71.3412 323.421 71.8349C323.713 72.3354 323.713 72.9541 323.421 73.4545Z\",fill:\"#E9DFF2\"})),_path1859||(_path1859=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M323.425 69.4161C323.137 69.9191 322.598 70.2347 322.018 70.2347C321.438 70.2347 320.899 69.9191 320.611 69.4161C320.323 68.9151 320.322 68.2932 320.614 67.7943C320.903 67.2985 321.434 66.9937 322.007 66.9937H322.029C322.603 66.9937 323.133 67.2985 323.423 67.7943C323.714 68.2932 323.713 68.9151 323.425 69.4161Z\",fill:\"#802DF6\"})),_path1860||(_path1860=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M323.423 65.3887C323.133 65.8844 322.603 66.1893 322.029 66.1893H322.007C321.434 66.1893 320.903 65.8844 320.614 65.3887C320.322 64.8897 320.323 64.2679 320.611 63.7669C320.899 63.2639 321.438 62.9482 322.018 62.9482C322.598 62.9482 323.137 63.2639 323.425 63.7669C323.713 64.2679 323.714 64.8897 323.423 65.3887Z\",fill:\"#802DF6\"})),_path1861||(_path1861=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.384 61.3281C323.103 61.8163 322.581 62.1182 322.018 62.1182C321.454 62.1182 320.933 61.8163 320.652 61.3281C320.37 60.8397 320.37 60.2361 320.652 59.7477C320.933 59.2595 321.454 58.9575 322.018 58.9575C322.581 58.9575 323.103 59.2595 323.384 59.7477C323.665 60.2361 323.665 60.8397 323.384 61.3281Z\",fill:\"#E9DFF2\"})),_path1862||(_path1862=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M322.943 57.0265C322.753 57.3568 322.399 57.5638 322.018 57.5638C321.637 57.5638 321.283 57.3568 321.093 57.0265C320.904 56.6985 320.905 56.291 321.097 55.965C321.286 55.6445 321.63 55.4478 322.002 55.4478H322.034C322.406 55.4478 322.75 55.6445 322.939 55.965C323.131 56.291 323.132 56.6985 322.943 57.0265Z\",fill:\"#802DF6\"})),_path1863||(_path1863=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.425 53.2633C323.137 53.7662 322.598 54.0819 322.018 54.0819C321.438 54.0819 320.899 53.7662 320.611 53.2633C320.323 52.7623 320.322 52.1404 320.614 51.6415C320.903 51.1457 321.434 50.8408 322.007 50.8408H322.029C322.603 50.8408 323.133 51.1457 323.423 51.6415C323.714 52.1404 323.713 52.7623 323.425 53.2633Z\",fill:\"#E9DFF2\"})),_path1864||(_path1864=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.423 49.2363C323.133 49.7321 322.603 50.037 322.029 50.037H322.007C321.434 50.037 320.903 49.7321 320.614 49.2363C320.322 48.7374 320.323 48.1155 320.611 47.6145C320.899 47.1116 321.438 46.7959 322.018 46.7959C322.598 46.7959 323.137 47.1116 323.425 47.6145C323.713 48.1155 323.714 48.7374 323.423 49.2363Z\",fill:\"#E9DFF2\"})),_path1865||(_path1865=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.421 45.1953C323.133 45.689 322.604 45.9926 322.032 45.9926H322.004C321.432 45.9926 320.903 45.689 320.615 45.1953C320.324 44.6949 320.324 44.0761 320.615 43.5757C320.903 43.0819 321.432 42.7783 322.004 42.7783H322.032C322.604 42.7783 323.133 43.0819 323.421 43.5757C323.713 44.0761 323.713 44.6949 323.421 45.1953Z\",fill:\"#E9DFF2\"})),_path1866||(_path1866=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.425 41.1563C323.137 41.6593 322.598 41.975 322.018 41.975C321.438 41.975 320.899 41.6593 320.611 41.1563C320.323 40.6553 320.322 40.0335 320.614 39.5346C320.903 39.0388 321.434 38.7339 322.007 38.7339H322.029C322.603 38.7339 323.133 39.0388 323.423 39.5346C323.714 40.0335 323.713 40.6553 323.425 41.1563Z\",fill:\"#E9DFF2\"})),_path1867||(_path1867=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.423 37.1299C323.133 37.6257 322.603 37.9305 322.029 37.9305H322.007C321.434 37.9305 320.903 37.6257 320.614 37.1299C320.322 36.6309 320.323 36.0091 320.611 35.5081C320.899 35.0051 321.438 34.6895 322.018 34.6895C322.598 34.6895 323.137 35.0051 323.425 35.5081C323.713 36.0091 323.714 36.6309 323.423 37.1299Z\",fill:\"#E9DFF2\"})),_path1868||(_path1868=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.421 33.0883C323.133 33.5821 322.604 33.8857 322.032 33.8857H322.004C321.432 33.8857 320.903 33.5821 320.615 33.0883C320.324 32.5879 320.324 31.9691 320.615 31.4687C320.903 30.975 321.432 30.6714 322.004 30.6714H322.032C322.604 30.6714 323.133 30.975 323.421 31.4687C323.713 31.9691 323.713 32.5879 323.421 33.0883Z\",fill:\"#E9DFF2\"})),_path1869||(_path1869=/*#__PURE__*/React.createElement(\"path\",{d:\"M323.425 29.0494C323.137 29.5524 322.598 29.868 322.018 29.868C321.438 29.868 320.899 29.5524 320.611 29.0494C320.323 28.5484 320.322 27.9265 320.614 27.4276C320.903 26.9318 321.434 26.627 322.007 26.627H322.029C322.603 26.627 323.133 26.9318 323.423 27.4276C323.714 27.9265 323.713 28.5484 323.425 29.0494Z\",fill:\"#E9DFF2\"})),_path1870||(_path1870=/*#__PURE__*/React.createElement(\"path\",{d:\"M319.912 27.0341C319.624 27.5279 319.094 27.8315 318.523 27.8315C317.951 27.8315 317.421 27.5279 317.133 27.0341C316.841 26.5337 316.841 25.9149 317.133 25.4145C317.421 24.9208 317.951 24.6172 318.523 24.6172C319.094 24.6172 319.624 24.9208 319.912 25.4145C320.204 25.9149 320.204 26.5337 319.912 27.0341Z\",fill:\"#E9DFF2\"})),_path1871||(_path1871=/*#__PURE__*/React.createElement(\"path\",{d:\"M315.709 24.6057C315.569 24.8456 315.311 24.993 315.033 24.993H315.02C314.742 24.993 314.485 24.8456 314.345 24.6057C314.203 24.3646 314.201 24.0665 314.339 23.8233L314.347 23.8088C314.486 23.5639 314.746 23.4126 315.027 23.4126C315.308 23.4126 315.568 23.5639 315.707 23.8088L315.715 23.8233C315.853 24.0665 315.851 24.3646 315.709 24.6057Z\",fill:\"#E9DFF2\"})),_path1872||(_path1872=/*#__PURE__*/React.createElement(\"path\",{d:\"M91.5243 4.15713C91.4759 4.23781 91.3887 4.28718 91.2946 4.28718H91.2765C91.1824 4.28718 91.0952 4.23781 91.0468 4.15713C90.9959 4.07231 90.9959 3.96634 91.0468 3.88151C91.0952 3.80083 91.1824 3.75146 91.2765 3.75146H91.2946C91.3887 3.75146 91.4759 3.80083 91.5243 3.88151C91.5752 3.96634 91.5752 4.07231 91.5243 4.15713Z\",fill:\"#E9DFF2\"})),_path1873||(_path1873=/*#__PURE__*/React.createElement(\"path\",{d:\"M88.0081 6.19391C87.9646 6.27364 87.881 6.32324 87.7902 6.32324C87.6994 6.32324 87.6158 6.27364 87.5723 6.19391L87.5574 6.16646C87.5108 6.08106 87.5129 5.97736 87.563 5.89394L87.5671 5.88707C87.6141 5.8087 87.6988 5.76074 87.7902 5.76074C87.8816 5.76074 87.9663 5.8087 88.0133 5.88707L88.0174 5.89394C88.0675 5.97736 88.0696 6.08106 88.023 6.16646L88.0081 6.19391Z\",fill:\"#E9DFF2\"})),_path1874||(_path1874=/*#__PURE__*/React.createElement(\"path\",{d:\"M70.8363 16.4315C70.7284 16.6223 70.525 16.7424 70.3058 16.7424C70.0936 16.7424 69.8957 16.6299 69.7853 16.4487C69.6656 16.2519 69.6656 16.0007 69.7853 15.804C69.8957 15.6227 70.0936 15.5103 70.3058 15.5103C70.525 15.5103 70.7284 15.6303 70.8363 15.8211C70.9426 16.0093 70.9426 16.2434 70.8363 16.4315Z\",fill:\"#E9DFF2\"})),_path1875||(_path1875=/*#__PURE__*/React.createElement(\"path\",{d:\"M67.1551 18.3303C67.0872 18.4576 66.9547 18.537 66.8105 18.537C66.6734 18.537 66.5463 18.4651 66.4757 18.3475L66.4705 18.3387C66.3957 18.2141 66.3981 18.0579 66.4767 17.9357C66.547 17.8263 66.668 17.7603 66.798 17.7603H66.8235C66.9604 17.7603 67.0867 17.8336 67.1546 17.9524C67.2196 18.0662 67.2217 18.2054 67.16 18.3211L67.1551 18.3303Z\",fill:\"#E9DFF2\"})),_path1876||(_path1876=/*#__PURE__*/React.createElement(\"path\",{d:\"M63.9244 20.5191C63.8 20.7346 63.57 20.8675 63.3211 20.8675H63.3089C63.0671 20.8675 62.8426 20.742 62.7158 20.536C62.5781 20.3122 62.5781 20.0299 62.7158 19.806C62.8426 19.6001 63.0671 19.4746 63.3089 19.4746H63.3211C63.57 19.4746 63.8 19.6074 63.9244 19.823C64.0486 20.0384 64.0486 20.3037 63.9244 20.5191Z\",fill:\"#E9DFF2\"})),_path1877||(_path1877=/*#__PURE__*/React.createElement(\"path\",{d:\"M61.1683 22.9505C60.894 23.4326 60.3804 23.7331 59.8257 23.7331C59.271 23.7331 58.7574 23.4326 58.4831 22.9505C58.2121 22.4742 58.2121 21.8849 58.4831 21.4086C58.7574 20.9265 59.271 20.626 59.8257 20.626C60.3804 20.626 60.894 20.9265 61.1683 21.4086C61.4393 21.8849 61.4393 22.4742 61.1683 22.9505Z\",fill:\"#E9DFF2\"})),_path1878||(_path1878=/*#__PURE__*/React.createElement(\"path\",{d:\"M57.7317 25.0045C57.4451 25.5101 56.905 25.8226 56.3238 25.8226C55.7499 25.8226 55.2152 25.5177 54.926 25.022C54.635 24.523 54.6328 23.9066 54.9202 23.4056L54.9298 23.3889C55.2164 22.8895 55.7481 22.5815 56.3239 22.5815C56.9068 22.5815 57.444 22.8971 57.7278 23.4063L57.7372 23.4233C58.0114 23.9152 58.0093 24.5145 57.7317 25.0045Z\",fill:\"#E9DFF2\"})),_path1879||(_path1879=/*#__PURE__*/React.createElement(\"path\",{d:\"M54.2245 27.0341C53.9365 27.5279 53.4002 27.8315 52.8286 27.8315C52.2498 27.8315 51.708 27.5202 51.4226 27.0167C51.1441 26.5252 51.1441 25.9235 51.4226 25.432C51.708 24.9284 52.2498 24.6172 52.8286 24.6172C53.4002 24.6172 53.9365 24.9208 54.2245 25.4145C54.5164 25.9149 54.5164 26.5337 54.2245 27.0341Z\",fill:\"#E9DFF2\"})),_path1880||(_path1880=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.1446 32.7452C49.9783 33.0363 49.6682 33.2168 49.3328 33.2168C49.0046 33.2168 48.6999 33.0439 48.5311 32.7624C48.3529 32.4655 48.3529 32.0931 48.5311 31.7962C48.6999 31.5147 49.0046 31.3418 49.3328 31.3418C49.6682 31.3418 49.9783 31.5222 50.1446 31.8134C50.3093 32.1016 50.3093 32.457 50.1446 32.7452Z\",fill:\"#E9DFF2\"})),_path1881||(_path1881=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7405 37.1124C50.4539 37.618 49.9138 37.9305 49.3326 37.9305C48.7586 37.9305 48.224 37.6257 47.9348 37.1299C47.6438 36.6309 47.6416 36.0145 47.929 35.5136L47.9386 35.4968C48.2252 34.9974 48.7569 34.6895 49.3327 34.6895C49.9156 34.6895 50.4528 35.005 50.7365 35.5142L50.746 35.5312C51.0202 36.0231 51.0181 36.6224 50.7405 37.1124Z\",fill:\"#E9DFF2\"})),_path1882||(_path1882=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7365 41.1502C50.4528 41.6594 49.9156 41.975 49.3327 41.975C48.7569 41.975 48.2252 41.667 47.9386 41.1676L47.929 41.1509C47.6416 40.6499 47.6438 40.0335 47.9348 39.5346C48.224 39.0388 48.7586 38.7339 49.3326 38.7339C49.9138 38.7339 50.4539 39.0464 50.7405 39.552C51.0181 40.042 51.0202 40.6413 50.746 41.1332L50.7365 41.1502Z\",fill:\"#E9DFF2\"})),_path1883||(_path1883=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7386 45.1778C50.4532 45.6814 49.9114 45.9926 49.3326 45.9926C48.761 45.9926 48.2248 45.689 47.9367 45.1953C47.6448 44.6949 47.6448 44.0761 47.9367 43.5757C48.2248 43.0819 48.761 42.7783 49.3326 42.7783C49.9114 42.7783 50.4532 43.0896 50.7386 43.5931C51.0171 44.0846 51.0171 44.6863 50.7386 45.1778Z\",fill:\"#E9DFF2\"})),_path1884||(_path1884=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7405 49.2189C50.4539 49.7245 49.9138 50.037 49.3326 50.037C48.7586 50.037 48.224 49.7321 47.9348 49.2363C47.6438 48.7374 47.6416 48.121 47.929 47.62L47.9386 47.6033C48.2252 47.1039 48.7569 46.7959 49.3327 46.7959C49.9156 46.7959 50.4528 47.1115 50.7365 47.6206L50.746 47.6377C51.0202 48.1296 51.0181 48.7289 50.7405 49.2189Z\",fill:\"#E9DFF2\"})),_path1885||(_path1885=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7365 53.2572C50.4528 53.7663 49.9156 54.0819 49.3327 54.0819C48.7569 54.0819 48.2252 53.7739 47.9386 53.2745L47.929 53.2578C47.6416 52.7568 47.6438 52.1404 47.9348 51.6415C48.224 51.1457 48.7586 50.8408 49.3326 50.8408C49.9138 50.8408 50.4539 51.1533 50.7405 51.6589C51.0181 52.1489 51.0202 52.7482 50.746 53.2401L50.7365 53.2572Z\",fill:\"#E9DFF2\"})),_path1886||(_path1886=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7386 57.2847C50.4532 57.7883 49.9114 58.0995 49.3326 58.0995C48.761 58.0995 48.2248 57.7959 47.9367 57.3022C47.6448 56.8018 47.6448 56.183 47.9367 55.6826C48.2248 55.1889 48.761 54.8853 49.3326 54.8853C49.9114 54.8853 50.4532 55.1965 50.7386 55.7001C51.0171 56.1916 51.0171 56.7932 50.7386 57.2847Z\",fill:\"#E9DFF2\"})),_path1887||(_path1887=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7386 61.3292C50.4532 61.8327 49.9114 62.144 49.3326 62.144C48.761 62.144 48.2248 61.8404 47.9367 61.3466C47.6448 60.8462 47.6448 60.2274 47.9367 59.727C48.2248 59.2333 48.761 58.9297 49.3326 58.9297C49.9114 58.9297 50.4532 59.2409 50.7386 59.7445C51.0171 60.236 51.0171 60.8377 50.7386 61.3292Z\",fill:\"#E9DFF2\"})),_path1888||(_path1888=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M50.7405 65.3712C50.4539 65.8768 49.9138 66.1893 49.3326 66.1893C48.7586 66.1893 48.224 65.8844 47.9348 65.3887C47.6438 64.8897 47.6416 64.2733 47.929 63.7723L47.9386 63.7556C48.2252 63.2562 48.7569 62.9482 49.3327 62.9482C49.9156 62.9482 50.4528 63.2638 50.7365 63.773L50.746 63.79C51.0202 64.2819 51.0181 64.8812 50.7405 65.3712Z\",fill:\"#802DF6\"})),_path1889||(_path1889=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7365 69.41C50.4528 69.9191 49.9156 70.2347 49.3327 70.2347C48.7569 70.2347 48.2252 69.9268 47.9386 69.4274L47.929 69.4106C47.6416 68.9096 47.6438 68.2932 47.9348 67.7943C48.224 67.2985 48.7586 66.9937 49.3326 66.9937C49.9138 66.9937 50.4539 67.3061 50.7405 67.8118C51.0181 68.3017 51.0202 68.901 50.746 69.393L50.7365 69.41Z\",fill:\"#E9DFF2\"})),_path1890||(_path1890=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7386 73.4371C50.4532 73.9407 49.9114 74.2519 49.3326 74.2519C48.761 74.2519 48.2248 73.9483 47.9367 73.4545C47.6448 72.9541 47.6448 72.3354 47.9367 71.8349C48.2248 71.3412 48.761 71.0376 49.3326 71.0376C49.9114 71.0376 50.4532 71.3488 50.7386 71.8524C51.0171 72.3439 51.0171 72.9456 50.7386 73.4371Z\",fill:\"#E9DFF2\"})),_path1891||(_path1891=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.7056 97.6489C50.4242 98.1371 49.903 98.439 49.3395 98.439C48.776 98.439 48.2548 98.1371 47.9734 97.6489C47.692 97.1605 47.692 96.5569 47.9734 96.0685C48.2548 95.5803 48.776 95.2783 49.3395 95.2783C49.903 95.2783 50.4242 95.5803 50.7056 96.0685C50.987 96.5569 50.987 97.1605 50.7056 97.6489Z\",fill:\"#E9DFF2\"})),_path1892||(_path1892=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.5395 101.584C50.2958 102.021 49.8328 102.295 49.3326 102.295C48.8395 102.295 48.382 102.029 48.1357 101.602C47.8871 101.171 47.8871 100.634 48.1357 100.203C48.382 99.7762 48.8395 99.5098 49.3326 99.5098C49.8328 99.5098 50.2958 99.784 50.5395 100.221C50.7747 100.643 50.7747 101.163 50.5395 101.584Z\",fill:\"#E9DFF2\"})),_path1893||(_path1893=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.3534 105.544C50.1401 105.905 49.7454 106.127 49.3262 106.127C48.9071 106.127 48.5124 105.905 48.2991 105.544C48.0814 105.176 48.0792 104.719 48.2933 104.348L48.3015 104.334C48.513 103.968 48.9036 103.743 49.3262 103.743C49.7489 103.743 50.1395 103.968 50.351 104.334L50.3592 104.348C50.5733 104.719 50.571 105.176 50.3534 105.544Z\",fill:\"#E9DFF2\"})),_path1894||(_path1894=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.047 183.97C325.941 184.166 325.736 184.288 325.514 184.288C325.291 184.288 325.086 184.166 324.98 183.97L324.968 183.948C324.866 183.759 324.868 183.531 324.974 183.344C325.084 183.15 325.29 183.029 325.514 183.029C325.737 183.029 325.944 183.15 326.053 183.344C326.159 183.531 326.161 183.759 326.059 183.948L326.047 183.97Z\",fill:\"#E9DFF2\"})),_path1895||(_path1895=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.902 180.437C326.614 180.931 326.085 181.234 325.513 181.234C324.942 181.234 324.412 180.931 324.124 180.437C323.832 179.937 323.832 179.318 324.124 178.817C324.412 178.324 324.942 178.02 325.513 178.02C326.085 178.02 326.614 178.324 326.902 178.817C327.194 179.318 327.194 179.937 326.902 180.437Z\",fill:\"#E9DFF2\"})),_path1896||(_path1896=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.902 176.392C326.614 176.886 326.085 177.189 325.513 177.189C324.942 177.189 324.412 176.886 324.124 176.392C323.832 175.892 323.832 175.273 324.124 174.772C324.412 174.279 324.942 173.975 325.513 173.975C326.085 173.975 326.614 174.279 326.902 174.772C327.194 175.273 327.194 175.892 326.902 176.392Z\",fill:\"#E9DFF2\"})),_path1897||(_path1897=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.897 172.37C326.613 172.866 326.085 173.171 325.513 173.171C324.942 173.171 324.414 172.866 324.129 172.37L324.116 172.347C323.829 171.846 323.832 171.229 324.123 170.73C324.411 170.235 324.941 169.93 325.513 169.93C326.085 169.93 326.615 170.235 326.904 170.73C327.195 171.229 327.198 171.846 326.91 172.347L326.897 172.37Z\",fill:\"#E9DFF2\"})),_path1898||(_path1898=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.904 168.328C326.615 168.822 326.085 169.127 325.513 169.127C324.941 169.127 324.411 168.822 324.123 168.328C323.832 167.829 323.829 167.211 324.116 166.71L324.129 166.688C324.414 166.192 324.942 165.886 325.513 165.886C326.085 165.886 326.613 166.192 326.897 166.688L326.91 166.71C327.198 167.211 327.195 167.829 326.904 168.328Z\",fill:\"#E9DFF2\"})),_path1899||(_path1899=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.902 164.285C326.614 164.778 326.085 165.082 325.513 165.082C324.942 165.082 324.412 164.778 324.124 164.285C323.832 163.784 323.832 163.165 324.124 162.665C324.412 162.171 324.942 161.868 325.513 161.868C326.085 161.868 326.614 162.171 326.902 162.665C327.194 163.165 327.194 163.784 326.902 164.285Z\",fill:\"#E9DFF2\"})),_path1900||(_path1900=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.897 160.262C326.613 160.758 326.085 161.064 325.513 161.064C324.942 161.064 324.414 160.758 324.129 160.262L324.116 160.24C323.829 159.739 323.832 159.121 324.123 158.622C324.411 158.128 324.941 157.823 325.513 157.823C326.085 157.823 326.615 158.128 326.904 158.622C327.195 159.121 327.198 159.739 326.91 160.24L326.897 160.262Z\",fill:\"#E9DFF2\"})),_path1901||(_path1901=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.904 156.219C326.615 156.714 326.085 157.019 325.513 157.019C324.941 157.019 324.411 156.714 324.123 156.219C323.832 155.721 323.829 155.103 324.116 154.602L324.129 154.579C324.414 154.084 324.942 153.778 325.513 153.778C326.085 153.778 326.613 154.084 326.897 154.579L326.91 154.602C327.198 155.103 327.195 155.721 326.904 156.219Z\",fill:\"#E9DFF2\"})),_path1902||(_path1902=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.172 151.74C326.038 151.974 325.789 152.118 325.52 152.118H325.507C325.238 152.118 324.989 151.974 324.856 151.74C324.724 151.51 324.724 151.227 324.856 150.996C324.989 150.762 325.238 150.618 325.507 150.618H325.52C325.789 150.618 326.038 150.762 326.172 150.996C326.303 151.227 326.303 151.51 326.172 151.74Z\",fill:\"#E9DFF2\"})),_path1903||(_path1903=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.293 139.699C326.134 139.975 325.839 140.145 325.521 140.145H325.506C325.187 140.145 324.893 139.975 324.734 139.699C324.578 139.427 324.576 139.093 324.729 138.82L324.736 138.806C324.894 138.525 325.191 138.35 325.513 138.35C325.836 138.35 326.133 138.525 326.291 138.806L326.298 138.82C326.451 139.093 326.449 139.427 326.293 139.699Z\",fill:\"#E9DFF2\"})),_path1904||(_path1904=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.852 135.981C326.579 136.452 326.075 136.743 325.53 136.743H325.496C324.952 136.743 324.448 136.452 324.175 135.981C323.901 135.508 323.901 134.924 324.175 134.451C324.448 133.979 324.952 133.689 325.496 133.689H325.53C326.075 133.689 326.579 133.979 326.852 134.451C327.126 134.924 327.126 135.508 326.852 135.981Z\",fill:\"#E9DFF2\"})),_path1905||(_path1905=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.816 91.5494C326.549 92.0167 326.052 92.3052 325.514 92.3052C324.975 92.3052 324.478 92.0167 324.211 91.5494C323.948 91.0882 323.948 90.5221 324.211 90.061C324.478 89.5936 324.975 89.3052 325.514 89.3052C326.052 89.3052 326.549 89.5936 326.816 90.061C327.079 90.5221 327.079 91.0882 326.816 91.5494Z\",fill:\"#E9DFF2\"})),_path1906||(_path1906=/*#__PURE__*/React.createElement(\"path\",{d:\"M325.775 74.8246C325.721 74.9177 325.621 74.975 325.513 74.975C325.406 74.975 325.306 74.9177 325.252 74.8246L325.244 74.8122C325.188 74.7148 325.19 74.5937 325.25 74.4985C325.306 74.4115 325.402 74.3589 325.505 74.3589H325.522C325.625 74.3589 325.721 74.4115 325.776 74.4985C325.837 74.5937 325.839 74.7148 325.782 74.8122L325.775 74.8246Z\",fill:\"#E9DFF2\"})),_path1907||(_path1907=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.899 71.4385C326.613 71.9204 326.094 72.2158 325.534 72.2158H325.506C324.939 72.2158 324.415 71.9129 324.131 71.4212C323.851 70.9343 323.851 70.3312 324.128 69.8423C324.412 69.3419 324.945 69.0283 325.52 69.0283C326.088 69.0283 326.616 69.3341 326.902 69.8248C327.192 70.3226 327.193 70.9428 326.899 71.4385Z\",fill:\"#E9DFF2\"})),_path1908||(_path1908=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.902 67.4008C326.614 67.8946 326.085 68.1982 325.513 68.1982C324.942 68.1982 324.412 67.8946 324.124 67.4008C323.832 66.9004 323.832 66.2816 324.124 65.7812C324.412 65.2875 324.942 64.9839 325.513 64.9839C326.085 64.9839 326.614 65.2875 326.902 65.7812C327.194 66.2816 327.194 66.9004 326.902 67.4008Z\",fill:\"#E9DFF2\"})),_path1909||(_path1909=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.897 63.3427C326.615 63.8396 326.084 64.1538 325.513 64.1538C324.942 64.1538 324.411 63.8396 324.13 63.3427C323.852 62.8538 323.851 62.2478 324.131 61.7609C324.415 61.2693 324.946 60.9663 325.513 60.9663C326.081 60.9663 326.612 61.2693 326.895 61.7609C327.176 62.2478 327.174 62.8538 326.897 63.3427Z\",fill:\"#E9DFF2\"})),_path1910||(_path1910=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.099 58.8687C325.977 59.0725 325.757 59.1971 325.519 59.1971H325.508C325.271 59.1971 325.05 59.0725 324.928 58.8687C324.802 58.6581 324.8 58.3955 324.922 58.1828L324.931 58.1675C325.051 57.9593 325.273 57.8311 325.514 57.8311C325.754 57.8311 325.976 57.9593 326.096 58.1675L326.105 58.1828C326.228 58.3955 326.225 58.6581 326.099 58.8687Z\",fill:\"#E9DFF2\"})),_path1911||(_path1911=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.861 51.225C326.582 51.7007 326.065 51.9929 325.514 51.9929C324.962 51.9929 324.445 51.7007 324.166 51.225C323.882 50.7398 323.882 50.1388 324.166 49.6536C324.445 49.178 324.962 48.8857 325.514 48.8857C326.065 48.8857 326.582 49.178 326.861 49.6536C327.146 50.1388 327.146 50.7398 326.861 51.225Z\",fill:\"#E9DFF2\"})),_path1912||(_path1912=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.897 47.2267C326.613 47.7224 326.085 48.0282 325.513 48.0282C324.942 48.0282 324.414 47.7224 324.129 47.2267L324.116 47.2041C323.829 46.7031 323.832 46.0855 324.123 45.5865C324.411 45.0923 324.941 44.7871 325.513 44.7871C326.085 44.7871 326.615 45.0923 326.904 45.5865C327.195 46.0855 327.198 46.7031 326.91 47.2041L326.897 47.2267Z\",fill:\"#E9DFF2\"})),_path1913||(_path1913=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.904 43.1843C326.615 43.6786 326.085 43.9838 325.513 43.9838C324.941 43.9838 324.411 43.6786 324.123 43.1843C323.832 42.6854 323.829 42.0678 324.116 41.5668L324.129 41.5442C324.414 41.0484 324.942 40.7427 325.513 40.7427C326.085 40.7427 326.613 41.0484 326.897 41.5442L326.91 41.5668C327.198 42.0678 327.195 42.6854 326.904 43.1843Z\",fill:\"#E9DFF2\"})),_path1914||(_path1914=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.902 39.1415C326.614 39.6353 326.085 39.9389 325.513 39.9389C324.942 39.9389 324.412 39.6353 324.124 39.1415C323.832 38.6411 323.832 38.0224 324.124 37.522C324.412 37.0282 324.942 36.7246 325.513 36.7246C326.085 36.7246 326.614 37.0282 326.902 37.522C327.194 38.0224 327.194 38.6411 326.902 39.1415Z\",fill:\"#E9DFF2\"})),_path1915||(_path1915=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.897 35.1197C326.613 35.6155 326.085 35.9212 325.513 35.9212C324.942 35.9212 324.414 35.6155 324.129 35.1197L324.116 35.0971C323.829 34.5962 323.832 33.9785 324.123 33.4796C324.411 32.9853 324.941 32.6802 325.513 32.6802C326.085 32.6802 326.615 32.9853 326.904 33.4796C327.195 33.9785 327.198 34.5962 326.91 35.0971L326.897 35.1197Z\",fill:\"#E9DFF2\"})),_path1916||(_path1916=/*#__PURE__*/React.createElement(\"path\",{d:\"M326.904 31.0764C326.615 31.5707 326.085 31.8758 325.513 31.8758C324.941 31.8758 324.411 31.5707 324.123 31.0764C323.832 30.5775 323.829 29.9599 324.116 29.4589L324.129 29.4363C324.414 28.9405 324.942 28.6348 325.513 28.6348C326.085 28.6348 326.613 28.9405 326.897 29.4363L326.91 29.4589C327.198 29.9599 327.195 30.5775 326.904 31.0764Z\",fill:\"#E9DFF2\"})),_path1917||(_path1917=/*#__PURE__*/React.createElement(\"path\",{d:\"M316.27 20.885C316.014 21.3224 315.546 21.5912 315.039 21.5912H315.014C314.508 21.5912 314.039 21.3223 313.783 20.885C313.525 20.4437 313.526 19.8933 313.78 19.45C314.036 19.0045 314.513 18.7251 315.027 18.7251C315.54 18.7251 316.017 19.0045 316.273 19.45C316.528 19.8933 316.528 20.4437 316.27 20.885Z\",fill:\"#E9DFF2\"})),_path1918||(_path1918=/*#__PURE__*/React.createElement(\"path\",{d:\"M312.64 18.7838C312.411 19.1767 311.986 19.4216 311.532 19.4216C311.077 19.4216 310.652 19.1767 310.423 18.7838C310.191 18.3861 310.191 17.8904 310.427 17.4949C310.655 17.1117 311.068 16.877 311.514 16.877H311.549C311.995 16.877 312.408 17.1117 312.636 17.4949C312.872 17.8904 312.872 18.3861 312.64 18.7838Z\",fill:\"#E9DFF2\"})),_path1919||(_path1919=/*#__PURE__*/React.createElement(\"path\",{d:\"M56.8189 20.4646C56.7151 20.6323 56.532 20.7343 56.3348 20.7343H56.3125C56.1083 20.7343 55.9198 20.6249 55.8185 20.4476C55.7205 20.2762 55.7185 20.0662 55.813 19.8929L55.8188 19.8823C55.9196 19.6975 56.1133 19.5825 56.3238 19.5825C56.5272 19.5825 56.7154 19.69 56.8189 19.8651L56.825 19.8753C56.9327 20.0576 56.9303 20.2846 56.8189 20.4646Z\",fill:\"#E9DFF2\"})),_path1920||(_path1920=/*#__PURE__*/React.createElement(\"path\",{d:\"M53.5343 22.5757C53.3916 22.8275 53.1246 22.9831 52.8352 22.9831H52.8209C52.5386 22.9831 52.2771 22.835 52.1319 22.593C51.9792 22.3385 51.9792 22.0206 52.1319 21.7661C52.2771 21.5241 52.5386 21.376 52.8209 21.376H52.8352C53.1246 21.376 53.3916 21.5316 53.5343 21.7834C53.6736 22.0291 53.6736 22.33 53.5343 22.5757Z\",fill:\"#E9DFF2\"})),_path1921||(_path1921=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2311 35.1139C46.9446 35.6133 46.4128 35.9212 45.8371 35.9212C45.2542 35.9212 44.717 35.6057 44.4332 35.0965L44.4237 35.0795C44.1495 34.5876 44.1516 33.9883 44.4293 33.4983C44.7158 32.9927 45.256 32.6802 45.8371 32.6802C46.4111 32.6802 46.9457 32.985 47.2349 33.4808C47.526 33.9798 47.5282 34.5962 47.2407 35.0971L47.2311 35.1139Z\",fill:\"#E9DFF2\"})),_path1922||(_path1922=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.233 39.1415C46.945 39.6353 46.4088 39.9389 45.8372 39.9389C45.2584 39.9389 44.7165 39.6277 44.4312 39.1241C44.1526 38.6326 44.1526 38.0309 44.4312 37.5394C44.7165 37.0358 45.2584 36.7246 45.8372 36.7246C46.4088 36.7246 46.945 37.0282 47.233 37.522C47.5249 38.0224 47.5249 38.6411 47.233 39.1415Z\",fill:\"#E9DFF2\"})),_path1923||(_path1923=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2349 43.1831C46.9457 43.6789 46.4111 43.9838 45.8371 43.9838C45.256 43.9838 44.7158 43.6713 44.4293 43.1656C44.1516 42.6757 44.1495 42.0764 44.4237 41.5844L44.4332 41.5674C44.717 41.0583 45.2542 40.7427 45.8371 40.7427C46.4128 40.7427 46.9446 41.0506 47.2311 41.55L47.2407 41.5668C47.5282 42.0678 47.526 42.6842 47.2349 43.1831Z\",fill:\"#E9DFF2\"})),_path1924||(_path1924=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2311 47.2208C46.9446 47.7202 46.4128 48.0282 45.8371 48.0282C45.2542 48.0282 44.717 47.7126 44.4332 47.2035L44.4237 47.1864C44.1495 46.6945 44.1516 46.0952 44.4293 45.6052C44.7158 45.0996 45.256 44.7871 45.8371 44.7871C46.4111 44.7871 46.9457 45.092 47.2349 45.5878C47.526 46.0867 47.5282 46.7031 47.2407 47.2041L47.2311 47.2208Z\",fill:\"#E9DFF2\"})),_path1925||(_path1925=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.233 51.249C46.945 51.7427 46.4088 52.0463 45.8372 52.0463C45.2584 52.0463 44.7165 51.7351 44.4312 51.2315C44.1526 50.74 44.1526 50.1383 44.4312 49.6468C44.7165 49.1433 45.2584 48.832 45.8372 48.832C46.4088 48.832 46.945 49.1356 47.233 49.6294C47.5249 50.1298 47.5249 50.7486 47.233 51.249Z\",fill:\"#E9DFF2\"})),_path1926||(_path1926=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.233 55.2929C46.945 55.7867 46.4088 56.0903 45.8372 56.0903C45.2584 56.0903 44.7165 55.779 44.4312 55.2755C44.1526 54.7839 44.1526 54.1823 44.4312 53.6908C44.7165 53.1872 45.2584 52.876 45.8372 52.876C46.4088 52.876 46.945 53.1796 47.233 53.6733C47.5249 54.1737 47.5249 54.7925 47.233 55.2929Z\",fill:\"#E9DFF2\"})),_path1927||(_path1927=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2349 59.3344C46.9457 59.8302 46.4111 60.1351 45.8371 60.1351C45.256 60.1351 44.7158 59.8226 44.4293 59.317C44.1516 58.827 44.1495 58.2277 44.4237 57.7358L44.4332 57.7188C44.717 57.2096 45.2542 56.894 45.8371 56.894C46.4128 56.894 46.9446 57.202 47.2311 57.7014L47.2407 57.7181C47.5282 58.2191 47.526 58.8355 47.2349 59.3344Z\",fill:\"#E9DFF2\"})),_path1928||(_path1928=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2311 63.3727C46.9446 63.8721 46.4128 64.18 45.8371 64.18C45.2542 64.18 44.717 63.8645 44.4332 63.3553L44.4237 63.3383C44.1495 62.8463 44.1516 62.2471 44.4293 61.7571C44.7158 61.2515 45.256 60.939 45.8371 60.939C46.4111 60.939 46.9457 61.2438 47.2349 61.7396C47.526 62.2385 47.5282 62.855 47.2407 63.3559L47.2311 63.3727Z\",fill:\"#E9DFF2\"})),_path1929||(_path1929=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.233 67.4008C46.945 67.8946 46.4088 68.1982 45.8372 68.1982C45.2584 68.1982 44.7165 67.8869 44.4312 67.3834C44.1526 66.8919 44.1526 66.2902 44.4312 65.7987C44.7165 65.2951 45.2584 64.9839 45.8372 64.9839C46.4088 64.9839 46.945 65.2875 47.233 65.7812C47.5249 66.2816 47.5249 66.9004 47.233 67.4008Z\",fill:\"#E9DFF2\"})),_path1930||(_path1930=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2349 71.4414C46.9457 71.9372 46.4111 72.2421 45.8371 72.2421C45.256 72.2421 44.7158 71.9296 44.4293 71.4239C44.1516 70.934 44.1495 70.3347 44.4237 69.8427L44.4332 69.8257C44.717 69.3166 45.2542 69.001 45.8371 69.001C46.4128 69.001 46.9446 69.3089 47.2311 69.8083L47.2407 69.8251C47.5282 70.3261 47.526 70.9425 47.2349 71.4414Z\",fill:\"#E9DFF2\"})),_path1931||(_path1931=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.2311 75.4801C46.9446 75.9795 46.4128 76.2875 45.8371 76.2875C45.2542 76.2875 44.717 75.9719 44.4332 75.4627L44.4237 75.4457C44.1495 74.9538 44.1516 74.3545 44.4293 73.8645C44.7158 73.3589 45.256 73.0464 45.8371 73.0464C46.4111 73.0464 46.9457 73.3513 47.2349 73.8471C47.526 74.346 47.5282 74.9624 47.2407 75.4634L47.2311 75.4801Z\",fill:\"#E9DFF2\"})),_path1932||(_path1932=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.233 95.6601C46.945 96.1538 46.4088 96.4575 45.8372 96.4575C45.2584 96.4575 44.7165 96.1462 44.4312 95.6427C44.1526 95.1511 44.1526 94.5495 44.4312 94.058C44.7165 93.5544 45.2584 93.2432 45.8372 93.2432C46.4088 93.2432 46.945 93.5468 47.233 94.0405C47.5249 94.5409 47.5249 95.1597 47.233 95.6601Z\",fill:\"#E9DFF2\"})),_path1933||(_path1933=/*#__PURE__*/React.createElement(\"path\",{d:\"M47.1481 99.6354C46.8799 100.105 46.3778 100.394 45.8371 100.394C45.3036 100.394 44.807 100.112 44.5362 99.6527C44.2601 99.1842 44.2579 98.6034 44.5303 98.1328L44.5404 98.1153C44.8083 97.6526 45.3025 97.3677 45.8372 97.3677C46.379 97.3677 46.8785 97.6601 47.1438 98.1326L47.1538 98.1504C47.4129 98.612 47.4108 99.1757 47.1481 99.6354Z\",fill:\"#E9DFF2\"})),_path1934||(_path1934=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M329.402 185.899C329.325 186.045 329.174 186.136 329.009 186.136C328.844 186.136 328.693 186.045 328.616 185.899L328.613 185.894C328.542 185.76 328.542 185.601 328.613 185.467L328.616 185.462C328.693 185.316 328.844 185.225 329.009 185.225C329.174 185.225 329.325 185.316 329.402 185.462L329.405 185.467C329.476 185.601 329.476 185.76 329.405 185.893L329.402 185.899Z\",fill:\"#802DF6\"})),_path1935||(_path1935=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M330.412 182.446C330.124 182.94 329.595 183.244 329.023 183.244H328.995C328.423 183.244 327.894 182.94 327.606 182.446C327.315 181.946 327.315 181.327 327.606 180.827C327.894 180.333 328.423 180.029 328.995 180.029H329.023C329.595 180.029 330.124 180.333 330.412 180.827C330.704 181.327 330.704 181.946 330.412 182.446Z\",fill:\"#802DF6\"})),_path1936||(_path1936=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M330.416 178.407C330.128 178.91 329.589 179.225 329.009 179.225C328.429 179.225 327.89 178.91 327.602 178.407C327.314 177.906 327.313 177.284 327.604 176.785C327.894 176.289 328.424 175.984 328.998 175.984H329.02C329.594 175.984 330.124 176.289 330.414 176.785C330.705 177.284 330.704 177.906 330.416 178.407Z\",fill:\"#802DF6\"})),_path1937||(_path1937=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.414 174.38C330.124 174.876 329.594 175.181 329.02 175.181H328.998C328.424 175.181 327.894 174.876 327.604 174.38C327.313 173.881 327.314 173.259 327.602 172.758C327.89 172.255 328.429 171.939 329.009 171.939C329.589 171.939 330.128 172.255 330.416 172.758C330.704 173.259 330.705 173.881 330.414 174.38Z\",fill:\"#E9DFF2\"})),_path1938||(_path1938=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 170.338C330.124 170.832 329.595 171.136 329.023 171.136H328.995C328.423 171.136 327.894 170.832 327.606 170.338C327.315 169.838 327.315 169.219 327.606 168.719C327.894 168.225 328.423 167.921 328.995 167.921H329.023C329.595 167.921 330.124 168.225 330.412 168.719C330.704 169.219 330.704 169.838 330.412 170.338Z\",fill:\"#E9DFF2\"})),_path1939||(_path1939=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.416 166.299C330.128 166.802 329.589 167.118 329.009 167.118C328.429 167.118 327.89 166.802 327.602 166.299C327.314 165.798 327.313 165.177 327.604 164.678C327.894 164.182 328.424 163.877 328.998 163.877H329.02C329.594 163.877 330.124 164.182 330.414 164.678C330.705 165.177 330.704 165.798 330.416 166.299Z\",fill:\"#E9DFF2\"})),_path1940||(_path1940=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.414 162.272C330.124 162.768 329.594 163.073 329.02 163.073H328.998C328.424 163.073 327.894 162.768 327.604 162.272C327.313 161.774 327.314 161.152 327.602 160.651C327.89 160.148 328.429 159.832 329.009 159.832C329.589 159.832 330.128 160.148 330.416 160.651C330.704 161.152 330.705 161.774 330.414 162.272Z\",fill:\"#E9DFF2\"})),_path1941||(_path1941=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 158.231C330.124 158.725 329.595 159.028 329.023 159.028H328.995C328.423 159.028 327.894 158.725 327.606 158.231C327.315 157.73 327.315 157.112 327.606 156.611C327.894 156.118 328.423 155.814 328.995 155.814H329.023C329.595 155.814 330.124 156.118 330.412 156.611C330.704 157.112 330.704 157.73 330.412 158.231Z\",fill:\"#E9DFF2\"})),_path1942||(_path1942=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 154.186C330.124 154.68 329.595 154.984 329.023 154.984H328.995C328.423 154.984 327.894 154.68 327.606 154.186C327.315 153.686 327.315 153.067 327.606 152.567C327.894 152.073 328.423 151.77 328.995 151.77H329.023C329.595 151.77 330.124 152.073 330.412 152.567C330.704 153.067 330.704 153.686 330.412 154.186Z\",fill:\"#E9DFF2\"})),_path1943||(_path1943=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 89.6059C330.124 90.0996 329.595 90.4033 329.023 90.4033H328.995C328.423 90.4033 327.894 90.0996 327.606 89.6059C327.315 89.1055 327.315 88.4867 327.606 87.9863C327.894 87.4926 328.423 87.189 328.995 87.189H329.023C329.595 87.189 330.124 87.4926 330.412 87.9863C330.704 88.4867 330.704 89.1055 330.412 89.6059Z\",fill:\"#E9DFF2\"})),_path1944||(_path1944=/*#__PURE__*/React.createElement(\"path\",{d:\"M329.733 77.1029C329.583 77.3608 329.307 77.5195 329.009 77.5195C328.711 77.5195 328.435 77.3608 328.285 77.1029C328.136 76.8465 328.134 76.5306 328.279 76.2723L328.29 76.2523C328.436 75.9927 328.711 75.832 329.009 75.832C329.307 75.832 329.581 75.9927 329.727 76.2523L329.739 76.2723C329.884 76.5306 329.882 76.8465 329.733 77.1029Z\",fill:\"#E9DFF2\"})),_path1945||(_path1945=/*#__PURE__*/React.createElement(\"path\",{d:\"M329.451 68.8552C329.36 69.0124 329.191 69.1092 329.009 69.1092C328.827 69.1092 328.658 69.0124 328.567 68.8552C328.476 68.6975 328.476 68.503 328.567 68.3452C328.658 68.1881 328.827 68.0913 329.009 68.0913C329.191 68.0913 329.36 68.1881 329.451 68.3452C329.542 68.503 329.542 68.6975 329.451 68.8552Z\",fill:\"#E9DFF2\"})),_path1946||(_path1946=/*#__PURE__*/React.createElement(\"path\",{d:\"M329.897 65.106C329.712 65.4127 329.379 65.6001 329.021 65.6001H328.997C328.639 65.6001 328.306 65.4127 328.121 65.106C327.925 64.7834 327.926 64.3747 328.118 64.05C328.303 63.7354 328.644 63.5376 329.009 63.5376C329.374 63.5376 329.715 63.7354 329.9 64.0499C330.092 64.3747 330.093 64.7834 329.897 65.106Z\",fill:\"#E9DFF2\"})),_path1947||(_path1947=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.06 61.1655C329.842 61.5376 329.44 61.7699 329.009 61.7699C328.578 61.7699 328.176 61.5376 327.958 61.1655C327.732 60.7804 327.732 60.2952 327.958 59.9101C328.176 59.538 328.578 59.3057 329.009 59.3057C329.44 59.3057 329.842 59.538 330.06 59.9101C330.286 60.2952 330.286 60.7804 330.06 61.1655Z\",fill:\"#E9DFF2\"})),_path1948||(_path1948=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.414 49.2363C330.124 49.7321 329.594 50.037 329.02 50.037H328.998C328.424 50.037 327.894 49.7321 327.604 49.2363C327.313 48.7374 327.314 48.1155 327.602 47.6145C327.89 47.1116 328.429 46.7959 329.009 46.7959C329.589 46.7959 330.128 47.1116 330.416 47.6145C330.704 48.1155 330.705 48.7374 330.414 49.2363Z\",fill:\"#E9DFF2\"})),_path1949||(_path1949=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 45.1953C330.124 45.689 329.595 45.9926 329.023 45.9926H328.995C328.423 45.9926 327.894 45.689 327.606 45.1953C327.315 44.6949 327.315 44.0761 327.606 43.5757C327.894 43.0819 328.423 42.7783 328.995 42.7783H329.023C329.595 42.7783 330.124 43.0819 330.412 43.5757C330.704 44.0761 330.704 44.6949 330.412 45.1953Z\",fill:\"#E9DFF2\"})),_path1950||(_path1950=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.416 41.1563C330.128 41.6593 329.589 41.975 329.009 41.975C328.429 41.975 327.89 41.6593 327.602 41.1563C327.314 40.6553 327.313 40.0335 327.604 39.5346C327.894 39.0388 328.424 38.7339 328.998 38.7339H329.02C329.594 38.7339 330.124 39.0388 330.414 39.5346C330.705 40.0335 330.704 40.6553 330.416 41.1563Z\",fill:\"#E9DFF2\"})),_path1951||(_path1951=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.414 37.1299C330.124 37.6257 329.594 37.9305 329.02 37.9305H328.998C328.424 37.9305 327.894 37.6257 327.604 37.1299C327.313 36.6309 327.314 36.0091 327.602 35.5081C327.89 35.0051 328.429 34.6895 329.009 34.6895C329.589 34.6895 330.128 35.0051 330.416 35.5081C330.704 36.0091 330.705 36.6309 330.414 37.1299Z\",fill:\"#E9DFF2\"})),_path1952||(_path1952=/*#__PURE__*/React.createElement(\"path\",{d:\"M330.412 33.0883C330.124 33.5821 329.595 33.8857 329.023 33.8857H328.995C328.423 33.8857 327.894 33.5821 327.606 33.0883C327.315 32.5879 327.315 31.9691 327.606 31.4687C327.894 30.975 328.423 30.6714 328.995 30.6714H329.023C329.595 30.6714 330.124 30.975 330.412 31.4687C330.704 31.9691 330.704 32.5879 330.412 33.0883Z\",fill:\"#E9DFF2\"})),_path1953||(_path1953=/*#__PURE__*/React.createElement(\"path\",{d:\"M329.368 28.4518C329.295 28.5816 329.158 28.6619 329.009 28.6619C328.86 28.6619 328.723 28.5816 328.65 28.4518L328.643 28.4402C328.571 28.3123 328.573 28.1556 328.649 28.0298C328.723 27.9068 328.856 27.8315 328.999 27.8315H329.019C329.162 27.8315 329.295 27.9068 329.369 28.0298C329.445 28.1556 329.447 28.3123 329.375 28.4402L329.368 28.4518Z\",fill:\"#E9DFF2\"})),_path1954||(_path1954=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.2404 32.8095C43.0528 33.1276 42.7108 33.3232 42.3415 33.3232C41.965 33.3232 41.6175 33.12 41.4325 32.7921C41.2528 32.4735 41.2528 32.0835 41.4325 31.765C41.6175 31.437 41.965 31.2339 42.3415 31.2339C42.7108 31.2339 43.0528 31.4294 43.2404 31.7476C43.4335 32.075 43.4335 32.4821 43.2404 32.8095Z\",fill:\"#E9DFF2\"})),_path1955||(_path1955=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7252 37.1311C43.4369 37.6254 42.907 37.9305 42.3348 37.9305C41.7625 37.9305 41.2326 37.6254 40.9443 37.1311C40.6533 36.6322 40.6503 36.0145 40.9378 35.5136L40.9507 35.491C41.2352 34.9952 41.7632 34.6895 42.3348 34.6895C42.9064 34.6895 43.4343 34.9952 43.7188 35.491L43.7317 35.5136C44.0192 36.0145 44.0162 36.6322 43.7252 37.1311Z\",fill:\"#E9DFF2\"})),_path1956||(_path1956=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7188 41.1734C43.4343 41.6692 42.9064 41.975 42.3348 41.975C41.7632 41.975 41.2352 41.6692 40.9507 41.1734L40.9378 41.1509C40.6504 40.6499 40.6533 40.0322 40.9443 39.5333C41.2326 39.039 41.7625 38.7339 42.3348 38.7339C42.907 38.7339 43.4369 39.039 43.7252 39.5333C44.0162 40.0322 44.0192 40.6499 43.7317 41.1509L43.7188 41.1734Z\",fill:\"#E9DFF2\"})),_path1957||(_path1957=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.724 45.1953C43.436 45.689 42.9064 45.9926 42.3348 45.9926C41.7631 45.9926 41.2335 45.689 40.9455 45.1953C40.6536 44.6949 40.6536 44.0761 40.9455 43.5757C41.2335 43.0819 41.7631 42.7783 42.3348 42.7783C42.9064 42.7783 43.436 43.0819 43.724 43.5757C44.0159 44.0761 44.0159 44.6949 43.724 45.1953Z\",fill:\"#E9DFF2\"})),_path1958||(_path1958=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7252 49.2375C43.4369 49.7318 42.907 50.037 42.3348 50.037C41.7625 50.037 41.2326 49.7318 40.9443 49.2375C40.6533 48.7386 40.6504 48.121 40.9378 47.62L40.9507 47.5974C41.2352 47.1017 41.7632 46.7959 42.3348 46.7959C42.9064 46.7959 43.4343 47.1016 43.7188 47.5974L43.7317 47.62C44.0192 48.121 44.0162 48.7386 43.7252 49.2375Z\",fill:\"#E9DFF2\"})),_path1959||(_path1959=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7188 53.2804C43.4343 53.7761 42.9064 54.0819 42.3348 54.0819C41.7632 54.0819 41.2352 53.7761 40.9507 53.2804L40.9378 53.2578C40.6504 52.7568 40.6533 52.1392 40.9443 51.6403C41.2326 51.146 41.7625 50.8408 42.3348 50.8408C42.907 50.8408 43.4369 51.146 43.7252 51.6403C44.0162 52.1392 44.0192 52.7568 43.7317 53.2578L43.7188 53.2804Z\",fill:\"#E9DFF2\"})),_path1960||(_path1960=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.724 57.3022C43.436 57.7959 42.9064 58.0995 42.3348 58.0995C41.7631 58.0995 41.2335 57.7959 40.9455 57.3022C40.6536 56.8018 40.6536 56.183 40.9455 55.6826C41.2335 55.1889 41.7631 54.8853 42.3348 54.8853C42.9064 54.8853 43.436 55.1889 43.724 55.6826C44.0159 56.183 44.0159 56.8018 43.724 57.3022Z\",fill:\"#E9DFF2\"})),_path1961||(_path1961=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.724 61.3466C43.436 61.8404 42.9064 62.144 42.3348 62.144C41.7631 62.144 41.2335 61.8404 40.9455 61.3466C40.6536 60.8462 40.6536 60.2274 40.9455 59.727C41.2335 59.2333 41.7631 58.9297 42.3348 58.9297C42.9064 58.9297 43.436 59.2333 43.724 59.727C44.0159 60.2274 44.0159 60.8462 43.724 61.3466Z\",fill:\"#E9DFF2\"})),_path1962||(_path1962=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7252 65.3899C43.4369 65.8842 42.907 66.1893 42.3348 66.1893C41.7625 66.1893 41.2326 65.8842 40.9443 65.3899C40.6533 64.891 40.6503 64.2733 40.9378 63.7723L40.9507 63.7498C41.2352 63.254 41.7632 62.9482 42.3348 62.9482C42.9064 62.9482 43.4343 63.254 43.7188 63.7498L43.7317 63.7723C44.0192 64.2733 44.0162 64.891 43.7252 65.3899Z\",fill:\"#E9DFF2\"})),_path1963||(_path1963=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7188 69.4332C43.4343 69.929 42.9064 70.2347 42.3348 70.2347C41.7632 70.2347 41.2352 69.929 40.9507 69.4332L40.9378 69.4106C40.6504 68.9096 40.6533 68.292 40.9443 67.7931C41.2326 67.2988 41.7625 66.9937 42.3348 66.9937C42.907 66.9937 43.4369 67.2988 43.7252 67.7931C44.0162 68.292 44.0192 68.9096 43.7317 69.4106L43.7188 69.4332Z\",fill:\"#E9DFF2\"})),_path1964||(_path1964=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.724 73.4545C43.436 73.9483 42.9064 74.2519 42.3348 74.2519C41.7631 74.2519 41.2335 73.9483 40.9455 73.4545C40.6536 72.9541 40.6536 72.3354 40.9455 71.8349C41.2335 71.3412 41.7631 71.0376 42.3348 71.0376C42.9064 71.0376 43.436 71.3412 43.724 71.8349C44.0159 72.3354 44.0159 72.9541 43.724 73.4545Z\",fill:\"#E9DFF2\"})),_path1965||(_path1965=/*#__PURE__*/React.createElement(\"path\",{d:\"M43.7252 77.4973C43.4369 77.9916 42.907 78.2967 42.3348 78.2967C41.7625 78.2967 41.2326 77.9916 40.9443 77.4973C40.6533 76.9984 40.6503 76.3808 40.9378 75.8798L40.9507 75.8572C41.2352 75.3614 41.7632 75.0557 42.3348 75.0557C42.9064 75.0557 43.4343 75.3614 43.7188 75.8572L43.7317 75.8798C44.0192 76.3808 44.0162 76.9984 43.7252 77.4973Z\",fill:\"#E9DFF2\"})),_path1966||(_path1966=/*#__PURE__*/React.createElement(\"path\",{d:\"M42.7589 93.0896C42.6701 93.235 42.5121 93.3236 42.3417 93.3236H42.3276C42.1573 93.3236 41.9993 93.235 41.9105 93.0896C41.817 92.9367 41.8147 92.7449 41.9045 92.5897L41.9125 92.5759C41.9997 92.4253 42.1606 92.3325 42.3347 92.3325C42.5088 92.3325 42.6696 92.4253 42.7569 92.5759L42.7648 92.5897C42.8547 92.7449 42.8524 92.9367 42.7589 93.0896Z\",fill:\"#E9DFF2\"})),_path1967||(_path1967=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.372 192.249C333.193 192.557 332.861 192.752 332.505 192.752C332.148 192.752 331.816 192.557 331.637 192.249C331.455 191.933 331.455 191.535 331.637 191.219C331.816 190.911 332.148 190.716 332.505 190.716C332.861 190.716 333.193 190.911 333.372 191.219C333.554 191.535 333.554 191.933 333.372 192.249Z\",fill:\"#E9DFF2\"})),_path1968||(_path1968=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M333.894 188.499C333.606 188.993 333.076 189.296 332.504 189.296C331.933 189.296 331.403 188.993 331.115 188.499C330.823 187.999 330.823 187.38 331.115 186.879C331.403 186.386 331.933 186.082 332.504 186.082C333.076 186.082 333.606 186.386 333.894 186.879C334.186 187.38 334.186 187.999 333.894 188.499Z\",fill:\"#802DF6\"})),_path1969||(_path1969=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M333.888 184.477C333.604 184.972 333.076 185.278 332.504 185.278C331.933 185.278 331.405 184.972 331.12 184.477L331.107 184.454C330.82 183.953 330.823 183.335 331.114 182.837C331.402 182.342 331.932 182.037 332.504 182.037C333.077 182.037 333.607 182.342 333.895 182.837C334.186 183.335 334.189 183.953 333.901 184.454L333.888 184.477Z\",fill:\"#802DF6\"})),_path1970||(_path1970=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M333.894 180.437C333.606 180.931 333.076 181.234 332.504 181.234C331.933 181.234 331.403 180.931 331.115 180.437C330.823 179.937 330.823 179.318 331.115 178.817C331.403 178.324 331.933 178.02 332.504 178.02C333.076 178.02 333.606 178.324 333.894 178.817C334.186 179.318 334.186 179.937 333.894 180.437Z\",fill:\"#802DF6\"})),_path1971||(_path1971=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M333.894 176.392C333.606 176.886 333.076 177.189 332.504 177.189C331.933 177.189 331.403 176.886 331.115 176.392C330.823 175.892 330.823 175.273 331.115 174.772C331.403 174.279 331.933 173.975 332.504 173.975C333.076 173.975 333.606 174.279 333.894 174.772C334.186 175.273 334.186 175.892 333.894 176.392Z\",fill:\"#802DF6\"})),_path1972||(_path1972=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.888 172.37C333.604 172.866 333.076 173.171 332.504 173.171C331.933 173.171 331.405 172.866 331.12 172.37L331.107 172.347C330.82 171.846 330.823 171.229 331.114 170.73C331.402 170.235 331.932 169.93 332.504 169.93C333.077 169.93 333.607 170.235 333.895 170.73C334.186 171.229 334.189 171.846 333.901 172.347L333.888 172.37Z\",fill:\"#E9DFF2\"})),_path1973||(_path1973=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.895 168.328C333.607 168.822 333.077 169.127 332.504 169.127C331.932 169.127 331.402 168.822 331.114 168.328C330.823 167.829 330.82 167.211 331.107 166.71L331.12 166.688C331.405 166.192 331.933 165.886 332.504 165.886C333.076 165.886 333.604 166.192 333.888 166.688L333.901 166.71C334.189 167.211 334.186 167.829 333.895 168.328Z\",fill:\"#E9DFF2\"})),_path1974||(_path1974=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M333.894 164.285C333.606 164.778 333.076 165.082 332.504 165.082C331.933 165.082 331.403 164.778 331.115 164.285C330.823 163.784 330.823 163.165 331.115 162.665C331.403 162.171 331.933 161.868 332.504 161.868C333.076 161.868 333.606 162.171 333.894 162.665C334.186 163.165 334.186 163.784 333.894 164.285Z\",fill:\"#802DF6\"})),_path1975||(_path1975=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.888 160.262C333.604 160.758 333.076 161.064 332.504 161.064C331.933 161.064 331.405 160.758 331.12 160.262L331.107 160.24C330.82 159.739 330.823 159.121 331.114 158.622C331.402 158.128 331.932 157.823 332.504 157.823C333.077 157.823 333.607 158.128 333.895 158.622C334.186 159.121 334.189 159.739 333.901 160.24L333.888 160.262Z\",fill:\"#E9DFF2\"})),_path1976||(_path1976=/*#__PURE__*/React.createElement(\"path\",{d:\"M332.84 143.479C332.774 143.602 332.645 143.68 332.505 143.68C332.365 143.68 332.236 143.602 332.17 143.479L332.162 143.464C332.1 143.348 332.102 143.209 332.167 143.095C332.235 142.976 332.362 142.903 332.499 142.903H332.511C332.648 142.903 332.775 142.976 332.842 143.095C332.907 143.209 332.91 143.348 332.848 143.464L332.84 143.479Z\",fill:\"#E9DFF2\"})),_path1977||(_path1977=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.895 140.069C333.607 140.563 333.077 140.868 332.504 140.868C331.932 140.868 331.402 140.563 331.114 140.069C330.823 139.57 330.82 138.952 331.107 138.451L331.12 138.428C331.405 137.933 331.933 137.627 332.504 137.627C333.076 137.627 333.604 137.933 333.888 138.428L333.901 138.451C334.189 138.952 334.186 139.57 333.895 140.069Z\",fill:\"#E9DFF2\"})),_path1978||(_path1978=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.734 87.5012C333.479 87.938 333.011 88.2069 332.505 88.2069C331.999 88.2069 331.531 87.938 331.275 87.5012C331.017 87.0599 331.014 86.5138 331.269 86.0704L331.281 86.0493C331.533 85.6111 331.999 85.3408 332.505 85.3408C333.01 85.3408 333.477 85.6111 333.728 86.0493L333.741 86.0704C333.995 86.5138 333.993 87.0599 333.734 87.5012Z\",fill:\"#E9DFF2\"})),_path1979||(_path1979=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.324 83.2078C333.157 83.4999 332.841 83.6802 332.504 83.6802C332.168 83.6802 331.852 83.4999 331.685 83.2078C331.521 82.9196 331.521 82.5658 331.685 82.2775C331.852 81.9854 332.168 81.8052 332.504 81.8052C332.841 81.8052 333.157 81.9854 333.324 82.2775C333.488 82.5658 333.488 82.9196 333.324 83.2078Z\",fill:\"#E9DFF2\"})),_path1980||(_path1980=/*#__PURE__*/React.createElement(\"path\",{d:\"M333 78.979C332.901 79.1516 332.717 79.2602 332.518 79.2602C332.319 79.2602 332.134 79.1516 332.036 78.979C331.937 78.8061 331.937 78.5894 332.036 78.4165C332.134 78.2439 332.319 78.1353 332.518 78.1353C332.717 78.1353 332.901 78.2439 333 78.4165C333.099 78.5894 333.099 78.8061 333 78.979Z\",fill:\"#E9DFF2\"})),_path1981||(_path1981=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M334.278 75.5688C333.99 76.0625 333.461 76.3661 332.889 76.3661H332.861C332.289 76.3661 331.76 76.0625 331.472 75.5688C331.18 75.0684 331.18 74.4496 331.472 73.9492C331.76 73.4555 332.289 73.1519 332.861 73.1519H332.889C333.461 73.1519 333.99 73.4555 334.278 73.9492C334.57 74.4496 334.57 75.0684 334.278 75.5688Z\",fill:\"#802DF6\"})),_path1982||(_path1982=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.084 66.9204C332.967 67.1297 332.744 67.2612 332.505 67.2612C332.265 67.2612 332.043 67.1297 331.925 66.9205C331.812 66.7172 331.812 66.4658 331.925 66.2626C332.043 66.0533 332.265 65.9219 332.505 65.9219C332.744 65.9219 332.967 66.0533 333.084 66.2626C333.198 66.4659 333.198 66.7172 333.084 66.9204Z\",fill:\"#E9DFF2\"})),_path1983||(_path1983=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.852 51.225C333.573 51.7007 333.056 51.9929 332.505 51.9929C331.953 51.9929 331.436 51.7007 331.157 51.225C330.873 50.7398 330.873 50.1388 331.157 49.6536C331.436 49.178 331.953 48.8857 332.505 48.8857C333.056 48.8857 333.573 49.178 333.852 49.6536C334.136 50.1388 334.136 50.7398 333.852 51.225Z\",fill:\"#E9DFF2\"})),_path1984||(_path1984=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.888 47.2266C333.604 47.7224 333.076 48.0282 332.504 48.0282C331.933 48.0282 331.405 47.7224 331.12 47.2266L331.107 47.2041C330.82 46.7031 330.823 46.0855 331.114 45.5865C331.402 45.0923 331.932 44.7871 332.504 44.7871C333.077 44.7871 333.607 45.0923 333.895 45.5865C334.186 46.0855 334.189 46.7031 333.901 47.2041L333.888 47.2266Z\",fill:\"#E9DFF2\"})),_path1985||(_path1985=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.895 43.1843C333.607 43.6786 333.077 43.9838 332.504 43.9838C331.932 43.9838 331.402 43.6786 331.114 43.1843C330.823 42.6854 330.82 42.0678 331.107 41.5668L331.12 41.5442C331.405 41.0484 331.933 40.7427 332.504 40.7427C333.076 40.7427 333.604 41.0484 333.888 41.5442L333.901 41.5668C334.189 42.0678 334.186 42.6854 333.895 43.1843Z\",fill:\"#E9DFF2\"})),_path1986||(_path1986=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.894 39.1415C333.606 39.6353 333.076 39.9389 332.504 39.9389C331.933 39.9389 331.403 39.6353 331.115 39.1415C330.823 38.6411 330.823 38.0224 331.115 37.522C331.403 37.0282 331.933 36.7246 332.504 36.7246C333.076 36.7246 333.606 37.0282 333.894 37.522C334.186 38.0224 334.186 38.6411 333.894 39.1415Z\",fill:\"#E9DFF2\"})),_path1987||(_path1987=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.888 35.1197C333.604 35.6155 333.076 35.9212 332.504 35.9212C331.933 35.9212 331.405 35.6155 331.12 35.1197L331.107 35.0971C330.82 34.5962 330.823 33.9785 331.114 33.4796C331.402 32.9853 331.932 32.6802 332.504 32.6802C333.077 32.6802 333.607 32.9853 333.895 33.4796C334.186 33.9785 334.189 34.5962 333.901 35.0971L333.888 35.1197Z\",fill:\"#E9DFF2\"})),_path1988||(_path1988=/*#__PURE__*/React.createElement(\"path\",{d:\"M333.895 31.0764C333.607 31.5707 333.077 31.8758 332.504 31.8758C331.932 31.8758 331.402 31.5707 331.114 31.0764C330.823 30.5775 330.82 29.9599 331.107 29.4589L331.12 29.4363C331.405 28.9405 331.933 28.6348 332.504 28.6348C333.076 28.6348 333.604 28.9405 333.888 29.4363L333.901 29.4589C334.189 29.9599 334.186 30.5775 333.895 31.0764Z\",fill:\"#E9DFF2\"})),_path1989||(_path1989=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.2402 35.1139C39.9536 35.6133 39.4219 35.9212 38.8461 35.9212C38.2632 35.9212 37.726 35.6057 37.4422 35.0965L37.4327 35.0795C37.1586 34.5876 37.1607 33.9883 37.4383 33.4983C37.7248 32.9927 38.265 32.6802 38.8462 32.6802C39.4201 32.6802 39.9548 32.985 40.244 33.4808C40.535 33.9798 40.5372 34.5962 40.2498 35.0971L40.2402 35.1139Z\",fill:\"#E9DFF2\"})),_path1990||(_path1990=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.242 39.1415C39.954 39.6353 39.4178 39.9389 38.8462 39.9389C38.2674 39.9389 37.7256 39.6277 37.4402 39.1241C37.1617 38.6326 37.1617 38.0309 37.4402 37.5394C37.7256 37.0358 38.2674 36.7246 38.8462 36.7246C39.4178 36.7246 39.954 37.0282 40.242 37.522C40.5339 38.0224 40.5339 38.6411 40.242 39.1415Z\",fill:\"#E9DFF2\"})),_path1991||(_path1991=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.244 43.1831C39.9548 43.6789 39.4201 43.9838 38.8462 43.9838C38.265 43.9838 37.7248 43.6713 37.4383 43.1656C37.1607 42.6757 37.1586 42.0764 37.4327 41.5844L37.4422 41.5674C37.726 41.0583 38.2632 40.7427 38.8461 40.7427C39.4219 40.7427 39.9536 41.0506 40.2402 41.55L40.2498 41.5668C40.5372 42.0678 40.535 42.6842 40.244 43.1831Z\",fill:\"#E9DFF2\"})),_path1992||(_path1992=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.2402 47.2208C39.9536 47.7202 39.4219 48.0282 38.8461 48.0282C38.2632 48.0282 37.726 47.7126 37.4422 47.2034L37.4327 47.1864C37.1586 46.6945 37.1607 46.0952 37.4383 45.6052C37.7248 45.0996 38.265 44.7871 38.8462 44.7871C39.4201 44.7871 39.9548 45.092 40.244 45.5878C40.535 46.0867 40.5372 46.7031 40.2498 47.2041L40.2402 47.2208Z\",fill:\"#E9DFF2\"})),_path1993||(_path1993=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.242 51.249C39.954 51.7427 39.4178 52.0463 38.8462 52.0463C38.2674 52.0463 37.7256 51.7351 37.4402 51.2315C37.1617 50.74 37.1617 50.1383 37.4402 49.6468C37.7256 49.1433 38.2674 48.832 38.8462 48.832C39.4178 48.832 39.954 49.1356 40.242 49.6294C40.5339 50.1298 40.5339 50.7486 40.242 51.249Z\",fill:\"#E9DFF2\"})),_path1994||(_path1994=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.242 55.2929C39.954 55.7867 39.4178 56.0903 38.8462 56.0903C38.2674 56.0903 37.7256 55.779 37.4402 55.2755C37.1617 54.7839 37.1617 54.1823 37.4402 53.6908C37.7256 53.1872 38.2674 52.876 38.8462 52.876C39.4178 52.876 39.954 53.1796 40.242 53.6733C40.5339 54.1737 40.5339 54.7925 40.242 55.2929Z\",fill:\"#E9DFF2\"})),_path1995||(_path1995=/*#__PURE__*/React.createElement(\"path\",{d:\"M40.1662 59.2904C39.8921 59.7639 39.3865 60.0555 38.8394 60.0555C38.2923 60.0555 37.7866 59.7639 37.5125 59.2904C37.2395 58.8187 37.2372 58.2374 37.5068 57.7637L37.5183 57.7434C37.7886 57.2684 38.293 56.9751 38.8394 56.9751C39.3858 56.9751 39.8902 57.2684 40.1604 57.7434L40.172 57.7637C40.4416 58.2374 40.4393 58.8187 40.1662 59.2904Z\",fill:\"#E9DFF2\"})),_path1996||(_path1996=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.8745 63.129C39.665 63.4976 39.2699 63.7253 38.8459 63.7253C38.4291 63.7253 38.0395 63.5052 37.8274 63.1463C37.6089 62.7765 37.6089 62.317 37.8274 61.9472C38.0395 61.5883 38.4291 61.3682 38.8459 61.3682C39.2699 61.3682 39.665 61.5959 39.8745 61.9645C40.0796 62.3256 40.0796 62.7679 39.8745 63.129Z\",fill:\"#E9DFF2\"})),_path1997||(_path1997=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.351 66.8798C39.2502 67.0646 39.0566 67.1795 38.8461 67.1795C38.6427 67.1795 38.4544 67.0721 38.3509 66.897L38.3468 66.89C38.2376 66.7051 38.2376 66.4754 38.3468 66.2905L38.3509 66.2835C38.4544 66.1084 38.6427 66.001 38.8461 66.001C39.0566 66.001 39.2502 66.1159 39.351 66.3007L39.355 66.3081C39.451 66.484 39.451 66.6966 39.355 66.8724L39.351 66.8798Z\",fill:\"#E9DFF2\"})),_path1998||(_path1998=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.1521 70.8016C39.0915 70.9141 38.9738 70.9845 38.846 70.9845C38.7253 70.9845 38.6132 70.9218 38.5499 70.819C38.481 70.7071 38.481 70.5656 38.5499 70.4536C38.6132 70.3509 38.7253 70.2881 38.846 70.2881C38.9738 70.2881 39.0915 70.3585 39.1521 70.471C39.2076 70.5741 39.2076 70.6985 39.1521 70.8016Z\",fill:\"#E9DFF2\"})),_path1999||(_path1999=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.2857 74.9365C39.1917 75.0933 39.0223 75.1892 38.8395 75.1892C38.6567 75.1892 38.4873 75.0933 38.3932 74.9365L38.3868 74.9258C38.2866 74.7588 38.289 74.5496 38.393 74.3849C38.4875 74.2353 38.6521 74.1445 38.8291 74.1445H38.8498C39.0268 74.1445 39.1914 74.2353 39.2859 74.3849C39.3899 74.5496 39.3923 74.7588 39.2921 74.9258L39.2857 74.9365Z\",fill:\"#E9DFF2\"})),_path2000||(_path2000=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.351 78.9877C39.2502 79.1725 39.0566 79.2875 38.8461 79.2875C38.6427 79.2875 38.4544 79.18 38.3509 79.0049L38.3468 78.998C38.2376 78.813 38.2376 78.5833 38.3468 78.3984L38.3509 78.3914C38.4544 78.2163 38.6427 78.1089 38.8461 78.1089C39.0566 78.1089 39.2502 78.2239 39.351 78.4086L39.355 78.416C39.451 78.5919 39.451 78.8045 39.355 78.9804L39.351 78.9877Z\",fill:\"#E9DFF2\"})),_path2001||(_path2001=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.8488 83.3463C39.6398 83.7001 39.2571 83.9211 38.8461 83.9211C38.4281 83.9211 38.0399 83.6924 37.8334 83.3289C37.6283 82.9679 37.6283 82.5172 37.8334 82.1561C38.0399 81.7927 38.4281 81.564 38.8461 81.564C39.2571 81.564 39.6398 81.785 39.8488 82.1388C40.0674 82.5086 40.0674 82.9764 39.8488 83.3463Z\",fill:\"#E9DFF2\"})),_path2002||(_path2002=/*#__PURE__*/React.createElement(\"path\",{d:\"M39.3513 87.0634C39.2501 87.2406 39.0615 87.35 38.8574 87.35H38.8351C38.6379 87.35 38.4547 87.248 38.351 87.0804C38.2395 86.9003 38.2372 86.6733 38.3449 86.491L38.3509 86.4808C38.4544 86.3057 38.6427 86.1982 38.8461 86.1982C39.0566 86.1982 39.2502 86.3132 39.351 86.498L39.3568 86.5086C39.4514 86.682 39.4493 86.8919 39.3513 87.0634Z\",fill:\"#E9DFF2\"})),_path2003||(_path2003=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.4 194.535C337.114 195.039 336.579 195.35 336.001 195.35C335.422 195.35 334.887 195.039 334.601 194.535C334.323 194.044 334.323 193.442 334.601 192.951C334.887 192.447 335.422 192.136 336.001 192.136C336.579 192.136 337.114 192.447 337.4 192.951C337.678 193.442 337.678 194.044 337.4 194.535Z\",fill:\"#E9DFF2\"})),_path2004||(_path2004=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M336.683 190.114C336.542 190.354 336.285 190.501 336.007 190.501H335.994C335.716 190.501 335.459 190.354 335.318 190.114C335.177 189.873 335.174 189.575 335.312 189.332L335.32 189.317C335.459 189.072 335.719 188.921 336 188.921C336.282 188.921 336.541 189.072 336.68 189.317L336.688 189.332C336.826 189.575 336.824 189.873 336.683 190.114Z\",fill:\"#802DF6\"})),_path2005||(_path2005=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M337.403 186.489C337.115 186.983 336.579 187.287 336.007 187.287C335.429 187.287 334.887 186.975 334.601 186.472C334.323 185.98 334.323 185.379 334.601 184.887C334.887 184.383 335.429 184.072 336.007 184.072C336.579 184.072 337.115 184.376 337.403 184.87C337.695 185.37 337.695 185.989 337.403 186.489Z\",fill:\"#802DF6\"})),_path2006||(_path2006=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.403 182.446C337.115 182.94 336.579 183.244 336.007 183.244C335.429 183.244 334.887 182.932 334.601 182.429C334.323 181.937 334.323 181.336 334.601 180.844C334.887 180.341 335.429 180.029 336.007 180.029C336.579 180.029 337.115 180.333 337.403 180.827C337.695 181.327 337.695 181.946 337.403 182.446Z\",fill:\"#802DF6\"})),_path2007||(_path2007=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M337.401 178.418C337.115 178.917 336.583 179.225 336.007 179.225C335.424 179.225 334.887 178.91 334.603 178.401L334.594 178.384C334.32 177.892 334.322 177.292 334.599 176.802C334.886 176.297 335.426 175.984 336.007 175.984C336.581 175.984 337.116 176.289 337.405 176.785C337.696 177.284 337.698 177.9 337.411 178.401L337.401 178.418Z\",fill:\"#802DF6\"})),_path2008||(_path2008=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M337.405 174.38C337.116 174.876 336.581 175.181 336.007 175.181C335.426 175.181 334.886 174.868 334.599 174.362C334.322 173.872 334.32 173.273 334.594 172.781L334.603 172.764C334.887 172.255 335.424 171.939 336.007 171.939C336.583 171.939 337.115 172.247 337.401 172.747L337.411 172.764C337.698 173.265 337.696 173.881 337.405 174.38Z\",fill:\"#802DF6\"})),_path2009||(_path2009=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.403 170.338C337.115 170.832 336.579 171.136 336.007 171.136C335.429 171.136 334.887 170.824 334.601 170.321C334.323 169.829 334.323 169.228 334.601 168.736C334.887 168.233 335.429 167.921 336.007 167.921C336.579 167.921 337.115 168.225 337.403 168.719C337.695 169.219 337.695 169.838 337.403 170.338Z\",fill:\"#E9DFF2\"})),_path2010||(_path2010=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.401 166.311C337.115 166.81 336.583 167.118 336.007 167.118C335.424 167.118 334.887 166.802 334.603 166.293L334.594 166.276C334.32 165.784 334.322 165.185 334.599 164.695C334.886 164.189 335.426 163.877 336.007 163.877C336.581 163.877 337.116 164.182 337.405 164.678C337.696 165.177 337.698 165.793 337.411 166.294L337.401 166.311Z\",fill:\"#E9DFF2\"})),_path2011||(_path2011=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.405 162.272C337.116 162.768 336.581 163.073 336.007 163.073C335.426 163.073 334.886 162.761 334.599 162.255C334.322 161.765 334.32 161.166 334.594 160.674L334.603 160.657C334.887 160.148 335.424 159.832 336.007 159.832C336.583 159.832 337.115 160.14 337.401 160.639L337.411 160.656C337.698 161.157 337.696 161.774 337.405 162.272Z\",fill:\"#E9DFF2\"})),_path2012||(_path2012=/*#__PURE__*/React.createElement(\"path\",{d:\"M336.561 157.746C336.446 157.943 336.235 158.065 336.007 158.065C335.772 158.065 335.555 157.935 335.443 157.728C335.339 157.537 335.339 157.306 335.443 157.115C335.555 156.908 335.772 156.779 336.007 156.779C336.235 156.779 336.446 156.9 336.561 157.097C336.678 157.297 336.678 157.546 336.561 157.746Z\",fill:\"#E9DFF2\"})),_path2013||(_path2013=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.363 146.097C337.083 146.574 336.57 146.868 336.017 146.868H335.997C335.436 146.868 334.918 146.567 334.641 146.079C334.37 145.604 334.371 145.017 334.638 144.54C334.915 144.046 335.44 143.734 336.007 143.734C336.566 143.734 337.086 144.038 337.365 144.523C337.645 145.009 337.646 145.613 337.363 146.097Z\",fill:\"#E9DFF2\"})),_path2014||(_path2014=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.403 142.079C337.115 142.573 336.579 142.876 336.007 142.876C335.429 142.876 334.887 142.565 334.601 142.062C334.323 141.57 334.323 140.968 334.601 140.477C334.887 139.973 335.429 139.662 336.007 139.662C336.579 139.662 337.115 139.966 337.403 140.459C337.695 140.96 337.695 141.579 337.403 142.079Z\",fill:\"#E9DFF2\"})),_path2015||(_path2015=/*#__PURE__*/React.createElement(\"path\",{d:\"M336.325 137.443C336.256 137.557 336.133 137.627 336 137.627C335.867 137.627 335.744 137.557 335.676 137.443L335.667 137.429C335.592 137.304 335.595 137.148 335.673 137.026C335.744 136.916 335.865 136.85 335.995 136.85H336.006C336.136 136.85 336.257 136.916 336.327 137.026C336.406 137.148 336.408 137.304 336.334 137.429L336.325 137.443Z\",fill:\"#E9DFF2\"})),_path2016||(_path2016=/*#__PURE__*/React.createElement(\"path\",{d:\"M336.879 52.9799C336.7 53.297 336.364 53.4932 336 53.4932C335.636 53.4932 335.3 53.297 335.121 52.9799L335.109 52.9585C334.931 52.6425 334.933 52.2552 335.115 51.9413C335.298 51.6256 335.635 51.4307 336 51.4307C336.365 51.4307 336.702 51.6256 336.885 51.9412C337.067 52.2552 337.069 52.6425 336.891 52.9585L336.879 52.9799Z\",fill:\"#E9DFF2\"})),_path2017||(_path2017=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.405 49.2363C337.116 49.7321 336.581 50.037 336.007 50.037C335.426 50.037 334.886 49.7245 334.599 49.2189C334.322 48.7289 334.32 48.1296 334.594 47.6377L334.603 47.6206C334.887 47.1115 335.424 46.7959 336.007 46.7959C336.583 46.7959 337.115 47.1039 337.401 47.6033L337.411 47.62C337.698 48.121 337.696 48.7374 337.405 49.2363Z\",fill:\"#E9DFF2\"})),_path2018||(_path2018=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.403 45.1953C337.115 45.689 336.579 45.9926 336.007 45.9926C335.429 45.9926 334.887 45.6814 334.601 45.1778C334.323 44.6863 334.323 44.0846 334.601 43.5931C334.887 43.0895 335.429 42.7783 336.007 42.7783C336.579 42.7783 337.115 43.0819 337.403 43.5757C337.695 44.0761 337.695 44.6949 337.403 45.1953Z\",fill:\"#E9DFF2\"})),_path2019||(_path2019=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.401 41.1676C337.115 41.667 336.583 41.975 336.007 41.975C335.424 41.975 334.887 41.6594 334.603 41.1502L334.594 41.1332C334.32 40.6413 334.322 40.042 334.599 39.552C334.886 39.0464 335.426 38.7339 336.007 38.7339C336.581 38.7339 337.116 39.0388 337.405 39.5346C337.696 40.0335 337.698 40.6499 337.411 41.1509L337.401 41.1676Z\",fill:\"#E9DFF2\"})),_path2020||(_path2020=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.405 37.1299C337.116 37.6257 336.581 37.9305 336.007 37.9305C335.426 37.9305 334.886 37.618 334.599 37.1124C334.322 36.6224 334.32 36.0231 334.594 35.5312L334.603 35.5142C334.887 35.005 335.424 34.6895 336.007 34.6895C336.583 34.6895 337.115 34.9974 337.401 35.4968L337.411 35.5136C337.698 36.0145 337.696 36.6309 337.405 37.1299Z\",fill:\"#E9DFF2\"})),_path2021||(_path2021=/*#__PURE__*/React.createElement(\"path\",{d:\"M337.366 33.0688C337.085 33.557 336.563 33.859 336 33.859C335.436 33.859 334.915 33.557 334.634 33.0688C334.352 32.5804 334.352 31.9768 334.634 31.4884C334.915 31.0002 335.436 30.6982 336 30.6982C336.563 30.6982 337.085 31.0002 337.366 31.4884C337.647 31.9768 337.647 32.5804 337.366 33.0688Z\",fill:\"#E9DFF2\"})),_path2022||(_path2022=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.3601 32.8577C36.1539 33.2123 35.7746 33.4305 35.3643 33.4305H35.3504C34.9401 33.4305 34.5608 33.2123 34.3546 32.8577C34.1466 32.4998 34.1466 32.0577 34.3546 31.6998C34.5608 31.3452 34.9401 31.127 35.3504 31.127H35.3643C35.7746 31.127 36.1539 31.3452 36.3601 31.6998C36.5681 32.0577 36.5681 32.4998 36.3601 32.8577Z\",fill:\"#E9DFF2\"})),_path2023||(_path2023=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.7345 37.1311C36.4461 37.6254 35.9163 37.9305 35.344 37.9305C34.7718 37.9305 34.2419 37.6254 33.9536 37.1311C33.6626 36.6322 33.6596 36.0145 33.9471 35.5136L33.96 35.491C34.2445 34.9952 34.7724 34.6895 35.344 34.6895C35.9156 34.6895 36.4436 34.9952 36.728 35.491L36.741 35.5136C37.0284 36.0145 37.0255 36.6322 36.7345 37.1311Z\",fill:\"#E9DFF2\"})),_path2024||(_path2024=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.728 41.1734C36.4436 41.6692 35.9156 41.975 35.344 41.975C34.7724 41.975 34.2445 41.6692 33.96 41.1734L33.9471 41.1509C33.6596 40.6499 33.6626 40.0322 33.9536 39.5333C34.2419 39.039 34.7718 38.7339 35.344 38.7339C35.9163 38.7339 36.4461 39.039 36.7345 39.5333C37.0255 40.0322 37.0284 40.6499 36.741 41.1509L36.728 41.1734Z\",fill:\"#E9DFF2\"})),_path2025||(_path2025=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.7333 45.1953C36.4452 45.689 35.9156 45.9926 35.344 45.9926C34.7724 45.9926 34.2428 45.689 33.9548 45.1953C33.6629 44.6949 33.6629 44.0761 33.9548 43.5757C34.2428 43.0819 34.7724 42.7783 35.344 42.7783C35.9156 42.7783 36.4452 43.0819 36.7333 43.5757C37.0252 44.0761 37.0252 44.6949 36.7333 45.1953Z\",fill:\"#E9DFF2\"})),_path2026||(_path2026=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.7345 49.2375C36.4461 49.7318 35.9163 50.037 35.344 50.037C34.7718 50.037 34.2419 49.7318 33.9536 49.2375C33.6626 48.7386 33.6596 48.121 33.9471 47.62L33.96 47.5974C34.2445 47.1017 34.7724 46.7959 35.344 46.7959C35.9156 46.7959 36.4436 47.1016 36.728 47.5974L36.741 47.62C37.0284 48.121 37.0255 48.7386 36.7345 49.2375Z\",fill:\"#E9DFF2\"})),_path2027||(_path2027=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.728 53.2804C36.4436 53.7761 35.9156 54.0819 35.344 54.0819C34.7724 54.0819 34.2445 53.7761 33.96 53.2804L33.9471 53.2578C33.6596 52.7568 33.6626 52.1392 33.9536 51.6403C34.2419 51.146 34.7718 50.8408 35.344 50.8408C35.9163 50.8408 36.4461 51.146 36.7345 51.6403C37.0255 52.1392 37.0284 52.7568 36.741 53.2578L36.728 53.2804Z\",fill:\"#E9DFF2\"})),_path2028||(_path2028=/*#__PURE__*/React.createElement(\"path\",{d:\"M36.4434 57.1194C36.2189 57.5103 35.8025 57.7513 35.3518 57.7513H35.3359C34.8852 57.7513 34.4688 57.5103 34.2443 57.1194C34.0212 56.7311 34.0212 56.2535 34.2443 55.8652C34.4688 55.4744 34.8852 55.2334 35.3359 55.2334H35.3518C35.8025 55.2334 36.2189 55.4744 36.4434 55.8652C36.6665 56.2535 36.6665 56.7311 36.4434 57.1194Z\",fill:\"#E9DFF2\"})),_path2029||(_path2029=/*#__PURE__*/React.createElement(\"path\",{d:\"M339.83 191.921C339.765 192.036 339.641 192.109 339.509 192.109C339.376 192.109 339.253 192.036 339.187 191.921C339.122 191.806 339.122 191.662 339.187 191.546C339.253 191.431 339.376 191.359 339.509 191.359C339.641 191.359 339.765 191.431 339.83 191.546C339.896 191.662 339.896 191.806 339.83 191.921Z\",fill:\"#E9DFF2\"})),_path2030||(_path2030=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M340.83 188.438C340.56 188.917 340.052 189.216 339.502 189.216C338.959 189.216 338.457 188.925 338.185 188.455C337.911 187.982 337.911 187.396 338.185 186.923C338.457 186.453 338.959 186.162 339.502 186.162C340.052 186.162 340.56 186.46 340.83 186.94C341.09 187.404 341.09 187.973 340.83 188.438Z\",fill:\"#802DF6\"})),_path2031||(_path2031=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M340.88 184.477C340.595 184.972 340.067 185.278 339.496 185.278C338.924 185.278 338.396 184.972 338.112 184.477L338.099 184.454C337.811 183.953 337.814 183.335 338.105 182.837C338.394 182.342 338.924 182.037 339.496 182.037C340.068 182.037 340.598 182.342 340.886 182.837C341.177 183.335 341.18 183.953 340.893 184.454L340.88 184.477Z\",fill:\"#802DF6\"})),_path2032||(_path2032=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M340.885 180.437C340.597 180.931 340.067 181.234 339.496 181.234C338.924 181.234 338.395 180.931 338.107 180.437C337.815 179.937 337.815 179.318 338.107 178.817C338.395 178.324 338.924 178.02 339.496 178.02C340.067 178.02 340.597 178.324 340.885 178.817C341.177 179.318 341.177 179.937 340.885 180.437Z\",fill:\"#802DF6\"})),_path2033||(_path2033=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M340.885 176.392C340.597 176.886 340.067 177.189 339.496 177.189C338.924 177.189 338.395 176.886 338.107 176.392C337.815 175.892 337.815 175.273 338.107 174.772C338.395 174.279 338.924 173.975 339.496 173.975C340.067 173.975 340.597 174.279 340.885 174.772C341.177 175.273 341.177 175.892 340.885 176.392Z\",fill:\"#802DF6\"})),_path2034||(_path2034=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.88 172.37C340.595 172.866 340.067 173.171 339.496 173.171C338.924 173.171 338.396 172.866 338.112 172.37L338.099 172.347C337.811 171.846 337.814 171.229 338.105 170.73C338.394 170.235 338.924 169.93 339.496 169.93C340.068 169.93 340.598 170.235 340.886 170.73C341.177 171.229 341.18 171.846 340.893 172.347L340.88 172.37Z\",fill:\"#E9DFF2\"})),_path2035||(_path2035=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.886 168.328C340.598 168.822 340.068 169.127 339.496 169.127C338.924 169.127 338.394 168.822 338.105 168.328C337.814 167.829 337.811 167.211 338.099 166.71L338.112 166.688C338.396 166.192 338.924 165.886 339.496 165.886C340.067 165.886 340.595 166.192 340.88 166.688L340.893 166.71C341.18 167.211 341.177 167.829 340.886 168.328Z\",fill:\"#E9DFF2\"})),_path2036||(_path2036=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.885 164.285C340.597 164.778 340.067 165.082 339.496 165.082C338.924 165.082 338.395 164.778 338.107 164.285C337.815 163.784 337.815 163.165 338.107 162.665C338.395 162.171 338.924 161.868 339.496 161.868C340.067 161.868 340.597 162.171 340.885 162.665C341.177 163.165 341.177 163.784 340.885 164.285Z\",fill:\"#E9DFF2\"})),_path2037||(_path2037=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.88 160.262C340.595 160.758 340.067 161.064 339.496 161.064C338.924 161.064 338.396 160.758 338.112 160.262L338.099 160.24C337.811 159.739 337.814 159.121 338.105 158.622C338.394 158.128 338.924 157.823 339.496 157.823C340.068 157.823 340.598 158.128 340.886 158.622C341.177 159.121 341.18 159.739 340.893 160.24L340.88 160.262Z\",fill:\"#E9DFF2\"})),_path2038||(_path2038=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.753 156.127C340.497 156.564 340.028 156.833 339.522 156.833H339.484C338.984 156.833 338.521 156.571 338.263 156.144C337.991 155.694 337.991 155.128 338.259 154.676C338.518 154.238 338.994 153.967 339.503 153.967C340.018 153.967 340.5 154.246 340.757 154.693C341.011 155.136 341.011 155.685 340.753 156.127Z\",fill:\"#E9DFF2\"})),_path2039||(_path2039=/*#__PURE__*/React.createElement(\"path\",{d:\"M339.953 151.619C339.861 151.779 339.691 151.877 339.507 151.877H339.485C339.301 151.877 339.131 151.779 339.039 151.62C338.948 151.463 338.946 151.271 339.033 151.113L339.039 151.102C339.131 150.935 339.306 150.832 339.496 150.832C339.686 150.832 339.861 150.935 339.952 151.102L339.958 151.113C340.045 151.271 340.043 151.463 339.953 151.619Z\",fill:\"#E9DFF2\"})),_path2040||(_path2040=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.797 148.068C340.532 148.532 340.036 148.823 339.502 148.823C338.975 148.823 338.485 148.54 338.217 148.086C337.942 147.618 337.942 147.033 338.221 146.568C338.488 146.122 338.97 145.85 339.49 145.85H339.515C340.042 145.85 340.529 146.13 340.794 146.585C341.06 147.042 341.059 147.61 340.797 148.068Z\",fill:\"#E9DFF2\"})),_path2041||(_path2041=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.88 144.111C340.595 144.607 340.067 144.912 339.496 144.912C338.924 144.912 338.396 144.607 338.112 144.111L338.099 144.088C337.811 143.587 337.814 142.97 338.105 142.471C338.394 141.977 338.924 141.671 339.496 141.671C340.068 141.671 340.598 141.977 340.886 142.471C341.177 142.97 341.18 143.587 340.893 144.088L340.88 144.111Z\",fill:\"#E9DFF2\"})),_path2042||(_path2042=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.885 47.204C340.597 47.6978 340.067 48.0014 339.496 48.0014C338.924 48.0014 338.395 47.6978 338.107 47.204C337.815 46.7036 337.815 46.0849 338.107 45.5845C338.395 45.0907 338.924 44.7871 339.496 44.7871C340.067 44.7871 340.597 45.0907 340.885 45.5845C341.177 46.0849 341.177 46.7036 340.885 47.204Z\",fill:\"#E9DFF2\"})),_path2043||(_path2043=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.886 43.1843C340.598 43.6786 340.068 43.9838 339.496 43.9838C338.924 43.9838 338.394 43.6786 338.105 43.1843C337.814 42.6854 337.811 42.0678 338.099 41.5668L338.112 41.5442C338.396 41.0484 338.924 40.7427 339.496 40.7427C340.067 40.7427 340.595 41.0484 340.88 41.5442L340.893 41.5668C341.18 42.0678 341.177 42.6854 340.886 43.1843Z\",fill:\"#E9DFF2\"})),_path2044||(_path2044=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.885 39.1415C340.597 39.6353 340.067 39.9389 339.496 39.9389C338.924 39.9389 338.395 39.6353 338.107 39.1415C337.815 38.6411 337.815 38.0224 338.107 37.522C338.395 37.0282 338.924 36.7246 339.496 36.7246C340.067 36.7246 340.597 37.0282 340.885 37.522C341.177 38.0224 341.177 38.6411 340.885 39.1415Z\",fill:\"#E9DFF2\"})),_path2045||(_path2045=/*#__PURE__*/React.createElement(\"path\",{d:\"M340.88 35.1197C340.595 35.6155 340.067 35.9212 339.496 35.9212C338.924 35.9212 338.396 35.6155 338.112 35.1197L338.099 35.0971C337.811 34.5962 337.814 33.9785 338.105 33.4796C338.394 32.9853 338.924 32.6802 339.496 32.6802C340.068 32.6802 340.598 32.9853 340.886 33.4796C341.177 33.9785 341.18 34.5962 340.893 35.0971L340.88 35.1197Z\",fill:\"#E9DFF2\"})),_path2046||(_path2046=/*#__PURE__*/React.createElement(\"path\",{d:\"M32.1212 30.4071C32.0685 30.5037 31.9672 30.5638 31.8572 30.5638H31.853C31.7499 30.5638 31.654 30.5112 31.5987 30.4242C31.5381 30.329 31.5357 30.2079 31.5926 30.1105L31.603 30.0926C31.6553 30.0029 31.7514 29.9478 31.8552 29.9478C31.9658 29.9478 32.067 30.0102 32.1164 30.1092L32.1262 30.1287C32.1702 30.2167 32.1683 30.3207 32.1212 30.4071Z\",fill:\"#E9DFF2\"})),_path2047||(_path2047=/*#__PURE__*/React.createElement(\"path\",{d:\"M33.2492 35.1139C32.9627 35.6133 32.4309 35.9212 31.8551 35.9212C31.2723 35.9212 30.7351 35.6057 30.4513 35.0965L30.4418 35.0795C30.1676 34.5876 30.1697 33.9883 30.4474 33.4983C30.7339 32.9927 31.274 32.6802 31.8552 32.6802C32.4292 32.6802 32.9638 32.985 33.253 33.4808C33.544 33.9798 33.5463 34.5962 33.2588 35.0971L33.2492 35.1139Z\",fill:\"#E9DFF2\"})),_path2048||(_path2048=/*#__PURE__*/React.createElement(\"path\",{d:\"M33.2511 39.1415C32.9631 39.6353 32.4268 39.9389 31.8552 39.9389C31.2764 39.9389 30.7346 39.6277 30.4492 39.1241C30.1707 38.6326 30.1707 38.0309 30.4492 37.5394C30.7346 37.0358 31.2764 36.7246 31.8552 36.7246C32.4268 36.7246 32.9631 37.0282 33.2511 37.522C33.543 38.0224 33.543 38.6411 33.2511 39.1415Z\",fill:\"#E9DFF2\"})),_path2049||(_path2049=/*#__PURE__*/React.createElement(\"path\",{d:\"M33.253 43.1831C32.9638 43.6789 32.4292 43.9838 31.8552 43.9838C31.274 43.9838 30.7339 43.6713 30.4474 43.1656C30.1697 42.6757 30.1676 42.0764 30.4418 41.5844L30.4513 41.5674C30.7351 41.0583 31.2723 40.7427 31.8551 40.7427C32.4309 40.7427 32.9627 41.0506 33.2492 41.55L33.2588 41.5668C33.5463 42.0678 33.544 42.6842 33.253 43.1831Z\",fill:\"#E9DFF2\"})),_path2050||(_path2050=/*#__PURE__*/React.createElement(\"path\",{d:\"M33.2492 47.2208C32.9627 47.7202 32.4309 48.0282 31.8551 48.0282C31.2723 48.0282 30.7351 47.7126 30.4513 47.2034L30.4418 47.1864C30.1676 46.6945 30.1697 46.0952 30.4474 45.6052C30.7339 45.0996 31.274 44.7871 31.8552 44.7871C32.4292 44.7871 32.9638 45.092 33.253 45.5878C33.544 46.0867 33.5463 46.7031 33.2588 47.2041L33.2492 47.2208Z\",fill:\"#E9DFF2\"})),_path2051||(_path2051=/*#__PURE__*/React.createElement(\"path\",{d:\"M33.2511 51.249C32.9631 51.7427 32.4268 52.0463 31.8552 52.0463C31.2764 52.0463 30.7346 51.7351 30.4492 51.2315C30.1707 50.74 30.1707 50.1383 30.4492 49.6468C30.7346 49.1433 31.2764 48.832 31.8552 48.832C32.4268 48.832 32.9631 49.1356 33.2511 49.6294C33.543 50.1298 33.543 50.7486 33.2511 51.249Z\",fill:\"#E9DFF2\"})),_path2052||(_path2052=/*#__PURE__*/React.createElement(\"path\",{d:\"M32.8508 55.0627C32.6446 55.4174 32.2653 55.6356 31.8551 55.6356H31.8411C31.4308 55.6356 31.0516 55.4174 30.8454 55.0627C30.6373 54.7048 30.6373 54.2628 30.8454 53.9049C31.0516 53.5502 31.4308 53.332 31.8411 53.332H31.8551C32.2653 53.332 32.6446 53.5502 32.8508 53.9049C33.0589 54.2628 33.0589 54.7048 32.8508 55.0627Z\",fill:\"#E9DFF2\"})),_path2053||(_path2053=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M343.833 186.165C343.66 186.462 343.343 186.644 343 186.644H342.983C342.64 186.644 342.322 186.462 342.15 186.165C341.974 185.865 341.974 185.494 342.15 185.194C342.322 184.897 342.64 184.715 342.983 184.715H343C343.343 184.715 343.66 184.897 343.833 185.194C344.008 185.494 344.008 185.865 343.833 186.165Z\",fill:\"#802DF6\"})),_path2054||(_path2054=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M344.394 182.446C344.106 182.94 343.57 183.244 342.998 183.244C342.419 183.244 341.877 182.932 341.592 182.429C341.314 181.937 341.314 181.336 341.592 180.844C341.877 180.341 342.419 180.029 342.998 180.029C343.57 180.029 344.106 180.333 344.394 180.827C344.686 181.327 344.686 181.946 344.394 182.446Z\",fill:\"#802DF6\"})),_path2055||(_path2055=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M344.392 178.418C344.105 178.917 343.574 179.225 342.998 179.225C342.415 179.225 341.878 178.91 341.594 178.401L341.585 178.384C341.31 177.892 341.313 177.292 341.59 176.802C341.877 176.297 342.417 175.984 342.998 175.984C343.572 175.984 344.107 176.289 344.396 176.785C344.687 177.284 344.689 177.9 344.402 178.401L344.392 178.418Z\",fill:\"#802DF6\"})),_path2056||(_path2056=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.396 174.38C344.107 174.876 343.572 175.181 342.998 175.181C342.417 175.181 341.877 174.868 341.59 174.362C341.313 173.872 341.31 173.273 341.585 172.781L341.594 172.764C341.878 172.255 342.415 171.939 342.998 171.939C343.574 171.939 344.105 172.247 344.392 172.747L344.402 172.764C344.689 173.265 344.687 173.881 344.396 174.38Z\",fill:\"#E9DFF2\"})),_path2057||(_path2057=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.394 170.338C344.106 170.832 343.57 171.136 342.998 171.136C342.419 171.136 341.877 170.824 341.592 170.321C341.314 169.829 341.314 169.228 341.592 168.736C341.877 168.233 342.419 167.921 342.998 167.921C343.57 167.921 344.106 168.225 344.394 168.719C344.686 169.219 344.686 169.838 344.394 170.338Z\",fill:\"#E9DFF2\"})),_path2058||(_path2058=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.392 166.311C344.105 166.81 343.574 167.118 342.998 167.118C342.415 167.118 341.878 166.802 341.594 166.293L341.585 166.276C341.31 165.784 341.313 165.185 341.59 164.695C341.877 164.189 342.417 163.877 342.998 163.877C343.572 163.877 344.107 164.182 344.396 164.678C344.687 165.177 344.689 165.793 344.402 166.294L344.392 166.311Z\",fill:\"#E9DFF2\"})),_path2059||(_path2059=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.198 162.161C343.949 162.592 343.489 162.859 342.991 162.859C342.494 162.859 342.034 162.592 341.785 162.161C341.537 161.732 341.534 161.202 341.778 160.771L341.792 160.746C342.037 160.314 342.495 160.047 342.991 160.047C343.488 160.047 343.946 160.314 344.191 160.746L344.205 160.771C344.449 161.202 344.445 161.732 344.198 162.161Z\",fill:\"#E9DFF2\"})),_path2060||(_path2060=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.354 146.097C344.074 146.574 343.562 146.868 343.008 146.868H342.975C342.421 146.868 341.909 146.574 341.629 146.097C341.345 145.613 341.345 145.011 341.625 144.525C341.906 144.038 342.429 143.734 342.991 143.734C343.554 143.734 344.077 144.038 344.358 144.525C344.638 145.011 344.638 145.613 344.354 146.097Z\",fill:\"#E9DFF2\"})),_path2061||(_path2061=/*#__PURE__*/React.createElement(\"path\",{d:\"M343.264 64.7201C343.212 64.8167 343.11 64.8768 343 64.8768H342.996C342.893 64.8768 342.797 64.8242 342.742 64.7372C342.681 64.642 342.679 64.5209 342.736 64.4234L342.746 64.4056C342.798 64.3159 342.894 64.2607 342.998 64.2607C343.109 64.2607 343.21 64.3232 343.26 64.4222L343.269 64.4416C343.313 64.5297 343.311 64.6337 343.264 64.7201Z\",fill:\"#E9DFF2\"})),_path2062||(_path2062=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.283 61.2987C344.014 61.7562 343.522 62.0371 342.991 62.0371C342.46 62.0371 341.968 61.7562 341.699 61.2987C341.422 60.8287 341.422 60.2455 341.699 59.7756C341.968 59.318 342.46 59.0371 342.991 59.0371C343.522 59.0371 344.014 59.318 344.283 59.7756C344.56 60.2455 344.56 60.8287 344.283 61.2987Z\",fill:\"#E9DFF2\"})),_path2063||(_path2063=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.394 57.3022C344.106 57.7959 343.57 58.0995 342.998 58.0995C342.419 58.0995 341.877 57.7883 341.592 57.2847C341.314 56.7932 341.314 56.1916 341.592 55.7001C341.877 55.1965 342.419 54.8853 342.998 54.8853C343.57 54.8853 344.106 55.1889 344.394 55.6826C344.686 56.183 344.686 56.8018 344.394 57.3022Z\",fill:\"#E9DFF2\"})),_path2064||(_path2064=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.357 53.24C344.077 53.7246 343.557 54.029 342.998 54.029C342.432 54.029 341.906 53.7168 341.63 53.2224C341.363 52.7456 341.362 52.1584 341.632 51.6836C341.909 51.1961 342.427 50.895 342.988 50.895H343.008C343.562 50.895 344.074 51.1885 344.354 51.6662C344.638 52.1499 344.637 52.7542 344.357 53.24Z\",fill:\"#E9DFF2\"})),_path2065||(_path2065=/*#__PURE__*/React.createElement(\"path\",{d:\"M343.672 48.8225C343.532 49.0603 343.274 49.2064 342.998 49.2064C342.715 49.2064 342.451 49.0526 342.314 48.8049C342.185 48.5713 342.185 48.2879 342.314 48.0544C342.451 47.8066 342.715 47.6528 342.998 47.6528C343.274 47.6528 343.532 47.7989 343.672 48.0368C343.814 48.2794 343.814 48.5799 343.672 48.8225Z\",fill:\"#E9DFF2\"})),_path2066||(_path2066=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.394 45.1953C344.106 45.689 343.57 45.9926 342.998 45.9926C342.419 45.9926 341.877 45.6814 341.592 45.1778C341.314 44.6863 341.314 44.0846 341.592 43.5931C341.877 43.0895 342.419 42.7783 342.998 42.7783C343.57 42.7783 344.106 43.0819 344.394 43.5757C344.686 44.0761 344.686 44.6949 344.394 45.1953Z\",fill:\"#E9DFF2\"})),_path2067||(_path2067=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.392 41.1676C344.105 41.667 343.574 41.975 342.998 41.975C342.415 41.975 341.878 41.6594 341.594 41.1502L341.585 41.1332C341.31 40.6413 341.313 40.042 341.59 39.552C341.877 39.0464 342.417 38.7339 342.998 38.7339C343.572 38.7339 344.107 39.0388 344.396 39.5346C344.687 40.0335 344.689 40.6499 344.402 41.1509L344.392 41.1676Z\",fill:\"#E9DFF2\"})),_path2068||(_path2068=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.396 37.1299C344.107 37.6257 343.572 37.9305 342.998 37.9305C342.417 37.9305 341.877 37.618 341.59 37.1124C341.313 36.6224 341.31 36.0231 341.585 35.5312L341.594 35.5142C341.878 35.005 342.415 34.6895 342.998 34.6895C343.574 34.6895 344.105 34.9974 344.392 35.4968L344.402 35.5136C344.689 36.0145 344.687 36.6309 344.396 37.1299Z\",fill:\"#E9DFF2\"})),_path2069||(_path2069=/*#__PURE__*/React.createElement(\"path\",{d:\"M344.349 33.0469C344.073 33.5324 343.557 33.8322 342.998 33.8322C342.447 33.8322 341.936 33.54 341.657 33.0643C341.373 32.5792 341.373 31.9782 341.657 31.493C341.936 31.0173 342.447 30.7251 342.998 30.7251C343.557 30.7251 344.073 31.0249 344.349 31.5104C344.62 31.9867 344.62 32.5706 344.349 33.0469Z\",fill:\"#E9DFF2\"})),_path2070||(_path2070=/*#__PURE__*/React.createElement(\"path\",{d:\"M29.7418 33.0883C29.4538 33.5821 28.9242 33.8857 28.3526 33.8857C27.781 33.8857 27.2514 33.5821 26.9633 33.0883C26.6714 32.5879 26.6714 31.9691 26.9633 31.4687C27.2514 30.975 27.781 30.6714 28.3526 30.6714C28.9242 30.6714 29.4538 30.975 29.7418 31.4687C30.0337 31.9691 30.0337 32.5879 29.7418 33.0883Z\",fill:\"#E9DFF2\"})),_path2071||(_path2071=/*#__PURE__*/React.createElement(\"path\",{d:\"M29.743 37.1311C29.4547 37.6254 28.9248 37.9305 28.3526 37.9305C27.7803 37.9305 27.2505 37.6254 26.9621 37.1311C26.6711 36.6322 26.6682 36.0145 26.9556 35.5136L26.9686 35.491C27.253 34.9952 27.781 34.6895 28.3526 34.6895C28.9242 34.6895 29.4521 34.9952 29.7366 35.491L29.7495 35.5136C30.037 36.0145 30.0341 36.6322 29.743 37.1311Z\",fill:\"#E9DFF2\"})),_path2072||(_path2072=/*#__PURE__*/React.createElement(\"path\",{d:\"M29.7366 41.1734C29.4521 41.6692 28.9242 41.975 28.3526 41.975C27.781 41.975 27.253 41.6692 26.9686 41.1734L26.9556 41.1509C26.6682 40.6499 26.6711 40.0322 26.9621 39.5333C27.2505 39.039 27.7803 38.7339 28.3526 38.7339C28.9248 38.7339 29.4547 39.039 29.743 39.5333C30.0341 40.0322 30.037 40.6499 29.7495 41.1509L29.7366 41.1734Z\",fill:\"#E9DFF2\"})),_path2073||(_path2073=/*#__PURE__*/React.createElement(\"path\",{d:\"M29.7418 45.1953C29.4538 45.689 28.9242 45.9926 28.3526 45.9926C27.781 45.9926 27.2514 45.689 26.9633 45.1953C26.6714 44.6949 26.6714 44.0761 26.9633 43.5757C27.2514 43.0819 27.781 42.7783 28.3526 42.7783C28.9242 42.7783 29.4538 43.0819 29.7418 43.5757C30.0337 44.0761 30.0337 44.6949 29.7418 45.1953Z\",fill:\"#E9DFF2\"})),_path2074||(_path2074=/*#__PURE__*/React.createElement(\"path\",{d:\"M29.743 49.2375C29.4547 49.7318 28.9248 50.037 28.3526 50.037C27.7803 50.037 27.2505 49.7318 26.9621 49.2375C26.6711 48.7386 26.6682 48.121 26.9556 47.62L26.9686 47.5974C27.253 47.1017 27.781 46.7959 28.3526 46.7959C28.9242 46.7959 29.4521 47.1017 29.7366 47.5974L29.7495 47.62C30.037 48.121 30.0341 48.7386 29.743 49.2375Z\",fill:\"#E9DFF2\"})),_path2075||(_path2075=/*#__PURE__*/React.createElement(\"path\",{d:\"M28.7254 52.6666C28.6524 52.7964 28.5151 52.8767 28.3662 52.8767C28.2173 52.8767 28.0799 52.7964 28.0069 52.6666L28.0004 52.655C27.9284 52.5271 27.9306 52.3705 28.0061 52.2447C28.0799 52.1217 28.2129 52.0464 28.3563 52.0464H28.376C28.5195 52.0464 28.6524 52.1217 28.7262 52.2447C28.8017 52.3705 28.8039 52.5271 28.732 52.655L28.7254 52.6666Z\",fill:\"#E9DFF2\"})),_path2076||(_path2076=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.553 180.251C347.333 180.627 346.929 180.859 346.493 180.859C346.051 180.859 345.642 180.619 345.424 180.234C345.211 179.858 345.211 179.396 345.424 179.019C345.642 178.634 346.051 178.395 346.493 178.395C346.929 178.395 347.333 178.626 347.553 179.002C347.779 179.387 347.779 179.866 347.553 180.251Z\",fill:\"#E9DFF2\"})),_path2077||(_path2077=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.876 176.392C347.588 176.886 347.058 177.189 346.487 177.189C345.915 177.189 345.385 176.886 345.097 176.392C344.805 175.892 344.805 175.273 345.097 174.772C345.385 174.279 345.915 173.975 346.487 173.975C347.058 173.975 347.588 174.279 347.876 174.772C348.168 175.273 348.168 175.892 347.876 176.392Z\",fill:\"#E9DFF2\"})),_path2078||(_path2078=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.867 172.326C347.585 172.816 347.058 173.118 346.493 173.118C345.935 173.118 345.415 172.824 345.13 172.344C344.835 171.847 344.835 171.228 345.13 170.731C345.415 170.251 345.935 169.957 346.493 169.957C347.058 169.957 347.585 170.259 347.867 170.748C348.148 171.237 348.148 171.838 347.867 172.326Z\",fill:\"#E9DFF2\"})),_path2079||(_path2079=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.421 168.047C347.232 168.368 346.888 168.564 346.516 168.564H346.485C346.113 168.564 345.768 168.368 345.579 168.047C345.387 167.721 345.387 167.314 345.575 166.986C345.765 166.655 346.119 166.448 346.5 166.448C346.881 166.448 347.235 166.655 347.425 166.986C347.614 167.314 347.614 167.721 347.421 168.047Z\",fill:\"#E9DFF2\"})),_path2080||(_path2080=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.025 147.627C346.916 147.82 346.709 147.94 346.487 147.94C346.265 147.94 346.058 147.82 345.948 147.627C345.842 147.439 345.842 147.209 345.948 147.02C346.058 146.827 346.265 146.708 346.487 146.708C346.709 146.708 346.916 146.827 347.025 147.02C347.132 147.209 347.132 147.439 347.025 147.627Z\",fill:\"#E9DFF2\"})),_path2081||(_path2081=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.827 59.2904C347.553 59.7639 347.047 60.0555 346.5 60.0555C345.953 60.0555 345.447 59.7639 345.173 59.2904C344.9 58.8187 344.898 58.2374 345.167 57.7637L345.179 57.7434C345.449 57.2684 345.954 56.9751 346.5 56.9751C347.046 56.9751 347.551 57.2684 347.821 57.7434L347.833 57.7637C348.102 58.2374 348.1 58.8187 347.827 59.2904Z\",fill:\"#E9DFF2\"})),_path2082||(_path2082=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.866 55.2744C347.585 55.7626 347.064 56.0645 346.5 56.0645C345.937 56.0645 345.416 55.7626 345.134 55.2743C344.853 54.7859 344.853 54.1824 345.134 53.694C345.416 53.2058 345.937 52.9038 346.5 52.9038C347.064 52.9038 347.585 53.2058 347.866 53.694C348.148 54.1824 348.148 54.7859 347.866 55.2744Z\",fill:\"#E9DFF2\"})),_path2083||(_path2083=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.87 51.2348C347.589 51.7317 347.058 52.0459 346.487 52.0459C345.916 52.0459 345.385 51.7317 345.103 51.2348C344.826 50.7459 344.824 50.1399 345.105 49.653C345.388 49.1614 345.919 48.8584 346.487 48.8584C347.054 48.8584 347.585 49.1614 347.869 49.653C348.149 50.1399 348.147 50.7459 347.87 51.2348Z\",fill:\"#E9DFF2\"})),_path2084||(_path2084=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.871 47.2266C347.586 47.7224 347.058 48.0282 346.487 48.0282C345.915 48.0282 345.387 47.7224 345.103 47.2266L345.09 47.2041C344.802 46.7031 344.805 46.0855 345.096 45.5865C345.384 45.0923 345.914 44.7871 346.487 44.7871C347.059 44.7871 347.589 45.0923 347.877 45.5865C348.168 46.0855 348.171 46.7031 347.884 47.2041L347.871 47.2266Z\",fill:\"#E9DFF2\"})),_path2085||(_path2085=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.877 43.1843C347.589 43.6786 347.059 43.9838 346.487 43.9838C345.914 43.9838 345.384 43.6786 345.096 43.1843C344.805 42.6854 344.802 42.0678 345.09 41.5668L345.103 41.5442C345.387 41.0484 345.915 40.7427 346.487 40.7427C347.058 40.7427 347.586 41.0484 347.871 41.5442L347.884 41.5668C348.171 42.0678 348.168 42.6854 347.877 43.1843Z\",fill:\"#E9DFF2\"})),_path2086||(_path2086=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.876 39.1415C347.588 39.6353 347.058 39.9389 346.487 39.9389C345.915 39.9389 345.385 39.6353 345.097 39.1415C344.805 38.6411 344.805 38.0224 345.097 37.522C345.385 37.0282 345.915 36.7246 346.487 36.7246C347.058 36.7246 347.588 37.0282 347.876 37.522C348.168 38.0224 348.168 38.6411 347.876 39.1415Z\",fill:\"#E9DFF2\"})),_path2087||(_path2087=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.871 35.1197C347.586 35.6155 347.058 35.9212 346.487 35.9212C345.915 35.9212 345.387 35.6155 345.103 35.1197L345.09 35.0971C344.802 34.5962 344.805 33.9785 345.096 33.4796C345.384 32.9853 345.914 32.6802 346.487 32.6802C347.059 32.6802 347.589 32.9853 347.877 33.4796C348.168 33.9785 348.171 34.5962 347.884 35.0971L347.871 35.1197Z\",fill:\"#E9DFF2\"})),_path2088||(_path2088=/*#__PURE__*/React.createElement(\"path\",{d:\"M347.105 30.6139C346.979 30.8315 346.747 30.9655 346.496 30.9655H346.477C346.226 30.9655 345.994 30.8315 345.869 30.6139C345.745 30.4 345.743 30.137 345.863 29.9212L345.87 29.9088C345.994 29.6848 346.23 29.5459 346.487 29.5459C346.743 29.5459 346.979 29.6848 347.103 29.9088L347.11 29.9212C347.23 30.137 347.228 30.4 347.105 30.6139Z\",fill:\"#E9DFF2\"})),_path2089||(_path2089=/*#__PURE__*/React.createElement(\"path\",{d:\"M25.5845 30.6994C25.4323 30.9477 25.1619 31.0991 24.8707 31.0991H24.857C24.5588 31.0991 24.283 30.9404 24.1333 30.6824C23.9844 30.4261 23.9823 30.1102 24.1276 29.8518L24.1356 29.8375C24.2836 29.5744 24.562 29.4116 24.8639 29.4116C25.1587 29.4116 25.4318 29.567 25.5823 29.8206L25.5906 29.8345C25.7492 30.1016 25.7468 30.4345 25.5845 30.6994Z\",fill:\"#E9DFF2\"})),_path2090||(_path2090=/*#__PURE__*/React.createElement(\"path\",{d:\"M26.2644 35.1026C25.9758 35.6056 25.4371 35.9212 24.8572 35.9212C24.2773 35.9212 23.7386 35.6056 23.45 35.1026C23.1625 34.6016 23.1616 33.9798 23.4526 33.4808C23.7418 32.985 24.2726 32.6802 24.8466 32.6802H24.8677C25.4417 32.6802 25.9725 32.985 26.2617 33.4808C26.5528 33.9798 26.5518 34.6016 26.2644 35.1026Z\",fill:\"#E9DFF2\"})),_path2091||(_path2091=/*#__PURE__*/React.createElement(\"path\",{d:\"M26.2598 39.1415C25.9718 39.6353 25.4432 39.9389 24.8716 39.9389H24.8428C24.2712 39.9389 23.7426 39.6353 23.4546 39.1415C23.1627 38.6411 23.1627 38.0224 23.4546 37.522C23.7426 37.0282 24.2712 36.7246 24.8428 36.7246H24.8716C25.4432 36.7246 25.9718 37.0282 26.2598 37.522C26.5517 38.0224 26.5517 38.6411 26.2598 39.1415Z\",fill:\"#E9DFF2\"})),_path2092||(_path2092=/*#__PURE__*/React.createElement(\"path\",{d:\"M26.2617 43.1831C25.9725 43.6789 25.4417 43.9838 24.8677 43.9838H24.8466C24.2726 43.9838 23.7418 43.6789 23.4526 43.1831C23.1616 42.6842 23.1625 42.0623 23.45 41.5613C23.7386 41.0583 24.2773 40.7427 24.8572 40.7427C25.4371 40.7427 25.9758 41.0583 26.2644 41.5613C26.5518 42.0623 26.5528 42.6842 26.2617 43.1831Z\",fill:\"#E9DFF2\"})),_path2093||(_path2093=/*#__PURE__*/React.createElement(\"path\",{d:\"M26.2644 47.2095C25.9758 47.7125 25.4371 48.0282 24.8572 48.0282C24.2773 48.0282 23.7386 47.7125 23.45 47.2095C23.1625 46.7086 23.1616 46.0867 23.4526 45.5878C23.7418 45.092 24.2726 44.7871 24.8466 44.7871H24.8677C25.4417 44.7871 25.9725 45.092 26.2617 45.5878C26.5528 46.0867 26.5518 46.7086 26.2644 47.2095Z\",fill:\"#E9DFF2\"})),_path2094||(_path2094=/*#__PURE__*/React.createElement(\"path\",{d:\"M26.2598 51.249C25.9718 51.7427 25.4432 52.0463 24.8716 52.0463H24.8428C24.2712 52.0463 23.7426 51.7427 23.4546 51.249C23.1627 50.7486 23.1627 50.1298 23.4546 49.6294C23.7426 49.1356 24.2712 48.832 24.8428 48.832H24.8716C25.4432 48.832 25.9718 49.1356 26.2598 49.6294C26.5517 50.1298 26.5517 50.7486 26.2598 51.249Z\",fill:\"#E9DFF2\"})),_path2095||(_path2095=/*#__PURE__*/React.createElement(\"path\",{d:\"M350.499 165.802C350.395 165.986 350.2 166.099 349.989 166.099C349.771 166.099 349.571 165.978 349.47 165.785L349.46 165.765C349.368 165.589 349.37 165.379 349.465 165.204C349.569 165.013 349.771 164.894 349.989 164.894C350.2 164.894 350.396 165.005 350.504 165.187C350.612 165.37 350.614 165.598 350.509 165.783L350.499 165.802Z\",fill:\"#E9DFF2\"})),_path2096||(_path2096=/*#__PURE__*/React.createElement(\"path\",{d:\"M350.342 161.67C350.269 161.793 350.136 161.868 349.992 161.868H349.973C349.829 161.868 349.696 161.793 349.622 161.67C349.547 161.544 349.545 161.387 349.617 161.259L349.623 161.248C349.696 161.118 349.833 161.038 349.982 161.038C350.131 161.038 350.269 161.118 350.342 161.248L350.348 161.259C350.42 161.387 350.418 161.544 350.342 161.67Z\",fill:\"#E9DFF2\"})),_path2097||(_path2097=/*#__PURE__*/React.createElement(\"path\",{d:\"M351.385 49.2397C351.097 49.7334 350.567 50.037 349.996 50.037C349.424 50.037 348.895 49.7334 348.607 49.2397C348.315 48.7393 348.315 48.1205 348.607 47.6201C348.895 47.1264 349.424 46.8228 349.996 46.8228C350.567 46.8228 351.097 47.1264 351.385 47.6201C351.677 48.1205 351.677 48.7393 351.385 49.2397Z\",fill:\"#E9DFF2\"})),_path2098||(_path2098=/*#__PURE__*/React.createElement(\"path\",{d:\"M351.385 45.1953C351.097 45.689 350.561 45.9926 349.989 45.9926C349.41 45.9926 348.869 45.6814 348.583 45.1778C348.305 44.6863 348.305 44.0846 348.583 43.5931C348.869 43.0895 349.41 42.7783 349.989 42.7783C350.561 42.7783 351.097 43.0819 351.385 43.5757C351.677 44.0761 351.677 44.6949 351.385 45.1953Z\",fill:\"#E9DFF2\"})),_path2099||(_path2099=/*#__PURE__*/React.createElement(\"path\",{d:\"M351.383 41.1676C351.097 41.667 350.565 41.975 349.989 41.975C349.406 41.975 348.869 41.6594 348.585 41.1502L348.576 41.1332C348.302 40.6413 348.304 40.042 348.581 39.552C348.868 39.0464 349.408 38.7339 349.989 38.7339C350.563 38.7339 351.098 39.0388 351.387 39.5346C351.678 40.0335 351.68 40.6499 351.393 41.1509L351.383 41.1676Z\",fill:\"#E9DFF2\"})),_path2100||(_path2100=/*#__PURE__*/React.createElement(\"path\",{d:\"M351.387 37.1299C351.098 37.6257 350.563 37.9305 349.989 37.9305C349.408 37.9305 348.868 37.618 348.581 37.1124C348.304 36.6224 348.302 36.0231 348.576 35.5312L348.585 35.5142C348.869 35.005 349.406 34.6895 349.989 34.6895C350.565 34.6895 351.097 34.9974 351.383 35.4968L351.393 35.5136C351.68 36.0145 351.678 36.6309 351.387 37.1299Z\",fill:\"#E9DFF2\"})),_path2101||(_path2101=/*#__PURE__*/React.createElement(\"path\",{d:\"M351.385 33.0883C351.097 33.5821 350.567 33.8857 349.996 33.8857C349.424 33.8857 348.895 33.5821 348.607 33.0883C348.315 32.5879 348.315 31.9691 348.607 31.4687C348.895 30.975 349.424 30.6714 349.996 30.6714C350.567 30.6714 351.097 30.975 351.385 31.4687C351.677 31.9691 351.677 32.5879 351.385 33.0883Z\",fill:\"#E9DFF2\"})),_path2102||(_path2102=/*#__PURE__*/React.createElement(\"path\",{d:\"M21.6975 28.4204C21.6308 28.5373 21.5065 28.6094 21.3719 28.6094H21.3657C21.2381 28.6094 21.1193 28.5445 21.0503 28.4372C20.9709 28.3136 20.9709 28.1551 21.0503 28.0316C21.1193 27.9243 21.2381 27.8594 21.3657 27.8594H21.3719C21.5065 27.8594 21.6308 27.9315 21.6975 28.0483C21.7634 28.1636 21.7634 28.3051 21.6975 28.4204Z\",fill:\"#E9DFF2\"})),_path2103||(_path2103=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7508 33.0883C22.4628 33.5821 21.9332 33.8857 21.3616 33.8857C20.79 33.8857 20.2604 33.5821 19.9724 33.0883C19.6805 32.5879 19.6805 31.9691 19.9724 31.4687C20.2604 30.975 20.79 30.6714 21.3616 30.6714C21.9332 30.6714 22.4628 30.975 22.7508 31.4687C23.0427 31.9691 23.0427 32.5879 22.7508 33.0883Z\",fill:\"#E9DFF2\"})),_path2104||(_path2104=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7521 37.1311C22.4637 37.6254 21.9338 37.9305 21.3616 37.9305C20.7894 37.9305 20.2595 37.6254 19.9712 37.1311C19.6801 36.6322 19.6772 36.0145 19.9647 35.5136L19.9776 35.491C20.2621 34.9952 20.79 34.6895 21.3616 34.6895C21.9332 34.6895 22.4611 34.9952 22.7456 35.491L22.7586 35.5136C23.046 36.0145 23.0431 36.6322 22.7521 37.1311Z\",fill:\"#E9DFF2\"})),_path2105||(_path2105=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7456 41.1734C22.4611 41.6692 21.9332 41.975 21.3616 41.975C20.79 41.975 20.2621 41.6692 19.9776 41.1734L19.9647 41.1509C19.6772 40.6499 19.6801 40.0322 19.9712 39.5333C20.2595 39.039 20.7894 38.7339 21.3616 38.7339C21.9338 38.7339 22.4637 39.039 22.7521 39.5333C23.0431 40.0322 23.046 40.6499 22.7586 41.1509L22.7456 41.1734Z\",fill:\"#E9DFF2\"})),_path2106||(_path2106=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7508 45.1953C22.4628 45.689 21.9332 45.9926 21.3616 45.9926C20.79 45.9926 20.2604 45.689 19.9724 45.1953C19.6805 44.6949 19.6805 44.0761 19.9724 43.5757C20.2604 43.0819 20.79 42.7783 21.3616 42.7783C21.9332 42.7783 22.4628 43.0819 22.7508 43.5757C23.0427 44.0761 23.0427 44.6949 22.7508 45.1953Z\",fill:\"#E9DFF2\"})),_path2107||(_path2107=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7521 49.2375C22.4637 49.7318 21.9338 50.037 21.3616 50.037C20.7894 50.037 20.2595 49.7318 19.9712 49.2375C19.6801 48.7386 19.6772 48.121 19.9647 47.62L19.9776 47.5974C20.2621 47.1017 20.79 46.7959 21.3616 46.7959C21.9332 46.7959 22.4611 47.1016 22.7456 47.5974L22.7586 47.62C23.046 48.121 23.0431 48.7386 22.7521 49.2375Z\",fill:\"#E9DFF2\"})),_path2108||(_path2108=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7456 53.2804C22.4611 53.7761 21.9332 54.0819 21.3616 54.0819C20.79 54.0819 20.2621 53.7761 19.9776 53.2804L19.9647 53.2578C19.6772 52.7568 19.6801 52.1392 19.9712 51.6403C20.2595 51.146 20.7894 50.8408 21.3616 50.8408C21.9338 50.8408 22.4637 51.146 22.7521 51.6403C23.0431 52.1392 23.046 52.7568 22.7586 53.2578L22.7456 53.2804Z\",fill:\"#E9DFF2\"})),_path2109||(_path2109=/*#__PURE__*/React.createElement(\"path\",{d:\"M22.7508 57.3022C22.4628 57.7959 21.9332 58.0995 21.3616 58.0995C20.79 58.0995 20.2604 57.7959 19.9724 57.3022C19.6805 56.8018 19.6805 56.183 19.9724 55.6826C20.2604 55.1889 20.79 54.8853 21.3616 54.8853C21.9332 54.8853 22.4628 55.1889 22.7508 55.6826C23.0427 56.183 23.0427 56.8018 22.7508 57.3022Z\",fill:\"#E9DFF2\"})),_path2110||(_path2110=/*#__PURE__*/React.createElement(\"path\",{d:\"M353.889 50.6872C353.809 50.8318 353.657 50.9214 353.491 50.9214C353.326 50.9214 353.174 50.8318 353.093 50.6872L353.084 50.6701C353.004 50.5271 353.007 50.3526 353.089 50.2116C353.172 50.0705 353.324 49.9839 353.488 49.9839H353.495C353.659 49.9839 353.81 50.0705 353.893 50.2116C353.976 50.3526 353.978 50.5271 353.899 50.6701L353.889 50.6872Z\",fill:\"#E9DFF2\"})),_path2111||(_path2111=/*#__PURE__*/React.createElement(\"path\",{d:\"M354.888 47.2035C354.605 47.7126 354.067 48.0282 353.485 48.0282C352.909 48.0282 352.377 47.7202 352.09 47.2208L352.081 47.2041C351.793 46.7031 351.796 46.0867 352.087 45.5878C352.376 45.092 352.91 44.7871 353.484 44.7871C354.066 44.7871 354.606 45.0996 354.892 45.6052C355.17 46.0952 355.172 46.6945 354.898 47.1864L354.888 47.2035Z\",fill:\"#E9DFF2\"})),_path2112||(_path2112=/*#__PURE__*/React.createElement(\"path\",{d:\"M354.892 43.1656C354.606 43.6713 354.066 43.9838 353.484 43.9838C352.91 43.9838 352.376 43.6789 352.087 43.1831C351.796 42.6842 351.793 42.0678 352.081 41.5668L352.09 41.55C352.377 41.0506 352.909 40.7427 353.485 40.7427C354.067 40.7427 354.605 41.0583 354.888 41.5674L354.898 41.5844C355.172 42.0764 355.17 42.6757 354.892 43.1656Z\",fill:\"#E9DFF2\"})),_path2113||(_path2113=/*#__PURE__*/React.createElement(\"path\",{d:\"M354.89 39.1241C354.605 39.6277 354.063 39.9389 353.484 39.9389C352.913 39.9389 352.377 39.6353 352.089 39.1415C351.797 38.6411 351.797 38.0224 352.089 37.522C352.377 37.0282 352.913 36.7246 353.484 36.7246C354.063 36.7246 354.605 37.0358 354.89 37.5394C355.169 38.0309 355.169 38.6326 354.89 39.1241Z\",fill:\"#E9DFF2\"})),_path2114||(_path2114=/*#__PURE__*/React.createElement(\"path\",{d:\"M354.888 35.0965C354.605 35.6057 354.067 35.9212 353.485 35.9212C352.909 35.9212 352.377 35.6133 352.09 35.1139L352.081 35.0971C351.793 34.5962 351.796 33.9798 352.087 33.4808C352.376 32.985 352.91 32.6802 353.484 32.6802C354.066 32.6802 354.606 32.9927 354.892 33.4983C355.17 33.9883 355.172 34.5876 354.898 35.0795L354.888 35.0965Z\",fill:\"#E9DFF2\"})),_path2115||(_path2115=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.0643 30.9413C18.8203 31.3704 18.3596 31.6354 17.866 31.6354C17.3724 31.6354 16.9117 31.3704 16.6677 30.9413C16.4305 30.5241 16.4284 30.0133 16.6621 29.5942L16.671 29.5783C16.9127 29.145 17.3699 28.8765 17.866 28.8765C18.3621 28.8765 18.8193 29.145 19.061 29.5783L19.0699 29.5942C19.3036 30.0133 19.3015 30.5241 19.0643 30.9413Z\",fill:\"#E9DFF2\"})),_path2116||(_path2116=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2732 35.1026C18.9846 35.6056 18.4459 35.9212 17.866 35.9212C17.2861 35.9212 16.7473 35.6056 16.4588 35.1026C16.1713 34.6016 16.1704 33.9798 16.4614 33.4808C16.7506 32.985 17.2814 32.6802 17.8554 32.6802H17.8765C18.4505 32.6802 18.9813 32.985 19.2705 33.4808C19.5616 33.9798 19.5606 34.6016 19.2732 35.1026Z\",fill:\"#E9DFF2\"})),_path2117||(_path2117=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2686 39.1415C18.9806 39.6353 18.452 39.9389 17.8804 39.9389H17.8516C17.28 39.9389 16.7514 39.6353 16.4633 39.1415C16.1714 38.6411 16.1714 38.0224 16.4633 37.522C16.7514 37.0282 17.28 36.7246 17.8516 36.7246H17.8804C18.452 36.7246 18.9806 37.0282 19.2686 37.522C19.5605 38.0224 19.5605 38.6411 19.2686 39.1415Z\",fill:\"#E9DFF2\"})),_path2118||(_path2118=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2705 43.1831C18.9813 43.6789 18.4505 43.9838 17.8765 43.9838H17.8554C17.2814 43.9838 16.7506 43.6789 16.4614 43.1831C16.1704 42.6842 16.1713 42.0623 16.4588 41.5613C16.7473 41.0583 17.2861 40.7427 17.866 40.7427C18.4459 40.7427 18.9846 41.0583 19.2732 41.5613C19.5606 42.0623 19.5616 42.6842 19.2705 43.1831Z\",fill:\"#E9DFF2\"})),_path2119||(_path2119=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2732 47.2095C18.9846 47.7125 18.4459 48.0282 17.866 48.0282C17.2861 48.0282 16.7473 47.7125 16.4588 47.2095C16.1713 46.7086 16.1704 46.0867 16.4614 45.5878C16.7506 45.092 17.2814 44.7871 17.8554 44.7871H17.8765C18.4505 44.7871 18.9813 45.092 19.2705 45.5878C19.5616 46.0867 19.5606 46.7086 19.2732 47.2095Z\",fill:\"#E9DFF2\"})),_path2120||(_path2120=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2686 51.249C18.9806 51.7427 18.452 52.0463 17.8804 52.0463H17.8516C17.28 52.0463 16.7514 51.7427 16.4633 51.249C16.1714 50.7486 16.1714 50.1298 16.4633 49.6294C16.7514 49.1356 17.28 48.832 17.8516 48.832H17.8804C18.452 48.832 18.9806 49.1356 19.2686 49.6294C19.5605 50.1298 19.5605 50.7486 19.2686 51.249Z\",fill:\"#E9DFF2\"})),_path2121||(_path2121=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.2381 55.2861C18.9523 55.768 18.4266 56.0635 17.8663 56.0635C17.306 56.0635 16.7803 55.768 16.4944 55.2861C16.2004 54.7905 16.2023 54.1673 16.4926 53.6696C16.7768 53.1824 17.3023 52.876 17.8663 52.876C18.4302 52.876 18.9558 53.1824 19.2399 53.6696C19.5303 54.1673 19.5322 54.7905 19.2381 55.2861Z\",fill:\"#E9DFF2\"})),_path2122||(_path2122=/*#__PURE__*/React.createElement(\"path\",{d:\"M19.1511 59.2659C18.8861 59.7213 18.3928 60.0015 17.8659 60.0015C17.339 60.0015 16.8457 59.7213 16.5807 59.2659C16.3151 58.8094 16.3172 58.2385 16.5792 57.78C16.8422 57.3198 17.3359 57.0283 17.8659 57.0283C18.3959 57.0283 18.8896 57.3198 19.1526 57.78C19.4146 58.2385 19.4166 58.8094 19.1511 59.2659Z\",fill:\"#E9DFF2\"})),_path2123||(_path2123=/*#__PURE__*/React.createElement(\"path\",{d:\"M357.217 201.996C357.165 202.077 357.076 202.126 356.98 202.126C356.877 202.126 356.782 202.07 356.733 201.98L356.729 201.973C356.681 201.885 356.681 201.779 356.729 201.691L356.733 201.684C356.782 201.593 356.877 201.537 356.98 201.537C357.076 201.537 357.165 201.586 357.217 201.667L357.221 201.674C357.282 201.77 357.282 201.893 357.221 201.99L357.217 201.996Z\",fill:\"#E9DFF2\"})),_path2124||(_path2124=/*#__PURE__*/React.createElement(\"path\",{d:\"M358.376 45.1953C358.088 45.689 357.552 45.9926 356.98 45.9926C356.401 45.9926 355.859 45.6814 355.574 45.1778C355.295 44.6863 355.295 44.0846 355.574 43.5931C355.859 43.0896 356.401 42.7783 356.98 42.7783C357.552 42.7783 358.088 43.0819 358.376 43.5757C358.668 44.0761 358.668 44.6949 358.376 45.1953Z\",fill:\"#E9DFF2\"})),_path2125||(_path2125=/*#__PURE__*/React.createElement(\"path\",{d:\"M358.374 41.1676C358.087 41.667 357.556 41.975 356.98 41.975C356.397 41.975 355.86 41.6594 355.576 41.1502L355.567 41.1332C355.292 40.6413 355.294 40.042 355.572 39.552C355.859 39.0464 356.399 38.7339 356.98 38.7339C357.554 38.7339 358.089 39.0388 358.378 39.5346C358.669 40.0335 358.671 40.6499 358.384 41.1509L358.374 41.1676Z\",fill:\"#E9DFF2\"})),_path2126||(_path2126=/*#__PURE__*/React.createElement(\"path\",{d:\"M358.378 37.1299C358.089 37.6257 357.554 37.9305 356.98 37.9305C356.399 37.9305 355.859 37.618 355.572 37.1124C355.294 36.6224 355.292 36.0232 355.567 35.5312L355.576 35.5142C355.86 35.005 356.397 34.6895 356.98 34.6895C357.556 34.6895 358.087 34.9974 358.374 35.4968L358.384 35.5136C358.671 36.0145 358.669 36.6309 358.378 37.1299Z\",fill:\"#E9DFF2\"})),_path2127||(_path2127=/*#__PURE__*/React.createElement(\"path\",{d:\"M357.295 32.4658C357.229 32.5809 357.106 32.6533 356.973 32.6533C356.841 32.6533 356.718 32.5809 356.652 32.4658C356.586 32.3505 356.586 32.2061 356.652 32.0908C356.718 31.9758 356.841 31.9033 356.973 31.9033C357.106 31.9033 357.229 31.9758 357.295 32.0908C357.361 32.2061 357.361 32.3505 357.295 32.4658Z\",fill:\"#E9DFF2\"})),_path2128||(_path2128=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7599 33.0883C15.4719 33.5821 14.9422 33.8857 14.3706 33.8857C13.799 33.8857 13.2694 33.5821 12.9814 33.0883C12.6895 32.5879 12.6895 31.9691 12.9814 31.4687C13.2694 30.975 13.799 30.6714 14.3706 30.6714C14.9422 30.6714 15.4719 30.975 15.7599 31.4687C16.0518 31.9691 16.0518 32.5879 15.7599 33.0883Z\",fill:\"#E9DFF2\"})),_path2129||(_path2129=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.5988 37.0392C15.3442 37.4746 14.875 37.7421 14.3707 37.7421C13.8664 37.7421 13.3972 37.4746 13.1426 37.0392C12.8837 36.5965 12.8837 36.0485 13.1426 35.6057C13.3972 35.1704 13.8664 34.9028 14.3707 34.9028C14.875 34.9028 15.3442 35.1704 15.5988 35.6057C15.8578 36.0485 15.8578 36.5965 15.5988 37.0392Z\",fill:\"#E9DFF2\"})),_path2130||(_path2130=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7546 41.1734C15.4702 41.6692 14.9422 41.975 14.3706 41.975C13.799 41.975 13.2711 41.6692 12.9866 41.1734L12.9737 41.1509C12.6862 40.6499 12.6892 40.0322 12.9802 39.5333C13.2685 39.039 13.7984 38.7339 14.3706 38.7339C14.9429 38.7339 15.4728 39.039 15.7611 39.5333C16.0521 40.0322 16.055 40.6499 15.7676 41.1509L15.7546 41.1734Z\",fill:\"#E9DFF2\"})),_path2131||(_path2131=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7599 45.1953C15.4719 45.689 14.9422 45.9926 14.3706 45.9926C13.799 45.9926 13.2694 45.689 12.9814 45.1953C12.6895 44.6949 12.6895 44.0761 12.9814 43.5757C13.2694 43.0819 13.799 42.7783 14.3706 42.7783C14.9422 42.7783 15.4719 43.0819 15.7599 43.5757C16.0518 44.0761 16.0518 44.6949 15.7599 45.1953Z\",fill:\"#E9DFF2\"})),_path2132||(_path2132=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7611 49.2375C15.4728 49.7318 14.9429 50.037 14.3706 50.037C13.7984 50.037 13.2685 49.7318 12.9802 49.2375C12.6892 48.7386 12.6862 48.121 12.9737 47.62L12.9866 47.5974C13.2711 47.1017 13.799 46.7959 14.3706 46.7959C14.9422 46.7959 15.4702 47.1017 15.7546 47.5974L15.7676 47.62C16.055 48.121 16.0521 48.7386 15.7611 49.2375Z\",fill:\"#E9DFF2\"})),_path2133||(_path2133=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7546 53.2804C15.4702 53.7761 14.9422 54.0819 14.3706 54.0819C13.799 54.0819 13.2711 53.7761 12.9866 53.2804L12.9737 53.2578C12.6862 52.7568 12.6892 52.1392 12.9802 51.6403C13.2685 51.146 13.7984 50.8408 14.3706 50.8408C14.9429 50.8408 15.4728 51.146 15.7611 51.6403C16.0521 52.1392 16.055 52.7568 15.7676 53.2578L15.7546 53.2804Z\",fill:\"#E9DFF2\"})),_path2134||(_path2134=/*#__PURE__*/React.createElement(\"path\",{d:\"M15.7599 57.3022C15.4719 57.7959 14.9422 58.0995 14.3706 58.0995C13.799 58.0995 13.2694 57.7959 12.9814 57.3022C12.6895 56.8018 12.6895 56.183 12.9814 55.6826C13.2694 55.1889 13.799 54.8853 14.3706 54.8853C14.9422 54.8853 15.4719 55.1889 15.7599 55.6826C16.0518 56.183 16.0518 56.8018 15.7599 57.3022Z\",fill:\"#E9DFF2\"})),_path2135||(_path2135=/*#__PURE__*/React.createElement(\"path\",{d:\"M361.816 200.582C361.538 201.058 361.027 201.35 360.476 201.35C359.917 201.35 359.401 201.05 359.125 200.565C358.854 200.089 358.854 199.505 359.125 199.028C359.401 198.543 359.917 198.243 360.476 198.243C361.027 198.243 361.538 198.535 361.816 199.011C362.101 199.496 362.101 200.097 361.816 200.582Z\",fill:\"#E9DFF2\"})),_path2136||(_path2136=/*#__PURE__*/React.createElement(\"path\",{d:\"M360.929 196.047C360.834 196.197 360.669 196.288 360.492 196.288H360.458C360.274 196.288 360.104 196.19 360.012 196.031C359.921 195.874 359.919 195.682 360.006 195.524L360.01 195.517C360.103 195.348 360.283 195.243 360.475 195.243C360.661 195.243 360.835 195.341 360.931 195.5L360.935 195.507C361.035 195.674 361.033 195.883 360.929 196.047Z\",fill:\"#E9DFF2\"})),_path2137||(_path2137=/*#__PURE__*/React.createElement(\"path\",{d:\"M360.879 46.6079C360.8 46.7569 360.644 46.8502 360.476 46.8502C360.314 46.8502 360.164 46.7648 360.083 46.6257C359.999 46.4832 359.999 46.3064 360.083 46.1639C360.164 46.0249 360.314 45.9395 360.476 45.9395C360.644 45.9395 360.8 46.0327 360.879 46.1818C360.949 46.315 360.949 46.4746 360.879 46.6079Z\",fill:\"#E9DFF2\"})),_path2138||(_path2138=/*#__PURE__*/React.createElement(\"path\",{d:\"M361.326 42.8599C361.152 43.1582 360.832 43.3416 360.487 43.3416H360.464C360.126 43.3416 359.812 43.1655 359.636 42.8768C359.448 42.5696 359.445 42.1836 359.63 41.8741L359.635 41.8641C359.812 41.5678 360.131 41.3862 360.476 41.3862C360.827 41.3862 361.152 41.5752 361.326 41.8812L361.331 41.8914C361.502 42.1922 361.5 42.5611 361.326 42.8599Z\",fill:\"#E9DFF2\"})),_path2139||(_path2139=/*#__PURE__*/React.createElement(\"path\",{d:\"M361.881 39.1241C361.596 39.6277 361.054 39.9389 360.475 39.9389C359.904 39.9389 359.368 39.6353 359.08 39.1415C358.788 38.6411 358.788 38.0224 359.08 37.522C359.368 37.0282 359.904 36.7246 360.475 36.7246C361.054 36.7246 361.596 37.0358 361.881 37.5394C362.16 38.0309 362.16 38.6326 361.881 39.1241Z\",fill:\"#E9DFF2\"})),_path2140||(_path2140=/*#__PURE__*/React.createElement(\"path\",{d:\"M361.61 34.9388C361.377 35.3477 360.94 35.6001 360.469 35.6001C359.998 35.6001 359.561 35.3477 359.328 34.9388C359.097 34.5353 359.097 34.0399 359.328 33.6364C359.561 33.2275 359.998 32.9751 360.469 32.9751C360.94 32.9751 361.377 33.2275 361.61 33.6364C361.841 34.0399 361.841 34.5353 361.61 34.9388Z\",fill:\"#E9DFF2\"})),_path2141||(_path2141=/*#__PURE__*/React.createElement(\"path\",{d:\"M11.1153 30.4039C11.0657 30.4865 10.9764 30.5371 10.88 30.5371H10.8693C10.7729 30.5371 10.6836 30.4865 10.634 30.4039C10.584 30.3205 10.5818 30.2168 10.6284 30.1314L10.637 30.1157C10.6844 30.0287 10.7756 29.9746 10.8747 29.9746C10.9737 29.9746 11.0649 30.0287 11.1123 30.1157L11.1209 30.1314C11.1675 30.2168 11.1653 30.3205 11.1153 30.4039Z\",fill:\"#E9DFF2\"})),_path2142||(_path2142=/*#__PURE__*/React.createElement(\"path\",{d:\"M11.5223 34.6769C11.3863 34.9008 11.1433 35.0376 10.8813 35.0376C10.6122 35.0376 10.3637 34.8934 10.2302 34.6597C10.0985 34.4292 10.0985 34.146 10.2302 33.9155C10.3637 33.6818 10.6122 33.5376 10.8813 33.5376C11.1433 33.5376 11.3863 33.6744 11.5223 33.8983C11.6675 34.1375 11.6675 34.4377 11.5223 34.6769Z\",fill:\"#E9DFF2\"})),_path2143||(_path2143=/*#__PURE__*/React.createElement(\"path\",{d:\"M12.2448 39.1381C11.9601 39.618 11.4395 39.9122 10.8816 39.9122C10.3165 39.9122 9.79032 39.6105 9.50819 39.1209C9.22673 38.6325 9.22673 38.0312 9.50819 37.5428C9.79032 37.0532 10.3165 36.7515 10.8816 36.7515C11.4395 36.7515 11.9601 37.0457 12.2448 37.5255C12.5397 38.0226 12.5397 38.641 12.2448 39.1381Z\",fill:\"#E9DFF2\"})),_path2144||(_path2144=/*#__PURE__*/React.createElement(\"path\",{d:\"M11.9664 43.0171C11.7381 43.4002 11.3211 43.635 10.8751 43.635C10.4291 43.635 10.012 43.4002 9.78374 43.0171C9.5481 42.6215 9.54583 42.1292 9.77782 41.7315L9.78745 41.715C10.0131 41.3282 10.4272 41.0903 10.8751 41.0903C11.3229 41.0903 11.737 41.3282 11.9627 41.715L11.9723 41.7315C12.2043 42.1292 12.202 42.6215 11.9664 43.0171Z\",fill:\"#E9DFF2\"})),_path2145||(_path2145=/*#__PURE__*/React.createElement(\"path\",{d:\"M12.2817 47.2095C11.9931 47.7125 11.4544 48.0282 10.8745 48.0282C10.2946 48.0282 9.75589 47.7125 9.4673 47.2095C9.17985 46.7086 9.17893 46.0867 9.46996 45.5878C9.75917 45.092 10.29 44.7871 10.8639 44.7871H10.8851C11.4591 44.7871 11.9899 45.092 12.2791 45.5878C12.5701 46.0867 12.5692 46.7086 12.2817 47.2095Z\",fill:\"#E9DFF2\"})),_path2146||(_path2146=/*#__PURE__*/React.createElement(\"path\",{d:\"M12.2771 51.249C11.9891 51.7427 11.4605 52.0463 10.8889 52.0463H10.8601C10.2885 52.0463 9.75991 51.7427 9.47189 51.249C9.17999 50.7486 9.17999 50.1298 9.47189 49.6294C9.75991 49.1356 10.2885 48.832 10.8601 48.832H10.8889C11.4605 48.832 11.9891 49.1356 12.2771 49.6294C12.569 50.1298 12.569 50.7486 12.2771 51.249Z\",fill:\"#E9DFF2\"})),_path2147||(_path2147=/*#__PURE__*/React.createElement(\"path\",{d:\"M12.2771 55.2929C11.9891 55.7867 11.4605 56.0903 10.8889 56.0903H10.8601C10.2885 56.0903 9.75991 55.7867 9.47189 55.2929C9.17999 54.7925 9.17999 54.1737 9.47189 53.6733C9.75991 53.1796 10.2885 52.876 10.8601 52.876H10.8889C11.4605 52.876 11.9891 53.1796 12.2771 53.6733C12.569 54.1737 12.569 54.7925 12.2771 55.2929Z\",fill:\"#E9DFF2\"})),_path2148||(_path2148=/*#__PURE__*/React.createElement(\"path\",{d:\"M12.2757 59.3182C11.9901 59.8223 11.4547 60.1351 10.8753 60.1351C10.2959 60.1351 9.76056 59.8223 9.4749 59.3182C9.19725 58.8282 9.19445 58.2277 9.46864 57.7358L9.48138 57.7129C9.76316 57.2074 10.2966 56.894 10.8753 56.894C11.4541 56.894 11.9875 57.2074 12.2692 57.7129L12.282 57.7358C12.5562 58.2277 12.5534 58.8282 12.2757 59.3182Z\",fill:\"#E9DFF2\"})),_path2149||(_path2149=/*#__PURE__*/React.createElement(\"path\",{d:\"M364.797 198.266C364.63 198.566 364.314 198.752 363.971 198.752C363.635 198.752 363.325 198.573 363.155 198.283L363.15 198.273C362.975 197.973 362.975 197.602 363.15 197.302L363.155 197.292C363.325 197.002 363.635 196.823 363.971 196.823C364.314 196.823 364.63 197.009 364.797 197.309L364.802 197.319C364.964 197.61 364.964 197.965 364.802 198.256L364.797 198.266Z\",fill:\"#E9DFF2\"})),_path2150||(_path2150=/*#__PURE__*/React.createElement(\"path\",{d:\"M365.251 194.492C364.988 194.952 364.494 195.243 363.964 195.243C363.434 195.243 362.941 194.952 362.678 194.492C362.416 194.033 362.414 193.462 362.679 193.006C362.944 192.55 363.437 192.27 363.964 192.27C364.491 192.27 364.984 192.55 365.249 193.006C365.515 193.462 365.513 194.033 365.251 194.492Z\",fill:\"#E9DFF2\"})),_path2151||(_path2151=/*#__PURE__*/React.createElement(\"path\",{d:\"M364.934 40.9169C364.732 41.2556 364.365 41.4664 363.971 41.4664C363.57 41.4664 363.197 41.248 362.997 40.8996C362.801 40.5563 362.802 40.1311 363.001 39.7899C363.2 39.4513 363.562 39.2432 363.955 39.2432H363.987C364.372 39.2432 364.729 39.4439 364.93 39.7729C365.143 40.1226 365.144 40.565 364.934 40.9169Z\",fill:\"#E9DFF2\"})),_path2152||(_path2152=/*#__PURE__*/React.createElement(\"path\",{d:\"M364.88 36.837C364.695 37.1649 364.348 37.3681 363.971 37.3681C363.602 37.3681 363.26 37.1725 363.072 36.8544C362.879 36.527 362.879 36.1199 363.072 35.7925C363.26 35.4744 363.602 35.2788 363.971 35.2788C364.348 35.2788 364.695 35.482 364.88 35.8099C365.06 36.1284 365.06 36.5185 364.88 36.837Z\",fill:\"#E9DFF2\"})),_path2153||(_path2153=/*#__PURE__*/React.createElement(\"path\",{d:\"M7.83622 36.5751C7.74407 36.7342 7.57408 36.8322 7.39016 36.8322H7.36842C7.1845 36.8322 7.01451 36.7342 6.92236 36.5751C6.8319 36.4188 6.82979 36.2266 6.9168 36.0684L6.92281 36.0575C7.01437 35.891 7.1893 35.7876 7.37929 35.7876C7.56928 35.7876 7.74421 35.891 7.83577 36.0575L7.84178 36.0684C7.92879 36.2266 7.92668 36.4188 7.83622 36.5751Z\",fill:\"#E9DFF2\"})),_path2154||(_path2154=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.76319 41.1734C8.47872 41.6692 7.95079 41.975 7.37919 41.975C6.80758 41.975 6.27965 41.6692 5.99518 41.1734L5.98223 41.1509C5.69478 40.6499 5.69771 40.0322 5.98874 39.5333C6.27707 39.039 6.80695 38.7339 7.37919 38.7339C7.95142 38.7339 8.4813 39.039 8.76963 39.5333C9.06066 40.0322 9.06359 40.6499 8.77614 41.1509L8.76319 41.1734Z\",fill:\"#E9DFF2\"})),_path2155||(_path2155=/*#__PURE__*/React.createElement(\"path\",{d:\"M7.60269 44.5276C7.55566 44.6059 7.47097 44.6539 7.37957 44.6539C7.28817 44.6539 7.20348 44.6059 7.15645 44.5276L7.15422 44.5238C7.10332 44.439 7.10332 44.333 7.15422 44.2482L7.15645 44.2445C7.20348 44.1661 7.28817 44.1182 7.37957 44.1182C7.47097 44.1182 7.55566 44.1661 7.60269 44.2445L7.60492 44.2482C7.65581 44.333 7.65581 44.439 7.60492 44.5238L7.60269 44.5276Z\",fill:\"#E9DFF2\"})),_path2156||(_path2156=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.76963 49.2375C8.4813 49.7318 7.95142 50.037 7.37919 50.037C6.80695 50.037 6.27707 49.7318 5.98874 49.2375C5.69771 48.7386 5.69478 48.121 5.98223 47.62L5.99518 47.5974C6.27965 47.1017 6.80758 46.7959 7.37919 46.7959C7.95079 46.7959 8.47872 47.1017 8.76319 47.5974L8.77614 47.62C9.06359 48.121 9.06066 48.7386 8.76963 49.2375Z\",fill:\"#E9DFF2\"})),_path2157||(_path2157=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.76319 53.2804C8.47872 53.7761 7.95079 54.0819 7.37919 54.0819C6.80758 54.0819 6.27965 53.7761 5.99518 53.2804L5.98223 53.2578C5.69478 52.7568 5.69771 52.1392 5.98874 51.6403C6.27707 51.146 6.80695 50.8408 7.37919 50.8408C7.95142 50.8408 8.4813 51.146 8.76963 51.6403C9.06066 52.1392 9.06359 52.7568 8.77614 53.2578L8.76319 53.2804Z\",fill:\"#E9DFF2\"})),_path2158||(_path2158=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.00466 56.8614C7.87443 57.0812 7.63484 57.216 7.3794 57.216C7.12395 57.216 6.88436 57.0812 6.75413 56.8614C6.61941 56.6341 6.61941 56.3514 6.75413 56.124C6.88436 55.9043 7.12395 55.7695 7.3794 55.7695C7.63484 55.7695 7.87443 55.9043 8.00466 56.124C8.13938 56.3514 8.13938 56.6341 8.00466 56.8614Z\",fill:\"#E9DFF2\"})),_path2159||(_path2159=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.15695 60.9783C7.99919 61.2523 7.70709 61.4212 7.39092 61.4212H7.36836C7.05218 61.4212 6.76009 61.2523 6.60233 60.9783C6.44513 60.7053 6.44513 60.3692 6.60233 60.0962C6.76009 59.8222 7.05218 59.6533 7.36836 59.6533H7.39092C7.7071 59.6533 7.99919 59.8222 8.15695 60.0962C8.31415 60.3692 8.31415 60.7053 8.15695 60.9783Z\",fill:\"#E9DFF2\"})),_path2160||(_path2160=/*#__PURE__*/React.createElement(\"path\",{d:\"M8.48766 65.2308C8.25783 65.6247 7.83556 65.8678 7.37943 65.8678C6.9233 65.8678 6.50103 65.6247 6.2712 65.2308C6.03768 64.8304 6.03768 64.3338 6.2712 63.9335C6.50103 63.5395 6.9233 63.2964 7.37943 63.2964C7.83556 63.2964 8.25783 63.5395 8.48766 63.9335C8.72118 64.3338 8.72118 64.8304 8.48766 65.2308Z\",fill:\"#E9DFF2\"})),_path2161||(_path2161=/*#__PURE__*/React.createElement(\"path\",{d:\"M367.754 195.94C367.696 196.039 367.59 196.099 367.476 196.099H367.47C367.356 196.099 367.25 196.039 367.193 195.94C367.134 195.84 367.134 195.716 367.193 195.616C367.25 195.517 367.356 195.457 367.47 195.457H367.476C367.59 195.457 367.696 195.517 367.754 195.616C367.812 195.716 367.812 195.84 367.754 195.94Z\",fill:\"#E9DFF2\"})),_path2162||(_path2162=/*#__PURE__*/React.createElement(\"path\",{d:\"M368.324 192.24C368.145 192.54 367.816 192.724 367.467 192.724C367.11 192.724 366.775 192.533 366.599 192.222C366.427 191.919 366.427 191.547 366.599 191.244C366.775 190.934 367.11 190.742 367.467 190.742C367.816 190.742 368.145 190.926 368.324 191.227C368.51 191.539 368.51 191.928 368.324 192.24Z\",fill:\"#E9DFF2\"})),_path2163||(_path2163=/*#__PURE__*/React.createElement(\"path\",{d:\"M367.916 187.954C367.825 188.121 367.65 188.224 367.46 188.224C367.27 188.224 367.095 188.121 367.003 187.954L366.997 187.943C366.91 187.785 366.912 187.593 367.003 187.437C367.095 187.278 367.265 187.18 367.449 187.18H367.471C367.655 187.18 367.825 187.278 367.917 187.437C368.007 187.593 368.009 187.785 367.922 187.943L367.916 187.954Z\",fill:\"#E9DFF2\"})),_path2164||(_path2164=/*#__PURE__*/React.createElement(\"path\",{d:\"M368.239 42.8138C368.08 43.0898 367.786 43.26 367.467 43.26C367.156 43.26 366.866 43.0973 366.705 42.8309C366.535 42.5507 366.533 42.2 366.699 41.9176L366.71 41.8984C366.868 41.6301 367.156 41.4653 367.467 41.4653C367.785 41.4653 368.079 41.6375 368.234 41.9153L368.245 41.9351C368.398 42.2086 368.396 42.5423 368.239 42.8138Z\",fill:\"#E9DFF2\"})),_path2165||(_path2165=/*#__PURE__*/React.createElement(\"path\",{d:\"M368.279 38.7979C368.112 39.0891 367.802 39.2695 367.467 39.2695C367.139 39.2695 366.834 39.0966 366.665 38.8151C366.487 38.5182 366.487 38.1458 366.665 37.8489C366.834 37.5675 367.139 37.3945 367.467 37.3945C367.802 37.3945 368.112 37.575 368.279 37.8662C368.443 38.1544 368.443 38.5097 368.279 38.7979Z\",fill:\"#E9DFF2\"})),_path2166||(_path2166=/*#__PURE__*/React.createElement(\"path\",{d:\"M4.76746 38.8423C4.58548 39.1566 4.24735 39.3502 3.88414 39.3502C3.52093 39.3502 3.1828 39.1566 3.00082 38.8423C2.81818 38.5268 2.81818 38.1378 3.00082 37.8223C3.1828 37.508 3.52093 37.3145 3.88414 37.3145C4.24735 37.3145 4.58548 37.508 4.76746 37.8223C4.95009 38.1378 4.95009 38.5268 4.76746 38.8423Z\",fill:\"#E9DFF2\"})),_path2167||(_path2167=/*#__PURE__*/React.createElement(\"path\",{d:\"M4.97173 47.0557C4.74607 47.4425 4.33194 47.6804 3.8841 47.6804C3.43627 47.6804 3.02213 47.4425 2.79648 47.0557L2.78686 47.0392C2.55487 46.6415 2.55713 46.1492 2.79277 45.7537C3.02104 45.3705 3.4381 45.1357 3.8841 45.1357C4.33011 45.1357 4.74716 45.3705 4.97543 45.7537C5.21107 46.1492 5.21334 46.6415 4.98135 47.0392L4.97173 47.0557Z\",fill:\"#E9DFF2\"})),_path2168||(_path2168=/*#__PURE__*/React.createElement(\"path\",{d:\"M5.28666 51.249C4.99864 51.7427 4.47005 52.0463 3.89844 52.0463H3.86963C3.29802 52.0463 2.76943 51.7427 2.48141 51.249C2.18951 50.7486 2.18951 50.1298 2.48141 49.6294C2.76943 49.1356 3.29802 48.832 3.86963 48.832H3.89844C4.47005 48.832 4.99864 49.1356 5.28666 49.6294C5.57856 50.1298 5.57856 50.7486 5.28666 51.249Z\",fill:\"#E9DFF2\"})),_path2169||(_path2169=/*#__PURE__*/React.createElement(\"path\",{d:\"M4.97346 55.1279C4.74642 55.509 4.33554 55.7425 3.89192 55.7425H3.87629C3.43267 55.7425 3.02179 55.509 2.79474 55.1279C2.55823 54.7309 2.55823 54.2362 2.79474 53.8392C3.02179 53.4581 3.43267 53.2246 3.87629 53.2246H3.89192C4.33554 53.2246 4.74642 53.4581 4.97346 53.8392C5.20997 54.2362 5.20997 54.7309 4.97346 55.1279Z\",fill:\"#E9DFF2\"})),_path2170||(_path2170=/*#__PURE__*/React.createElement(\"path\",{d:\"M4.20439 62.736C4.13886 62.8507 4.01621 62.9215 3.88414 62.9215C3.75206 62.9215 3.62941 62.8507 3.56388 62.736L3.56002 62.7293C3.49562 62.6166 3.49788 62.4777 3.56591 62.3671C3.6305 62.2622 3.74493 62.1982 3.86818 62.1982H3.9001C4.02335 62.1982 4.13777 62.2622 4.20237 62.3671C4.27039 62.4777 4.27265 62.6166 4.20825 62.7293L4.20439 62.736Z\",fill:\"#E9DFF2\"})),_path2171||(_path2171=/*#__PURE__*/React.createElement(\"path\",{d:\"M4.72536 67.0766C4.55255 67.3729 4.2354 67.555 3.89243 67.555H3.87515C3.53218 67.555 3.21503 67.3729 3.04222 67.0766C2.86707 66.7764 2.86707 66.4051 3.04222 66.1049C3.21503 65.8086 3.53218 65.6265 3.87515 65.6265H3.89243C4.2354 65.6265 4.55255 65.8086 4.72536 66.1049C4.9005 66.4051 4.9005 66.7764 4.72536 67.0766Z\",fill:\"#E9DFF2\"})),_path2172||(_path2172=/*#__PURE__*/React.createElement(\"path\",{d:\"M372.124 190.41C371.881 190.816 371.443 191.064 370.97 191.064H370.954C370.474 191.064 370.03 190.808 369.79 190.393C369.55 189.979 369.551 189.462 369.788 189.046C370.027 188.625 370.478 188.358 370.962 188.358C371.439 188.358 371.885 188.617 372.126 189.029C372.376 189.453 372.378 189.988 372.124 190.41Z\",fill:\"#E9DFF2\"})),_path2173||(_path2173=/*#__PURE__*/React.createElement(\"path\",{d:\"M372.351 186.465C372.068 186.957 371.537 187.26 370.969 187.26C370.402 187.26 369.87 186.957 369.587 186.465C369.307 185.978 369.308 185.372 369.585 184.883C369.867 184.386 370.398 184.072 370.969 184.072C371.54 184.072 372.071 184.386 372.353 184.883C372.63 185.372 372.632 185.978 372.351 186.465Z\",fill:\"#E9DFF2\"})),_path2174||(_path2174=/*#__PURE__*/React.createElement(\"path\",{d:\"M371.234 181.801C371.178 181.898 371.074 181.957 370.963 181.957C370.843 181.957 370.734 181.89 370.681 181.783L370.679 181.78C370.634 181.689 370.634 181.583 370.679 181.492L370.681 181.488C370.734 181.382 370.843 181.314 370.963 181.314C371.074 181.314 371.178 181.374 371.234 181.47L371.236 181.474C371.295 181.574 371.295 181.698 371.236 181.798L371.234 181.801Z\",fill:\"#E9DFF2\"})),_path2175||(_path2175=/*#__PURE__*/React.createElement(\"path\",{d:\"M0.684166 48.589C0.625414 48.6897 0.517586 48.7517 0.400983 48.7517H0.375803C0.2592 48.7517 0.151372 48.6897 0.0926196 48.589C0.0350863 48.4904 0.0330131 48.3689 0.0871468 48.2684L0.0922569 48.2589C0.150919 48.15 0.26466 48.082 0.388393 48.082C0.512126 48.082 0.625867 48.15 0.684529 48.2589L0.689639 48.2684C0.743773 48.3689 0.7417 48.4904 0.684166 48.589Z\",fill:\"#E9DFF2\"})),_path2176||(_path2176=/*#__PURE__*/React.createElement(\"path\",{d:\"M0.684166 64.7409C0.625414 64.8416 0.517586 64.9035 0.400983 64.9035H0.375803C0.2592 64.9035 0.151372 64.8416 0.0926196 64.7409C0.0350863 64.6422 0.0330131 64.5208 0.0871468 64.4203L0.0922569 64.4108C0.150919 64.3018 0.26466 64.2339 0.388393 64.2339C0.512126 64.2339 0.625867 64.3018 0.684529 64.4108L0.689639 64.4203C0.743773 64.5208 0.7417 64.6422 0.684166 64.7409Z\",fill:\"#E9DFF2\"})),_path2177||(_path2177=/*#__PURE__*/React.createElement(\"path\",{d:\"M0.650054 68.7713C0.59573 68.8645 0.496031 68.9217 0.388219 68.9217C0.280406 68.9217 0.180707 68.8645 0.126384 68.7713L0.1192 68.759C0.0623394 68.6616 0.0646795 68.5405 0.125264 68.4453C0.180601 68.3583 0.276529 68.3057 0.379601 68.3057H0.396836C0.499908 68.3057 0.595836 68.3583 0.651173 68.4453C0.711758 68.5405 0.714098 68.6616 0.657237 68.759L0.650054 68.7713Z\",fill:\"#E9DFF2\"})),_path2178||(_path2178=/*#__PURE__*/React.createElement(\"path\",{d:\"M374.862 183.892C374.782 184.037 374.63 184.126 374.464 184.126C374.299 184.126 374.147 184.037 374.066 183.892L374.057 183.875C373.977 183.732 373.979 183.558 374.062 183.417C374.145 183.276 374.297 183.189 374.461 183.189H374.468C374.632 183.189 374.783 183.276 374.866 183.417C374.949 183.558 374.951 183.732 374.872 183.875L374.862 183.892Z\",fill:\"#E9DFF2\"})),_path2179||(_path2179=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M57.2278 81.4845C56.9433 81.9802 56.4154 82.286 55.8438 82.286C55.2722 82.286 54.7442 81.9802 54.4598 81.4845L54.4468 81.4619C54.1594 80.9609 54.1623 80.3433 54.4533 79.8444C54.7417 79.3501 55.2716 79.0449 55.8438 79.0449C56.416 79.0449 56.9459 79.3501 57.2342 79.8444C57.5253 80.3433 57.5282 80.9609 57.2407 81.4619L57.2278 81.4845Z\",fill:\"#802DF6\"})),_path2180||(_path2180=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M57.233 85.5068C56.945 86.0005 56.4154 86.3041 55.8438 86.3041C55.2722 86.3041 54.7426 86.0005 54.4546 85.5068C54.1627 85.0064 54.1627 84.3876 54.4546 83.8872C54.7426 83.3935 55.2722 83.0898 55.8438 83.0898C56.4154 83.0898 56.945 83.3935 57.233 83.8872C57.5249 84.3876 57.5249 85.0064 57.233 85.5068Z\",fill:\"#802DF6\"})),_path2181||(_path2181=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M57.2342 89.5486C56.9459 90.0429 56.416 90.348 55.8438 90.348C55.2716 90.348 54.7417 90.0429 54.4533 89.5486C54.1623 89.0497 54.1594 88.432 54.4468 87.931L54.4598 87.9085C54.7442 87.4127 55.2722 87.1069 55.8438 87.1069C56.4154 87.1069 56.9433 87.4127 57.2278 87.9085L57.2407 87.931C57.5282 88.432 57.5253 89.0497 57.2342 89.5486Z\",fill:\"#802DF6\"})),_path2182||(_path2182=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M53.7513 79.4526C53.4632 79.9463 52.9346 80.2499 52.363 80.2499H52.3342C51.7626 80.2499 51.234 79.9463 50.946 79.4526C50.6541 78.9522 50.6541 78.3334 50.946 77.833C51.234 77.3393 51.7626 77.0356 52.3342 77.0356H52.363C52.9346 77.0356 53.4632 77.3393 53.7513 77.833C54.0432 78.3334 54.0432 78.9522 53.7513 79.4526Z\",fill:\"#802DF6\"})),_path2183||(_path2183=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M53.7532 83.4946C53.464 83.9904 52.9332 84.2953 52.3592 84.2953H52.3381C51.7641 84.2953 51.2333 83.9904 50.9441 83.4946C50.653 82.9957 50.654 82.3738 50.9414 81.8728C51.23 81.3699 51.7687 81.0542 52.3486 81.0542C52.9285 81.0542 53.4673 81.3699 53.7558 81.8728C54.0433 82.3738 54.0442 82.9957 53.7532 83.4946Z\",fill:\"#802DF6\"})),_path2184||(_path2184=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M53.7558 87.522C53.4673 88.025 52.9285 88.3407 52.3486 88.3407C51.7687 88.3407 51.23 88.025 50.9414 87.522C50.654 87.0211 50.653 86.3992 50.9441 85.9003C51.2333 85.4045 51.7641 85.0996 52.3381 85.0996H52.3592C52.9332 85.0996 53.464 85.4045 53.7532 85.9003C54.0442 86.3992 54.0433 87.0211 53.7558 87.522Z\",fill:\"#802DF6\"})),_path2185||(_path2185=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M53.7513 91.5605C53.4632 92.0542 52.9346 92.3578 52.363 92.3578H52.3342C51.7626 92.3578 51.234 92.0542 50.946 91.5605C50.6541 91.0601 50.6541 90.4413 50.946 89.9409C51.234 89.4472 51.7626 89.1436 52.3342 89.1436H52.363C52.9346 89.1436 53.4632 89.4472 53.7513 89.9409C54.0432 90.4413 54.0432 91.0601 53.7513 91.5605Z\",fill:\"#802DF6\"})),_path2186||(_path2186=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M50.243 77.4416C49.9547 77.9359 49.4248 78.2411 48.8526 78.2411C48.2803 78.2411 47.7505 77.9359 47.4621 77.4416C47.1711 76.9427 47.1682 76.3251 47.4556 75.8241L47.4686 75.8015C47.753 75.3058 48.281 75 48.8526 75C49.4242 75 49.9521 75.3058 50.2366 75.8015L50.2495 75.8241C50.537 76.3251 50.5341 76.9427 50.243 77.4416Z\",fill:\"#802DF6\"})),_path2187||(_path2187=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M50.2366 81.4845C49.9521 81.9802 49.4242 82.286 48.8526 82.286C48.281 82.286 47.753 81.9802 47.4686 81.4845L47.4556 81.4619C47.1682 80.9609 47.1711 80.3433 47.4621 79.8444C47.7505 79.3501 48.2803 79.0449 48.8526 79.0449C49.4248 79.0449 49.9547 79.3501 50.243 79.8444C50.5341 80.3433 50.537 80.9609 50.2495 81.4619L50.2366 81.4845Z\",fill:\"#802DF6\"})),_path2188||(_path2188=/*#__PURE__*/React.createElement(\"path\",{d:\"M50.2418 85.5068C49.9538 86.0005 49.4242 86.3041 48.8526 86.3041C48.281 86.3041 47.7514 86.0005 47.4633 85.5068C47.1714 85.0064 47.1714 84.3876 47.4633 83.8872C47.7514 83.3935 48.281 83.0898 48.8526 83.0898C49.4242 83.0898 49.9538 83.3935 50.2418 83.8872C50.5337 84.3876 50.5337 85.0064 50.2418 85.5068Z\",fill:\"#802DF6\"})),_path2189||(_path2189=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M50.243 89.5486C49.9547 90.0429 49.4248 90.348 48.8526 90.348C48.2803 90.348 47.7505 90.0429 47.4621 89.5486C47.1711 89.0497 47.1682 88.432 47.4556 87.931L47.4686 87.9085C47.753 87.4127 48.281 87.1069 48.8526 87.1069C49.4242 87.1069 49.9521 87.4127 50.2366 87.9085L50.2495 87.931C50.537 88.432 50.5341 89.0497 50.243 89.5486Z\",fill:\"#802DF6\"})),_path2190||(_path2190=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M50.2366 93.5919C49.9521 94.0877 49.4242 94.3934 48.8526 94.3934C48.281 94.3934 47.753 94.0877 47.4686 93.5919L47.4556 93.5693C47.1682 93.0683 47.1711 92.4507 47.4621 91.9518C47.7505 91.4575 48.2803 91.1523 48.8526 91.1523C49.4248 91.1523 49.9547 91.4575 50.243 91.9518C50.5341 92.4507 50.537 93.0683 50.2495 93.5693L50.2366 93.5919Z\",fill:\"#802DF6\"})),_path2191||(_path2191=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M46.6824 79.4085C46.4095 79.88 45.9023 80.1703 45.3575 80.1703C44.8126 80.1703 44.3054 79.88 44.0325 79.4085C43.7585 78.9353 43.7585 78.3517 44.0325 77.8785C44.3054 77.407 44.8126 77.1167 45.3575 77.1167C45.9023 77.1167 46.4095 77.407 46.6824 77.8785C46.9564 78.3517 46.9564 78.9353 46.6824 79.4085Z\",fill:\"#802DF6\"})),_path2192||(_path2192=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M46.762 83.4946C46.4728 83.9904 45.942 84.2953 45.368 84.2953H45.3469C44.7729 84.2953 44.2421 83.9904 43.9529 83.4946C43.6618 82.9957 43.6628 82.3738 43.9502 81.8728C44.2388 81.3699 44.7775 81.0542 45.3574 81.0542C45.9373 81.0542 46.476 81.3699 46.7646 81.8728C47.0521 82.3738 47.053 82.9957 46.762 83.4946Z\",fill:\"#802DF6\"})),_path2193||(_path2193=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M46.7646 87.522C46.476 88.025 45.9373 88.3407 45.3574 88.3407C44.7775 88.3407 44.2388 88.025 43.9502 87.522C43.6628 87.0211 43.6618 86.3992 43.9529 85.9003C44.2421 85.4045 44.7729 85.0996 45.3469 85.0996H45.368C45.942 85.0996 46.4728 85.4045 46.762 85.9003C47.053 86.3992 47.0521 87.0211 46.7646 87.522Z\",fill:\"#802DF6\"})),_path2194||(_path2194=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M46.76 91.5605C46.472 92.0542 45.9434 92.3578 45.3718 92.3578H45.343C44.7714 92.3578 44.2428 92.0542 43.9548 91.5605C43.6629 91.0601 43.6629 90.4413 43.9548 89.9409C44.2428 89.4472 44.7714 89.1436 45.343 89.1436H45.3718C45.9434 89.1436 46.472 89.4472 46.76 89.9409C47.0519 90.4413 47.0519 91.0601 46.76 91.5605Z\",fill:\"#802DF6\"})),_path2195||(_path2195=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M43.2051 81.4215C42.9308 81.9037 42.4163 82.2058 41.8616 82.2058C41.3068 82.2058 40.7923 81.9037 40.518 81.4215C40.2485 80.9478 40.2482 80.3623 40.5213 79.8906C40.7954 79.4171 41.3012 79.1255 41.8483 79.1255H41.8748C42.422 79.1255 42.9277 79.4171 43.2019 79.8906C43.4749 80.3623 43.4747 80.9478 43.2051 81.4215Z\",fill:\"#802DF6\"})),_path2196||(_path2196=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M43.2508 85.5068C42.9628 86.0005 42.4332 86.3041 41.8616 86.3041C41.29 86.3041 40.7604 86.0005 40.4724 85.5068C40.1805 85.0064 40.1805 84.3876 40.4724 83.8872C40.7604 83.3935 41.29 83.0898 41.8616 83.0898C42.4332 83.0898 42.9628 83.3935 43.2508 83.8872C43.5427 84.3876 43.5427 85.0064 43.2508 85.5068Z\",fill:\"#802DF6\"})),_path2197||(_path2197=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M43.2521 89.5486C42.9637 90.0429 42.4338 90.348 41.8616 90.348C41.2894 90.348 40.7595 90.0429 40.4712 89.5486C40.1801 89.0497 40.1772 88.432 40.4647 87.931L40.4776 87.9085C40.7621 87.4127 41.29 87.1069 41.8616 87.1069C42.4332 87.1069 42.9612 87.4127 43.2456 87.9085L43.2586 87.931C43.546 88.432 43.5431 89.0497 43.2521 89.5486Z\",fill:\"#802DF6\"})),_path2198||(_path2198=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M75.2278 63.4845C74.9433 63.9802 74.4154 64.286 73.8438 64.286C73.2722 64.286 72.7442 63.9802 72.4598 63.4845L72.4468 63.4619C72.1594 62.9609 72.1623 62.3433 72.4533 61.8444C72.7417 61.3501 73.2716 61.0449 73.8438 61.0449C74.416 61.0449 74.9459 61.3501 75.2342 61.8444C75.5253 62.3433 75.5282 62.9609 75.2407 63.4619L75.2278 63.4845Z\",fill:\"#802DF6\"})),_path2199||(_path2199=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M75.233 67.5068C74.945 68.0005 74.4154 68.3041 73.8438 68.3041C73.2722 68.3041 72.7426 68.0005 72.4546 67.5068C72.1627 67.0064 72.1627 66.3876 72.4546 65.8872C72.7426 65.3935 73.2722 65.0898 73.8438 65.0898C74.4154 65.0898 74.945 65.3935 75.233 65.8872C75.5249 66.3876 75.5249 67.0064 75.233 67.5068Z\",fill:\"#802DF6\"})),_path2200||(_path2200=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M75.2342 71.5486C74.9459 72.0429 74.416 72.348 73.8438 72.348C73.2716 72.348 72.7417 72.0429 72.4533 71.5486C72.1623 71.0497 72.1594 70.432 72.4468 69.931L72.4598 69.9085C72.7442 69.4127 73.2722 69.1069 73.8438 69.1069C74.4154 69.1069 74.9433 69.4127 75.2278 69.9085L75.2407 69.931C75.5282 70.432 75.5253 71.0497 75.2342 71.5486Z\",fill:\"#802DF6\"})),_path2201||(_path2201=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M71.7513 61.4526C71.4632 61.9463 70.9346 62.2499 70.363 62.2499H70.3342C69.7626 62.2499 69.234 61.9463 68.946 61.4526C68.6541 60.9522 68.6541 60.3334 68.946 59.833C69.234 59.3393 69.7626 59.0356 70.3342 59.0356H70.363C70.9346 59.0356 71.4632 59.3393 71.7513 59.833C72.0432 60.3334 72.0432 60.9522 71.7513 61.4526Z\",fill:\"#802DF6\"})),_path2202||(_path2202=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M71.7532 65.4946C71.464 65.9904 70.9332 66.2953 70.3592 66.2953H70.3381C69.7641 66.2953 69.2333 65.9904 68.9441 65.4946C68.653 64.9957 68.654 64.3738 68.9414 63.8728C69.23 63.3699 69.7687 63.0542 70.3486 63.0542C70.9285 63.0542 71.4673 63.3699 71.7558 63.8728C72.0433 64.3738 72.0442 64.9957 71.7532 65.4946Z\",fill:\"#802DF6\"})),_path2203||(_path2203=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M71.7558 69.522C71.4673 70.025 70.9285 70.3407 70.3486 70.3407C69.7687 70.3407 69.23 70.025 68.9414 69.522C68.654 69.0211 68.653 68.3992 68.9441 67.9003C69.2333 67.4045 69.7641 67.0996 70.3381 67.0996H70.3592C70.9332 67.0996 71.464 67.4045 71.7532 67.9003C72.0442 68.3992 72.0433 69.0211 71.7558 69.522Z\",fill:\"#802DF6\"})),_path2204||(_path2204=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M71.7513 73.5605C71.4632 74.0542 70.9346 74.3578 70.363 74.3578H70.3342C69.7626 74.3578 69.234 74.0542 68.946 73.5605C68.6541 73.0601 68.6541 72.4413 68.946 71.9409C69.234 71.4472 69.7626 71.1436 70.3342 71.1436H70.363C70.9346 71.1436 71.4632 71.4472 71.7513 71.9409C72.0432 72.4413 72.0432 73.0601 71.7513 73.5605Z\",fill:\"#802DF6\"})),_path2205||(_path2205=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M68.243 59.4416C67.9547 59.9359 67.4248 60.2411 66.8526 60.2411C66.2803 60.2411 65.7505 59.9359 65.4621 59.4416C65.1711 58.9427 65.1682 58.3251 65.4556 57.8241L65.4686 57.8015C65.753 57.3058 66.281 57 66.8526 57C67.4242 57 67.9521 57.3058 68.2366 57.8015L68.2495 57.8241C68.537 58.3251 68.5341 58.9427 68.243 59.4416Z\",fill:\"#802DF6\"})),_path2206||(_path2206=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M68.2366 63.4845C67.9521 63.9802 67.4242 64.286 66.8526 64.286C66.281 64.286 65.753 63.9802 65.4686 63.4845L65.4556 63.4619C65.1682 62.9609 65.1711 62.3433 65.4621 61.8444C65.7505 61.3501 66.2803 61.0449 66.8526 61.0449C67.4248 61.0449 67.9547 61.3501 68.243 61.8444C68.5341 62.3433 68.537 62.9609 68.2495 63.4619L68.2366 63.4845Z\",fill:\"#802DF6\"})),_path2207||(_path2207=/*#__PURE__*/React.createElement(\"path\",{d:\"M68.2418 67.5068C67.9538 68.0005 67.4242 68.3041 66.8526 68.3041C66.281 68.3041 65.7514 68.0005 65.4633 67.5068C65.1714 67.0064 65.1714 66.3876 65.4633 65.8872C65.7514 65.3935 66.281 65.0898 66.8526 65.0898C67.4242 65.0898 67.9538 65.3935 68.2418 65.8872C68.5337 66.3876 68.5337 67.0064 68.2418 67.5068Z\",fill:\"#802DF6\"})),_path2208||(_path2208=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M68.243 71.5486C67.9547 72.0429 67.4248 72.348 66.8526 72.348C66.2803 72.348 65.7505 72.0429 65.4621 71.5486C65.1711 71.0497 65.1682 70.432 65.4556 69.931L65.4686 69.9085C65.753 69.4127 66.281 69.1069 66.8526 69.1069C67.4242 69.1069 67.9521 69.4127 68.2366 69.9085L68.2495 69.931C68.537 70.432 68.5341 71.0497 68.243 71.5486Z\",fill:\"#802DF6\"})),_path2209||(_path2209=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M68.2366 75.5919C67.9521 76.0877 67.4242 76.3934 66.8526 76.3934C66.281 76.3934 65.753 76.0877 65.4686 75.5919L65.4556 75.5693C65.1682 75.0683 65.1711 74.4507 65.4621 73.9518C65.7505 73.4575 66.2803 73.1523 66.8526 73.1523C67.4248 73.1523 67.9547 73.4575 68.243 73.9518C68.5341 74.4507 68.537 75.0683 68.2495 75.5693L68.2366 75.5919Z\",fill:\"#802DF6\"})),_path2210||(_path2210=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M64.6824 61.4085C64.4095 61.88 63.9023 62.1703 63.3575 62.1703C62.8126 62.1703 62.3054 61.88 62.0325 61.4085C61.7585 60.9353 61.7585 60.3517 62.0325 59.8785C62.3054 59.407 62.8126 59.1167 63.3575 59.1167C63.9023 59.1167 64.4095 59.407 64.6824 59.8785C64.9564 60.3517 64.9564 60.9353 64.6824 61.4085Z\",fill:\"#802DF6\"})),_path2211||(_path2211=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M64.762 65.4946C64.4728 65.9904 63.942 66.2953 63.368 66.2953H63.3469C62.7729 66.2953 62.2421 65.9904 61.9529 65.4946C61.6618 64.9957 61.6628 64.3738 61.9502 63.8728C62.2388 63.3699 62.7775 63.0542 63.3574 63.0542C63.9373 63.0542 64.476 63.3699 64.7646 63.8728C65.0521 64.3738 65.053 64.9957 64.762 65.4946Z\",fill:\"#802DF6\"})),_path2212||(_path2212=/*#__PURE__*/React.createElement(\"path\",{opacity:0.64,d:\"M64.7646 69.522C64.476 70.025 63.9373 70.3407 63.3574 70.3407C62.7775 70.3407 62.2388 70.025 61.9502 69.522C61.6628 69.0211 61.6618 68.3992 61.9529 67.9003C62.2421 67.4045 62.7729 67.0996 63.3469 67.0996H63.368C63.942 67.0996 64.4728 67.4045 64.762 67.9003C65.053 68.3992 65.0521 69.0211 64.7646 69.522Z\",fill:\"#802DF6\"})),_path2213||(_path2213=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M64.76 73.5605C64.472 74.0542 63.9434 74.3578 63.3718 74.3578H63.343C62.7714 74.3578 62.2428 74.0542 61.9548 73.5605C61.6629 73.0601 61.6629 72.4413 61.9548 71.9409C62.2428 71.4472 62.7714 71.1436 63.343 71.1436H63.3718C63.9434 71.1436 64.472 71.4472 64.76 71.9409C65.0519 72.4413 65.0519 73.0601 64.76 73.5605Z\",fill:\"#802DF6\"})),_path2214||(_path2214=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M61.2051 63.4215C60.9308 63.9037 60.4163 64.2058 59.8616 64.2058C59.3068 64.2058 58.7923 63.9037 58.518 63.4215C58.2485 62.9478 58.2482 62.3623 58.5213 61.8906C58.7954 61.4171 59.3012 61.1255 59.8483 61.1255H59.8748C60.422 61.1255 60.9277 61.4171 61.2019 61.8906C61.4749 62.3623 61.4747 62.9478 61.2051 63.4215Z\",fill:\"#802DF6\"})),_path2215||(_path2215=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M61.2508 67.5068C60.9628 68.0005 60.4332 68.3041 59.8616 68.3041C59.29 68.3041 58.7604 68.0005 58.4724 67.5068C58.1805 67.0064 58.1805 66.3876 58.4724 65.8872C58.7604 65.3935 59.29 65.0898 59.8616 65.0898C60.4332 65.0898 60.9628 65.3935 61.2508 65.8872C61.5427 66.3876 61.5427 67.0064 61.2508 67.5068Z\",fill:\"#802DF6\"})),_path2216||(_path2216=/*#__PURE__*/React.createElement(\"path\",{opacity:0.32,d:\"M61.2521 71.5486C60.9637 72.0429 60.4338 72.348 59.8616 72.348C59.2894 72.348 58.7595 72.0429 58.4712 71.5486C58.1801 71.0497 58.1772 70.432 58.4647 69.931L58.4776 69.9085C58.7621 69.4127 59.29 69.1069 59.8616 69.1069C60.4332 69.1069 60.9612 69.4127 61.2456 69.9085L61.2586 69.931C61.546 70.432 61.5431 71.0497 61.2521 71.5486Z\",fill:\"#802DF6\"})));}var ForwardRef=/*#__PURE__*/React.forwardRef(SvgActiveUsersMapGraph);export default __webpack_public_path__+\"static/media/active_users_map_graph.6708661faf302f92437f4d82177f5b95.svg\";export{ForwardRef as ReactComponent};","var _circle, _circle2, _circle3, _circle4, _circle5, _circle6, _circle7, _circle8, _circle9, _circle10, _circle11, _circle12, _circle13, _circle14, _circle15, _circle16, _circle17, _circle18, _circle19, _circle20, _circle21, _circle22, _circle23, _circle24, _circle25, _circle26, _circle27, _circle28, _circle29, _circle30, _circle31, _circle32, _circle33, _circle34, _circle35, _circle36, _circle37, _circle38, _circle39, _circle40, _circle41, _circle42, _circle43, _circle44, _circle45, _circle46, _circle47, _circle48, _circle49, _circle50, _circle51, _circle52, _circle53, _circle54, _circle55, _circle56, _circle57, _circle58, _circle59, _circle60, _circle61, _circle62, _circle63, _circle64, _circle65, _circle66, _circle67, _circle68, _circle69, _circle70, _circle71, _circle72, _circle73, _circle74, _circle75, _circle76, _circle77, _circle78, _circle79, _circle80, _circle81, _circle82, _circle83, _circle84, _circle85, _circle86, _circle87, _circle88, _circle89, _circle90, _circle91, _circle92, _circle93, _circle94, _circle95, _circle96, _circle97, _circle98, _circle99, _circle100, _circle101, _circle102, _circle103, _circle104, _circle105, _circle106, _circle107, _circle108, _circle109, _circle110, _circle111, _circle112, _circle113, _circle114, _circle115, _circle116, _circle117, _circle118, _circle119, _circle120, _circle121, _circle122, _circle123, _circle124, _circle125, _circle126, _circle127, _circle128, _circle129, _circle130, _circle131, _circle132, _circle133, _circle134, _circle135, _circle136, _circle137, _circle138, _circle139, _circle140, _circle141, _circle142, _circle143, _circle144, _circle145, _circle146, _circle147, _circle148, _circle149, _circle150, _circle151, _circle152, _circle153, _circle154, _circle155, _circle156, _circle157, _circle158, _circle159, _circle160, _circle161, _circle162, _circle163, _circle164, _circle165, _circle166, _circle167, _circle168, _circle169, _circle170, _circle171, _circle172, _circle173, _circle174, _circle175, _circle176, _circle177, _circle178, _circle179, _circle180, _circle181, _circle182, _circle183, _circle184, _circle185, _circle186, _circle187, _circle188, _circle189, _circle190, _circle191, _circle192, _circle193, _circle194, _circle195, _circle196, _circle197, _circle198, _circle199, _circle200, _circle201, _circle202, _circle203, _circle204, _circle205, _circle206, _circle207, _circle208, _circle209, _circle210, _circle211, _circle212, _circle213, _circle214, _circle215, _circle216, _circle217, _circle218, _circle219, _circle220, _circle221, _circle222, _circle223, _circle224, _circle225, _circle226, _circle227, _circle228, _circle229, _circle230, _circle231, _circle232, _circle233, _circle234, _circle235, _circle236, _circle237, _circle238, _circle239, _circle240, _circle241, _circle242, _circle243, _circle244, _circle245, _circle246, _circle247, _circle248, _circle249, _circle250, _circle251, _circle252, _circle253, _circle254, _circle255, _circle256, _circle257, _circle258, _circle259, _circle260, _circle261, _circle262, _circle263, _circle264, _circle265, _circle266, _circle267, _circle268, _circle269, _circle270, _circle271, _circle272, _circle273, _circle274, _circle275, _circle276, _circle277, _circle278, _circle279, _circle280, _circle281, _circle282, _circle283, _circle284, _circle285, _circle286, _circle287, _circle288, _circle289, _circle290, _circle291, _circle292, _circle293, _circle294, _circle295, _circle296, _circle297, _circle298, _circle299, _circle300, _circle301, _circle302, _circle303, _circle304, _circle305, _circle306, _circle307, _circle308, _circle309, _circle310, _circle311, _circle312, _circle313, _circle314, _circle315, _circle316, _circle317, _circle318, _circle319, _circle320, _circle321, _circle322, _circle323, _circle324, _circle325, _circle326, _circle327, _circle328, _circle329, _circle330, _circle331, _circle332, _circle333, _circle334, _circle335, _circle336, _circle337, _circle338, _circle339, _circle340, _circle341, _circle342, _circle343, _circle344, _circle345, _circle346, _circle347, _circle348, _circle349, _circle350, _circle351, _circle352, _circle353, _circle354, _circle355, _circle356, _circle357, _circle358, _circle359, _circle360, _circle361, _circle362, _circle363, _circle364, _circle365, _circle366, _circle367, _circle368, _circle369, _circle370, _circle371, _circle372, _circle373, _circle374, _circle375, _circle376, _circle377, _circle378, _circle379, _circle380, _circle381, _circle382, _circle383, _circle384, _circle385, _circle386, _circle387, _circle388, _circle389, _circle390, _circle391, _circle392, _circle393, _circle394, _circle395, _circle396, _circle397, _circle398, _circle399, _circle400, _circle401, _circle402, _circle403, _circle404, _circle405, _circle406, _circle407, _circle408, _circle409, _circle410, _circle411, _circle412, _circle413, _circle414, _circle415, _circle416, _circle417, _circle418, _circle419, _circle420, _circle421, _circle422, _circle423, _circle424, _circle425, _circle426, _circle427, _circle428, _circle429, _circle430, _circle431, _circle432, _circle433, _circle434, _circle435, _circle436, _circle437, _circle438, _circle439, _circle440, _circle441, _circle442, _circle443, _circle444, _circle445, _circle446, _circle447, _circle448, _circle449, _circle450, _circle451, _circle452, _circle453, _circle454, _circle455, _circle456, _circle457, _circle458, _circle459, _circle460, _circle461, _circle462, _circle463, _circle464, _circle465, _circle466, _circle467, _circle468, _circle469, _circle470, _circle471, _circle472, _circle473, _circle474, _circle475, _circle476, _circle477, _circle478, _circle479, _circle480, _circle481, _circle482, _circle483, _circle484, _circle485, _circle486, _circle487, _circle488, _circle489, _circle490, _circle491, _circle492, _circle493, _circle494, _circle495, _circle496, _circle497, _circle498, _circle499, _circle500, _circle501, _circle502, _circle503, _circle504, _circle505, _circle506, _circle507, _circle508, _circle509, _circle510, _circle511, _circle512, _circle513, _circle514, _circle515, _circle516, _circle517, _circle518, _circle519, _circle520, _circle521, _circle522, _circle523, _circle524, _circle525, _circle526, _circle527, _circle528, _circle529, _circle530, _circle531, _circle532, _circle533, _circle534, _circle535, _circle536, _circle537, _circle538, _circle539, _circle540, _circle541, _circle542, _circle543, _circle544, _circle545, _circle546, _circle547, _circle548, _circle549, _circle550, _circle551, _circle552, _circle553, _circle554, _circle555, _circle556, _circle557, _circle558, _circle559, _circle560, _circle561, _circle562, _circle563, _circle564, _circle565, _circle566, _circle567, _circle568, _circle569, _circle570, _circle571, _circle572, _circle573, _circle574, _circle575, _circle576, _circle577, _circle578, _circle579, _circle580, _circle581, _circle582, _circle583, _circle584, _circle585, _circle586, _circle587, _circle588, _circle589, _circle590, _circle591, _circle592, _circle593, _circle594, _circle595, _circle596, _circle597, _circle598, _circle599, _circle600, _circle601, _circle602, _circle603, _circle604, _circle605, _circle606, _circle607, _circle608, _circle609, _circle610, _circle611, _circle612, _circle613, _circle614, _circle615, _circle616, _circle617, _circle618, _circle619, _circle620, _circle621, _circle622, _circle623, _circle624, _circle625, _circle626, _circle627, _circle628, _circle629, _circle630, _circle631, _circle632, _circle633, _circle634, _circle635, _circle636, _circle637, _circle638, _circle639, _circle640, _circle641, _circle642, _circle643, _circle644, _circle645, _circle646, _circle647, _circle648, _circle649, _circle650, _circle651, _circle652, _circle653, _circle654, _circle655, _circle656, _circle657, _circle658, _circle659, _circle660, _circle661, _circle662, _circle663, _circle664, _circle665, _circle666, _circle667, _circle668, _circle669, _circle670, _circle671, _circle672, _circle673, _circle674, _circle675, _circle676, _circle677, _circle678, _circle679, _circle680, _circle681, _circle682, _circle683, _circle684, _circle685, _circle686, _circle687, _circle688, _circle689, _circle690, _circle691, _circle692, _circle693, _circle694, _circle695, _circle696, _circle697, _circle698, _circle699, _circle700, _circle701, _circle702, _circle703, _circle704, _circle705, _circle706, _circle707, _circle708, _circle709, _circle710, _circle711, _circle712, _circle713, _circle714, _circle715, _circle716, _circle717, _circle718, _circle719, _circle720, _circle721, _circle722, _circle723, _circle724, _circle725, _circle726, _circle727, _circle728, _circle729, _circle730, _circle731, _circle732, _circle733, _circle734, _circle735, _circle736, _circle737, _circle738, _circle739, _circle740, _circle741, _circle742, _circle743, _circle744, _circle745, _circle746, _circle747, _circle748, _circle749, _circle750, _circle751, _circle752, _circle753, _circle754, _circle755, _circle756, _circle757, _circle758, _circle759, _circle760, _circle761, _circle762, _circle763, _circle764, _circle765, _circle766, _circle767, _circle768, _circle769, _circle770, _circle771, _circle772, _circle773, _circle774, _circle775, _circle776, _circle777, _circle778, _circle779, _circle780, _circle781, _circle782, _circle783, _circle784, _circle785, _circle786, _circle787, _circle788, _circle789, _circle790, _circle791;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgActiveUsersMapGraphV2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 182,\n height: 211,\n viewBox: \"0 0 182 211\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle10 || (_circle10 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle11 || (_circle11 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle12 || (_circle12 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle13 || (_circle13 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle14 || (_circle14 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle15 || (_circle15 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle16 || (_circle16 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle17 || (_circle17 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle18 || (_circle18 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle19 || (_circle19 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle20 || (_circle20 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle21 || (_circle21 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle22 || (_circle22 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle23 || (_circle23 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle24 || (_circle24 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle25 || (_circle25 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle26 || (_circle26 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle27 || (_circle27 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 101.523,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle28 || (_circle28 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle29 || (_circle29 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle30 || (_circle30 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle31 || (_circle31 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle32 || (_circle32 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle33 || (_circle33 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 118.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle34 || (_circle34 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle35 || (_circle35 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle36 || (_circle36 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle37 || (_circle37 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle38 || (_circle38 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle39 || (_circle39 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 104.008,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle40 || (_circle40 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 101.523,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle41 || (_circle41 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle42 || (_circle42 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle43 || (_circle43 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle44 || (_circle44 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 111.462,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle45 || (_circle45 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle46 || (_circle46 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle47 || (_circle47 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle48 || (_circle48 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 121.401,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle49 || (_circle49 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle50 || (_circle50 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle51 || (_circle51 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle52 || (_circle52 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle53 || (_circle53 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle54 || (_circle54 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle55 || (_circle55 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle56 || (_circle56 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle57 || (_circle57 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle58 || (_circle58 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle59 || (_circle59 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle60 || (_circle60 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle61 || (_circle61 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle62 || (_circle62 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle63 || (_circle63 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle64 || (_circle64 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle65 || (_circle65 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle66 || (_circle66 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle67 || (_circle67 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle68 || (_circle68 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle69 || (_circle69 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle70 || (_circle70 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle71 || (_circle71 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle72 || (_circle72 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle73 || (_circle73 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle74 || (_circle74 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle75 || (_circle75 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle76 || (_circle76 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle77 || (_circle77 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle78 || (_circle78 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle79 || (_circle79 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle80 || (_circle80 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 104.008,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle81 || (_circle81 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 101.523,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle82 || (_circle82 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle83 || (_circle83 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle84 || (_circle84 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle85 || (_circle85 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle86 || (_circle86 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle87 || (_circle87 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle88 || (_circle88 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle89 || (_circle89 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 121.401,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle90 || (_circle90 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle91 || (_circle91 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle92 || (_circle92 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle93 || (_circle93 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle94 || (_circle94 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle95 || (_circle95 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle96 || (_circle96 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle97 || (_circle97 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle98 || (_circle98 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle99 || (_circle99 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle100 || (_circle100 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle101 || (_circle101 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle102 || (_circle102 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 116.432,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle103 || (_circle103 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle104 || (_circle104 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 128.856,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle105 || (_circle105 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle106 || (_circle106 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 133.825,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle107 || (_circle107 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle108 || (_circle108 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 131.341,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle109 || (_circle109 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 126.371,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle110 || (_circle110 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 138.795,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle111 || (_circle111 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle112 || (_circle112 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle113 || (_circle113 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 136.31,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle114 || (_circle114 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle115 || (_circle115 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle116 || (_circle116 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle117 || (_circle117 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle118 || (_circle118 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 128.856,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle119 || (_circle119 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 133.825,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle120 || (_circle120 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle121 || (_circle121 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle122 || (_circle122 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle123 || (_circle123 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle124 || (_circle124 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle125 || (_circle125 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle126 || (_circle126 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle127 || (_circle127 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle128 || (_circle128 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle129 || (_circle129 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle130 || (_circle130 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle131 || (_circle131 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle132 || (_circle132 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle133 || (_circle133 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle134 || (_circle134 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle135 || (_circle135 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle136 || (_circle136 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle137 || (_circle137 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle138 || (_circle138 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle139 || (_circle139 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle140 || (_circle140 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle141 || (_circle141 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle142 || (_circle142 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle143 || (_circle143 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle144 || (_circle144 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle145 || (_circle145 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle146 || (_circle146 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle147 || (_circle147 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle148 || (_circle148 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle149 || (_circle149 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle150 || (_circle150 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle151 || (_circle151 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle152 || (_circle152 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle153 || (_circle153 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle154 || (_circle154 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 153.704,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle155 || (_circle155 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle156 || (_circle156 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle157 || (_circle157 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle158 || (_circle158 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 156.189,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle159 || (_circle159 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle160 || (_circle160 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 156.189,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle161 || (_circle161 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle162 || (_circle162 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle163 || (_circle163 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle164 || (_circle164 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle165 || (_circle165 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle166 || (_circle166 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle167 || (_circle167 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle168 || (_circle168 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle169 || (_circle169 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle170 || (_circle170 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle171 || (_circle171 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle172 || (_circle172 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle173 || (_circle173 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle174 || (_circle174 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle175 || (_circle175 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle176 || (_circle176 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle177 || (_circle177 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle178 || (_circle178 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 113.947,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle179 || (_circle179 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle180 || (_circle180 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle181 || (_circle181 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle182 || (_circle182 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 118.916,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle183 || (_circle183 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle184 || (_circle184 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle185 || (_circle185 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 116.432,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle186 || (_circle186 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle187 || (_circle187 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 104.008,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle188 || (_circle188 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 101.523,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle189 || (_circle189 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle190 || (_circle190 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle191 || (_circle191 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 113.947,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle192 || (_circle192 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 111.462,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle193 || (_circle193 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle194 || (_circle194 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle195 || (_circle195 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle196 || (_circle196 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 121.401,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle197 || (_circle197 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 116.432,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle198 || (_circle198 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle199 || (_circle199 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle200 || (_circle200 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle201 || (_circle201 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle202 || (_circle202 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle203 || (_circle203 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle204 || (_circle204 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle205 || (_circle205 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle206 || (_circle206 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle207 || (_circle207 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle208 || (_circle208 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle209 || (_circle209 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle210 || (_circle210 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle211 || (_circle211 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle212 || (_circle212 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle213 || (_circle213 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle214 || (_circle214 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle215 || (_circle215 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle216 || (_circle216 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle217 || (_circle217 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle218 || (_circle218 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle219 || (_circle219 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle220 || (_circle220 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle221 || (_circle221 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle222 || (_circle222 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle223 || (_circle223 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle224 || (_circle224 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle225 || (_circle225 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle226 || (_circle226 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle227 || (_circle227 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 104.008,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle228 || (_circle228 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 101.523,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle229 || (_circle229 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle230 || (_circle230 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle231 || (_circle231 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 113.947,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle232 || (_circle232 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 111.462,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle233 || (_circle233 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle234 || (_circle234 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 118.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle235 || (_circle235 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle236 || (_circle236 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle237 || (_circle237 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 116.432,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle238 || (_circle238 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle239 || (_circle239 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 104.008,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle240 || (_circle240 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle241 || (_circle241 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle242 || (_circle242 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle243 || (_circle243 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 113.947,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle244 || (_circle244 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 111.462,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle245 || (_circle245 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 106.492,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle246 || (_circle246 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 118.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle247 || (_circle247 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle248 || (_circle248 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 113.947,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle249 || (_circle249 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 118.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle250 || (_circle250 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle251 || (_circle251 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 116.432,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle252 || (_circle252 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle253 || (_circle253 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle254 || (_circle254 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle255 || (_circle255 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle256 || (_circle256 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle257 || (_circle257 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle258 || (_circle258 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle259 || (_circle259 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle260 || (_circle260 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle261 || (_circle261 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle262 || (_circle262 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle263 || (_circle263 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle264 || (_circle264 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle265 || (_circle265 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle266 || (_circle266 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle267 || (_circle267 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle268 || (_circle268 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle269 || (_circle269 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle270 || (_circle270 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle271 || (_circle271 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle272 || (_circle272 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle273 || (_circle273 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle274 || (_circle274 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle275 || (_circle275 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle276 || (_circle276 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle277 || (_circle277 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle278 || (_circle278 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle279 || (_circle279 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle280 || (_circle280 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle281 || (_circle281 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle282 || (_circle282 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle283 || (_circle283 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle284 || (_circle284 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle285 || (_circle285 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle286 || (_circle286 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle287 || (_circle287 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle288 || (_circle288 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle289 || (_circle289 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle290 || (_circle290 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle291 || (_circle291 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle292 || (_circle292 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle293 || (_circle293 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 126.371,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle294 || (_circle294 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 138.795,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle295 || (_circle295 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 143.765,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle296 || (_circle296 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 141.28,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle297 || (_circle297 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 136.31,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle298 || (_circle298 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle299 || (_circle299 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle300 || (_circle300 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle301 || (_circle301 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle302 || (_circle302 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle303 || (_circle303 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle304 || (_circle304 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle305 || (_circle305 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle306 || (_circle306 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle307 || (_circle307 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle308 || (_circle308 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle309 || (_circle309 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle310 || (_circle310 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle311 || (_circle311 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle312 || (_circle312 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle313 || (_circle313 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle314 || (_circle314 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 84.129,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle315 || (_circle315 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle316 || (_circle316 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle317 || (_circle317 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle318 || (_circle318 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle319 || (_circle319 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle320 || (_circle320 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle321 || (_circle321 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle322 || (_circle322 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle323 || (_circle323 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle324 || (_circle324 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle325 || (_circle325 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle326 || (_circle326 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle327 || (_circle327 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle328 || (_circle328 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle329 || (_circle329 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle330 || (_circle330 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle331 || (_circle331 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle332 || (_circle332 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle333 || (_circle333 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle334 || (_circle334 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 121.401,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle335 || (_circle335 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle336 || (_circle336 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle337 || (_circle337 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle338 || (_circle338 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle339 || (_circle339 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle340 || (_circle340 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle341 || (_circle341 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle342 || (_circle342 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle343 || (_circle343 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle344 || (_circle344 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle345 || (_circle345 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle346 || (_circle346 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle347 || (_circle347 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle348 || (_circle348 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 69.2201,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle349 || (_circle349 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle350 || (_circle350 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 71.7049,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle351 || (_circle351 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 66.7352,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle352 || (_circle352 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle353 || (_circle353 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle354 || (_circle354 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle355 || (_circle355 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle356 || (_circle356 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle357 || (_circle357 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle358 || (_circle358 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle359 || (_circle359 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle360 || (_circle360 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle361 || (_circle361 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle362 || (_circle362 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle363 || (_circle363 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle364 || (_circle364 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle365 || (_circle365 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle366 || (_circle366 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle367 || (_circle367 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 64.2505,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle368 || (_circle368 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle369 || (_circle369 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle370 || (_circle370 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle371 || (_circle371 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle372 || (_circle372 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle373 || (_circle373 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle374 || (_circle374 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle375 || (_circle375 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle376 || (_circle376 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle377 || (_circle377 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle378 || (_circle378 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle379 || (_circle379 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle380 || (_circle380 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle381 || (_circle381 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle382 || (_circle382 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle383 || (_circle383 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle384 || (_circle384 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle385 || (_circle385 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle386 || (_circle386 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle387 || (_circle387 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle388 || (_circle388 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle389 || (_circle389 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle390 || (_circle390 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle391 || (_circle391 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle392 || (_circle392 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle393 || (_circle393 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle394 || (_circle394 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle395 || (_circle395 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle396 || (_circle396 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle397 || (_circle397 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle398 || (_circle398 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle399 || (_circle399 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle400 || (_circle400 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle401 || (_circle401 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle402 || (_circle402 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle403 || (_circle403 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle404 || (_circle404 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle405 || (_circle405 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle406 || (_circle406 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle407 || (_circle407 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 26.9781,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle408 || (_circle408 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 86.5622,\n cy: 20.766,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle409 || (_circle409 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 100.051,\n cy: 18.9912,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle410 || (_circle410 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 95.7917,\n cy: 11.8917,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle411 || (_circle411 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.008,\n cy: 70.1075,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle412 || (_circle412 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 135.549,\n cy: 65.1378,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle413 || (_circle413 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 169.627,\n cy: 81.4667,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle414 || (_circle414 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 95.0818,\n cy: 31.0603,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle415 || (_circle415 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 158.977,\n cy: 72.9473,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle416 || (_circle416 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 158.977,\n cy: 92.8259,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle417 || (_circle417 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.237,\n cy: 88.5661,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle418 || (_circle418 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 171.757,\n cy: 93.5359,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle419 || (_circle419 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 158.267,\n cy: 116.254,\n r: 0.887437,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle420 || (_circle420 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 153.298,\n cy: 124.064,\n r: 0.887437,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle421 || (_circle421 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 153.298,\n cy: 138.973,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle422 || (_circle422 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.008,\n cy: 136.133,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle423 || (_circle423 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 44.6755,\n cy: 129.033,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle424 || (_circle424 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 44.6755,\n cy: 124.064,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle425 || (_circle425 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 44.6755,\n cy: 124.064,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle426 || (_circle426 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 49.6452,\n cy: 101.345,\n r: 0.887437,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle427 || (_circle427 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 49.6452,\n cy: 111.994,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle428 || (_circle428 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 49.6452,\n cy: 106.315,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle429 || (_circle429 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.038,\n cy: 146.072,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle430 || (_circle430 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 152.588,\n cy: 169.5,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle431 || (_circle431 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 153.298,\n cy: 133.293,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle432 || (_circle432 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 92.9519,\n cy: 46.6792,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle433 || (_circle433 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 72.363,\n cy: 35.3199,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle434 || (_circle434 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 107.861,\n cy: 23.9608,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle435 || (_circle435 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 81.948,\n cy: 26.0907,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle436 || (_circle436 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 77.3332,\n cy: 26.0907,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle437 || (_circle437 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 95.4368,\n cy: 15.7964,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle438 || (_circle438 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 107.506,\n cy: 0.887443,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle439 || (_circle439 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.414,\n cy: 66.2028,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle440 || (_circle440 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 123.834,\n cy: 61.9431,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle441 || (_circle441 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 139.453,\n cy: 64.7828,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle442 || (_circle442 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 181.34,\n cy: 83.9515,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle443 || (_circle443 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 125.964,\n cy: 89.6311,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle444 || (_circle444 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 42.1907,\n cy: 84.6615,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle445 || (_circle445 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 120.995,\n cy: 49.8739,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle446 || (_circle446 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.883,\n cy: 24.3158,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle447 || (_circle447 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 19.5236,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle448 || (_circle448 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 22.0084,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle449 || (_circle449 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle450 || (_circle450 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 26.9781,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle451 || (_circle451 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 24.4933,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle452 || (_circle452 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 22.0084,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle453 || (_circle453 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 17.0388,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle454 || (_circle454 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle455 || (_circle455 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle456 || (_circle456 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 26.9781,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle457 || (_circle457 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 19.5236,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle458 || (_circle458 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle459 || (_circle459 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 9.58432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle460 || (_circle460 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 14.5539,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle461 || (_circle461 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 12.0692,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle462 || (_circle462 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 9.58432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle463 || (_circle463 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 14.5539,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle464 || (_circle464 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 7.09945,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle465 || (_circle465 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 2.12985,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle466 || (_circle466 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 4.61471,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle467 || (_circle467 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle468 || (_circle468 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle469 || (_circle469 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle470 || (_circle470 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle471 || (_circle471 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle472 || (_circle472 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle473 || (_circle473 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle474 || (_circle474 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle475 || (_circle475 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle476 || (_circle476 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle477 || (_circle477 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle478 || (_circle478 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle479 || (_circle479 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle480 || (_circle480 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle481 || (_circle481 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle482 || (_circle482 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle483 || (_circle483 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle484 || (_circle484 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 140.696,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle485 || (_circle485 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle486 || (_circle486 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle487 || (_circle487 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle488 || (_circle488 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle489 || (_circle489 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 59.2807,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle490 || (_circle490 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 61.7656,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle491 || (_circle491 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 2.25582,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle492 || (_circle492 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 2.25582,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle493 || (_circle493 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.4853,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle494 || (_circle494 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 6.87008,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle495 || (_circle495 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.4853,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle496 || (_circle496 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16.0996,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle497 || (_circle497 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16.0996,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle498 || (_circle498 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.7148,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle499 || (_circle499 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.7148,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle500 || (_circle500 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16.0996,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle501 || (_circle501 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.7148,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle502 || (_circle502 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.7148,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle503 || (_circle503 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle504 || (_circle504 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle505 || (_circle505 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle506 || (_circle506 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle507 || (_circle507 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle508 || (_circle508 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 56.796,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle509 || (_circle509 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle510 || (_circle510 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle511 || (_circle511 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle512 || (_circle512 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle513 || (_circle513 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle514 || (_circle514 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle515 || (_circle515 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle516 || (_circle516 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle517 || (_circle517 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16.0996,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle518 || (_circle518 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16.0996,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle519 || (_circle519 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.7148,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle520 || (_circle520 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle521 || (_circle521 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle522 || (_circle522 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle523 || (_circle523 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle524 || (_circle524 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle525 || (_circle525 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle526 || (_circle526 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle527 || (_circle527 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle528 || (_circle528 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle529 || (_circle529 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle530 || (_circle530 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle531 || (_circle531 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle532 || (_circle532 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle533 || (_circle533 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle534 || (_circle534 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle535 || (_circle535 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle536 || (_circle536 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle537 || (_circle537 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle538 || (_circle538 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle539 || (_circle539 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle540 || (_circle540 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 44.3718,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle541 || (_circle541 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle542 || (_circle542 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle543 || (_circle543 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle544 || (_circle544 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle545 || (_circle545 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle546 || (_circle546 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 49.3415,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle547 || (_circle547 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 46.8567,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle548 || (_circle548 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 41.8871,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle549 || (_circle549 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 54.3111,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle550 || (_circle550 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 56.796,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle551 || (_circle551 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 51.8263,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle552 || (_circle552 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 34.4326,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle553 || (_circle553 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle554 || (_circle554 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.3291,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle555 || (_circle555 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle556 || (_circle556 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 26.9781,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle557 || (_circle557 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle558 || (_circle558 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle559 || (_circle559 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 39.1728,\n cy: 26.9781,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle560 || (_circle560 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 29.9443,\n cy: 22.0084,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle561 || (_circle561 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.5586,\n cy: 24.4933,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle562 || (_circle562 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.7881,\n cy: 29.4629,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle563 || (_circle563 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle564 || (_circle564 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle565 || (_circle565 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle566 || (_circle566 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 39.4022,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle567 || (_circle567 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 36.9173,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle568 || (_circle568 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 31.9477,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle569 || (_circle569 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle570 || (_circle570 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 91.5835,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle571 || (_circle571 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle572 || (_circle572 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle573 || (_circle573 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle574 || (_circle574 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle575 || (_circle575 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle576 || (_circle576 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle577 || (_circle577 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle578 || (_circle578 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle579 || (_circle579 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle580 || (_circle580 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle581 || (_circle581 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 123.886,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle582 || (_circle582 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 121.401,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle583 || (_circle583 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle584 || (_circle584 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle585 || (_circle585 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle586 || (_circle586 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle587 || (_circle587 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle588 || (_circle588 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 108.977,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle589 || (_circle589 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle590 || (_circle590 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle591 || (_circle591 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle592 || (_circle592 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle593 || (_circle593 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle594 || (_circle594 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle595 || (_circle595 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 94.0683,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle596 || (_circle596 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 86.6139,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle597 || (_circle597 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.77,\n cy: 74.1897,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle598 || (_circle598 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.77,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle599 || (_circle599 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.77,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle600 || (_circle600 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 168.384,\n cy: 76.6745,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle601 || (_circle601 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle602 || (_circle602 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle603 || (_circle603 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle604 || (_circle604 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle605 || (_circle605 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 154.54,\n cy: 108.977,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle606 || (_circle606 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 159.154,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle607 || (_circle607 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.77,\n cy: 99.0379,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle608 || (_circle608 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 163.77,\n cy: 104.008,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle609 || (_circle609 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 168.384,\n cy: 101.523,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle610 || (_circle610 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 168.384,\n cy: 96.5531,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle611 || (_circle611 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 172.999,\n cy: 79.1594,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle612 || (_circle612 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 172.999,\n cy: 84.129,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle613 || (_circle613 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 177.613,\n cy: 81.6441,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle614 || (_circle614 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 172.999,\n cy: 89.0986,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle615 || (_circle615 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 113.947,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle616 || (_circle616 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 111.462,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle617 || (_circle617 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 106.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle618 || (_circle618 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 118.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle619 || (_circle619 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 123.886,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle620 || (_circle620 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 121.401,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle621 || (_circle621 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 116.432,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle622 || (_circle622 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle623 || (_circle623 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 131.341,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle624 || (_circle624 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 126.371,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle625 || (_circle625 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 141.28,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle626 || (_circle626 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 136.31,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle627 || (_circle627 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 48.4023,\n cy: 146.25,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle628 || (_circle628 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 128.856,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle629 || (_circle629 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 133.825,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle630 || (_circle630 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 131.341,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle631 || (_circle631 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 126.371,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle632 || (_circle632 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 138.795,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle633 || (_circle633 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 143.765,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle634 || (_circle634 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 141.28,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle635 || (_circle635 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 136.31,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle636 || (_circle636 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53.0175,\n cy: 148.734,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle637 || (_circle637 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 151.219,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle638 || (_circle638 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 146.25,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.64\n })), _circle639 || (_circle639 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle640 || (_circle640 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 128.856,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle641 || (_circle641 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 133.825,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle642 || (_circle642 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle643 || (_circle643 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle644 || (_circle644 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 138.795,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle645 || (_circle645 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 143.765,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle646 || (_circle646 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle647 || (_circle647 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 136.31,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle648 || (_circle648 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 148.734,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle649 || (_circle649 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle650 || (_circle650 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle651 || (_circle651 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle652 || (_circle652 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 128.856,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle653 || (_circle653 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 133.825,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle654 || (_circle654 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 131.341,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle655 || (_circle655 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 131.341,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle656 || (_circle656 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 126.371,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle657 || (_circle657 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 126.371,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle658 || (_circle658 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 138.795,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle659 || (_circle659 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 143.765,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle660 || (_circle660 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 141.28,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle661 || (_circle661 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 136.31,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle662 || (_circle662 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 148.734,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle663 || (_circle663 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 153.704,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle664 || (_circle664 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 151.219,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle665 || (_circle665 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 146.25,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle666 || (_circle666 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle667 || (_circle667 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 156.189,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle668 || (_circle668 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle669 || (_circle669 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 163.643,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle670 || (_circle670 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle671 || (_circle671 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 168.613,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle672 || (_circle672 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 173.583,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle673 || (_circle673 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 171.098,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle674 || (_circle674 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 166.128,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle675 || (_circle675 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 178.552,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle676 || (_circle676 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 80.705,\n cy: 183.522,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle677 || (_circle677 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 181.037,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle678 || (_circle678 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 176.067,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle679 || (_circle679 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle680 || (_circle680 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle681 || (_circle681 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle682 || (_circle682 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 168.613,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle683 || (_circle683 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 173.583,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle684 || (_circle684 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 171.098,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle685 || (_circle685 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle686 || (_circle686 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 178.552,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle687 || (_circle687 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 183.522,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle688 || (_circle688 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 181.037,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle689 || (_circle689 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 176.067,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle690 || (_circle690 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 186.007,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle691 || (_circle691 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 186.007,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle692 || (_circle692 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle693 || (_circle693 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle694 || (_circle694 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle695 || (_circle695 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 161.159,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle696 || (_circle696 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 168.613,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle697 || (_circle697 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 173.583,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle698 || (_circle698 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 171.098,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle699 || (_circle699 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle700 || (_circle700 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 178.552,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle701 || (_circle701 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 183.522,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle702 || (_circle702 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 181.037,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle703 || (_circle703 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 176.067,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle704 || (_circle704 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle705 || (_circle705 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 158.674,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle706 || (_circle706 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle707 || (_circle707 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 163.643,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle708 || (_circle708 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle709 || (_circle709 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 161.159,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle710 || (_circle710 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 168.613,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle711 || (_circle711 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle712 || (_circle712 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 186.007,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle713 || (_circle713 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle714 || (_circle714 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle715 || (_circle715 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle716 || (_circle716 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle717 || (_circle717 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle718 || (_circle718 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle719 || (_circle719 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle720 || (_circle720 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 158.674,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle721 || (_circle721 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle722 || (_circle722 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 145.311,\n cy: 163.643,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle723 || (_circle723 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle724 || (_circle724 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 161.159,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle725 || (_circle725 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle726 || (_circle726 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 149.926,\n cy: 166.128,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle727 || (_circle727 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle728 || (_circle728 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 171.098,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle729 || (_circle729 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57.6318,\n cy: 166.128,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle730 || (_circle730 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle731 || (_circle731 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 168.613,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle732 || (_circle732 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 62.247,\n cy: 173.583,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle733 || (_circle733 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 66.8613,\n cy: 181.037,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle734 || (_circle734 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 158.674,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle735 || (_circle735 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 163.643,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle736 || (_circle736 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 161.159,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle737 || (_circle737 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 71.4755,\n cy: 168.613,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle738 || (_circle738 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 171.098,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle739 || (_circle739 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 166.128,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.32\n })), _circle740 || (_circle740 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 76.0908,\n cy: 176.067,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle741 || (_circle741 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 190.976,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle742 || (_circle742 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 85.3203,\n cy: 195.946,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle743 || (_circle743 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 188.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle744 || (_circle744 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 193.461,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle745 || (_circle745 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 190.976,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle746 || (_circle746 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 89.9345,\n cy: 198.431,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle747 || (_circle747 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 200.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle748 || (_circle748 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 200.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle749 || (_circle749 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 195.946,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle750 || (_circle750 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 94.5488,\n cy: 195.946,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle751 || (_circle751 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 188.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle752 || (_circle752 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 193.461,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle753 || (_circle753 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 193.461,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle754 || (_circle754 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 190.976,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle755 || (_circle755 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 198.431,\n r: 2.12985,\n fill: \"#802DF6\"\n })), _circle756 || (_circle756 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 203.4,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle757 || (_circle757 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 99.164,\n cy: 203.4,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle758 || (_circle758 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 200.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle759 || (_circle759 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 200.916,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle760 || (_circle760 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 195.946,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle761 || (_circle761 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 195.946,\n r: 2.12985,\n fill: \"#802DF6\",\n fillOpacity: 0.5\n })), _circle762 || (_circle762 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 103.778,\n cy: 205.885,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle763 || (_circle763 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 193.461,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle764 || (_circle764 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 198.431,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle765 || (_circle765 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 203.4,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle766 || (_circle766 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 200.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle767 || (_circle767 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 108.394,\n cy: 208.37,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle768 || (_circle768 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 113.008,\n cy: 205.885,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle769 || (_circle769 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 203.4,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle770 || (_circle770 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 200.916,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle771 || (_circle771 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 117.623,\n cy: 208.37,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle772 || (_circle772 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 122.237,\n cy: 205.885,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle773 || (_circle773 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 193.461,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle774 || (_circle774 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 190.976,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle775 || (_circle775 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 198.431,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle776 || (_circle776 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 126.852,\n cy: 203.4,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle777 || (_circle777 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 131.467,\n cy: 195.946,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle778 || (_circle778 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 188.492,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle779 || (_circle779 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 136.081,\n cy: 193.461,\n r: 2.12985,\n fill: \"#E9DFF2\"\n })), _circle780 || (_circle780 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 65.2634,\n cy: 177.31,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle781 || (_circle781 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 70.2331,\n cy: 184.409,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle782 || (_circle782 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 63.1335,\n cy: 158.851,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle783 || (_circle783 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 68.1033,\n cy: 165.951,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle784 || (_circle784 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 72.363,\n cy: 173.76,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle785 || (_circle785 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 77.3327,\n cy: 180.86,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle786 || (_circle786 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 81.5925,\n cy: 188.669,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle787 || (_circle787 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 81.5925,\n cy: 193.639,\n r: 0.887437,\n fill: \"#E9DFF2\"\n })), _circle788 || (_circle788 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 43.6106,\n cy: 126.548,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle789 || (_circle789 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 42.9006,\n cy: 25.0257,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle790 || (_circle790 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.9524,\n cy: 37.8048,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })), _circle791 || (_circle791 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 15.2121,\n cy: 28.5754,\n r: 0.532462,\n fill: \"#E9DFF2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgActiveUsersMapGraphV2);\nexport default __webpack_public_path__ + \"static/media/active_users_map_graph_v2.81fca9a2acba7efc34585e63fe19ec0e.svg\";\nexport { ForwardRef as ReactComponent };","export enum AnxietyTypes {\n Minimal = 'Minimal',\n Mild = 'Mild',\n Moderate = 'Moderate',\n Severe = 'Severe',\n}\n\nexport interface GadResult {\n title: string;\n description: string;\n imageSrc: string;\n}\n","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\nimport { AppDispatch } from 'index';\nimport { RootState } from './types';\n\n// Use throughout app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","import { QuestionIds } from './QuestionIds';\n\nexport const DEFAULT_ANSWERS: Record = {\n [QuestionIds.Welcome]: 'sleep',\n [QuestionIds.SleepAndActivityExtraMotivation]: 'no',\n [QuestionIds.AboutYouRoutine]: 'some_routine',\n [QuestionIds.AboutYouGuided]: 'not_much',\n};\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport Minimal from 'assets/gad/minimal.png';\nimport Mild from 'assets/gad/mild.png';\nimport Moderate from 'assets/gad/moderate.png';\nimport Severe from 'assets/gad/severe.png';\nimport { GadResult, AnxietyTypes } from './GadResult.types';\n\nexport const MappedGadAnswersWeight: Record = {\n not_at_all: 0,\n several_days: 1,\n more_than_half_days: 2,\n nearly_every_day: 3,\n};\n\nexport const GadQuestionIds: QuestionIds[] = [\n QuestionIds.GadQ1,\n QuestionIds.GadQ2,\n QuestionIds.GadQ3,\n QuestionIds.GadQ4,\n QuestionIds.GadQ5,\n QuestionIds.GadQ6,\n QuestionIds.GadQ7,\n];\n\nexport const GadTestResults: Record = {\n LowResult: 5,\n MildResult: 10,\n ModerateResult: 15,\n};\n\nexport const GadResultData: Record = {\n [AnxietyTypes.Minimal]: {\n title: 'GadResultMinimalAnxietyTitle',\n description: 'GadResultDescription1',\n imageSrc: Minimal,\n },\n [AnxietyTypes.Mild]: {\n title: 'GadResultMildAnxietyTitle',\n description: `GadResultDescription1`,\n imageSrc: Mild,\n },\n [AnxietyTypes.Moderate]: {\n title: 'GadResultModerateAnxietyTitle',\n description: `GadResultDescription2`,\n imageSrc: Moderate,\n },\n [AnxietyTypes.Severe]: {\n title: 'GadResultSevereAnxietyTitle',\n description: `GadResultDescription2`,\n imageSrc: Severe,\n },\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from \"react\";\nimport type {\n Experiment,\n Result,\n FeatureResult,\n JSONValue,\n FeatureDefinition,\n Context,\n WidenPrimitives,\n} from \"@growthbook/growthbook\";\nimport { GrowthBook } from \"@growthbook/growthbook\";\n\nexport type GrowthBookContextValue = {\n growthbook: GrowthBook;\n};\nexport interface WithRunExperimentProps {\n runExperiment: (exp: Experiment) => Result;\n}\n/** @deprecated */\nexport type GrowthBookSSRData = {\n attributes: Record;\n features: Record;\n};\n\nexport const GrowthBookContext = React.createContext(\n {} as GrowthBookContextValue\n);\n\n/** @deprecated */\nexport async function getGrowthBookSSRData(\n context: Context\n): Promise {\n // Server-side GrowthBook instance\n const gb = new GrowthBook({\n ...context,\n });\n\n // Load feature flags from network if needed\n if (context.clientKey) {\n await gb.loadFeatures();\n }\n\n const data: GrowthBookSSRData = {\n attributes: gb.getAttributes(),\n features: gb.getFeatures(),\n };\n gb.destroy();\n\n return data;\n}\n\n/** @deprecated */\nexport function useGrowthBookSSR(data: GrowthBookSSRData) {\n const gb = useGrowthBook();\n\n // Only do this once to avoid infinite loops\n const isFirst = React.useRef(true);\n if (gb && isFirst.current) {\n gb.setFeatures(data.features);\n gb.setAttributes(data.attributes);\n isFirst.current = false;\n }\n}\n\nexport function useExperiment(exp: Experiment): Result {\n const { growthbook } = React.useContext(GrowthBookContext);\n return growthbook.run(exp);\n}\n\nexport function useFeature(\n id: string\n): FeatureResult {\n const growthbook = useGrowthBook();\n return growthbook.evalFeature(id);\n}\n\nexport function useFeatureIsOn<\n AppFeatures extends Record = Record\n>(id: string & keyof AppFeatures): boolean {\n const growthbook = useGrowthBook();\n return growthbook.isOn(id);\n}\n\nexport function useFeatureValue(\n id: string,\n fallback: T\n): WidenPrimitives {\n const growthbook = useGrowthBook();\n return growthbook.getFeatureValue(id, fallback);\n}\n\nexport function useGrowthBook<\n AppFeatures extends Record = Record\n>(): GrowthBook {\n const { growthbook } = React.useContext(GrowthBookContext);\n\n if (!growthbook) {\n throw new Error(\"Missing or invalid GrowthBookProvider\");\n }\n\n return growthbook as GrowthBook;\n}\n\nexport function FeaturesReady({\n children,\n timeout,\n fallback,\n}: {\n children: React.ReactNode;\n timeout?: number;\n fallback?: React.ReactNode;\n}) {\n const gb = useGrowthBook();\n const [hitTimeout, setHitTimeout] = React.useState(false);\n const ready = gb ? gb.ready : false;\n React.useEffect(() => {\n if (timeout && !ready) {\n const timer = setTimeout(() => {\n gb &&\n gb.log(\"FeaturesReady timed out waiting for features to load\", {\n timeout,\n });\n setHitTimeout(true);\n }, timeout);\n return () => clearTimeout(timer);\n }\n }, [timeout, ready, gb]);\n\n return <>{ready || hitTimeout ? children : fallback || null};\n}\n\nexport function IfFeatureEnabled({\n children,\n feature,\n}: {\n children: React.ReactNode;\n feature: string;\n}) {\n return useFeature(feature).on ? <>{children} : null;\n}\n\nexport function FeatureString(props: { default: string; feature: string }) {\n const value = useFeature(props.feature).value;\n\n if (value !== null) {\n return <>{value};\n }\n\n return <>{props.default};\n}\n\nexport const withRunExperiment =

(\n Component: React.ComponentType

\n): React.ComponentType> => {\n // eslint-disable-next-line\n const withRunExperimentWrapper = (props: any): JSX.Element => (\n \n {({ growthbook }): JSX.Element => {\n return (\n growthbook.run(exp)}\n />\n );\n }}\n \n );\n return withRunExperimentWrapper;\n};\nwithRunExperiment.displayName = \"WithRunExperiment\";\n\nexport const GrowthBookProvider: React.FC<\n React.PropsWithChildren<{\n growthbook: GrowthBook;\n }>\n> = ({ children, growthbook }) => {\n // Tell growthbook how to re-render our app (for dev mode integration)\n // eslint-disable-next-line\n const [_, setRenderCount] = React.useState(0);\n React.useEffect(() => {\n if (!growthbook || !growthbook.setRenderer) return;\n\n growthbook.setRenderer(() => {\n setRenderCount((v) => v + 1);\n });\n return () => {\n growthbook.setRenderer(() => {\n // do nothing\n });\n };\n }, [growthbook]);\n\n return (\n \n {children}\n \n );\n};\n","export enum FeatureTypes {\n CONGRATS = 'congrats',\n SKIP_TRIAL = 'st',\n PAYMENT_FORM = 'pf',\n PRODUCT = 'pr',\n PLAN = 'plan',\n SPECIAL_FLOW = 'sf',\n FACEBOOK_REVIEWS = 'reviews',\n GAD = 'gad',\n FAQ = 'faq',\n FREE_PAID = 'freeVsPaid',\n PERSONALIZATION = 'personalization',\n PERSONALIZATION_LOADER = 'opl_estimate',\n LOCAL_CURRENCY = 'loc',\n PRESALE_OFFER = 'ps_offer',\n BLITZ = 'blitz',\n SLEEP_ACTIVITY_LOADER_V2 = 'loader_v2',\n PRICE_BUTTON = 'priceButton',\n FEATURED_IN = 'featuredIn',\n TRIAL_EXPLAINER = 'trex',\n EVENT_POLICIES = 'ep',\n WELCOME_LOADER = 'welcome_loader',\n PREPLAN = 'preplan',\n MEQ_RESULTS = 'results',\n ANIMATION_SPEED_INCREASE = 'trans_speed_increase',\n WORKBOOK = 'workbook',\n VENMO = 'venmo',\n PREVENT_BACK = 'pb',\n PERSONALIZATIOND3 = 'personalizationD3',\n RELATE_SCALE_QUESTION = 'relsc',\n PAYMENT = 'payment',\n EDU = 'edu',\n ISI = 'isi',\n FLOW = 'flow',\n UPSELL_FLOW = 'upsell_flow',\n UPSELL_FLOW_V2 = 'upsell_flow_v2',\n}\n","import { useFeatureIsOn, useFeatureValue } from '@growthbook/growthbook-react';\nimport { FeatureTypes } from 'featureTypes';\n\nexport type Features = {\n isPresaleFlow: boolean;\n isLocalCurrencyEnabled: boolean;\n isSleepActivityLoaderV2: boolean;\n isFeaturedInFlow: boolean;\n isWelcomeLoaderFlow: boolean;\n isPreplanFlow: boolean;\n isAnimationSpeedFlow: boolean;\n isRelateScaleQuestion: boolean;\n isPersonalizationLoaderEstimateFlow: boolean;\n isDefaultOnboarding: boolean;\n isCongratsV2: boolean;\n isIgnoreSkipTrialFlow: boolean;\n isSkipTrialWithoutRefund: boolean;\n isSkipTrialV3: boolean;\n isLayoutCardPaymentForm: boolean;\n isPreselectProductOffer: boolean;\n isFacebookReviews: boolean;\n isGadTest: boolean;\n isFaq: boolean;\n isFreeVsPaid: boolean;\n isBlitzV2Flow: boolean;\n isPresalePulsingButtonFlow: boolean;\n isTrialExplainerWithDate: boolean;\n isTrialExplainerWithHighlight: boolean;\n isHorizontalTrialExplainer: boolean;\n isFlexibleOmitViewEventsFlow: boolean;\n isMeqResultV2Flow: boolean;\n isMeqResultAnimalFlow: boolean;\n isWorkbookUpsellFlow: boolean;\n isPaymentPreventBack: boolean;\n isEducationV1Quiz: boolean;\n isEducationV2Quiz: boolean;\n isEducationV3Quiz: boolean;\n isInsomniaV1Quiz: boolean;\n isInsomniaV2Quiz: boolean;\n isAdhdTest: boolean;\n upsellFlow: boolean;\n};\n\ntype FeatureFlagKey = `${FeatureTypes}`;\n\nexport const useFeatures = (): Features => {\n return {\n isPresaleFlow: useFeatureIsOn(FeatureTypes.PRESALE_OFFER as FeatureFlagKey),\n isLocalCurrencyEnabled: useFeatureIsOn(\n FeatureTypes.LOCAL_CURRENCY as FeatureFlagKey,\n ),\n isSleepActivityLoaderV2: useFeatureIsOn(\n FeatureTypes.SLEEP_ACTIVITY_LOADER_V2 as FeatureFlagKey,\n ),\n isFeaturedInFlow: useFeatureIsOn(\n FeatureTypes.FEATURED_IN as FeatureFlagKey,\n ),\n isWelcomeLoaderFlow: useFeatureIsOn(\n FeatureTypes.WELCOME_LOADER as FeatureFlagKey,\n ),\n isPreplanFlow: useFeatureIsOn(FeatureTypes.PREPLAN as FeatureFlagKey),\n isAnimationSpeedFlow: useFeatureIsOn(\n FeatureTypes.ANIMATION_SPEED_INCREASE as FeatureFlagKey,\n ),\n isRelateScaleQuestion: useFeatureIsOn(\n FeatureTypes.RELATE_SCALE_QUESTION as FeatureFlagKey,\n ),\n isPersonalizationLoaderEstimateFlow: useFeatureIsOn(\n FeatureTypes.PERSONALIZATION_LOADER as FeatureFlagKey,\n ),\n isDefaultOnboarding:\n useFeatureValue(FeatureTypes.SPECIAL_FLOW, '') === 'onboarding',\n isCongratsV2: useFeatureValue(FeatureTypes.CONGRATS, '') === 'congrats_v2',\n isIgnoreSkipTrialFlow: !Boolean(\n useFeatureValue(FeatureTypes.SKIP_TRIAL, ''),\n ),\n isSkipTrialWithoutRefund:\n useFeatureValue(FeatureTypes.SKIP_TRIAL, '') === 'nr',\n isSkipTrialV3: useFeatureValue(FeatureTypes.SKIP_TRIAL, '') === 'v3',\n isLayoutCardPaymentForm:\n useFeatureValue(FeatureTypes.PAYMENT_FORM, '') === 'cardlyt',\n isPreselectProductOffer: !!useFeatureValue(FeatureTypes.PRODUCT, ''),\n isFacebookReviews:\n useFeatureValue(FeatureTypes.FACEBOOK_REVIEWS, '') === 'fb',\n isGadTest: Boolean(useFeatureValue(FeatureTypes.GAD, '')),\n isFaq: Boolean(useFeatureValue(FeatureTypes.FAQ, '')),\n isFreeVsPaid: Boolean(useFeatureValue(FeatureTypes.FREE_PAID, '')),\n isBlitzV2Flow: useFeatureValue(FeatureTypes.BLITZ, '') === 'anx',\n isPresalePulsingButtonFlow:\n useFeatureValue(FeatureTypes.PRICE_BUTTON, '') === 'animated',\n isTrialExplainerWithDate:\n useFeatureValue(FeatureTypes.TRIAL_EXPLAINER, '') === 'dt',\n isTrialExplainerWithHighlight:\n useFeatureValue(FeatureTypes.TRIAL_EXPLAINER, '') === 'highlight',\n isHorizontalTrialExplainer:\n useFeatureValue(FeatureTypes.TRIAL_EXPLAINER, '') === 'horizontal',\n isFlexibleOmitViewEventsFlow:\n useFeatureValue(FeatureTypes.EVENT_POLICIES, '') === 'fov',\n isMeqResultV2Flow: useFeatureValue(FeatureTypes.MEQ_RESULTS, '') === 'ext',\n isMeqResultAnimalFlow:\n useFeatureValue(FeatureTypes.MEQ_RESULTS, '') === 'anim',\n isWorkbookUpsellFlow: useFeatureValue(FeatureTypes.WORKBOOK, '') === 'ups',\n isPaymentPreventBack:\n useFeatureValue(FeatureTypes.PREVENT_BACK, '') === 'payment',\n isEducationV1Quiz: useFeatureValue(FeatureTypes.EDU, '') === 'v1',\n isEducationV2Quiz: useFeatureValue(FeatureTypes.EDU, '') === 'v2',\n isEducationV3Quiz: useFeatureValue(FeatureTypes.EDU, '') === 'v3',\n isInsomniaV1Quiz: useFeatureValue(FeatureTypes.ISI, '') === 'v1',\n isInsomniaV2Quiz: useFeatureValue(FeatureTypes.ISI, '') === 'v2',\n isAdhdTest: useFeatureValue(FeatureTypes.FLOW, '') === 'adhd_10',\n upsellFlow: Boolean(useFeatureValue(FeatureTypes.UPSELL_FLOW, '')),\n };\n};\n\nexport const isQuickPurchaseFlow = (): boolean =>\n window.location.pathname.split('/').includes('quick-purchase');\nexport const isInviteFlow = (): boolean =>\n window.location.pathname.split('/').includes('invite');\nexport const isGiftFlow = (): boolean =>\n window.location.pathname.split('/').includes('gift');\nexport const isRedeemFlow = (): boolean =>\n window.location.pathname.split('/').includes('redeem');\nexport const isSubscriptionCancelFlow = (): boolean =>\n window.location.pathname.split('/').includes('subscription-cancel');\nexport const isShortWebCancelFlow = (): boolean =>\n useFeatureValue('type', '') === 'short';\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport MorningBg from 'assets/meqresults/morning_bg.png';\nimport EveningBg from 'assets/meqresults/evening_bg.png';\nimport NeutralBg from 'assets/meqresults/neutral_bg.png';\nimport MorningSticker from 'assets/meqresults/morning_sticker.png';\nimport EveningSticker from 'assets/meqresults/evening_sticker.png';\nimport NeutralSticker from 'assets/meqresults/neutral_sticker.png';\n\nimport MorningAnimalSticker from 'assets/meqresults/animals/lion.png';\nimport EveningAnimalSticker from 'assets/meqresults/animals/wolf.png';\nimport NeutralAnimalSticker from 'assets/meqresults/animals/bear.png';\nimport { useFeatures } from 'useFeatures';\n\nexport enum CircadianTypes {\n Morning = 'Morning',\n Neutral = 'Neutral',\n Evening = 'Evening',\n}\n\nexport const MappedRmeqAnswersWeight: Record = {\n definitely_evening: 0,\n '11_12pm': 1,\n very_tired: 1,\n '2_3am': 1,\n '10pm_5am': 1,\n '9:45_11am': 2,\n fairly_tired: 2,\n '12:45_2am': 2,\n '5_10pm': 2,\n rather_evening: 2,\n '7:45_9:45am': 3,\n fairly_refreshed: 3,\n '10:15_12:45am': 3,\n '10am_5pm': 3,\n '6:30_7:45am': 4,\n very_refreshed: 4,\n '9_10:15pm': 4,\n '8_10am': 4,\n rather_morning: 4,\n '5_6:30am': 5,\n '8_9pm': 5,\n '5_8am': 5,\n definitely_morning: 6,\n};\n\nexport const RmeqQuestionIds: QuestionIds[] = [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n];\n\nexport interface RmeqResult {\n title: string;\n description: string;\n bedTime: string;\n wakeUpTime: string;\n background: string;\n stickerImg: string;\n}\n\nexport const useRmeqResultData = (): Record => {\n const { isMeqResultAnimalFlow } = useFeatures();\n\n return {\n [CircadianTypes.Morning]: {\n title: 'RmeqResultMorningTitle',\n description: 'RmeqResultMorningDescription',\n bedTime: '21:30-22:45',\n wakeUpTime: '5:00-6:30',\n background: MorningBg,\n stickerImg: isMeqResultAnimalFlow ? MorningAnimalSticker : MorningSticker,\n },\n [CircadianTypes.Neutral]: {\n title: 'RmeqResultNeutralTitle',\n description: 'RmeqResultNeutralDescription',\n bedTime: '22:45-00:45',\n wakeUpTime: '6:30-8:30',\n background: NeutralBg,\n stickerImg: isMeqResultAnimalFlow ? NeutralAnimalSticker : NeutralSticker,\n },\n [CircadianTypes.Evening]: {\n title: 'RmeqResultEveningTitle',\n description: 'RmeqResultEveningDescription',\n bedTime: '00:45-2:00',\n wakeUpTime: '8:30-10:00',\n background: EveningBg,\n stickerImg: isMeqResultAnimalFlow ? EveningAnimalSticker : EveningSticker,\n },\n };\n};\n","export enum InsomniaTypes {\n Minimal = 'Minimal',\n Mild = 'Mild',\n Moderate = 'Moderate',\n Severe = 'Severe',\n}\n\nexport interface InsomniaResult {\n description: string;\n}\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { InsomniaResult, InsomniaTypes } from './InsomniaResults.types';\n\nexport const MappedInsomniaAnswersWeight: Record = {\n very_satisfied: 0,\n satisfied: 1,\n moderately_satisfied: 2,\n dissatisfied: 3,\n very_dissatisfied: 4,\n not_at_all: 0,\n little: 1,\n somewhat: 2,\n much: 3,\n very_much: 4,\n};\n\nexport const InsomniaQuestionIds: QuestionIds[] = [\n QuestionIds.IsiQ1,\n QuestionIds.IsiQ2,\n QuestionIds.IsiQ3,\n QuestionIds.IsiQ4,\n];\n\nexport const InsomniaResultData: Record = {\n [InsomniaTypes.Minimal]: {\n description:\n 'You are doing great job. Together with Loóna you could understand how your internal clock works and improve your sleep quality',\n },\n [InsomniaTypes.Mild]: {\n description:\n 'You sleep pretty well but several factors are disturbing your sleep. \\n\\nTogether with Loóna you could understand how your internal clock works and improve your sleep quality.',\n },\n [InsomniaTypes.Moderate]: {\n description:\n 'Your symptoms might be a result of moderate insomnia. Together with Loóna you could understand how your internal clock works and improve your sleep quality',\n },\n [InsomniaTypes.Severe]: {\n description:\n 'Your symptoms might be a result of severe insomnia. Together with Loóna you could understand how your internal clock works and improve your sleep quality',\n },\n};\n","import { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\n\nexport enum QuestionTypes {\n Option,\n Custom,\n Optional,\n}\n\nexport abstract class Question {\n id: QuestionIds;\n variationId: QuestionIds;\n type: QuestionTypes;\n\n protected constructor(\n type: QuestionTypes,\n id: QuestionIds,\n variationId?: QuestionIds,\n ) {\n this.type = type;\n this.id = id;\n this.variationId = variationId ?? id;\n }\n}\n\nexport class CustomQuestion extends Question {\n constructor(id: QuestionIds, variationId?: QuestionIds) {\n super(QuestionTypes.Custom, id, variationId);\n }\n}\n","export enum QuestionIds {\n Welcome = 'Welcome',\n Reason = 'Reason',\n HowLikely = 'HowLikely',\n Extend = 'Extend',\n Loader = 'Loader',\n FinishWinBack = 'FinishWinBack',\n FinishUserLost = 'FinishUserLost',\n Offer = 'Offer',\n}\n","import { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { CustomQuestion, Question, QuestionTypes } from '../Question';\nimport { TextOption } from './TextOption';\n\nexport class OptionalQuestion extends Question {\n sourceQuestionId: QuestionIds;\n options: Record;\n\n constructor(\n sourceQuestionId: QuestionIds,\n questionId: QuestionIds,\n options: Record,\n ) {\n super(QuestionTypes.Optional, questionId);\n this.sourceQuestionId = sourceQuestionId;\n this.options = options;\n }\n}\n\nexport class OptionQuestion extends Question {\n title: string;\n description?: string | JSX.Element;\n options: TextOption[];\n multiple: boolean;\n\n constructor(\n id: QuestionIds,\n title: string,\n options: TextOption[],\n multiple = false,\n description?: string | JSX.Element,\n ) {\n super(QuestionTypes.Option, id);\n\n this.id = id;\n this.title = title;\n this.description = description;\n this.options = options;\n this.multiple = multiple;\n }\n\n hasOptionId(id: string): boolean {\n for (const option of this.options) {\n if (option.id === id) {\n return true;\n }\n }\n return false;\n }\n}\n","export class TextOption {\n id: string;\n text: string;\n excluding: boolean;\n\n constructor(id: string, text: string, excluding = false) {\n this.id = id;\n this.text = text;\n this.excluding = excluding;\n }\n}\n","import {\n OptionalQuestion,\n OptionQuestion,\n} from 'cancelsubscription/components/question/options/OptionQuestion';\nimport { TextOption } from 'cancelsubscription/components/question/options/TextOption';\nimport {\n CustomQuestion,\n Question,\n} from 'cancelsubscription/components/question/Question';\nimport { QuestionIds } from './constants/QuestionsIds';\n\nexport const QUESTIONS_META: Record = {\n [QuestionIds.Welcome]: new CustomQuestion(QuestionIds.Welcome),\n [QuestionIds.Reason]: new OptionQuestion(\n QuestionIds.Reason,\n 'Why did you decide to cancel your subscription?',\n [\n new TextOption('expensive', \"I like the program, but it's too expensive\"),\n new TextOption('mind', \"I still haven't made my mind up about the trial\"),\n new TextOption(\n 'how_to_work',\n 'I don’t understand how to work with the app',\n ),\n new TextOption(\n 'no_results',\n \"I'm not noticing results or unsure if Loóna works for me\",\n ),\n new TextOption(\n 'not_right_time',\n \"It's not the right time for me, I need to take a break\",\n ),\n new TextOption('other', 'Other'),\n ],\n ),\n [QuestionIds.Offer]: new OptionalQuestion(\n QuestionIds.Reason,\n QuestionIds.Offer,\n {\n expensive: new OptionQuestion(\n QuestionIds.Offer,\n 'Reclaim your sleep and enjoy 75% off',\n [\n new TextOption(\n 'yes_change_subscription',\n 'Yes, please change my subscription price to $14.99 per quarter (75% off)',\n ),\n new TextOption('no_change_subscription', \"No, I'd like to cancel\"),\n ],\n false,\n (\n

\n We get it - new habits take time. We want you focusing on your\n health, not your wallet.\n
Extend Premium today for less:\n

\n 75% off Unlimited Access\n

\n Personalised sleep plan, wake-up routine, breathing exercises and\n library of escapes and immersive stories.\n

\n Fancy getting healthy for less?\n
\n ),\n ),\n no_results: new CustomQuestion(QuestionIds.Offer),\n how_to_work: new CustomQuestion(QuestionIds.Offer),\n not_right_time: new CustomQuestion(QuestionIds.Offer),\n mind: new CustomQuestion(QuestionIds.Extend),\n other: new CustomQuestion(QuestionIds.Offer),\n },\n ),\n [QuestionIds.HowLikely]: new OptionQuestion(\n QuestionIds.HowLikely,\n 'How likely are you to try Loóna again in the future?',\n [\n new TextOption('very_likely', 'Very likely'),\n new TextOption('somewhat_likely', 'Somewhat likely'),\n new TextOption('neither_likely', 'Neither likely nor unlikely'),\n new TextOption('somewhat_unlikely', 'Somewhat unlikely'),\n new TextOption('very_unlikely', 'Very unlikely'),\n ],\n ),\n [QuestionIds.Extend]: new CustomQuestion(QuestionIds.Extend),\n [QuestionIds.FinishWinBack]: new CustomQuestion(QuestionIds.FinishWinBack),\n [QuestionIds.Loader]: new CustomQuestion(QuestionIds.Loader),\n [QuestionIds.FinishUserLost]: new CustomQuestion(QuestionIds.FinishUserLost),\n};\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { DefaultQuestionIds } from './DefaultQuestonIds';\n\nexport const getQuestionIds = (): QuestionIds[] => {\n return DefaultQuestionIds;\n};\n\nexport const PersonalizationSectionQuestionIds: QuestionIds[] =\n getQuestionIds();\n","import { QuestionIds } from '../constants/QuestionIds';\n\nexport const DefaultQuestionIds: QuestionIds[] = [\n QuestionIds.PersonalizationColors1,\n QuestionIds.PersonalizationColors2,\n QuestionIds.PersonalizationColors3,\n QuestionIds.PersonalizationColors4,\n QuestionIds.PersonalizationProof1,\n QuestionIds.PersonalizationArtwork1,\n QuestionIds.PersonalizationArtwork2,\n QuestionIds.PersonalizationArtwork3,\n QuestionIds.PersonalizationArtwork4,\n QuestionIds.PersonalizationNarrative,\n QuestionIds.PersonalizationD3,\n QuestionIds.PersonalizationLoader,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const DefaultOnboradingQuestionsOrder: QuestionIds[] = [\n QuestionIds.AboutYouGuided,\n QuestionIds.AboutYouD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n QuestionIds.AboutYouProof1,\n\n QuestionIds.SleepAndActivityQ1,\n QuestionIds.SleepAndActivityQ2,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.SleepAndActivityQ3,\n QuestionIds.SleepAndActivityProof1,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const BasicQuestionsOrder: QuestionIds[] = [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const GadTestQuestionsOrder: QuestionIds[] = [\n QuestionIds.GadQ1,\n QuestionIds.GadQ2,\n QuestionIds.GadQ3,\n QuestionIds.GadQ4,\n QuestionIds.GadQ5,\n QuestionIds.GadQ6,\n QuestionIds.GadQ7,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const EducationQuizV1Order: QuestionIds[] = [\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\n\nexport const EducationQuizV2Order: QuestionIds[] = [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.EduD1,\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const EducationQuizV3Order: QuestionIds[] = [\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const InsomniaQuizV1Order: QuestionIds[] = [\n QuestionIds.IsiQ1,\n QuestionIds.IsiQ2,\n QuestionIds.IsiQ3,\n QuestionIds.IsiQ4,\n QuestionIds.IsiQ5,\n QuestionIds.AboutYouProof1,\n QuestionIds.IsiD1,\n\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const InsomniaQuizV2Order: QuestionIds[] = [\n QuestionIds.IsiQ1,\n QuestionIds.IsiQ2,\n QuestionIds.IsiQ3,\n QuestionIds.IsiQ4,\n QuestionIds.IsiQ5,\n QuestionIds.IsiD1,\n\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const AdhdQuestionsOrder: QuestionIds[] = [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3V2,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ6,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n\n QuestionIds.SleepAndActivityD1,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.SleepAndActivityLoader,\n\n QuestionIds.PersonalizationD1,\n ...PersonalizationSectionQuestionIds,\n];\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { DefaultOnboradingQuestionsOrder } from './DefaultOnboardingOrder';\nimport { BasicQuestionsOrder } from './BasicOrder';\nimport { GadTestQuestionsOrder } from './GadTestOrder';\nimport { EducationQuizV1Order } from './EducationQuizV1Order';\nimport { EducationQuizV2Order } from './EducationQuizV2Order';\nimport { EducationQuizV3Order } from './EducationQuizV3Order';\nimport { InsomniaQuizV1Order } from './InsomniaQuizV1Order';\nimport { InsomniaQuizV2Order } from './insomniaQuizV2Order';\nimport { AdhdQuestionsOrder } from './AdhdFlowOrder';\n\ninterface GetQuestionsOrderParams {\n isAdhdTest: boolean;\n isDefaultOnboarding: boolean;\n isEducationV1Quiz: boolean;\n isEducationV2Quiz: boolean;\n isEducationV3Quiz: boolean;\n isGadTest: boolean;\n isInsomniaV1Quiz: boolean;\n isInsomniaV2Quiz: boolean;\n}\n\nexport const getQuestionsOrder = ({\n isAdhdTest,\n isDefaultOnboarding,\n isEducationV1Quiz,\n isEducationV2Quiz,\n isEducationV3Quiz,\n isGadTest,\n isInsomniaV1Quiz,\n isInsomniaV2Quiz,\n}: GetQuestionsOrderParams): QuestionIds[] => {\n switch (true) {\n case isDefaultOnboarding:\n return DefaultOnboradingQuestionsOrder;\n case isGadTest:\n return GadTestQuestionsOrder;\n case isEducationV1Quiz:\n return EducationQuizV1Order;\n case isEducationV2Quiz:\n return EducationQuizV2Order;\n case isEducationV3Quiz:\n return EducationQuizV3Order;\n case isInsomniaV1Quiz:\n return InsomniaQuizV1Order;\n case isInsomniaV2Quiz:\n return InsomniaQuizV2Order;\n case isAdhdTest:\n return AdhdQuestionsOrder;\n default:\n return BasicQuestionsOrder;\n }\n};\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { OptionalQuestion } from 'onboarding/question/options/OptionQuestion';\nimport { pushWithSearchQuery } from 'utils';\nimport { AppThunk } from 'bootstrap/types';\nimport { DEFAULT_ANSWERS } from 'onboarding/data/constants/DefaultAnswers';\nimport { Answers } from '../state';\nimport { OnboardingActionTypes } from './types';\nimport { AppDispatch } from 'index';\nimport { GadQuestionIds } from 'onboarding/question/gadresults/GadResult.constants';\nimport { QuestionTypes } from 'onboarding/question/Question';\nimport { RmeqQuestionIds } from 'onboarding/question/meqresults/MeqResults.constants';\nimport { InsomniaQuestionIds } from 'onboarding/question/insomniaresults/InsomniaResults.constants';\nimport { QUESTIONS_META } from 'cancelsubscription/data/meta';\nimport { getQuestionsOrder } from 'onboarding/data/QuestionsOrder/QuestionsOrder';\nimport { Features } from 'useFeatures';\n\nexport const SET_ANSWER = 'SET_ANSWER';\nexport const SET_CURRENT_QUESTION = 'SET_CURRENT_QUESTION';\n\nexport const setAnswer =\n (\n question: QuestionIds,\n answer: string | string[],\n features: Features,\n navigateNext = true,\n ): AppThunk =>\n (dispatch: AppDispatch, _) => {\n dispatch({\n type: SET_ANSWER,\n payload: {\n question,\n answer,\n },\n });\n navigateNext && dispatch(goToNextQuestion(features));\n };\n\nexport const hasOption = (\n answers: Answers,\n question: OptionalQuestion,\n): boolean => {\n const answer =\n answers[question.sourceQuestionId] ||\n DEFAULT_ANSWERS[question.sourceQuestionId];\n return typeof answer === 'string' && !!question.options[answer];\n};\n\nexport const hasAllRmeqTestAnswers = (answers: Answers) => {\n return RmeqQuestionIds.every(\n (questionId) =>\n Object.keys(answers).includes(questionId) && answers[questionId],\n );\n};\n\nexport const hasAllGadTestAnswers = (answers: Answers) => {\n return GadQuestionIds.every(\n (questionId) =>\n Object.keys(answers).includes(questionId) && answers[questionId],\n );\n};\n\nexport const hasAllInsomniaTestAnswers = (answers: Answers) => {\n return InsomniaQuestionIds.every(\n (questionId) =>\n Object.keys(answers).includes(questionId) && answers[questionId],\n );\n};\n\nexport const goToNextQuestion =\n (features: Features): AppThunk =>\n (dispatch: AppDispatch, getState) => {\n const currentQuestionId = window.location.pathname.replace(\n '/onboarding/',\n '',\n );\n const questionsOrder = getQuestionsOrder(features);\n\n let currentQuestionIndex = questionsOrder.indexOf(\n currentQuestionId as QuestionIds,\n );\n const { answers } = getState().onboarding;\n\n // @ts-ignore\n const nextQuestionMeta =\n // @ts-ignore\n QUESTIONS_META[questionsOrder[currentQuestionIndex + 1]];\n if (nextQuestionMeta && nextQuestionMeta.type === QuestionTypes.Optional) {\n if (!hasOption(answers, nextQuestionMeta as OptionalQuestion)) {\n currentQuestionIndex += 1;\n }\n }\n\n if (nextQuestionMeta && nextQuestionMeta.id) {\n if (\n nextQuestionMeta.id === QuestionIds.IsiD1 &&\n !hasAllInsomniaTestAnswers(answers)\n ) {\n currentQuestionIndex += 1;\n }\n if (\n nextQuestionMeta.id === QuestionIds.MeqResults &&\n !hasAllRmeqTestAnswers(answers)\n ) {\n currentQuestionIndex += 1;\n }\n }\n if (questionsOrder.length - 1 > currentQuestionIndex) {\n const nextQuestion = questionsOrder[currentQuestionIndex + 1];\n\n dispatch({\n type: SET_CURRENT_QUESTION,\n question: questionsOrder[currentQuestionIndex + 1],\n });\n dispatch(pushWithSearchQuery(`/onboarding/${nextQuestion}`));\n } else {\n dispatch(pushWithSearchQuery('/create-account'));\n }\n };\n","import { useEffect, useState } from 'react';\n\nexport const easeInOutQuad = (t: number) =>\n t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n\nexport const useProgress = (\n duration: number,\n delay: number,\n steps: number[],\n easingFunction: (t: number) => number = easeInOutQuad,\n) => {\n const [progress, setProgress] = useState(0);\n useEffect(() => {\n const startTime = Date.now();\n let isDelaying = false;\n const stepsCount = steps.length;\n const stepDuration = duration / stepsCount;\n\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n const currentStep = Math.floor(\n (elapsedTime / (duration + delay * stepsCount)) * stepsCount,\n );\n\n if (currentStep < stepsCount) {\n const nextStep = isDelaying ? Math.max(currentStep, 0) : currentStep;\n const currentOffset = stepDuration * nextStep + delay * nextStep;\n const currentStepDuration = elapsedTime - currentOffset;\n const isDelayPeriod =\n currentStepDuration > stepDuration &&\n currentStepDuration <= stepDuration + delay;\n\n if (isDelayPeriod) {\n if (!isDelaying) {\n isDelaying = true;\n }\n } else {\n isDelaying = false;\n const offset = stepDuration * currentStep + delay * currentStep;\n const stepProgress = easingFunction(\n Math.min(1, (elapsedTime - offset) / stepDuration),\n );\n const previousStep = steps[currentStep - 1] || 0;\n const nextProgress =\n previousStep + stepProgress * (steps[currentStep] - previousStep);\n setProgress(nextProgress);\n }\n } else {\n setProgress(1);\n clearInterval(timer);\n }\n }, 100);\n return () => {\n clearInterval(timer);\n };\n }, [delay, duration, steps, easingFunction]);\n return progress;\n};\n","import { useEffect, useState } from 'react';\n\nexport const useProgressText = (\n text: string,\n duration: number,\n finalText: any = '',\n) => {\n const [progressText, setProgressText] = useState(`${text}.`);\n\n useEffect(() => {\n const startTime = Date.now();\n\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n const reminder = Math.floor(elapsedTime / 500) % 4;\n const result = `${text}${'.'.repeat(reminder)}${' '.repeat(\n 3 - reminder,\n )}`;\n setProgressText(result);\n\n if (elapsedTime >= duration) {\n clearInterval(timer);\n setProgressText(finalText);\n }\n }, 100);\n return () => {\n clearInterval(timer);\n setProgressText(finalText);\n };\n }, [text, duration, finalText]);\n return progressText;\n};\n","import { useState } from 'react';\n\nexport const useSubmit = (callback: (args?: any) => void) => {\n const [called, setCalled] = useState(false);\n\n return (args?: any) => {\n if (!called) {\n setCalled(true);\n callback(args);\n }\n };\n};\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 { Answers } from 'bootstrap/onboarding/state';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionIds } from './QuestionIds';\n\ninterface Placeholder {\n default: string;\n [key: string]: string;\n}\n\nconst Placeholders: Record = {\n [QuestionIds.AboutYouGender]: {\n female: 'women',\n male: 'men',\n default: 'people',\n },\n [QuestionIds.AboutYouAge]: {\n '20s': 'in their 20s',\n '30s': 'in their 30s',\n '40s': 'in their 40s',\n '50s': 'in their 50s',\n '60s': 'in their 60s',\n default: '',\n },\n};\n\nexport const placeholderFormatter = (\n answers: Answers,\n placeholder: string,\n): string => {\n const { t } = useTranslation();\n\n if (Placeholders.hasOwnProperty(placeholder)) {\n // @ts-ignore\n const answer = answers[placeholder];\n const placeholders = Placeholders[placeholder];\n return placeholders[answer]\n ? t(placeholders[answer])\n : t(placeholders['default']);\n } else {\n return '';\n }\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCafe(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 74,\n height: 72,\n viewBox: \"0 0 74 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1675 39.343C18.1675 39.343 17.4573 38.3541 14.3017 38.4212C13.8746 38.4212 13.4026 38.4526 12.8767 38.5063C7.83302 39.0119 3.95364 43.7191 4.42564 47.9431C4.73132 50.6637 6.63729 53.6079 9.81991 55.2948C11.6571 56.272 13.716 56.762 15.7986 56.7178C17.8765 56.7337 19.8894 55.9974 21.4625 54.646V54.646C21.9552 54.2083 22.3741 53.6946 22.7032 53.1247C23.3415 51.9658 23.3326 50.8874 22.6718 50.4802C21.6064 49.8314 19.5745 49.7867 17.6911 50.5518C15.8076 51.317 12.7103 51.4736 11.2943 48.6412C9.87835 45.8088 11.4337 43.4372 16.2706 44.001C20.55 44.5022 19.7319 42.2962 19.7319 42.2962\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.1185 33.7135C33.1185 33.7135 40.0906 32.3711 41.2594 26.402C42.4281 20.4329 34.1659 14.5265 32.7634 10.8394C31.3609 7.1524 35.3796 3 35.3796 3\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.1707 9.39844C35.2717 13.4971 45.4893 16.7009 46.1142 23.0862C46.8154 30.2947 42.3562 33.0555 42.3562 33.0555\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.82862 55.2944C4.32647 56.7487 1 58.6504 1 60.7221C1 65.2951 17.1154 69.0001 36.9978 69.0001C56.8801 69.0001 73 65.2951 73 60.7221C73 57.7465 66.1852 55.1468 55.9496 53.6836\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.5961 29.7899C55.2438 30.7654 56.8486 31.9959 56.907 33.3383V33.4278C56.907 36.6226 48.1638 39.2179 37.3753 39.2179C27.7151 39.2179 19.6956 37.1372 18.1223 34.4077C17.9464 34.1108 17.8533 33.7725 17.8525 33.4278C17.8525 31.8975 19.8529 30.5059 23.1164 29.4678\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.2971 37.7894V38.0891C14.2522 35.3194 14.4365 32.3751 14.4365 32.3751V32.3438C14.4365 29.574 18.7564 27.122 25.225 25.7528C29.2531 24.9377 33.355 24.5388 37.4655 24.5625C40.8864 24.5527 44.3024 24.8236 47.6786 25.3724H47.7326C55.1902 26.6298 60.3462 29.2161 60.4631 32.2096V32.2364L60.4001 42.0805C60.3547 46.3572 58.7874 50.4793 55.9768 53.7143C51.7603 58.7303 44.9186 62.0639 37.4115 62.0639C30.6687 62.0639 24.8249 59.6432 20.6848 55.54\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0298 44.1309C15.194 46.3956 15.8521 48.5974 16.9582 50.5832\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCafe);\nexport default __webpack_public_path__ + \"static/media/cafe.fab72d119fa0ca9cb3a0f30ed9cf60ed.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"buttonContainer\":\"styles_buttonContainer__Gl8v8\",\"ready\":\"styles_ready__9YUyk\",\"progress\":\"styles_progress__OORWE\",\"text\":\"styles_text__5jacc\",\"switching\":\"styles_switching__npi1X\",\"updating\":\"styles_updating__twZaI\",\"fadeIn\":\"styles_fadeIn__z7kDK\"};","import React, { SyntheticEvent } from 'react';\nimport styles from './styles.module.scss';\nimport { useProgressButtonLogic } from './ProgressButton.hook';\n\ntype ProgressButtonProps = {\n className?: string;\n progress: number;\n startText?: string;\n finishText: string;\n isAutoContinue?: boolean;\n onClick: (e?: SyntheticEvent) => void;\n};\n\nexport const ProgressButton = ({\n className,\n progress,\n startText = '',\n finishText,\n isAutoContinue,\n onClick,\n}: ProgressButtonProps) => {\n const { buttonText, isUpdating, handleButtonClick } = useProgressButtonLogic({\n startText,\n finishText,\n progress,\n isAutoContinue,\n onClick,\n });\n\n return (\n = 1 ? styles.ready : ''}\n `}\n onClick={handleButtonClick}\n >\n \n

\n {buttonText}\n

\n \n );\n};\n","import { SyntheticEvent, useEffect, useState } from 'react';\n\ntype Props = {\n startText?: string;\n finishText: string;\n progress: number;\n isAutoContinue?: boolean;\n onClick: (e?: SyntheticEvent) => void;\n};\n\nexport const useProgressButtonLogic = ({\n startText,\n finishText,\n progress,\n isAutoContinue,\n onClick,\n}: Props) => {\n const [isUpdating, setUpdating] = useState(false);\n\n useEffect(() => {\n if (progress >= 1) {\n if (isAutoContinue) {\n onClick();\n }\n setUpdating(true);\n setTimeout(() => {\n setUpdating(false);\n }, 500);\n }\n }, [progress]);\n\n const handleButtonClick = (e: SyntheticEvent) => {\n e.preventDefault();\n if (progress >= 1) {\n onClick(e);\n }\n };\n\n const getButtonText = () => {\n const percent = ` ${Math.round(progress * 100)}%`;\n return `${\n progress >= 1 && !isUpdating ? finishText : `${startText} ${percent}`\n }`;\n };\n\n return {\n isUpdating,\n buttonText: getButtonText(),\n handleButtonClick,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__C9je4\",\"content\":\"styles_content__D-bpi\",\"innerContent\":\"styles_innerContent__ER-ek\",\"bottomGradient\":\"styles_bottomGradient__qxx-e\",\"title\":\"styles_title__oUnHo\",\"graphDescription\":\"styles_graphDescription__fxsI7\",\"progressText\":\"styles_progressText__mp0go\",\"button\":\"styles_button__jpSSu\"};","import React from 'react';\nimport { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport ActiveUsersMapGraph from 'assets/onboarding/graphs/active_users_map_graph.svg';\nimport ActiveUsersMapGraphV2 from 'assets/onboarding/graphs/active_users_map_graph_v2.svg';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useProgress } from 'hooks/useProgress';\nimport { useProgressText } from 'hooks/useProgressText';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport { placeholderFormatter } from 'onboarding/data/constants/Placeholders';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport { ProgressButton } from 'onboarding/components/progressbutton/ProgressButton';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nconst DURATION = 10000;\nconst DELAY = 0;\nconst STEPS = [0.34, 0.69, 0.91, 1];\n\nexport const AboutYouProof: React.FC = ({ question }: Props) => {\n const dispatch = useAppDispatch();\n\n const features = useFeatures();\n\n const { isAdhdTest } = features;\n const { answers } = useAppSelector((state) => state.onboarding);\n const { t } = useTranslation();\n const progress = useProgress(DURATION, DELAY, STEPS);\n const firstProgressText = useProgressText(\n 'CONNECTING TO DATABASE',\n DURATION + DELAY * (STEPS.length - 1),\n );\n const secondProgressText = useProgressText(\n 'PRELIMINARY PROCESSING',\n DURATION + DELAY * (STEPS.length - 1),\n );\n\n const nextButtonHandler = useSubmit(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n dispatch(goToNextQuestion(features));\n });\n\n const gender = placeholderFormatter(\n answers,\n QuestionIds.AboutYouGender,\n ).toLocaleLowerCase();\n\n const age = placeholderFormatter(answers, QuestionIds.AboutYouAge);\n\n return (\n
\n
\n
\n

{t('AboutYouProof1Title')}

\n \n

\n {isAdhdTest\n ? t('AboutYouProof2Description', { gender, age })\n : t('AboutYouProof1Description', { gender, age })}\n

\n
\n
\n
\n
\n
\n {progress < 0.35 ? firstProgressText : secondProgressText}\n
\n \n
\n
\n );\n};\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from 'onboarding/question/Question';\n\nexport class BlitzQuestion extends Question {\n title: string;\n\n constructor(id: QuestionIds, title: string) {\n super(QuestionTypes.Blitz, id, false);\n this.id = id;\n this.title = title;\n }\n}\n","export class ColorOption {\n id: string;\n color: string;\n text: string;\n\n constructor(id: string, color: string, text: string) {\n this.id = id;\n this.color = color;\n this.text = text;\n }\n}\n","import { ColorOption } from './ColorOption';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from 'onboarding/question/Question';\n\nexport class ColorQuestion extends Question {\n title: string;\n description: string;\n options: ColorOption[];\n\n constructor(\n id: QuestionIds,\n title: string,\n description: string,\n options: ColorOption[],\n ) {\n super(QuestionTypes.Color, id, true);\n this.title = title;\n this.description = description;\n this.options = options;\n }\n}\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from 'onboarding/question/Question';\n\nexport class ImageQuestion extends Question {\n title: string;\n description: string;\n imageId: string;\n url?: string;\n\n constructor(\n id: QuestionIds,\n title: string,\n description: string,\n imageId: string,\n url?: string,\n ) {\n super(QuestionTypes.Image, id, true);\n this.title = title;\n this.description = description;\n this.imageId = imageId;\n this.url = url;\n }\n}\n","import { QuestionIds } from '../../data/constants/QuestionIds';\nimport { Question, QuestionTypes } from '../Question';\n\nexport class Info extends Question {\n title?: string;\n description?: string;\n buttonText: string;\n\n constructor(\n id: QuestionIds,\n title?: string,\n description?: string,\n buttonText = 'Next',\n ) {\n super(QuestionTypes.Info, id, false);\n this.title = title;\n this.description = description;\n this.buttonText = buttonText;\n }\n}\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from 'onboarding/question/Question';\nimport { Info } from '../info/Info';\nimport { TextOption } from './TextOption';\n\nexport class OptionalQuestion extends Question {\n sourceQuestionId: QuestionIds;\n options: Record;\n\n constructor(\n sourceQuestionId: QuestionIds,\n questionId: QuestionIds,\n options: Record,\n hasStepper?: boolean,\n ) {\n super(\n QuestionTypes.Optional,\n questionId,\n hasStepper ?? Object.values(options)[0].type === QuestionTypes.Option,\n );\n this.sourceQuestionId = sourceQuestionId;\n this.options = options;\n }\n}\n\nexport class OptionQuestion extends Question {\n title: string;\n description?: string;\n options: TextOption[];\n multiple: boolean;\n\n constructor(\n id: QuestionIds,\n title: string,\n options: TextOption[],\n multiple = false,\n hasStepper = true,\n description?: string,\n ) {\n super(QuestionTypes.Option, id, hasStepper);\n\n this.id = id;\n this.title = title;\n this.description = description;\n this.options = options;\n this.multiple = multiple;\n }\n\n hasOptionId(id: string): boolean {\n for (const option of this.options) {\n if (option.id === id) {\n return true;\n }\n }\n return false;\n }\n}\n","export class TextOption {\n id: string;\n text: string;\n subtext?: string;\n excluding: boolean;\n\n constructor(id: string, text: string, excluding = false, subtext?: string) {\n this.id = id;\n this.text = text;\n this.subtext = subtext;\n this.excluding = excluding;\n }\n}\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from '../Question';\nimport { PlaceOption } from './PlaceOption';\n\nexport class PlaceQuestion extends Question {\n title: string;\n description: string;\n options: PlaceOption[];\n\n constructor(\n id: QuestionIds,\n title: string,\n description: string,\n options: PlaceOption[],\n ) {\n super(QuestionTypes.Places, id, true);\n this.title = title;\n this.description = description;\n this.options = options;\n }\n\n hasOptionId = (id: string): boolean => {\n for (const option of this.options) {\n if (option.id === id) {\n return true;\n }\n }\n return false;\n };\n}\n","export class PlaceOption {\n id: string;\n icon: any;\n text: string;\n\n constructor(id: string, icon: any, text: string) {\n this.id = id;\n this.icon = icon;\n this.text = text;\n }\n}\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCastle(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 42,\n height: 73,\n viewBox: \"0 0 42 73\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.58008 66.7492C3.58008 66.7492 4.76727 61.1508 4.82298 58.2449C4.8787 55.3389 5.25157 55.184 5.25157 55.184C5.25157 55.184 8.94171 51.608 11.0418 44.5566\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.2858 66.7494C39.2858 66.7494 38.0986 61.2138 38.0429 58.3455C37.9871 55.4772 37.6143 55.3223 37.6143 55.3223C37.6143 55.3223 33.937 51.7882 31.8369 44.8164\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0347 28.9418C15.2677 31.002 14.072 27.8238 15.212 26.8482C16.3521 25.8726 18.8721 27.7191 19.9265 27.0911\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.6421 35.1359C31.8839 35.1359 41 32.0122 41 28.1557C41 28.1557 38.6428 28.2939 37.357 27.2471\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.53174 33.46L7.71153 35.1851L8.37932 42.2784\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.7854 33.3555V33.3597L34.6142 36.4331L34.3916 42.2618\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.787 23.2012L37.9314 25.5042C36.7257 26.8046 35.1446 27.7172 33.397 28.1212\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.3568 23.7246C31.3568 23.7246 34.0698 22.7113 34.7855 21.8739C35.5013 21.0364 31.0697 19.7802 29.2139 18.7334\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.0708 12.8042C21.0708 12.8042 22.7852 12.733 24.8552 14.3409C26.4563 15.4737 28.1641 16.4552 29.9554 17.272C30.0361 17.31 30.1041 17.3694 30.1518 17.4435C30.1994 17.5176 30.2247 17.6033 30.2247 17.6907C30.2247 17.7782 30.1994 17.8639 30.1518 17.938C30.1041 18.0121 30.0361 18.0715 29.9554 18.1095L28.0225 18.725\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.3579 35.1359C10.1161 35.1359 1 32.0122 1 28.1557C1 28.1557 3.35723 28.2939 4.64299 27.2471\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.21329 23.2012L4.06885 25.5042C4.2484 26.0313 4.51476 26.5264 4.85745 26.9697\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.6434 23.7246C10.6434 23.7246 7.93041 22.7113 7.21467 21.8739C6.49893 21.0364 10.9305 19.7802 12.7863 18.7334\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.9293 12.8042C20.9293 12.8042 19.2149 12.733 17.1448 14.3409C15.5438 15.4737 13.836 16.4552 12.0446 17.272C11.964 17.31 11.8959 17.3694 11.8483 17.4435C11.8007 17.5176 11.7754 17.6033 11.7754 17.6907C11.7754 17.7782 11.8007 17.8639 11.8483 17.938C11.8959 18.0121 11.964 18.0715 12.0446 18.1095L17.2134 19.6085\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.2466 12.8377L21.5077 2.68359\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.7152 2.75879C20.7152 2.75879 19.5066 4.91105 13.4807 4.32483C8.29048 3.81817 7.11187 9.88135 7.01758 10.1535C7.01758 10.1535 8.92051 8.05988 12.6278 9.15276C16.3351 10.2456 20.2138 8.73403 21.3581 7.89658\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.9608 1.79447C23.0352 0.94887 22.3938 0.20449 21.5283 0.131848C20.6628 0.0592059 19.9009 0.68581 19.8265 1.53141C19.7522 2.37701 20.3935 3.12139 21.259 3.19403C22.1245 3.26667 22.8865 2.64007 22.9608 1.79447Z\",\n fill: \"#B250FF\",\n \"custom-rule\": \"true\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n \"custom-rule\": \"true\",\n clipRule: \"evenodd\",\n d: \"M15.902 41.1602C14.8064 41.0116 13.7214 40.7962 12.6533 40.5154C12.6533 39.1629 12.8933 36.5333 14.5948 36.9939C15.992 37.3707 15.9706 40.0632 15.902 41.1602Z\",\n fill: \"#B250FF\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n \"custom-rule\": \"true\",\n clipRule: \"evenodd\",\n d: \"M30.4998 40.3982C29.3449 40.732 28.1658 40.9797 26.9725 41.1393C26.9039 40.0004 26.8868 36.9102 28.6869 36.705C30.4869 36.4998 30.5255 39.3095 30.4998 40.3982Z\",\n fill: \"#B250FF\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.2104 71.9706C16.2104 68.022 16.2619 60.1792 21.5464 60.0494C26.8309 59.9196 26.938 67.8629 26.938 71.8115\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.357 42.124C34.357 44.2763 28.5368 46.0224 21.3579 46.0224C14.1791 46.0224 8.35889 44.2763 8.35889 42.124\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.62305 66.7988C3.62305 69.2442 8.91182 71.3169 16.1935 71.9994\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9897 71.9701C34.1257 71.2625 39.2859 69.2149 39.2859 66.7988\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCastle);\nexport default __webpack_public_path__ + \"static/media/castle.410f20cedacfbdf1137979210614fe20.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFireplace(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24.7242 63.8019C25.2382 62.5245 22.7437 61.2515 17.6795 60.9397C12.6152 60.6279 10.1473 60.9007 10.6347 63.646C11.029 65.9669 13.2444 65.811 17.52 65.811C21.7956 65.811 24.0109 65.5815 24.7242 63.8019Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.4079 59.706C12.6458 58.5412 13.5408 45.4168 14.1744 44.3472C14.808 43.2777 23.0756 44.62 24.1833 44.62C25.291 44.62 24.2099 59.4375 24.0504 60.3642C23.8909 61.2908 19.1058 61.0223 17.3645 60.8664C15.6232 60.7106 13.9662 60.5547 13.4079 59.706Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.6572 41.0085C14.1832 39.7744 16.5801 27.9836 18.7955 26.4334C21.0108 24.8833 25.282 29.1571 26.0706 30.5513C26.8593 31.9456 24.7946 42.2728 24.48 42.8877C24.1655 43.5026 21.9324 43.4636 19.7171 43.1388C17.8674 42.8785 16.1214 42.1433 14.6572 41.0085Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.4178 30.3172C28.3039 30.3172 33.1023 27.9832 34.3385 26.143C35.3088 24.6967 31.8529 19.3058 30.9047 17.9158C29.9566 16.5259 26.3633 18.3488 24.148 20.1891C21.0022 22.7872 21.6003 23.9736 21.7598 24.7487C21.9193 25.5238 27.4178 30.3172 27.4178 30.3172Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.6501 20.19C45.768 19.7198 45.9952 19.2824 46.314 18.9118C46.6328 18.5412 47.0347 18.2474 47.4884 18.0531C47.9422 17.8588 48.4357 17.7692 48.9306 17.7914C49.4255 17.8136 49.9085 17.9468 50.3422 18.1809C54.5114 20.4715 56.5761 22.3507 56.7179 23.8749C56.8287 25.0657 56.2438 26.4427 54.4671 27.8066C53.3711 28.5899 52.1806 29.2385 50.9226 29.7378C50.4004 29.9534 49.8278 30.025 49.267 29.9448C48.7061 29.8647 48.1785 29.6358 47.7414 29.2832L46.8552 28.586C46.018 27.9173 45.3921 27.0301 45.0501 26.0276C44.7082 25.025 44.6643 23.9483 44.9234 22.9223L45.6501 20.19Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.9565 31.4776C49.9565 31.4776 51.4718 43.1688 51.7908 45.3338C52.1098 47.4988 60.342 46.0699 61.1307 45.2991C61.9193 44.5284 59.4116 30.4643 57.9893 28.4552C56.5671 26.446 49.9565 31.4776 49.9565 31.4776Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M52.0341 48.3347C51.086 50.0364 52.0341 60.5715 52.6589 61.4981C53.2836 62.4247 59.1498 62.4247 61.0461 61.9614C62.9425 61.4981 62.3177 52.8206 62.3177 50.188C62.3177 47.5553 60.736 46.9404 57.413 46.9404C55.5218 46.9039 53.6582 47.387 52.0341 48.3347Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.265 61.7148C45.8538 66.0449 57.09 65.8154 60.732 65.967C64.374 66.1185 66.1153 65.8111 65.7963 63.646C65.4773 61.481 62.2517 61.5589 62.2517 61.5589\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.2866 64.416H50.0262\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.2694 64.4127C44.0303 64.543 47.7422 60.2768 47.5819 54.7942C47.5711 52.1962 46.8538 49.6476 45.5035 47.4087C45.3566 47.1785 44.9338 47.2697 44.9382 47.526C44.9649 48.8293 44.8002 51.0971 43.4873 52.3353C43.4873 51.9443 44.6801 47.274 42.5971 43.8811C41.2397 41.6307 38.9876 40.323 37.6524 39.7061C37.323 39.554 36.9447 39.8321 37.0916 40.1188C37.4667 40.8983 37.6773 41.7434 37.711 42.6039C37.7446 43.4645 37.6006 44.3228 37.2874 45.1279C36.5352 47.3001 31.4436 50.3846 29.8547 54.5596C28.7064 57.5746 29.4898 61.0762 31.7151 62.7705C33.9405 64.4648 37.1316 64.3562 37.1316 64.3562\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.8873 12.4651C61.4387 11.567 61.8959 10.6168 62.2519 9.62891C62.2519 9.62891 59.8638 10.3434 58.4725 11.4649C57.2364 12.4608 56.9351 13.539 57.6662 14.0629C58.6365 14.7557 60.1828 13.6299 60.8873 12.4651Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.8343 16.7818C17.7895 18.8429 23.5893 8.3252 23.5893 8.3252C23.7133 8.32953 11.2587 14.2877 14.8343 16.7818Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n \"custom-rule\": \"true\",\n d: \"M6.43398 37.2196C8.59615 39.5839 9.53545 34.0977 9.53545 34.0977C9.53545 34.0977 4.52436 35.1325 6.43398 37.2196Z\",\n fill: \"#B250FF\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n \"custom-rule\": \"true\",\n d: \"M40.2092 8.62835C41.9815 11.2827 43.7538 6 43.7538 6C43.7538 6 38.6275 6.28145 40.2092 8.62835Z\",\n fill: \"#B250FF\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n \"custom-rule\": \"true\",\n d: \"M63.7847 32.0276C65.6455 33.7337 66 29.3906 66 29.3906C66 29.3906 62.1364 30.5208 63.7847 32.0276Z\",\n fill: \"#B250FF\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M39.1012 15.5348C40.4924 15.4308 42.5748 15.9678 43.3723 16.076C43.8524 16.128 44.2948 16.3547 44.6117 16.7109C44.9285 17.0671 45.0967 17.5268 45.0826 17.9986C45.0117 20.5966 44.6794 25.5589 43.2173 26.0352C41.2235 26.6847 37.1251 26.5764 35.6851 26.2517C34.3559 25.9486 33.9129 21.2504 33.359 18.7823C33.1552 17.9379 33.3413 15.9678 39.1012 15.5348Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFireplace);\nexport default __webpack_public_path__ + \"static/media/fireplace.87243881a97e608882bbd079d1815263.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgForest(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.7446 59.885C54.7217 58.6808 45.83 50.2313 41.5991 43.6672C39.1269 39.8274 39.4787 40.627 42.84 41.0317C43.6315 41.1304 48.7027 42.2458 48.5952 40.4592C48.3705 37.4979 41.4818 32.5625 39.7132 26.6992C38.8729 23.9156 39.0488 22.7508 42.2146 23.2345C45.3805 23.7182 41.941 22.3856 40.0259 18.5162C38.1107 14.6469 36.0002 6 36.0002 6C36.0002 6 33.8896 14.637 31.9745 18.5162C30.0593 22.3955 26.6296 23.7577 29.7857 23.2345C32.9418 22.7114 33.1275 23.9156 32.2871 26.6992C30.5283 32.5526 23.6397 37.5571 23.4052 40.4592C23.2684 42.2458 28.3689 41.1205 29.1604 41.0317C32.5314 40.627 32.8832 39.8176 30.4013 43.6672C26.1704 50.2313 17.3275 58.6808 18.2558 59.885C24.5777 68.0383 47.4324 68.0383 53.7446 59.885Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.5137 30.9634C50.5902 30.2464 51.5748 29.3976 52.445 28.4364C54.1039 26.0548 55.5773 23.5466 56.8518 20.9346C56.9867 23.6605 57.3595 26.369 57.9657 29.0287C58.767 31.5852 60.8971 32.6908 58.8451 32.1281C56.7932 31.5655 56.4707 32.3058 56.6759 34.1023C57.1156 37.8828 61.1804 41.4758 60.9459 43.3217C60.8091 44.447 57.4576 43.371 56.93 43.2526C54.6728 42.7492 54.536 42.2655 55.7281 44.8023C57.7605 49.2047 62.7145 55.1173 61.9133 55.7984C61.1739 56.4085 60.3426 56.8951 59.4509 57.2396\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.4864 30.9634C21.4099 30.2464 20.4253 29.3976 19.5551 28.4364C17.8962 26.0548 16.4228 23.5466 15.1483 20.9346C15.0134 23.6605 14.6406 26.369 14.0344 29.0287C13.2332 31.5852 11.103 32.6908 13.155 32.1281C15.2069 31.5655 15.5294 32.3058 15.3242 34.1023C14.8845 37.8828 10.8197 41.4758 11.0542 43.3217C11.191 44.447 14.5425 43.371 15.0701 43.2526C17.3273 42.7492 17.4641 42.2655 16.272 44.8023C14.2396 49.2047 9.28561 55.1173 10.0868 55.7984C10.8262 56.4085 11.6575 56.8951 12.5492 57.2396\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForest);\nexport default __webpack_public_path__ + \"static/media/forest.bfe21f1ec548550c8f2eeec79d74627a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHarbour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.1789 70.9994C33.1789 70.9994 26.5629 65.2609 31.5533 60.5938C36.9188 55.5644 43.0232 62.7828 43.0232 62.7828\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.3491 61.2757C42.3491 61.2757 43.8837 59.5916 45.8617 60.2506C46.4137 60.4103 46.9191 60.7043 47.3344 61.1072C47.7496 61.5101 48.0622 62.0097 48.2451 62.563C48.2451 62.563 49.8479 60.5975 52.5193 61.8847C55.1907 63.1719 52.7618 65.8388 52.7618 65.8388\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.9841 64.4637C60.9841 64.4637 56.9486 64.6603 54.1636 63.4463\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.1143 63.3888C21.1143 63.3888 21.4553 52.8636 21.6447 50.9443C21.8342 49.0251 21.569 48.4046 22.9293 48.5626C24.2896 48.7206 34.9637 49.0482 38.7719 48.8979\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.4297 47.4987C23.4297 47.4987 24.718 34.8308 24.9984 32.3835C25.2712 30.1598 25.2068 28.6221 28.0866 29.3004C31.5878 30.1174 43.5086 30.1868 43.3419 30.021\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.1989 47.179L45.3043 30.1214C45.3043 30.1214 45.4028 25.3309 45.6567 21.5695C45.9106 17.808 48.078 18.9565 39.935 18.0123C31.7921 17.0681 31.739 15.8541 31.4548 17.5267C31.1593 19.3072 27.749 28.7648 27.749 28.7648\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.1209 40.0645C19.1209 40.0645 18.5032 38.7465 20.0492 37.8023C21.7278 36.781 23.433 37.3436 24.4144 37.8447\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.0977 43.0055C16.7642 42.6394 15.457 40.6932 17.0977 39.6102C17.3985 39.3678 17.7815 39.2564 18.1628 39.3005C18.5442 39.3445 18.8928 39.5404 19.1325 39.8453\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9079 41.417C15.9079 41.417 9.66334 41.9912 8.29166 47.3559C7.09806 52.0077 9.77323 54.6283 12.5924 55.8809C15.5101 57.1835 20.9286 55.3991 20.9286 55.3991\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9431 66.1906C27.5218 66.3794 12.9979 67.4508 15.313 66.1906C17.8366 64.807 24.3199 63.1074 24.3199 63.1074\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.7697 49.6182C54.7697 49.6182 57.8011 51.1174 55.5275 53.4413C53.5647 55.4338 50.0484 54.5088 49.4648 54.135\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6682 52.4282C56.6682 52.4282 62.4239 53.7462 63.8449 50.5474C65.0612 47.8188 58.7219 46.7551 58.7219 46.7551C58.7219 46.7551 59.385 44.4004 56.4711 43.5024C55.7112 43.2638 54.9016 43.2407 54.1297 43.4356C53.3578 43.6305 52.6528 44.0361 52.0908 44.6085\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.0742 41.6675C48.3512 40.9236 49.7532 40.1259 51.4507 40.8003C53.5803 41.6636 53.3453 43.6214 53.3453 43.6214\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1807 17.5265L38.6995 10.5547\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.3608 16.6324C33.3608 16.6324 34.581 10.9517 35.2175 9.69531\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.9062 17.8546C44.3039 15.5422 44.0577 10.4512 44.0577 10.4512\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.2433 8.91669L39.6095 9.98424L47.5668 10.493C47.6358 10.4959 47.7039 10.4767 47.7616 10.4381C47.8192 10.3995 47.8636 10.3435 47.8882 10.2779C47.9129 10.2123 47.9168 10.1405 47.8992 10.0726C47.8817 10.0047 47.8436 9.94416 47.7904 9.89945L41.4776 4.80838C41.4776 4.80838 41.3904 1.05848 40.7728 1.00067C40.1552 0.942865 39.2116 4.61954 39.2116 4.61954L32.1448 8.34631C32.089 8.37646 32.044 8.42381 32.0162 8.48158C31.9885 8.53935 31.9794 8.60457 31.9904 8.6679C32.0013 8.73123 32.0317 8.7894 32.0771 8.8341C32.1226 8.87879 32.1807 8.9077 32.2433 8.91669V8.91669Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHarbour);\nexport default __webpack_public_path__ + \"static/media/harbour.47b755f564d00bd60470e61c7267153c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgKingdom(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 74,\n height: 75,\n viewBox: \"0 0 74 75\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8512 73.8518L18.5656 69.5915C18.5656 69.5915 22.1592 68.5011 23.709 66.1832C25.2589 63.8652 24.8807 52.5985 24.8807 51.5833C24.8807 50.5681 22.1279 50.056 17.2215 46.1927C12.3151 42.3295 11.3779 39.0322 11.3779 39.0322\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.8809 35.7803C24.3315 37.3885 25.2686 40.9507 25.1064 42.7027C24.7685 46.2964 24.0567 45.9236 19.6999 43.2642C17.2219 41.7548 15.3071 38.6597 15.3071 38.6597\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.7729 30.1289C26.7146 32.2267 29.0844 34.0236 29.0844 34.0236V25.5693\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.0097 25.7988C39.8385 28.1097 39.8009 30.4285 39.897 32.7437L43.1274 28.7008\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.2188 32.4688C45.732 35.447 44.4795 40.5277 44.6958 43.6991C44.9571 47.4321 46.1195 48.7214 46.1195 48.7214C46.1195 48.7214 49.3454 50.2667 53.22 46.9245C57.0947 43.5823 58.1264 39.9302 58.1264 39.9302\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.8249 43.3535C59.9734 45.4334 57.6711 50.0378 53.0891 52.9533C47.0203 56.812 46.6328 56.547 46.6328 56.547C46.6328 56.547 46.5067 61.4389 47.0203 64.7856C47.5339 68.1323 48.2153 67.876 50.2833 69.1653C50.3941 69.2343 51.1405 71.2955 53.0891 72.9996\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.0077 67.1092C29.1383 66.7228 28.5211 59.4725 28.422 51.6651C28.3228 43.8578 35.1531 38.1348 35.1531 38.1348C35.1531 38.1348 42.2221 44.3878 42.2221 51.6517C42.22 56.8231 41.9568 61.9911 41.4336 67.1361\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n \"custom-rule\": \"true\",\n d: \"M32.2744 45.6222C34.7164 45.209 35.3156 46.7453 35.3156 46.7453C35.3156 46.6689 35.3922 46.0355 36.5546 45.5863C36.8199 45.462 37.1105 45.4006 37.4036 45.4068C37.6966 45.4131 37.9843 45.4868 38.2441 45.6222L35.1534 41.3906L32.2744 45.6222Z\",\n fill: \"#B250FF\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.3394 60.6191C8.72517 60.4343 8.89291 59.9836 8.71404 59.6124C8.53518 59.2411 8.07745 59.09 7.69167 59.2748C7.3059 59.4596 7.13816 59.9103 7.31702 60.2815C7.49589 60.6528 7.95362 60.8039 8.3394 60.6191Z\",\n fill: \"#B250FF\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5002 58.2312C12.8336 58.2312 13.1039 57.9617 13.1039 57.6293C13.1039 57.2968 12.8336 57.0273 12.5002 57.0273C12.1668 57.0273 11.8965 57.2968 11.8965 57.6293C11.8965 57.9617 12.1668 58.2312 12.5002 58.2312Z\",\n fill: \"#B250FF\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.6668 63.1213C11.8808 63.1213 12.0542 62.9483 12.0542 62.735C12.0542 62.5216 11.8808 62.3486 11.6668 62.3486C11.4528 62.3486 11.2793 62.5216 11.2793 62.735C11.2793 62.9483 11.4528 63.1213 11.6668 63.1213Z\",\n fill: \"#B250FF\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.8553 60.6446C56.3287 60.6446 56.7125 60.2631 56.7125 59.7925C56.7125 59.3219 56.3287 58.9404 55.8553 58.9404C55.3818 58.9404 54.998 59.3219 54.998 59.7925C54.998 60.2631 55.3818 60.6446 55.8553 60.6446Z\",\n fill: \"#B250FF\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.9989 69.1655C64.2356 69.1655 64.4275 68.9748 64.4275 68.7395C64.4275 68.5042 64.2356 68.3135 63.9989 68.3135C63.7622 68.3135 63.5703 68.5042 63.5703 68.7395C63.5703 68.9748 63.7622 69.1655 63.9989 69.1655Z\",\n fill: \"#B250FF\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.4276 56.3848C64.901 56.3848 65.2848 56.0033 65.2848 55.5327C65.2848 55.0622 64.901 54.6807 64.4276 54.6807C63.9541 54.6807 63.5703 55.0622 63.5703 55.5327C63.5703 56.0033 63.9541 56.3848 64.4276 56.3848Z\",\n fill: \"#B250FF\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.6878 58.513C38.6878 53.5698 38.8327 49.5684 36.8475 49.5684C35.9346 49.5684 35.4311 50.5185 35.1992 52.0797C34.9855 50.5394 34.5798 49.5684 33.6451 49.5684C31.8338 49.5684 31.8592 53.574 31.8592 58.513C31.8592 63.452 31.6454 67.4618 33.6451 67.4618H36.8403C39.0537 67.4618 38.6878 63.4562 38.6878 58.513Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5039 15.9746C10.4769 15.6512 10.4634 15.3278 10.4634 14.9998C10.4634 12.733 11.0928 10.5105 12.2819 8.57843C13.471 6.6464 15.1734 5.08034 17.2004 4.05377C19.2274 3.02721 21.4999 2.58022 23.766 2.76235C26.0322 2.94448 28.2035 3.74861 30.0394 5.08564\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.4002 23.7598C29.6582 25.476 27.4383 26.6297 25.0296 27.0705V27.0705C24.287 27.2112 23.5327 27.2819 22.7769 27.2816\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.34089 25.7179C3.30649 25.0335 2.52058 24.0351 2.0995 22.8707C1.67841 21.7062 1.64451 20.4375 2.00283 19.2524C2.36114 18.0672 3.09262 17.0286 4.08901 16.2902C5.0854 15.5518 6.29375 15.1528 7.53523 15.1524C8.58195 15.1487 9.60937 15.4332 10.5043 15.9744\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.67829 32.774C2.85456 32.5556 2.1351 32.0533 1.64764 31.3562C1.16018 30.659 0.936275 29.8122 1.01568 28.9661C1.09509 28.1199 1.47267 27.3292 2.08138 26.7344C2.69009 26.1395 3.49053 25.779 4.34059 25.7168\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.67823 32.7744C3.11286 33.3334 2.68979 34.0191 2.44433 34.7743C2.19886 35.5294 2.13813 36.3322 2.2672 37.1156C2.39627 37.8989 2.71139 38.6401 3.18627 39.2773C3.66114 39.9145 4.28199 40.4292 4.997 40.7785C5.71201 41.1277 6.50043 41.3014 7.29646 41.285C8.09249 41.2685 8.87303 41.0625 9.57294 40.6841C10.2728 40.3056 10.8718 39.7658 11.3198 39.1095C11.7679 38.4533 12.052 37.6997 12.1484 36.9117\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.20215 31.7412C9.37366 32.9216 9.79788 34.0514 10.446 35.0539C11.0941 36.0565 11.951 36.9082 12.9584 37.5514C13.9658 38.1946 15.1002 38.6142 16.2847 38.7816C17.4691 38.9491 18.6758 38.8605 19.8228 38.522C20.9699 38.1834 22.0305 37.6027 22.9326 36.8194C23.8347 36.036 24.5572 35.0683 25.0511 33.982C25.545 32.8957 25.7987 31.7161 25.795 30.5233C25.7913 29.3306 25.5303 28.1526 25.0297 27.0693V27.0693\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.6365 24.7648C40.9038 25.3817 40.0545 25.8459 39.1388 26.1298C38.223 26.4137 37.2595 26.5117 36.3051 26.4178C35.3508 26.324 34.425 26.0404 33.5825 25.5836C32.74 25.1268 31.998 24.5063 31.4002 23.7586C31.3551 23.7047 31.3101 23.6463 31.2695 23.5879\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.6553 10.022C46.6584 8.85589 46.4318 7.70052 45.9885 6.62144C45.1979 4.68367 43.7564 3.08013 41.9107 2.08528C40.065 1.09044 37.9299 0.76616 35.8708 1.16795C33.8117 1.56974 31.9568 2.67262 30.6234 4.2878C29.29 5.90299 28.5611 7.93005 28.5615 10.022\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.9888 6.62133C48.1906 5.35967 50.7555 4.87695 53.2671 5.25149C55.7787 5.62603 58.0897 6.83586 59.825 8.68463C61.5603 10.5334 62.618 12.9126 62.8265 15.4361C63.0351 17.9597 62.3822 20.4794 60.9738 22.5864C60.9738 22.5864 60.9738 22.5864 60.9738 22.5864C60.4778 23.3303 59.8939 24.012 59.2347 24.6169V24.6169L59.1491 24.6888\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.1023 27.5636C50.7154 28.2455 50.1743 28.8279 49.522 29.2646C48.8697 29.7013 48.1242 29.9802 47.3448 30.0792C47.13 30.1101 46.9131 30.1251 46.696 30.1242C45.3518 30.1242 44.0625 29.5917 43.112 28.644C42.1615 27.6962 41.6274 26.4108 41.6274 25.0705C41.6274 24.9672 41.6274 24.8638 41.6274 24.765C41.6715 24.0108 41.8872 23.2765 42.2582 22.6178C42.6776 21.8624 43.2841 21.2268 44.0198 20.7715\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8086 26.639C68.7863 25.7403 68.5223 24.8641 68.0442 24.102C67.5661 23.3398 66.8914 22.7197 66.0907 22.3066C65.2899 21.8934 64.3926 21.7022 63.4924 21.7532C62.5922 21.8041 61.7223 22.0952 60.9736 22.5961C60.9736 22.5961 60.9736 22.5961 60.9736 22.5961\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8084 26.6387C70.0284 27.0123 71.0951 27.7682 71.8502 28.7941C72.6052 29.8201 73.0083 31.0615 72.9997 32.3339C72.9911 33.6064 72.5713 34.8422 71.8024 35.858C71.0336 36.8737 69.9568 37.6152 68.7318 37.9724C68.1922 38.1318 67.6322 38.212 67.0693 38.2105\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.7322 37.9727C68.874 38.4387 68.9453 38.9232 68.9439 39.4101C68.9048 40.7144 68.3576 41.9521 67.4185 42.8608C66.4794 43.7695 65.2223 44.2778 63.9136 44.2778C62.605 44.2778 61.3478 43.7695 60.4087 42.8608C59.4696 41.9521 58.9225 40.7144 58.8833 39.4101C58.8831 39.2043 58.8966 38.9987 58.9239 38.7947\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.2534 31.7461C63.2508 32.7014 63.0737 33.6482 62.7308 34.5402C62.5858 34.9274 62.4079 35.3016 62.1992 35.6588C61.323 37.1954 59.9615 38.3999 58.3271 39.0845C56.6926 39.7691 54.8769 39.8954 53.1629 39.4436C51.4489 38.9919 49.933 37.9876 48.8513 36.5871C47.7695 35.1867 47.1829 33.4688 47.1826 31.7012C47.1837 31.1581 47.238 30.6165 47.3448 30.084\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgKingdom);\nexport default __webpack_public_path__ + \"static/media/kingdom.b6720dca79454baf5c9d55fb46969fa7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSakura(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 74,\n height: 58,\n viewBox: \"0 0 74 58\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.1729 33.4102C34.1729 33.4102 33.3612 36.8671 30.6063 37.3811C28.1335 37.8422 28.1335 36.5608 28.1335 36.5608C28.1335 36.5608 26.799 37.8845 25.6125 37.2649C24.4259 36.6453 24.9246 35.0858 24.9246 35.0858C24.9246 35.0858 23.1568 36.7615 22.101 35.6808C20.9488 34.5015 22.242 33.1074 22.242 33.1074\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.04191 33.3193C1.31706 35.0794 3.36 35.1568 4.48122 34.9034C5.60243 34.6499 6.67549 34.1324 7.23266 33.5727C7.23266 33.5727 7.51468 34.5654 9.29624 35.2589C11.0778 35.9524 14.1904 34.0867 14.1113 32.9637C14.4552 33.8825 16.192 35.016 18.6855 34.4141C19.1798 34.3121 19.6345 34.0656 19.9947 33.7044C20.3548 33.3433 20.6049 32.883 20.7147 32.3793C20.7228 32.3566 20.7351 32.3358 20.7511 32.318C20.7671 32.3002 20.7863 32.2858 20.8077 32.2756C20.8292 32.2655 20.8523 32.2598 20.8759 32.2589C20.8995 32.2579 20.923 32.2618 20.9452 32.2702C21.7156 32.5589 24.4292 33.8755 26.1832 32.4638C28.2193 30.8234 26.7782 29.468 25.2065 29.0456C23.6347 28.6232 25.9906 26.8102 24.1231 25.6908C23.4043 25.2613 22.2865 25.4303 22.2865 25.4303C22.2865 25.4303 21.8325 23.8954 20.5668 23.5539C19.3012 23.2125 18.9091 23.9588 18.9091 23.9588C18.9091 23.9588 18.7612 20.9384 17.3855 20.7131C16.0098 20.4878 15.5248 22.7513 15.37 22.5507C15.2153 22.35 12.8731 20.3364 11.9307 21.572C11.1535 22.5859 12.5533 23.4131 12.5533 23.4131C12.5533 23.4131 9.17242 22.7654 8.17503 24.3108C7.22234 25.7717 8.66685 26.423 8.66685 26.423C8.66685 26.423 5.02806 27.4157 3.45286 28.8273C1.87766 30.239 0.766769 31.5626 1.04191 33.3193Z\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.0014 19.537C39.0014 19.537 38.8226 20.9838 36.5698 21.8322C34.3859 22.6524 31.5725 21.7512 31.5725 21.7512C31.5725 21.7512 29.4849 24.4654 27.466 24.1239C25.1479 23.7332 25.2442 21.3288 25.2442 21.3288C25.2442 21.3288 24.2124 22.5644 21.7465 20.9768C21.1479 20.5805 20.6491 20.0453 20.2905 19.4147C19.932 18.7841 19.7238 18.0758 19.6829 17.3473C19.6829 17.3473 19.6519 18.0866 17.3992 18.1359C15.1464 18.1852 15.3356 16.2349 15.3356 16.2349C15.3356 16.2349 16.0888 18.3999 13.0657 18.9948C10.0425 19.5898 9.81895 17.7416 9.81895 17.7416C9.81895 17.7416 7.19821 18.4457 6.59633 16.7665C5.99445 15.0873 9.39936 14.4114 9.22052 14.4079C9.04167 14.4044 8.77685 11.6867 11.2463 10.1202C13.9255 8.41986 15.6279 9.28234 15.6279 9.28234C15.6279 9.28234 16.4362 7.1948 19.0879 6.11407C21.7396 5.03334 23.2976 5.60362 23.2976 5.60362C23.2976 5.60362 23.2219 4.68835 25.1651 3.75547C27.1083 2.82259 27.9475 3.56537 27.9475 3.56537C27.9475 3.56537 27.8925 1.5236 28.7317 1.04484C29.5709 0.566075 32.2432 4.07933 32.2432 4.07933C32.2432 4.07933 35.4968 1.71017 36.4082 2.00236C37.3196 2.29454 36.5286 5.00165 36.5286 5.00165C36.5286 5.00165 38.9877 2.93524 41.9833 4.17086C44.9789 5.40649 46.1552 7.08919 46.1552 7.08919C46.1552 7.08919 48.2428 6.80757 49.7217 7.67708C50.6836 8.3056 51.4628 9.18706 51.9779 10.2293C51.9779 10.2293 53.2401 8.63812 56.9202 10.3419C60.6003 12.0458 59.9433 13.3729 59.9433 13.3729C59.9433 13.3729 60.8823 13.204 62.2305 14.1087C62.4822 14.2549 62.6847 14.4759 62.8112 14.7423C62.9377 15.0088 62.9823 15.3083 62.939 15.6013C62.939 15.6013 65.2674 16.2068 64.9579 17.46C64.6655 18.6393 62.7705 18.5478 62.7705 18.5478C62.7705 18.5478 62.4609 20.2692 59.6269 19.9735C58.492 19.8538 57.8523 18.6921 57.8523 18.6921C57.7929 19.123 57.5887 19.5193 57.2749 19.8128C56.9611 20.1064 56.5572 20.279 56.1326 20.3009C54.5264 20.4487 54.2203 19.5475 54.2203 19.5475\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.1454 25.3178C34.1454 25.3178 28.9211 28.3804 29.6949 30.7566C30.4687 33.1328 33.4781 32.0204 33.4781 32.0204C33.4781 32.0204 33.5228 34.6219 37.4677 34.6078C41.4126 34.5938 41.7187 32.3689 41.7187 32.3689C41.7187 32.3689 42.4788 33.939 45.4228 33.9847C48.3669 34.0305 49.4709 32.0204 49.4709 32.0204C49.8311 32.6852 50.3895 33.2146 51.0646 33.5312C51.7397 33.8479 52.4961 33.9353 53.2232 33.7806C55.9368 33.337 56.8172 32.3513 56.8172 32.3513C56.8172 32.3513 60.2221 33.0554 60.7759 31.0699C61.3296 29.0845 58.1826 27.5884 58.1826 27.5884C58.3437 27.0742 58.3354 26.5202 58.1589 26.0114C57.9825 25.5026 57.6476 25.0672 57.2059 24.7721C55.6307 23.5928 54.3169 23.9906 54.3169 23.9906C54.3169 23.9906 54.3444 22.491 53.206 22.0404C52.9107 21.9002 52.5821 21.8505 52.2598 21.8974C51.9376 21.9442 51.6355 22.0856 51.39 22.3044C51.326 21.6861 51.0867 21.1005 50.7018 20.6195C50.3168 20.1385 49.8029 19.7832 49.2233 19.5973C48.6325 19.4174 48.0046 19.4083 47.4091 19.5711C46.8136 19.7339 46.2738 20.0621 45.8493 20.5196C45.8493 20.5196 45.557 18.6996 43.0979 18.5025C41.4848 18.3757 40.2914 20.5231 40.2914 20.5231\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.9245 21.0142C58.7181 20.9894 59.4926 21.2666 60.0981 21.7922C60.3657 22.0183 60.5784 22.3048 60.7198 22.629C60.8612 22.9533 60.9274 23.3067 60.9133 23.6615C60.9133 23.6615 61.2847 22.9152 62.939 23.4573C64.5933 23.9994 64.3526 25.4428 64.3526 25.4428C64.3526 25.4428 65.9037 24.1191 68.2287 25.1752C68.8839 25.4571 69.4388 25.9381 69.8183 26.5532C70.1978 27.1683 70.3837 27.8878 70.3507 28.6146C70.3507 28.6146 73.6284 28.9349 72.8924 31.3076C72.3386 33.0677 69.4324 32.5115 69.4324 32.5115C69.0151 32.9604 68.4615 33.2514 67.862 33.337C67.2624 33.4227 66.6522 33.298 66.1307 32.9833C65.6404 32.7361 65.2551 32.3143 65.0473 31.7969C65.0473 31.7969 64.8409 33.3212 63.589 33.8035C63.2442 33.9563 62.8684 34.0218 62.4936 33.9942C62.1188 33.9666 61.756 33.8468 61.436 33.6451C61.3092 33.9935 61.0778 34.2919 60.7751 34.4975C60.4723 34.703 60.1137 34.8051 59.7508 34.7892C58.0311 34.7892 57.8145 32.5819 57.8145 32.5819\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.6618 36.2119C42.8531 38.3792 42.4145 40.6726 42.3652 42.992C42.3067 46.5405 43.3041 51.5604 46.4717 54.5175C47.3935 55.3799 47.7133 55.4363 47.7133 55.4363\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.1396 55.1028C27.1396 55.1028 28.6736 52.4873 34.1937 54.7508C34.1937 54.7508 36.2572 47.1118 35.5694 42.1657C34.8815 37.2197 33.0037 36.3467 33.0037 36.3467\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.4902 55.8459C25.5538 54.0838 27.5555 56.4344 28.9931 55.7402\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.7866 56.5104C46.3343 56.3696 47.7272 55.2291 49.8355 55.3065C52.1742 55.391 53.6188 56.6513 55.4485 56.9998\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSakura);\nexport default __webpack_public_path__ + \"static/media/sakura.f7bfcd30dcda6d1ca86cd9346eb98c2c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSanctuary(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 74,\n height: 56,\n viewBox: \"0 0 74 56\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.41 21.3238L21.7827 17.2344L11.9116 25.5543L22.8668 22.6899L26.9236 51.1838L30.3073 50.9106L23.5488 19.5523L28.41 21.3238ZM28.41 21.3238L34.4952 37.9636L46.5346 33.3277L60.6023 1L50.7313 38.6422L32.4756 44.0978L73.0001 55L51.8155 39.7351\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.4404 33.7416L1 28.6475L18.4076 39.4616L25.376 40.3077\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.4751 44.0977L30.709 54.048L40.8598 52.1355L47.3472 52.4087L48.4139 48.381\",\n stroke: \"#B250FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSanctuary);\nexport default __webpack_public_path__ + \"static/media/sanctuary.dcfaf11c1960a47cd2743139ef019f06.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 17,\n viewBox: \"0 0 17 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8.5,\n cy: 8.5,\n r: 8.5,\n fill: \"#89C947\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 9L7.5 11L11.5 7\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcCheck);\nexport default __webpack_public_path__ + \"static/media/ic_check.d8e0a3c82980676f16a0006efacf9176.svg\";\nexport { ForwardRef as ReactComponent };","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Question, QuestionTypes } from 'onboarding/question/Question';\n\nexport class StatementQuestion extends Question {\n title: string;\n statement: string;\n isGadStatementQuestion?: boolean;\n\n constructor(\n id: QuestionIds,\n title: string,\n statement: string,\n isGadStatementQuestion?: boolean,\n ) {\n super(QuestionTypes.Statement, id, true);\n this.title = title;\n this.statement = statement;\n this.isGadStatementQuestion = isGadStatementQuestion;\n }\n}\n","import { QuestionIds } from '../../data/constants/QuestionIds';\nimport { Question, QuestionTypes } from '../Question';\n\nexport class EducationAnswer extends Question {\n correctAnswerId: string;\n title?: string;\n description?: string;\n\n constructor(\n id: QuestionIds,\n correctAnswerId: string,\n title?: string,\n description?: string,\n ) {\n super(QuestionTypes.EduAnswer, id, true);\n this.title = title;\n this.description = description;\n this.correctAnswerId = correctAnswerId;\n }\n}\n","import { BlitzQuestion } from 'onboarding/question/analysisloader/BlitzQuestion';\nimport { ColorOption } from 'onboarding/question/colors/ColorOption';\nimport { ColorQuestion } from 'onboarding/question/colors/ColorQuestion';\nimport { ImageQuestion } from 'onboarding/question/image/ImageQuestion';\nimport { Info } from 'onboarding/question/info/Info';\nimport {\n OptionalQuestion,\n OptionQuestion,\n} from 'onboarding/question/options/OptionQuestion';\nimport { TextOption } from 'onboarding/question/options/TextOption';\nimport { PlaceQuestion } from 'onboarding/question/places/PlaceQuestion';\nimport { PlaceOption } from 'onboarding/question/places/PlaceOption';\nimport { ReactComponent as Cafe } from 'assets/places/cafe.svg';\nimport { ReactComponent as Castle } from 'assets/places/castle.svg';\nimport { ReactComponent as Fireplace } from 'assets/places/fireplace.svg';\nimport { ReactComponent as Forest } from 'assets/places/forest.svg';\nimport { ReactComponent as Harbour } from 'assets/places/harbour.svg';\nimport { ReactComponent as Kingdom } from 'assets/places/kingdom.svg';\nimport { ReactComponent as Sakura } from 'assets/places/sakura.svg';\nimport { ReactComponent as Sanctuary } from 'assets/places/sanctuary.svg';\nimport { CustomQuestion, Question } from 'onboarding/question/Question';\nimport { StatementQuestion } from 'onboarding/question/statement/StatementQuestion';\nimport { QuestionIds } from './constants/QuestionIds';\nimport { getLocaleIntervalTimeString } from 'utils/utils';\nimport { EducationAnswer } from 'onboarding/question/eduanswer/EducationAnswer';\nimport {\n getAboutYouD4MetaData,\n getAboutYourRoutineMetaData,\n getSleepAndActivityD1MetaData,\n} from './helper';\n\nexport const getQuestionsMeta = (\n isAdhdTest: boolean,\n isGadTest: boolean,\n isDefaultOnboarding: boolean,\n): Record => {\n return {\n [QuestionIds.Welcome]: new CustomQuestion(QuestionIds.Welcome, false),\n [QuestionIds.RMeqQ1]: new OptionQuestion(\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ1,\n [\n new TextOption('5_6:30am', getLocaleIntervalTimeString('5:00-6:30')),\n new TextOption('6:30_7:45am', getLocaleIntervalTimeString('6:30-7:45')),\n new TextOption('7:45_9:45am', getLocaleIntervalTimeString('7:45-9:45')),\n new TextOption('9:45_11am', getLocaleIntervalTimeString('9:45-11:00')),\n new TextOption('11_12pm', getLocaleIntervalTimeString('11:00-12:00')),\n ],\n ),\n [QuestionIds.RMeqQ2]: new OptionQuestion(\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ2,\n [\n new TextOption('very_tired', 'very_tired'),\n new TextOption('fairly_tired', 'fairly_tired'),\n new TextOption('fairly_refreshed', 'fairly_refreshed'),\n new TextOption('very_refreshed', 'very_refreshed'),\n ],\n ),\n\n [QuestionIds.RMeqQ3]: new OptionQuestion(\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ3,\n [\n new TextOption('8_9pm', getLocaleIntervalTimeString('20:00-21:00')),\n new TextOption('9_10:15pm', getLocaleIntervalTimeString('21:00-22:15')),\n new TextOption(\n '10:15_12:45am',\n getLocaleIntervalTimeString('22:15-00:45'),\n ),\n new TextOption('12:45_2am', getLocaleIntervalTimeString('00:45-2:00')),\n new TextOption('2_3am', getLocaleIntervalTimeString('2:00-3:00')),\n ],\n ),\n [QuestionIds.RMeqQ3V2]: new OptionQuestion(\n QuestionIds.RMeqQ3V2,\n 'RMeqQ3V2',\n [\n new TextOption('never', 'never'),\n new TextOption('rarely', 'rarely'),\n new TextOption('sometimes', 'sometimes'),\n new TextOption('often', 'often'),\n new TextOption('very_often', 'Very often'),\n ],\n ),\n [QuestionIds.RMeqQ4]: new OptionQuestion(\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ4,\n [\n new TextOption('5_8am', getLocaleIntervalTimeString('5:00-8:00')),\n new TextOption('8_10am', getLocaleIntervalTimeString('8:00-10:00')),\n new TextOption('10am_5pm', getLocaleIntervalTimeString('10:00-17:00')),\n new TextOption('5_10pm', getLocaleIntervalTimeString('17:00-22:00')),\n new TextOption('10pm_5am', getLocaleIntervalTimeString('22:00-5:00')),\n ],\n ),\n [QuestionIds.RMeqQ5]: new OptionQuestion(\n QuestionIds.RMeqQ5,\n QuestionIds.RMeqQ5,\n [\n new TextOption('definitely_morning', 'definitely_morning'),\n new TextOption('rather_morning', 'rather_morning'),\n new TextOption('rather_evening', 'rather_evening'),\n new TextOption('definitely_evening', 'definitely_evening'),\n ],\n ),\n [QuestionIds.RMeqQ6]: new OptionQuestion(\n QuestionIds.RMeqQ6,\n QuestionIds.RMeqQ6,\n [\n new TextOption('never', 'never'),\n new TextOption('rarely', 'rarely'),\n new TextOption('sometimes', 'sometimes'),\n new TextOption('often', 'often'),\n new TextOption('very_often', 'Very often'),\n ],\n ),\n [QuestionIds.EduD1]: new Info(\n QuestionIds.EduD1,\n 'Almost there! \\n Now let’s customize your plan',\n 'In the next section we want to understand what you already know about how your internal clock works so that we can better personalize your course',\n ),\n [QuestionIds.EduQ1]: new OptionQuestion(\n QuestionIds.EduQ1,\n \"What is a person's chronotype?\",\n [\n new TextOption('age', 'Their age'),\n new TextOption('sleep_preference', 'Natural sleep preference'),\n new TextOption('height', 'Their height'),\n new TextOption('occupation', 'Their occupation'),\n ],\n ),\n [QuestionIds.EduQ1Answer]: new EducationAnswer(\n QuestionIds.EduQ1Answer,\n 'sleep_preference',\n 'Natural sleep preference',\n \"A person's chronotype is their natural sleep preference, or the time of day when they are most alert and productive.\",\n ),\n [QuestionIds.EduQ2]: new OptionQuestion(\n QuestionIds.EduQ2,\n 'Can a person change their chronotype?',\n [\n new TextOption('age', \"No, a person's chronotype is fixed\"),\n new TextOption('effort', 'Yes, but it requires a lot of effort'),\n new TextOption(\n 'medical procedure',\n 'Only if they undergo a medical procedure',\n ),\n ],\n ),\n [QuestionIds.EduQ2Answer]: new EducationAnswer(\n QuestionIds.EduQ2Answer,\n 'effort',\n 'Yes, but it requires a lot of effort',\n \"While a person's chronotype is largely determined by genetics, it is possible to shift it to some extent through consistent changes to sleep and wake times and other lifestyle habits.\",\n ),\n [QuestionIds.EduQ3]: new OptionQuestion(\n QuestionIds.EduQ3,\n 'What is a circadian rhythm?',\n [\n new TextOption('personal_preference', 'Just a personal preference'),\n new TextOption('biological_clock', 'The 24-hour biological clock'),\n new TextOption(\n 'total_sleep_amount',\n 'The total amount of sleep a person needs per night',\n ),\n new TextOption(\n 'amount_time',\n 'The amount of time it takes a person to fall asleep',\n ),\n ],\n ),\n [QuestionIds.EduQ3Answer]: new EducationAnswer(\n QuestionIds.EduQ3Answer,\n 'biological_clock',\n 'The 24-hour biological clock',\n 'A circadian rhythm is the 24-hour biological clock that regulates sleep-wake cycles, influencing the timing and quality of sleep.',\n ),\n [QuestionIds.EduQ4]: new OptionQuestion(\n QuestionIds.EduQ4,\n 'What’s a circadian rhythm disorder?',\n [\n new TextOption('sleep_wake_cycle', 'Sleep-wake cycle disorder'),\n new TextOption('medicine_type', 'Type of medicine'),\n ],\n ),\n [QuestionIds.EduQ4Answer]: new EducationAnswer(\n QuestionIds.EduQ4Answer,\n 'sleep_wake_cycle',\n 'Sleep-wake cycle disorder',\n 'Circadian rhythm disorders, also known as sleep-wake cycle disorders, are problems that occur when your body’s internal clock, which tells you when it’s time to sleep or wake, is out of sync with your environment.',\n ),\n [QuestionIds.EduQ5]: new OptionQuestion(\n QuestionIds.EduQ5,\n 'What is a common symptom of circadian rhythm disorders?',\n [\n new TextOption('night_wake_up', 'Waking up at night'),\n new TextOption('daytime_sleepiness', 'Daytime sleepiness'),\n new TextOption('sleepwalking', 'Sleepwalking'),\n new TextOption('nightmares', 'Nightmares'),\n ],\n ),\n [QuestionIds.EduQ5Answer]: new EducationAnswer(\n QuestionIds.EduQ5Answer,\n 'daytime_sleepiness',\n 'Daytime sleepiness',\n 'A common symptom of circadian rhythm disorders is daytime sleepiness, or excessive sleepiness during the day that interferes with daily activities.',\n ),\n [QuestionIds.MeqResults]: new CustomQuestion(QuestionIds.MeqResults, false),\n [QuestionIds.GadQ1]: new StatementQuestion(\n QuestionIds.GadQ1,\n 'GadTitle',\n 'GadQ1Statement',\n true,\n ),\n [QuestionIds.GadQ2]: new StatementQuestion(\n QuestionIds.GadQ2,\n 'GadTitle',\n 'GadQ2Statement',\n true,\n ),\n [QuestionIds.GadQ3]: new StatementQuestion(\n QuestionIds.GadQ3,\n 'GadTitle2',\n 'GadQ3Statement',\n true,\n ),\n [QuestionIds.GadQ4]: new StatementQuestion(\n QuestionIds.GadQ4,\n 'GadTitle2',\n 'GadQ4Statement',\n true,\n ),\n [QuestionIds.GadQ5]: new StatementQuestion(\n QuestionIds.GadQ5,\n 'GadTitle2',\n 'GadQ5Statement',\n true,\n ),\n [QuestionIds.GadQ6]: new StatementQuestion(\n QuestionIds.GadQ6,\n 'GadTitle2',\n 'GadQ6Statement',\n true,\n ),\n [QuestionIds.GadQ7]: new StatementQuestion(\n QuestionIds.GadQ7,\n 'GadTitle2',\n 'GadQ7Statement',\n true,\n ),\n [QuestionIds.GadResults]: new CustomQuestion(QuestionIds.GadResults, false),\n [QuestionIds.IsiQ1]: new OptionQuestion(\n QuestionIds.IsiQ1,\n 'How SATISFIED/DISSATISFIED are you with your CURRENT sleep pattern?',\n [\n new TextOption('very_satisfied', 'Very Satisfied'),\n new TextOption('satisfied', 'Satisfied'),\n new TextOption('moderately_satisfied', 'Moderately Satisfied'),\n new TextOption('dissatisfied', 'Dissatisfied'),\n new TextOption('very_dissatisfied', 'Very Dissatisfied'),\n ],\n ),\n [QuestionIds.IsiQ2]: new OptionQuestion(\n QuestionIds.IsiQ2,\n 'How NOTICEABLE to others do you think your sleep problem is in terms of impairing the quality of your life?',\n [\n new TextOption('not_at_all', 'Not at all Noticeable'),\n new TextOption('little', 'A Little'),\n new TextOption('somewhat', 'Somewhat'),\n new TextOption('much', 'Much'),\n new TextOption('very_much', 'Very Much Noticeable'),\n ],\n ),\n [QuestionIds.IsiQ3]: new OptionQuestion(\n QuestionIds.IsiQ3,\n 'How WORRIED/DISTRESSED are you about your current sleep problem?',\n [\n new TextOption('not_at_all', 'Not at all Worried'),\n new TextOption('little', 'A Little'),\n new TextOption('somewhat', 'Somewhat'),\n new TextOption('much', 'Much'),\n new TextOption('very_much', 'Very Much Worried'),\n ],\n ),\n [QuestionIds.IsiQ4]: new OptionQuestion(\n QuestionIds.IsiQ4,\n 'To what extent do you consider your sleep problem to INTERFERE with your daily functioning?',\n [\n new TextOption('not_at_all', 'Not at all Interfering'),\n new TextOption('little', 'A Little'),\n new TextOption('somewhat', 'Somewhat'),\n new TextOption('much', 'Much'),\n new TextOption('very_much', 'Very Much Interfering'),\n ],\n ),\n [QuestionIds.IsiQ5]: new OptionQuestion(\n QuestionIds.IsiQ5,\n 'Which of the following symptoms you experience during the day?',\n [\n new TextOption('mood_swings', 'Mood swings'),\n new TextOption('daytime_fatigue', 'Daytime fatigue'),\n new TextOption('inability_to_focus', 'Inability to Focus'),\n new TextOption('headaches', 'Headaches'),\n new TextOption('irritability_or_anxiety', 'Irritability or anxiety'),\n new TextOption('worries_about_sleep', 'Worries about sleep'),\n ],\n true,\n ),\n [QuestionIds.IsiD1]: new CustomQuestion(QuestionIds.IsiD1),\n [QuestionIds.AboutYouGuided]: new OptionQuestion(\n QuestionIds.AboutYouGuided,\n QuestionIds.AboutYouGuided,\n [\n new TextOption('new_to_it', 'new_to_it'),\n new TextOption('not_much', 'not_much'),\n new TextOption('expert', 'expert'),\n ],\n ),\n [QuestionIds.AboutYouD1]: new OptionalQuestion(\n QuestionIds.AboutYouGuided,\n QuestionIds.AboutYouD1,\n {\n new_to_it: new Info(\n QuestionIds.AboutYouD1,\n 'AboutYouD1Title',\n 'AboutYouD1NewToItDescription',\n ),\n not_much: new Info(\n QuestionIds.AboutYouD1,\n 'AboutYouD1Title',\n 'AboutYouD1NotMuchDescription',\n ),\n expert: new Info(\n QuestionIds.AboutYouD1,\n 'AboutYouD1Title',\n 'AboutYouD1ExpertDescription',\n ),\n },\n ),\n [QuestionIds.AboutYouGender]: new OptionQuestion(\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouGender,\n [\n new TextOption('female', 'female'),\n new TextOption('male', 'male'),\n new TextOption('non_binary', 'non_binary'),\n new TextOption('none', 'none'),\n ],\n ),\n [QuestionIds.AboutYouAge]: new OptionQuestion(\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouAge,\n [\n new TextOption('20s', '20s'),\n new TextOption('30s', '30s'),\n new TextOption('40s', '40s'),\n new TextOption('50s', '50s'),\n new TextOption('60s', '60s'),\n ],\n ),\n [QuestionIds.AboutYouRoutine]: getAboutYourRoutineMetaData(\n isGadTest,\n isAdhdTest,\n ),\n [QuestionIds.AboutYouD2]: new OptionalQuestion(\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n {\n no_routine: new Info(\n QuestionIds.AboutYouD2,\n 'AboutYouD2NoRotineTitle',\n 'AboutYouD2NoRotineDescription',\n ),\n some_routine: new Info(\n QuestionIds.AboutYouD2,\n 'AboutYouD2SomeRotineTitle',\n 'AboutYouD2SomeRotineDescription',\n ),\n mindful_routine: new Info(\n QuestionIds.AboutYouD2,\n 'AboutYouD2MindfulRotineTitle',\n 'AboutYouD2MindfulRotineDescription',\n ),\n },\n ),\n [QuestionIds.AboutYouKids]: new OptionQuestion(\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouKids,\n [\n new TextOption('under_16', 'under_16'),\n new TextOption('grown_ups', 'grown_ups'),\n new TextOption('no_kids', 'no_kids'),\n ],\n ),\n [QuestionIds.AboutYouD3]: new OptionalQuestion(\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n {\n under_16: new Info(\n QuestionIds.AboutYouD3,\n 'AboutYouD3Title',\n isAdhdTest ? 'AboutYouD3DescriptionV2' : 'AboutYouD3Description',\n ),\n },\n ),\n [QuestionIds.AboutYouActivity]: new OptionQuestion(\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouActivity,\n [\n new TextOption('low', 'low'),\n new TextOption('average', 'average'),\n new TextOption('high', 'high'),\n ],\n ),\n [QuestionIds.AboutYouD4]: getAboutYouD4MetaData(isGadTest, isAdhdTest),\n [QuestionIds.AboutYouProof1]: new CustomQuestion(\n QuestionIds.AboutYouProof1,\n true,\n ),\n [QuestionIds.SleepAndActivityQ1]: new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.SleepAndActivityQ1,\n {\n sleep: new OptionQuestion(\n QuestionIds.SleepAndActivityQ1,\n 'SleepAndActivityQ1Sleep',\n [\n new TextOption('occasionally', 'occasionally'),\n new TextOption('frequently', 'frequently'),\n new TextOption('every_night', 'every_night'),\n ],\n ),\n stress: new OptionQuestion(\n QuestionIds.SleepAndActivityQ1,\n 'SleepAndActivityQ1Stress',\n [\n new TextOption('good', 'good'),\n new TextOption('stressed', 'stressed'),\n new TextOption('sad', 'sad'),\n new TextOption('indifferent', 'indifferent'),\n new TextOption('mentally_tired', 'mentally_tired'),\n ],\n ),\n },\n ),\n [QuestionIds.SleepAndActivityQ2]: new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.SleepAndActivityQ2,\n {\n sleep: new OptionQuestion(\n QuestionIds.SleepAndActivityQ2,\n 'SleepAndActivityQ2Sleep',\n [\n new TextOption('relationship', 'relationship'),\n new TextOption('future', 'future'),\n new TextOption('job', 'job'),\n new TextOption('family', 'family'),\n new TextOption('health', 'health_issues'),\n new TextOption('stress', 'stress'),\n ],\n true,\n ),\n stress: new OptionQuestion(\n QuestionIds.SleepAndActivityQ2,\n 'SleepAndActivityQ2Stress',\n [\n new TextOption('relationship', 'relationship'),\n new TextOption('future', 'future'),\n new TextOption('job', 'job'),\n new TextOption('family', 'family'),\n new TextOption('health', 'health_issues'),\n new TextOption('stress', 'stress'),\n ],\n true,\n ),\n },\n ),\n [QuestionIds.SleepAndActivityD1]: getSleepAndActivityD1MetaData(\n isAdhdTest,\n isGadTest,\n isDefaultOnboarding,\n ),\n\n [QuestionIds.SleepAndActivityQ3]: new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.SleepAndActivityQ3,\n {\n sleep: new OptionQuestion(\n QuestionIds.SleepAndActivityQ3,\n QuestionIds.SleepAndActivityQ3,\n [\n new TextOption('insomnia', 'insomnia'),\n new TextOption('restless_sleep', 'restless_sleep'),\n new TextOption('awake_at_night', 'awake_at_nightt'),\n new TextOption('bad_morning_mood', 'bad_morning_mood'),\n new TextOption('other', 'other', true),\n ],\n true,\n ),\n stress: new OptionQuestion(\n QuestionIds.SleepAndActivityQ3,\n QuestionIds.SleepAndActivityQ3,\n [\n new TextOption('anxious_thoughts', 'anxious_thoughts'),\n new TextOption('discomfort', 'discomfort'),\n new TextOption('moodiness', 'moodiness'),\n new TextOption('sleep_issues', 'sleep_issues'),\n new TextOption('other', 'other', true),\n ],\n true,\n ),\n },\n ),\n [QuestionIds.SleepAndActivityProof1]: new CustomQuestion(\n QuestionIds.SleepAndActivityProof1,\n false,\n ),\n [QuestionIds.SleepAndActivityProof2]: new CustomQuestion(\n QuestionIds.SleepAndActivityProof2,\n ),\n [QuestionIds.SleepAndActivityCoffee]: new StatementQuestion(\n QuestionIds.SleepAndActivityCoffee,\n 'SleepAndActivityTitle',\n 'SleepAndActivityCoffeeStatement',\n ),\n [QuestionIds.SleepAndActivityDinner]: new StatementQuestion(\n QuestionIds.SleepAndActivityDinner,\n 'SleepAndActivityTitle',\n 'SleepAndActivityDinnerStatement',\n ),\n [QuestionIds.SleepAndActivityAfterMidnight]: new StatementQuestion(\n QuestionIds.SleepAndActivityAfterMidnight,\n 'SleepAndActivityTitle',\n 'SleepAndActivityAfterMidnightStatement',\n ),\n [QuestionIds.SleepAndActivityLessThanEightHours]: new StatementQuestion(\n QuestionIds.SleepAndActivityLessThanEightHours,\n 'SleepAndActivityTitle',\n 'SleepAndActivityLessThanEightHoursStatement',\n ),\n [QuestionIds.SleepAndActivityExtraMotivation]: new StatementQuestion(\n QuestionIds.SleepAndActivityExtraMotivation,\n 'SleepAndActivityTitle',\n 'SleepAndActivityExtraMotivationStatement',\n ),\n [QuestionIds.SleepAndActivityD2]: new OptionalQuestion(\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n {\n yes: new Info(\n QuestionIds.SleepAndActivityD2,\n 'SleepAndActivityD2YesTitle',\n 'SleepAndActivityD2YesDescription',\n ),\n no: new Info(\n QuestionIds.SleepAndActivityD2,\n 'SleepAndActivityD2NoTitle',\n 'SleepAndActivityD2NoDescription',\n ),\n },\n ),\n [QuestionIds.SleepAndActivityLoader]: new CustomQuestion(\n QuestionIds.SleepAndActivityLoader,\n ),\n [QuestionIds.PersonalizationD1]: new CustomQuestion(\n QuestionIds.PersonalizationD1,\n ),\n [QuestionIds.PersonalizationColors1]: new ColorQuestion(\n QuestionIds.PersonalizationColors1,\n 'PersonalizationColorsTitle',\n 'PersonalizationColorsDescription',\n [\n new ColorOption('sky_blue', '#7986CB', 'sky_blue'),\n new ColorOption('loona_lavender', '#7E57C2', 'loona_lavender'),\n ],\n ),\n [QuestionIds.PersonalizationColors2]: new ColorQuestion(\n QuestionIds.PersonalizationColors2,\n 'PersonalizationColorsTitle',\n 'PersonalizationColorsDescription',\n [\n new ColorOption('venice_rose', '#F088AB', 'venice_rose'),\n new ColorOption('coral_red', '#EF5350', 'coral_red'),\n ],\n ),\n [QuestionIds.PersonalizationColors3]: new ColorQuestion(\n QuestionIds.PersonalizationColors3,\n 'PersonalizationColorsTitle',\n 'PersonalizationColorsDescription',\n [\n new ColorOption('navy_blue', '#49599A', 'navy_blue'),\n new ColorOption('spring_green', '#64BB6A', 'spring_green'),\n ],\n ),\n [QuestionIds.PersonalizationColors4]: new ColorQuestion(\n QuestionIds.PersonalizationColors4,\n 'PersonalizationColorsTitle',\n 'PersonalizationColorsDescription',\n [\n new ColorOption('tangerine', '#EC8847', 'tangerine'),\n new ColorOption('sunflower_yellow', '#FFD863', 'sunflower_yellow'),\n ],\n ),\n [QuestionIds.PersonalizationPlaces]: new PlaceQuestion(\n QuestionIds.PersonalizationPlaces,\n 'PersonalizationPlacesTitle',\n 'PersonalizationPlacesDescription',\n [\n new PlaceOption('sakura_garden', Sakura, 'sakura_garden'),\n new PlaceOption('fairy_tale_castle', Castle, 'fairy_tale_castle'),\n new PlaceOption('hidden_sanctuary', Sanctuary, 'hidden_sanctuary'),\n new PlaceOption('enchanted_forest', Forest, 'enchanted_forest'),\n new PlaceOption('moonlit_harbor', Harbour, 'moonlit_harbor'),\n new PlaceOption('cafe', Cafe, 'cafe'),\n new PlaceOption('kingdom', Kingdom, 'kingdom'),\n new PlaceOption('fireplace', Fireplace, 'fireplace'),\n ],\n ),\n [QuestionIds.PersonalizationProof1]: new CustomQuestion(\n QuestionIds.PersonalizationProof1,\n true,\n ),\n [QuestionIds.PersonalizationArtwork1]: new ImageQuestion(\n QuestionIds.PersonalizationArtwork1,\n 'PersonalizationArtworkTitle',\n 'PersonalizationArtworkDescription',\n 'japan_garden',\n ),\n [QuestionIds.PersonalizationArtwork2]: new ImageQuestion(\n QuestionIds.PersonalizationArtwork2,\n 'PersonalizationArtworkTitle',\n 'PersonalizationArtworkDescription',\n 'magic_tree',\n ),\n [QuestionIds.PersonalizationArtwork3]: new ImageQuestion(\n QuestionIds.PersonalizationArtwork3,\n 'PersonalizationArtworkTitle',\n 'PersonalizationArtworkDescription',\n 'campfire',\n ),\n [QuestionIds.PersonalizationArtwork4]: new ImageQuestion(\n QuestionIds.PersonalizationArtwork4,\n 'PersonalizationArtworkTitle',\n 'PersonalizationArtworkDescription',\n 'brooklyn',\n ),\n [QuestionIds.PersonalizationNarrative]: new OptionQuestion(\n QuestionIds.PersonalizationNarrative,\n QuestionIds.PersonalizationNarrative,\n [\n new TextOption('realistic', 'realistic'),\n new TextOption('mysterious', 'mysterious'),\n new TextOption('fairytale', 'fairytale'),\n new TextOption('nostalgic', 'nostalgic'),\n new TextOption('sentimental', 'sentimental'),\n new TextOption('adventure', 'adventure'),\n ],\n true,\n true,\n 'PersonalizationSubtitle',\n ),\n [QuestionIds.PersonalizationD3]: new CustomQuestion(\n QuestionIds.PersonalizationD3,\n ),\n [QuestionIds.PersonalizationLoader]: new CustomQuestion(\n QuestionIds.PersonalizationLoader,\n ),\n [QuestionIds.IntroSignInLoader]: new CustomQuestion(\n QuestionIds.IntroSignInLoader,\n ),\n [QuestionIds.PersonalizationD2]: new Info(\n QuestionIds.PersonalizationD2,\n 'PersonalizationD2Title',\n 'PersonalizationD2Description',\n 'PersonalizationD2Description2',\n ),\n [QuestionIds.PersonalizationGoal]: new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.PersonalizationGoal,\n {\n sleep: new OptionQuestion(\n QuestionIds.PersonalizationGoal,\n 'PersonalizationGoalSleep',\n [\n new TextOption('sleep', 'sleep'),\n new TextOption('productivity', 'productivity'),\n new TextOption('wake_up_time', 'wake_up_time'),\n new TextOption('health', 'health'),\n new TextOption('other', 'other', true),\n ],\n false,\n false,\n ),\n stress: new OptionQuestion(\n QuestionIds.PersonalizationGoal,\n 'PersonalizationGoalStress',\n [\n new TextOption('sleep', 'sleep'),\n new TextOption('productivity', 'productivity'),\n new TextOption('wake_up_time', 'wake_up_time'),\n new TextOption('health', 'health'),\n new TextOption('other', 'other', true),\n ],\n false,\n false,\n ),\n },\n false,\n ),\n [QuestionIds.BlitzArt]: new BlitzQuestion(\n QuestionIds.BlitzArt,\n QuestionIds.BlitzArt,\n ),\n [QuestionIds.BlitzDaydream]: new BlitzQuestion(\n QuestionIds.BlitzDaydream,\n QuestionIds.BlitzDaydream,\n ),\n [QuestionIds.BlitzShiftWork]: new BlitzQuestion(\n QuestionIds.BlitzShiftWork,\n QuestionIds.BlitzShiftWork,\n ),\n [QuestionIds.BlitzTinnitus]: new BlitzQuestion(\n QuestionIds.BlitzTinnitus,\n QuestionIds.BlitzTinnitus,\n ),\n [QuestionIds.BlitzRead]: new BlitzQuestion(\n QuestionIds.BlitzRead,\n QuestionIds.BlitzRead,\n ),\n [QuestionIds.BlitzADHD]: new BlitzQuestion(\n QuestionIds.BlitzADHD,\n QuestionIds.BlitzADHD,\n ),\n [QuestionIds.PersonalizationLength]: new OptionQuestion(\n QuestionIds.PersonalizationLength,\n 'PersonalizationLengthTitle',\n [\n new TextOption('short', 'short'),\n new TextOption('medium', 'medium'),\n new TextOption('long', 'long'),\n ],\n true,\n true,\n 'PersonalizationLengthDescription',\n ),\n [QuestionIds.PersonalizationFrequency]: new OptionQuestion(\n QuestionIds.PersonalizationFrequency,\n 'PersonalizationFrequencyTitle',\n [\n new TextOption('every_day', 'every_day'),\n new TextOption('wekdays', 'wekdays'),\n new TextOption('2_3_time_week', '2_3_time_week'),\n new TextOption('once_a_week', 'once_a_week'),\n ],\n true,\n true,\n 'PersonalizationFrequencyDescription',\n ),\n [QuestionIds.PersonalizationFeelingHoping]: new OptionQuestion(\n QuestionIds.PersonalizationFeelingHoping,\n 'PersonalizationFeelingHopingTitle',\n [\n new TextOption('peace', 'peace'),\n new TextOption('happiness', 'happiness'),\n new TextOption('gratitude', 'gratitude'),\n new TextOption('empowerment', 'empowerment'),\n new TextOption('calmness', 'calmness'),\n new TextOption('admiration', 'admiration'),\n ],\n true,\n true,\n 'PersonalizationFeelingHopingDescription',\n ),\n [QuestionIds.PersonalizationSounds]: new OptionQuestion(\n QuestionIds.PersonalizationSounds,\n 'PersonalizationSoundsTitle',\n [\n new TextOption('nature', 'nature', false, 'nature_subtext'),\n new TextOption('water', 'water', false, 'water_subtext'),\n new TextOption('wildlife', 'wildlife', false, 'wildlife_subtext'),\n new TextOption('urban', 'urban', false, 'urban_subtext'),\n new TextOption('asmr', 'asmr', false, 'asmr_subtext'),\n ],\n true,\n true,\n 'PersonalizationSoundsDescription',\n ),\n [QuestionIds.PersonalizationFeeling]: new OptionQuestion(\n QuestionIds.PersonalizationFeeling,\n 'PersonalizationFeelingTitle',\n [\n new TextOption('sad', 'sad'),\n new TextOption('happy', 'happy'),\n new TextOption('anxious', 'anxious'),\n new TextOption('cant_sleep', 'cant_sleep'),\n new TextOption('stressed', 'stressed'),\n new TextOption('cant_focus', 'cant_focus'),\n ],\n true,\n true,\n 'PersonalizationFeelingDescription',\n ),\n };\n};\n","import { Info } from 'onboarding/question/info/Info';\nimport { QuestionIds } from './constants/QuestionIds';\nimport {\n OptionalQuestion,\n OptionQuestion,\n} from 'onboarding/question/options/OptionQuestion';\nimport { TextOption } from 'onboarding/question/options/TextOption';\n\nexport const getAboutYouD4MetaData = (\n isGadTest: boolean,\n isAdhdTest: boolean,\n) => {\n if (isGadTest) {\n return new Info(\n QuestionIds.AboutYouD4,\n 'AboutYouD4Title',\n 'AboutYouD4Description',\n );\n }\n if (isAdhdTest) {\n return new Info(\n QuestionIds.AboutYouD4,\n 'AboutYouD4TitleV2',\n 'AboutYouD4DescriptionV2',\n );\n }\n return new Info(\n QuestionIds.AboutYouD4,\n 'AboutYouD4V2Title',\n 'AboutYouD4Description',\n );\n};\n\nexport const getSleepAndActivityD1MetaData = (\n isAdhdTest: boolean,\n isGadTest: boolean,\n isDefaultOnboarding: boolean,\n) => {\n if (isDefaultOnboarding) {\n return new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.SleepAndActivityD1,\n {\n sleep: new Info(\n QuestionIds.SleepAndActivityD1,\n 'SleepAndActivityD1SleepTitle',\n 'SleepAndActivityD1SleepAndStressDescription',\n ),\n stress: new Info(\n QuestionIds.SleepAndActivityD1,\n 'SleepAndActivityD1StressTitle',\n 'SleepAndActivityD1SleepAndStressDescription',\n ),\n },\n );\n }\n if (isAdhdTest) {\n return new OptionalQuestion(\n QuestionIds.Welcome,\n QuestionIds.SleepAndActivityD1,\n {\n sleep: new Info(\n QuestionIds.SleepAndActivityD1,\n 'SleepAndActivityD1SleepTitle',\n 'SleepAndActivityD1V2Description',\n ),\n stress: new Info(\n QuestionIds.SleepAndActivityD1,\n 'SleepAndActivityD1StressTitle',\n 'SleepAndActivityD1V2Description',\n ),\n },\n );\n }\n return new Info(\n QuestionIds.SleepAndActivityD1,\n 'SleepAndActivityD1Title',\n `${\n isGadTest\n ? `SleepAndActivityD1DescriptionGad`\n : `SleepAndActivityD1Description`\n }`,\n );\n};\n\nexport const getAboutYourRoutineMetaData = (\n isGadTest: boolean,\n isAdhdTest: boolean,\n) => {\n if (isGadTest) {\n return new OptionQuestion(\n QuestionIds.AboutYouRoutine,\n 'AboutYourRotineMentalHealth',\n [\n new TextOption('no_routine', 'no_routine'),\n new TextOption('some_routine', 'some_routine'),\n new TextOption('mindful_routine', 'mindful_routine'),\n ],\n );\n }\n if (isAdhdTest) {\n return new OptionQuestion(\n QuestionIds.AboutYouRoutine,\n 'AboutYourRotineSleepV2',\n [\n new TextOption('no_routine', 'no_routine'),\n new TextOption('some_routine', 'some_routine'),\n new TextOption('mindful_routine', 'mindful_routine'),\n ],\n );\n }\n return new OptionQuestion(\n QuestionIds.AboutYouRoutine,\n 'AboutYourRotineSleep',\n [\n new TextOption('no_routine', 'no_routine'),\n new TextOption('some_routine', 'some_routine'),\n new TextOption('mindful_routine', 'mindful_routine'),\n ],\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"background\":\"styles_background__QTn9-\",\"hidden\":\"styles_hidden__PFeJ4\",\"container\":\"styles_container__sqPE2\",\"title\":\"styles_title__5Qij3\",\"buttons\":\"styles_buttons__qTes6\",\"button\":\"styles_button__25kFc\",\"active\":\"styles_active__c2u4t\"};","import React, { SyntheticEvent, useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { BlitzAlertViewed, SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { BlitzQuestion } from '../BlitzQuestion';\nimport { useTranslation } from 'react-i18next';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n visible: boolean;\n question: BlitzQuestion;\n onAnswer: () => void;\n};\n\nexport const QuestionAlert = ({ visible, question, onAnswer }: Props) => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n const [selectedOption, setSelectedOption] = useState('');\n\n const features = useFeatures();\n\n useEffect(() => {\n return () => {\n document.body.style.overflow = '';\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n appAnalytics.trackEvent(new BlitzAlertViewed(question.id));\n setSelectedOption('');\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n }, [visible]);\n\n const handleYesClicked = (e: SyntheticEvent) => {\n e.preventDefault();\n if (selectedOption === '') {\n setSelectedOption('yes');\n appAnalytics.trackEvent(new SaveAnswer(question.id, 'yes'));\n setTimeout(() => {\n dispatch(setAnswer(question.id, 'yes', features, false));\n onAnswer();\n }, 200);\n }\n };\n\n const handleNoClicked = (e: SyntheticEvent) => {\n e.preventDefault();\n if (selectedOption === '') {\n setSelectedOption('no');\n appAnalytics.trackEvent(new SaveAnswer(question.id, 'no'));\n setTimeout(() => {\n dispatch(setAnswer(question.id, 'no', features, false));\n onAnswer();\n }, 200);\n }\n };\n\n return (\n
\n
\n

{t(question.title)}

\n
\n \n {t('no')}\n \n \n {t('yes')}\n \n
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__yervQ\",\"textWrapper\":\"styles_textWrapper__-VbSG\",\"background\":\"styles_background__FgQ6h\",\"progress\":\"styles_progress__wd6D-\"};","import React from 'react';\nimport CheckedIcon from 'assets/ic_check.svg';\nimport { percentToHex } from 'utils';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n text: string;\n color: string;\n progress: number;\n};\n\nexport const ProgressBar = ({ text, color, progress }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
{t(text)}
\n {progress < 1 ? (\n
{progress > 0 ? Math.floor(progress * 100) + '%' : ''}
\n ) : (\n \"100%\"\n )}\n
\n \n \n
\n
\n );\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconStar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 21,\n viewBox: \"0 0 22 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.381 16.8402C11.0423 16.6107 10.598 16.6107 10.2593 16.8402L5.58808 20.0046C4.81182 20.5304 3.80378 19.7949 4.06765 18.8952L5.64512 13.5166C5.7612 13.1208 5.62236 12.6943 5.2955 12.4427L0.845708 9.01752C0.101186 8.44442 0.486372 7.2539 1.42549 7.22554L7.06112 7.05537C7.47132 7.04298 7.8323 6.78123 7.97158 6.3952L9.8795 1.10714C10.1973 0.22632 11.443 0.226322 11.7608 1.10715L13.6687 6.3952C13.808 6.78123 14.169 7.04298 14.5792 7.05537L20.2148 7.22554C21.1539 7.2539 21.5391 8.44442 20.7946 9.01751L16.3448 12.4427C16.0179 12.6943 15.8791 13.1208 15.9952 13.5166L17.5726 18.8952C17.8365 19.7949 16.8285 20.5304 16.0522 20.0046L11.381 16.8402Z\",\n fill: \"#FF9600\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconStar);\nexport default __webpack_public_path__ + \"static/media/icon_star.b2a7cc2b2bf3b6d8ec1bcdbfaaf3fe23.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport Star from 'assets/icon_star.svg';\n\nconst Stars = () => {\n return (\n
\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n
\n );\n};\n\nexport default Stars;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__wGTJ+\",\"transitionIn\":\"styles_transitionIn__H1A2i\",\"slide-in\":\"styles_slide-in__C7c5o\",\"transitionOut\":\"styles_transitionOut__FDy5p\",\"slide-out\":\"styles_slide-out__u348m\",\"text\":\"styles_text__uP3CH\",\"signature\":\"styles_signature__mGTtY\"};","import React, { useEffect, useState } from 'react';\nimport Stars from 'components/stars/Stars';\nimport styles from './styles.module.scss';\n\nconst REVIEWS = [\n {\n text: '“Falling asleep like a baby. The app’s a blessing. Thank you! 🙏🏻❤️”️',\n signature: 'Mia, 26 from Seattle',\n },\n {\n text: 'I have suffered with anxiety and insomnia for years. it’s worth every penny!',\n signature: 'Patricia, 37 from Houston',\n },\n {\n text: 'As someone who has always struggled to sleep, and has severe anxiety, this is a life saver.',\n signature: 'Linda, 41 from Galena',\n },\n {\n text: 'I suggest it for anyone that is needing something to calm their mind before bed.',\n signature: 'Barbara, 39 from Beaufort',\n },\n {\n text: 'This is one of the only things that helps me sleep. I love it so much!',\n signature: 'Sandra, 26 from Nashville',\n },\n {\n text: 'So i’ve been having a lot of trouble falling asleep and staying asleep and this is helping a lot!!',\n signature: 'Sarah, 26 from Camden',\n },\n];\n\nexport const ReviewCarousel = () => {\n const [currentReviewIndex, setCurrentReviewIndex] = useState(0);\n const [isInTransition, setIsInTransition] = useState(false);\n\n useEffect(() => {\n const startTime = Date.now();\n const reviewDelay = 4000;\n const transitionStart = 500;\n\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n setCurrentReviewIndex(\n Math.floor((elapsedTime / reviewDelay) % REVIEWS.length),\n );\n if (elapsedTime % reviewDelay >= reviewDelay - transitionStart) {\n setIsInTransition(true);\n } else {\n setIsInTransition(false);\n }\n }, 100);\n return () => {\n clearInterval(timer);\n };\n // eslint-disable-next-line\n }, []);\n\n const review = REVIEWS[currentReviewIndex];\n return (\n \n \n
{review.text}
\n
{review.signature}
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__KdIPt\",\"image\":\"styles_image__wwJn5\",\"title\":\"styles_title__Sx0JW\",\"transitionIn\":\"styles_transitionIn__yuAaJ\",\"transitionOut\":\"styles_transitionOut__4iTtF\",\"subtitle\":\"styles_subtitle__gbscn\",\"status\":\"styles_status__yywGt\",\"spinner\":\"styles_spinner__rhkoR\",\"circ-anim\":\"styles_circ-anim__FWLfP\"};","import React, { useEffect, useState } from 'react';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { easeInOutQuad } from 'hooks/useProgress';\nimport { getQuestionsMeta } from 'onboarding/data/meta';\nimport { QuestionTypes } from 'onboarding/question/Question';\nimport { QuestionAlert } from './alert/QuestionAlert';\nimport { BlitzQuestion } from './BlitzQuestion';\nimport { ProgressBar } from './progressbar/ProgressBar';\nimport { ReviewCarousel } from './reviewcarousel/ReviewCarousel';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\nconst ALERT_PROGRESS = [0.75, 0.9, 0.55, 0.85];\n\nconst STEP_DURATION = 5000;\n\nexport const AnalysisLoader = () => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n\n const features = useFeatures();\n\n const {\n isAdhdTest,\n isGadTest,\n isBlitzV2Flow,\n isPersonalizationLoaderEstimateFlow,\n isDefaultOnboarding,\n } = features;\n\n const questionMeta = getQuestionsMeta(\n isAdhdTest,\n isGadTest,\n isDefaultOnboarding,\n );\n\n const [progress, setProgress] = useState(0);\n const [step, setStep] = useState(0);\n const [alertShown, setAlertShown] = useState(false);\n const [progressPaused, setProgressPaused] = useState(false);\n\n const ALERTS: BlitzQuestion[] = Object.values(questionMeta)\n .filter((value) => value.type === QuestionTypes.Blitz)\n .filter((question) =>\n isBlitzV2Flow\n ? question.variationId !== QuestionIds.BlitzDaydream &&\n question.variationId !== QuestionIds.BlitzRead\n : question.variationId !== QuestionIds.BlitzShiftWork &&\n question.variationId !== QuestionIds.BlitzADHD,\n )\n .map((it) => it as BlitzQuestion);\n\n useEffect(() => {\n if (!progressPaused) {\n const startTime = Date.now();\n const pausePercent = ALERT_PROGRESS[step];\n const currentLineInPercent =\n progress < pausePercent ? pausePercent : 1 - pausePercent;\n const stepDuration = STEP_DURATION * currentLineInPercent;\n\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n const nextProgress = easeInOutQuad(\n Math.min(1, elapsedTime / stepDuration),\n );\n if (progress < pausePercent && nextProgress >= 1) {\n setProgress(nextProgress * currentLineInPercent);\n setAlertShown(true);\n setProgressPaused(true);\n clearInterval(timer);\n } else {\n const prefix = progress >= pausePercent ? pausePercent : 0;\n const nextValue = prefix + nextProgress * currentLineInPercent;\n if (nextValue >= 1) {\n if (step < ALERTS.length - 1) {\n setProgress(0);\n setStep(step + 1);\n clearInterval(timer);\n } else {\n setProgress(1);\n setTimeout(() => {\n dispatch(goToNextQuestion(features));\n }, 500);\n clearInterval(timer);\n }\n } else {\n setProgress(nextValue);\n }\n }\n }, 100);\n return () => {\n clearInterval(timer);\n };\n }\n }, [progressPaused, step]);\n\n const getProgressValue = (p: number) => {\n if (step < p) {\n return 0;\n } else if (step === p) {\n return progress;\n } else {\n return 1;\n }\n };\n\n const handleAnswer = () => {\n if (step < ALERTS.length) {\n setAlertShown(false);\n setTimeout(() => {\n setProgressPaused(false);\n }, 250);\n } else {\n setAlertShown(false);\n }\n };\n\n return (\n
\n \n

{t('PersonalizationLoaderTitle')}

\n {isPersonalizationLoaderEstimateFlow && (\n

\n {t('PersonalizationLoaderSubtitle')}\n

\n )}\n \n \n \n \n

{t('PersonalizationLoaderTitle2')}

\n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Q5-pD\",\"speed\":\"styles_speed__c34az\",\"options\":\"styles_options__5wykT\",\"option\":\"styles_option__BqbcR\",\"title\":\"styles_title__x-d7b\",\"description\":\"styles_description__bUi1o\",\"enter\":\"styles_enter__NDCMz\",\"leave\":\"styles_leave__-D8dH\",\"active\":\"styles_active__utat5\",\"colorCircle\":\"styles_colorCircle__Z7CRB\",\"optionTitle\":\"styles_optionTitle__5wIyO\"};","import React from 'react';\nimport { ColorQuestion } from './ColorQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport { useColorComponentLogic } from './ColorQuestion.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const ColorQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const { t } = useTranslation();\n const { title, description } = question;\n\n const { optionStyle, activeOptionId, optionHandler } =\n useColorComponentLogic(question);\n\n return (\n \n

{t(title)}

\n

{t(description)}

\n
\n {question.options.map((option) => (\n \n \n
{t(option.text)}
\n
\n ))}\n \n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { ColorOption } from './ColorOption';\nimport { ColorQuestion } from './ColorQuestion';\nimport { useFeatures } from 'useFeatures';\n\nexport const useColorComponentLogic = (question: ColorQuestion) => {\n const dispatch = useAppDispatch();\n\n const features = useFeatures();\n\n const { id } = question;\n const [activeOptionId, setActiveOptionId] = useState('');\n const [optionStyle, setOptionStyle] = useState('');\n const [isLeaving, setLeaving] = useState(false);\n\n useEffect(() => {\n setOptionStyle('enter');\n setLeaving(false);\n }, [question]);\n\n const optionHandler = (option: ColorOption) => (e: SyntheticEvent) => {\n e.preventDefault();\n if (!isLeaving) {\n setActiveOptionId(option.id);\n setLeaving(true);\n setTimeout(() => {\n setOptionStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(id, option.id));\n dispatch(setAnswer(id, option.id, features));\n setLeaving(false);\n }, 200);\n }, 100);\n }\n };\n\n return {\n activeOptionId,\n optionStyle,\n optionHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__vps+b\",\"speed\":\"styles_speed__-XOTj\",\"imageWrapper\":\"styles_imageWrapper__p5IGo\",\"title\":\"styles_title__cZrd7\",\"description\":\"styles_description__YI99p\",\"enter\":\"styles_enter__azI0a\",\"leave\":\"styles_leave__BmLd8\",\"image\":\"styles_image__O6uvh\",\"optionsContainer\":\"styles_optionsContainer__NaVO1\",\"option\":\"styles_option__flHL5\",\"multiple\":\"styles_multiple__15SHs\",\"active\":\"styles_active__3BLhc\",\"button\":\"styles_button__eWkcr\"};","import React, { useRef } from 'react';\nimport { ImageQuestion } from './ImageQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport { useImageQuestionLogic } from './ImageQuestion.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport type Option = {\n id: string;\n};\n\nconst OPTIONS: Option[] = [{ id: 'no' }, { id: 'yes' }];\n\nexport const ImageQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const artwork = useRef(null);\n const { t } = useTranslation();\n\n const { activeOption, containerStyle, revealImage, imageUrl, optionHandler } =\n useImageQuestionLogic(question);\n\n return (\n \n

{t(question.title)}

\n

{t(question.description)}

\n
\n \n
\n
\n {OPTIONS.map((option) => (\n \n {t(option.id)}\n \n ))}\n
\n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { ImageQuestion } from './ImageQuestion';\nimport { Option } from './ImageQuestionComponent';\nimport { useFeatures } from 'useFeatures';\n\nexport const useImageQuestionLogic = (question: ImageQuestion) => {\n const dispatch = useAppDispatch();\n const { answers } = useAppSelector((state) => state.onboarding);\n\n const features = useFeatures();\n\n const [activeOption, setActiveOption] = useState('');\n const [containerStyle, setContainerStyle] = useState('');\n const [isLeaving, setLeaving] = useState(false);\n const [imageUrl, setImageUrl] = useState('');\n\n useEffect(() => {\n const currentAnswer = answers[question.id];\n setLeaving(false);\n if (currentAnswer && typeof currentAnswer === 'string') {\n setActiveOption(currentAnswer);\n } else {\n setActiveOption('');\n }\n\n if (question.url) {\n setImageUrl(question.url);\n } else {\n setImageUrl(\n require(`../../../assets/onboarding/artworks/${question.imageId}.jpg`),\n );\n }\n }, [question]);\n\n const revealImage = () => {\n if (containerStyle !== 'enter') {\n setContainerStyle('enter');\n }\n };\n\n const optionHandler = (option: Option) => (e: SyntheticEvent) => {\n e.preventDefault();\n if (!isLeaving) {\n setActiveOption(option.id);\n setLeaving(true);\n setTimeout(() => {\n setContainerStyle('leave');\n setTimeout(() => {\n setImageUrl('');\n appAnalytics.trackEvent(new SaveAnswer(question.id, option.id));\n dispatch(setAnswer(question.id, option.id, features));\n }, 200);\n }, 100);\n }\n };\n\n return {\n containerStyle,\n imageUrl,\n activeOption,\n optionHandler,\n revealImage,\n };\n};\n","import { useEffect } from 'react';\n\ndeclare global {\n interface Window {\n usePreloadImagesData?: Record;\n }\n}\n\nexport const usePreloadImages = (imageSources: string[]): void => {\n useEffect(() => {\n const randomStr = Math.random().toString(32).slice(2) + Date.now();\n window.usePreloadImagesData = window.usePreloadImagesData ?? {};\n window.usePreloadImagesData[randomStr] = [];\n for (const src of imageSources) {\n const img = new Image();\n img.src = src;\n window.usePreloadImagesData[randomStr].push(img);\n\n // Only for Safari <= 14.0\n const link = document.createElement('link');\n link.rel = 'preload';\n link.as = 'image';\n link.href = src;\n document.head.appendChild(link);\n }\n return () => {\n delete window.usePreloadImagesData?.[randomStr];\n };\n }, [imageSources]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__2sXU7\",\"v2\":\"styles_v2__H+j69\",\"percent\":\"styles_percent__V1MCJ\",\"progress\":\"styles_progress__dr7dP\",\"background\":\"styles_background__fSLZD\"};","import React from 'react';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n progress: number;\n};\n\nexport const ProgressBar = ({ progress }: Props) => {\n const { isSleepActivityLoaderV2 } = useFeatures();\n\n return (\n \n
\n
{progress > 0 ? Math.floor(progress * 100) + '%' : ''}
\n
\n
\n \n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"spacer\":\"styles_spacer__VmHLl\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\nconst Spacer = () => {\n return
;\n};\n\nexport default Spacer;\n","export const getPreloadImages = (\n isSleepActivityLoaderV2?: boolean,\n): string[] => {\n if (isSleepActivityLoaderV2) {\n const Loader1 = require('assets/onboarding/loader/v2/1.png').default;\n const Loader2 = require('assets/onboarding/loader/v2/2.png').default;\n const Loader3 = require('assets/onboarding/loader/v2/3.png').default;\n const Loader4 = require('assets/onboarding/loader/v2/4.png').default;\n const Loader5 = require('assets/onboarding/loader/v2/5.png').default;\n const Loader6 = require('assets/onboarding/loader/v2/6.png').default;\n const Loader7 = require('assets/onboarding/loader/v2/7.png').default;\n const Loader8 = require('assets/onboarding/loader/v2/8.png').default;\n const Loader9 = require('assets/onboarding/loader/v2/9.png').default;\n const Loader10 = require('assets/onboarding/loader/v2/10.png').default;\n const Loader11 = require('assets/onboarding/loader/v2/11.png').default;\n\n return [\n Loader1,\n Loader2,\n Loader3,\n Loader4,\n Loader5,\n Loader6,\n Loader7,\n Loader8,\n Loader9,\n Loader10,\n Loader11,\n ];\n } else {\n const Loader1 = require('assets/onboarding/loader/1.jpg').default;\n const Loader2 = require('assets/onboarding/loader/2.jpg').default;\n const Loader3 = require('assets/onboarding/loader/3.jpg').default;\n const Loader4 = require('assets/onboarding/loader/4.jpg').default;\n const Loader5 = require('assets/onboarding/loader/5.jpg').default;\n const Loader6 = require('assets/onboarding/loader/6.jpg').default;\n const Loader7 = require('assets/onboarding/loader/7.jpg').default;\n const Loader8 = require('assets/onboarding/loader/8.jpg').default;\n const Loader9 = require('assets/onboarding/loader/9.jpg').default;\n const Loader10 = require('assets/onboarding/loader/10.jpg').default;\n const Loader11 = require('assets/onboarding/loader/11.jpg').default;\n\n return [\n Loader1,\n Loader2,\n Loader3,\n Loader4,\n Loader5,\n Loader6,\n Loader7,\n Loader8,\n Loader9,\n Loader10,\n Loader11,\n ];\n }\n};\n","import { Step } from 'hooks/useLoader';\nimport { getPreloadImages } from './ImageLoader.utils';\n\nconst preloadImages = getPreloadImages();\n\nexport const STEPS: Step[] = [\n {\n text: 'imageLoaderStep1',\n image: preloadImages[0],\n },\n { text: 'imageLoaderStep2', image: preloadImages[1] },\n {\n text: 'imageLoaderStep3',\n image: preloadImages[2],\n },\n {\n text: 'imageLoaderStep4',\n image: preloadImages[3],\n },\n {\n text: 'imageLoaderStep5',\n image: preloadImages[4],\n },\n {\n text: 'imageLoaderStep6',\n image: preloadImages[5],\n },\n {\n text: 'imageLoaderStep7',\n image: preloadImages[6],\n },\n {\n text: 'imageLoaderStep8',\n image: preloadImages[7],\n },\n { text: 'imageLoaderStep9', image: preloadImages[8] },\n {\n text: 'imageLoaderStep10',\n image: preloadImages[9],\n },\n { text: 'imageLoaderStep11', image: preloadImages[10] },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"loaderImage-0\":\"styles_loaderImage-0__cGwvE\",\"default\":\"styles_default__NvW1c\",\"v2\":\"styles_v2__LzDgS\",\"transitionIn\":\"styles_transitionIn__MYtz-\",\"transitionOut\":\"styles_transitionOut__cnght\",\"loaderImage-1\":\"styles_loaderImage-1__HzBwa\",\"loaderImage-2\":\"styles_loaderImage-2__GEDyi\",\"loaderImage-3\":\"styles_loaderImage-3__fWU7k\",\"loaderImage-4\":\"styles_loaderImage-4__nq3U1\",\"loaderImage-5\":\"styles_loaderImage-5__s5bV4\",\"loaderImage-6\":\"styles_loaderImage-6__VdjQD\",\"loaderImage-7\":\"styles_loaderImage-7__bugks\",\"loaderImage-8\":\"styles_loaderImage-8__MjwSV\",\"loaderImage-9\":\"styles_loaderImage-9__S9F3M\",\"loaderImage-10\":\"styles_loaderImage-10__KRqf1\",\"container\":\"styles_container__Jkmun\",\"content\":\"styles_content__NsNh1\",\"title\":\"styles_title__FRHwW\",\"status\":\"styles_status__26lIg\",\"enter\":\"styles_enter__nYKDQ\",\"leave\":\"styles_leave__9KFfk\",\"spinner\":\"styles_spinner__NQ8Bo\",\"circ-anim\":\"styles_circ-anim__3qQ+B\"};","import React from 'react';\nimport { usePreloadImages } from 'hooks/usePreloadImages';\nimport { useProgressText } from 'hooks/useProgressText';\nimport { ProgressBar } from './components/progressbar/ProgressBar';\nimport { useLoader } from 'hooks/useLoader';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { STEPS } from './ImageLoader.constants';\nimport { getPreloadImages } from './ImageLoader.utils';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\nconst STEP_DURATION = 1500;\nconst STEP_DELAY = 350;\n\nexport const ImageLoader = () => {\n const { isSleepActivityLoaderV2 } = useFeatures();\n usePreloadImages(getPreloadImages(isSleepActivityLoaderV2));\n\n const { t } = useTranslation();\n\n const duration = (STEP_DURATION + STEP_DELAY) * STEPS.length;\n const text = useProgressText(\n 'BUILDING YOUR PLAN',\n duration,\n 'BUILDING YOUR PLAN...',\n );\n\n const { containerStyle, transitionStyle, step, progress } = useLoader({\n steps: STEPS,\n stepDuration: STEP_DURATION,\n stepDelay: STEP_DELAY,\n duration,\n });\n\n return (\n \n
\n \n \n {t(`${STEPS[step].text}`)}\n \n \n \n \n
{text}
\n
\n
\n );\n};\n","import { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useEffect, useState } from 'react';\nimport { useFeatures } from 'useFeatures';\n\nexport type Step = {\n text: string | JSX.Element;\n image?: string;\n};\n\ninterface Props {\n steps: Step[];\n stepDuration: number;\n stepDelay: number;\n duration?: number;\n}\n\nexport const useLoader = ({\n steps,\n stepDuration,\n stepDelay,\n duration = 0,\n}: Props): any => {\n const dispatch = useAppDispatch();\n const [isInTransition, setInTransition] = useState(false);\n const [step, setStep] = useState(0);\n const [containerStyle, setContainerStyle] = useState('');\n const [progress, setProgress] = useState(0);\n\n const features = useFeatures();\n\n useEffect(() => {\n const startTime = Date.now();\n let isDelaying = false;\n const stepsCount = steps.length;\n setContainerStyle('enter');\n\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n const currentStep = Math.floor(elapsedTime / (stepDuration + stepDelay));\n setProgress(elapsedTime / duration);\n\n if (currentStep < stepsCount) {\n const nextStep = isDelaying ? Math.max(currentStep, 0) : currentStep;\n const currentOffset = stepDuration * nextStep + stepDelay * nextStep;\n const currentStepDuration = elapsedTime - currentOffset;\n const isDelayPeriod =\n currentStepDuration > stepDuration &&\n currentStepDuration <= stepDuration + stepDelay;\n if (isDelayPeriod) {\n if (!isDelaying && nextStep !== stepsCount - 1) {\n isDelaying = true;\n setInTransition(true);\n }\n } else {\n isDelaying = false;\n if (step !== nextStep) {\n setStep(nextStep);\n setInTransition(false);\n }\n }\n } else {\n clearInterval(timer);\n setContainerStyle('leave');\n setTimeout(() => {\n dispatch(goToNextQuestion(features));\n }, 250);\n }\n }, 100);\n return () => {\n clearInterval(timer);\n };\n }, []);\n\n return {\n step,\n containerStyle,\n progress,\n transitionStyle: isInTransition ? 'transitionOut' : 'transitionIn',\n };\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcHint(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.5 13C6.5 8.85786 9.85786 5.5 14 5.5C18.1421 5.5 21.5 8.85786 21.5 13C21.5 17.1421 18.1421 20.5 14 20.5C9.85786 20.5 6.5 17.1421 6.5 13ZM14 7.5C10.9624 7.5 8.5 9.96243 8.5 13C8.5 16.0376 10.9624 18.5 14 18.5C17.0376 18.5 19.5 16.0376 19.5 13C19.5 9.96243 17.0376 7.5 14 7.5Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.5 18C17.0523 18 17.5 18.4477 17.5 19V23.5C17.5 25.433 15.933 27 14 27C12.067 27 10.5 25.433 10.5 23.5V19H12.5V23.5C12.5 24.3284 13.1716 25 14 25C14.8284 25 15.5 24.3284 15.5 23.5V19C15.5 18.4477 15.9477 18 16.5 18Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14 3.5C14.5523 3.5 15 3.05228 15 2.5C15 1.94772 14.5523 1.5 14 1.5C13.4477 1.5 13 1.94772 13 2.5C13 3.05228 13.4477 3.5 14 3.5Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.5 2.5C12.5 1.67157 13.1716 1 14 1C14.8284 1 15.5 1.67157 15.5 2.5C15.5 3.32843 14.8284 4 14 4C13.1716 4 12.5 3.32843 12.5 2.5ZM14 2C13.7239 2 13.5 2.22386 13.5 2.5C13.5 2.77614 13.7239 3 14 3C14.2761 3 14.5 2.77614 14.5 2.5C14.5 2.22386 14.2761 2 14 2Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.8642 6.13597C21.2547 6.52649 21.8879 6.52649 22.2784 6.13597C22.6689 5.74544 22.6689 5.11228 22.2784 4.72176C21.8879 4.33123 21.2547 4.33123 20.8642 4.72176C20.4737 5.11228 20.4737 5.74544 20.8642 6.13597Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.5106 4.36828C21.0964 3.78249 22.0462 3.78249 22.6319 4.36828C23.2177 4.95406 23.2177 5.90381 22.6319 6.4896C22.0462 7.07538 21.0964 7.07538 20.5106 6.4896C19.9248 5.90381 19.9248 4.95406 20.5106 4.36828ZM21.9248 5.07538C21.7296 4.88012 21.413 4.88012 21.2177 5.07538C21.0225 5.27065 21.0225 5.58723 21.2177 5.78249C21.413 5.97775 21.7296 5.97775 21.9248 5.78249C22.1201 5.58723 22.1201 5.27065 21.9248 5.07538Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.5 13C23.5 13.5523 23.9477 14 24.5 14C25.0523 14 25.5 13.5523 25.5 13C25.5 12.4477 25.0523 12 24.5 12C23.9477 12 23.5 12.4477 23.5 13Z\",\n fill: \"white\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24.5 11.5C25.3284 11.5 26 12.1716 26 13C26 13.8284 25.3284 14.5 24.5 14.5C23.6716 14.5 23 13.8284 23 13C23 12.1716 23.6716 11.5 24.5 11.5ZM25 13C25 12.7239 24.7761 12.5 24.5 12.5C24.2239 12.5 24 12.7239 24 13C24 13.2761 24.2239 13.5 24.5 13.5C24.7761 13.5 25 13.2761 25 13Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.864 19.8637C20.4735 20.2542 20.4735 20.8874 20.864 21.2779C21.2546 21.6684 21.8877 21.6684 22.2782 21.2779C22.6688 20.8874 22.6688 20.2542 22.2782 19.8637C21.8877 19.4732 21.2546 19.4732 20.864 19.8637Z\",\n fill: \"white\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.6317 19.5101C23.2175 20.0959 23.2175 21.0457 22.6317 21.6315C22.0459 22.2172 21.0962 22.2172 20.5104 21.6315C19.9246 21.0457 19.9246 20.0959 20.5104 19.5101C21.0962 18.9244 22.0459 18.9244 22.6317 19.5101ZM21.9246 20.9244C22.1199 20.7291 22.1199 20.4125 21.9246 20.2172C21.7294 20.022 21.4128 20.022 21.2175 20.2172C21.0222 20.4125 21.0222 20.7291 21.2175 20.9244C21.4128 21.1196 21.7294 21.1196 21.9246 20.9244Z\",\n fill: \"white\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.13582 19.864C6.74529 19.4735 6.11213 19.4735 5.7216 19.864C5.33108 20.2546 5.33108 20.8877 5.7216 21.2782C6.11213 21.6688 6.74529 21.6688 7.13582 21.2782C7.52634 20.8877 7.52634 20.2546 7.13582 19.864Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.48937 21.6317C6.90358 22.2175 5.95384 22.2175 5.36805 21.6317C4.78226 21.0459 4.78226 20.0962 5.36805 19.5104C5.95384 18.9246 6.90358 18.9246 7.48937 19.5104C8.07516 20.0962 8.07516 21.0459 7.48937 21.6317ZM6.07516 20.9246C6.27042 21.1199 6.587 21.1199 6.78226 20.9246C6.97753 20.7294 6.97753 20.4128 6.78226 20.2175C6.587 20.0222 6.27042 20.0222 6.07516 20.2175C5.8799 20.4128 5.8799 20.7294 6.07516 20.9246Z\",\n fill: \"white\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.5 13C4.5 12.4477 4.05228 12 3.5 12C2.94772 12 2.5 12.4477 2.5 13C2.5 13.5523 2.94772 14 3.5 14C4.05228 14 4.5 13.5523 4.5 13Z\",\n fill: \"white\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.5 14.5C2.67157 14.5 2 13.8284 2 13C2 12.1716 2.67157 11.5 3.5 11.5C4.32843 11.5 5 12.1716 5 13C5 13.8284 4.32843 14.5 3.5 14.5ZM3 13C3 13.2761 3.22386 13.5 3.5 13.5C3.77614 13.5 4 13.2761 4 13C4 12.7239 3.77614 12.5 3.5 12.5C3.22386 12.5 3 12.7239 3 13Z\",\n fill: \"white\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.13597 6.13631C7.52649 5.74578 7.52649 5.11262 7.13597 4.72209C6.74544 4.33157 6.11228 4.33157 5.72176 4.72209C5.33123 5.11262 5.33123 5.74578 5.72176 6.13631C6.11228 6.52683 6.74544 6.52683 7.13597 6.13631Z\",\n fill: \"white\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.36828 6.48986C4.78249 5.90407 4.78249 4.95433 5.36828 4.36854C5.95406 3.78275 6.90381 3.78275 7.4896 4.36854C8.07538 4.95433 8.07538 5.90407 7.4896 6.48986C6.90381 7.07565 5.95406 7.07565 5.36828 6.48986ZM6.07538 5.07565C5.88012 5.27091 5.88012 5.58749 6.07538 5.78275C6.27065 5.97801 6.58723 5.97801 6.78249 5.78275C6.97775 5.58749 6.97775 5.27091 6.78249 5.07565C6.58723 4.88038 6.27065 4.88038 6.07538 5.07565Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcHint);\nexport default __webpack_public_path__ + \"static/media/ic_hint.6f2b5e7d536999142b0b574276ab59eb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _rect, _path22, _circle, _circle2, _circle3, _circle4, _circle5, _rect2, _rect3, _rect4, _rect5, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgYoyoGraph(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 341,\n height: 266,\n viewBox: \"0 0 341 266\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M93 80C83.5 80.0006 81 97 79 108H108C100.5 80 99 79.9991 93 80Z\",\n fill: \"#D295FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M174 57.0006C164.5 53.5 158 80.5008 155 108.001L194 108.001C187 66.5006 181 56.0014 174 57.0006Z\",\n fill: \"#D295FF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M255 32C243 31.9996 241.5 43 230 108H288.5C261 39.5 269.5 32 255 32Z\",\n fill: \"#D295FF\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M335 6.5C319 6.5 327 43 301 108H335V6.5Z\",\n fill: \"#D295FF\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 108C37 108 32 186 52 186\",\n stroke: \"#D295FF\",\n strokeWidth: 4\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93 78C115 78 109 162 133 162\",\n stroke: \"#D295FF\",\n strokeWidth: 4\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174 54C196 54 192.5 146 214 146\",\n stroke: \"#D295FF\",\n strokeWidth: 4\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255 30C277.5 30 272.5 108 295 108\",\n stroke: \"#D295FF\",\n strokeWidth: 4\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52 186C75.5 186 71 78 93 78\",\n stroke: \"#DDDDDD\",\n strokeWidth: 4\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133 162C158 162 149 54 174 54\",\n stroke: \"#DDDDDD\",\n strokeWidth: 4\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214 146C237.5 146 229 30 255 30\",\n stroke: \"#DDDDDD\",\n strokeWidth: 4\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M295 108C317.5 108 314 6 335 6\",\n stroke: \"#DDDDDD\",\n strokeWidth: 4\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.77406 260V250.848H6.75006V248.64H15.1661V250.848H12.1101V260H9.77406ZM16.7718 260V248.64H19.0918V260H16.7718ZM21.6156 248.64H23.7276L27.4236 253.712L31.1196 248.64H33.2316V260H30.9116V252.608L27.4236 257.392L23.9356 252.608V260H21.6156V248.64ZM35.7562 260V248.64H42.8282V250.848H38.0762V253.184H41.8682V255.392H38.0762V257.792H42.8282V260H35.7562Z\",\n fill: \"#090110\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.192 228.83C18.192 230.121 17.824 231.161 17.088 231.95C16.3413 232.74 15.472 233.156 14.48 233.198L14.48 230.878C14.9813 230.793 15.3707 230.564 15.648 230.19C15.9147 229.817 16.048 229.364 16.048 228.83C16.048 228.35 15.9467 227.961 15.744 227.662C15.5307 227.364 15.248 227.214 14.896 227.214C14.2667 227.214 13.808 227.721 13.52 228.734L13.168 229.934C12.9013 230.862 12.4853 231.588 11.92 232.11C11.3547 232.633 10.6507 232.9 9.808 232.91C8.77333 232.91 7.95733 232.564 7.36 231.87C6.752 231.177 6.448 230.254 6.448 229.102C6.448 227.94 6.8 226.996 7.504 226.27C8.19733 225.545 8.99733 225.161 9.904 225.118L9.904 227.422C9.456 227.54 9.12533 227.753 8.912 228.062C8.69867 228.372 8.592 228.718 8.592 229.102C8.592 229.529 8.688 229.881 8.88 230.158C9.06133 230.425 9.31733 230.564 9.648 230.574C9.98933 230.585 10.2667 230.473 10.48 230.238C10.6933 230.004 10.8693 229.641 11.008 229.15L11.376 227.822C11.92 225.86 13.0667 224.878 14.816 224.878C15.7973 224.878 16.608 225.246 17.248 225.982C17.8773 226.708 18.192 227.657 18.192 228.83ZM18 222.994L6.64 222.994L6.64 220.674L15.792 220.674L15.792 215.81L18 215.81L18 222.994ZM18 214.181L6.64 214.181L6.64 207.109L8.848 207.109L8.848 211.861L11.184 211.861L11.184 208.069L13.392 208.069L13.392 211.861L15.792 211.861L15.792 207.109L18 207.109L18 214.181ZM18 205.088L6.64 205.088L6.64 198.016L8.848 198.016L8.848 202.768L11.184 202.768L11.184 198.976L13.392 198.976L13.392 202.768L15.792 202.768L15.792 198.016L18 198.016L18 205.088ZM7.744 189.37C8.46933 188.612 9.376 188.234 10.464 188.234C11.552 188.234 12.464 188.612 13.2 189.37C13.9253 190.127 14.288 191.076 14.288 192.218L14.288 193.674L18 193.674L18 195.994L6.64 195.994L6.64 192.218C6.64 191.076 7.008 190.127 7.744 189.37ZM11.648 190.97C11.3387 190.65 10.944 190.49 10.464 190.49C9.984 190.49 9.58933 190.65 9.28 190.97C8.97066 191.29 8.816 191.716 8.816 192.25L8.816 193.674L12.112 193.674L12.112 192.25C12.112 191.716 11.9573 191.29 11.648 190.97ZM18 183.369L6.64 183.369L6.64 179.625C6.64 177.993 7.18933 176.611 8.288 175.481C9.38666 174.35 10.7307 173.785 12.32 173.785C13.9093 173.785 15.2533 174.35 16.352 175.481C17.4507 176.611 18 177.993 18 179.625L18 183.369ZM15.872 181.049L15.872 179.625C15.872 178.59 15.5307 177.747 14.848 177.097C14.1653 176.446 13.3227 176.121 12.32 176.121C11.3173 176.121 10.4747 176.446 9.792 177.097C9.10933 177.747 8.768 178.59 8.768 179.625L8.768 181.049L15.872 181.049ZM18 171.916L6.64 171.916L6.64 164.844L8.848 164.844L8.848 169.596L11.184 169.596L11.184 165.804L13.392 165.804L13.392 169.596L15.792 169.596L15.792 164.844L18 164.844L18 171.916ZM18 162.822L6.64 162.822L6.64 158.662C6.64 157.713 6.96533 156.913 7.616 156.262C8.256 155.611 9.02933 155.286 9.936 155.286C10.7573 155.286 11.4347 155.585 11.968 156.182C12.5227 155.062 13.4187 154.502 14.656 154.502C15.6053 154.502 16.4 154.838 17.04 155.51C17.68 156.182 18 157.019 18 158.022L18 162.822ZM15.872 160.502L15.872 158.182C15.872 157.745 15.7547 157.398 15.52 157.142C15.2747 156.886 14.96 156.758 14.576 156.758C14.192 156.758 13.8773 156.886 13.632 157.142C13.3867 157.398 13.264 157.745 13.264 158.182L13.264 160.502L15.872 160.502ZM11.296 160.502L11.296 158.886C11.296 158.481 11.1787 158.155 10.944 157.91C10.6987 157.665 10.3947 157.542 10.032 157.542C9.68 157.542 9.38133 157.67 9.136 157.926C8.88 158.171 8.752 158.491 8.752 158.886L8.752 160.502L11.296 160.502ZM18 150.992L8.848 150.992L8.848 154.016L6.64 154.016L6.64 145.6L8.848 145.6L8.848 148.656L18 148.656L18 150.992Z\",\n fill: \"#090110\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.824 205V198.1H52.024L53.224 196.48H55.468V205H53.824ZM59.726 205.132C58.958 205.132 58.322 204.94 57.818 204.556C57.314 204.172 57.046 203.684 57.014 203.092H58.73C58.762 203.348 58.874 203.544 59.066 203.68C59.258 203.808 59.494 203.872 59.774 203.872C60.294 203.872 60.554 203.712 60.554 203.392C60.554 203.232 60.494 203.112 60.374 203.032C60.262 202.944 60.07 202.864 59.798 202.792L58.67 202.504C58.158 202.368 57.774 202.14 57.518 201.82C57.27 201.492 57.146 201.1 57.146 200.644C57.146 200.124 57.362 199.7 57.794 199.372C58.234 199.036 58.822 198.868 59.558 198.868C60.23 198.868 60.79 199.04 61.238 199.384C61.686 199.72 61.934 200.18 61.982 200.764H60.326C60.254 200.356 59.99 200.152 59.534 200.152C59.318 200.152 59.146 200.192 59.018 200.272C58.89 200.352 58.826 200.464 58.826 200.608C58.826 200.872 59.054 201.056 59.51 201.16L60.566 201.448C61.15 201.592 61.574 201.82 61.838 202.132C62.102 202.436 62.234 202.828 62.234 203.308C62.234 203.86 61.998 204.304 61.526 204.64C61.062 204.968 60.462 205.132 59.726 205.132ZM66.3851 205.072C65.7131 205.072 65.1611 204.888 64.7291 204.52C64.3051 204.144 64.0931 203.604 64.0931 202.9V200.44H62.8811V199H64.0931V197.332H65.7371V199H67.4291V200.44H65.7371V202.576C65.7371 202.944 65.8171 203.208 65.9771 203.368C66.1371 203.52 66.3971 203.596 66.7571 203.596C67.0131 203.596 67.2371 203.56 67.4291 203.488V204.94C67.1411 205.028 66.7931 205.072 66.3851 205.072ZM76.6694 205L75.5414 201.592L74.4254 205H72.7934L70.8014 199H72.5534L73.6934 202.84L74.9054 199H76.1654L77.3894 202.84L78.5174 199H80.2814L78.3014 205H76.6694ZM84.009 205.132C83.089 205.132 82.333 204.836 81.741 204.244C81.157 203.652 80.865 202.9 80.865 201.988C80.865 201.092 81.161 200.348 81.753 199.756C82.353 199.164 83.109 198.868 84.021 198.868C84.941 198.868 85.705 199.184 86.313 199.816C86.921 200.44 87.201 201.296 87.153 202.384H82.473C82.505 202.76 82.661 203.076 82.941 203.332C83.221 203.58 83.605 203.704 84.093 203.704C84.389 203.704 84.649 203.648 84.873 203.536C85.105 203.416 85.269 203.252 85.365 203.044H87.081C86.905 203.66 86.537 204.164 85.977 204.556C85.417 204.94 84.761 205.132 84.009 205.132ZM83.973 200.2C83.597 200.2 83.281 200.3 83.025 200.5C82.777 200.692 82.613 200.96 82.533 201.304H85.353C85.265 200.928 85.089 200.652 84.825 200.476C84.569 200.292 84.285 200.2 83.973 200.2ZM91.3106 205.132C90.3906 205.132 89.6346 204.836 89.0426 204.244C88.4586 203.652 88.1666 202.9 88.1666 201.988C88.1666 201.092 88.4626 200.348 89.0546 199.756C89.6546 199.164 90.4106 198.868 91.3226 198.868C92.2426 198.868 93.0066 199.184 93.6146 199.816C94.2226 200.44 94.5026 201.296 94.4546 202.384H89.7746C89.8066 202.76 89.9626 203.076 90.2426 203.332C90.5226 203.58 90.9066 203.704 91.3946 203.704C91.6906 203.704 91.9506 203.648 92.1746 203.536C92.4066 203.416 92.5706 203.252 92.6666 203.044H94.3826C94.2066 203.66 93.8386 204.164 93.2786 204.556C92.7186 204.94 92.0626 205.132 91.3106 205.132ZM91.2746 200.2C90.8986 200.2 90.5826 200.3 90.3266 200.5C90.0786 200.692 89.9146 200.96 89.8346 201.304H92.6546C92.5666 200.928 92.3906 200.652 92.1266 200.476C91.8706 200.292 91.5866 200.2 91.2746 200.2ZM99.9442 205L97.4962 202.24V205H95.8522V196H97.4962V201.208L99.4402 199H101.42L99.0442 201.7L101.972 205H99.9442ZM105.105 205.132C104.185 205.132 103.429 204.836 102.837 204.244C102.253 203.652 101.961 202.9 101.961 201.988C101.961 201.092 102.257 200.348 102.849 199.756C103.449 199.164 104.205 198.868 105.117 198.868C106.037 198.868 106.801 199.184 107.409 199.816C108.017 200.44 108.297 201.296 108.249 202.384H103.569C103.601 202.76 103.757 203.076 104.037 203.332C104.317 203.58 104.701 203.704 105.189 203.704C105.485 203.704 105.745 203.648 105.969 203.536C106.201 203.416 106.365 203.252 106.461 203.044H108.177C108.001 203.66 107.633 204.164 107.073 204.556C106.513 204.94 105.857 205.132 105.105 205.132ZM105.069 200.2C104.693 200.2 104.377 200.3 104.121 200.5C103.873 200.692 103.709 200.96 103.629 201.304H106.449C106.361 200.928 106.185 200.652 105.921 200.476C105.665 200.292 105.381 200.2 105.069 200.2ZM109.647 205V199H111.291V199.684C111.659 199.14 112.231 198.868 113.007 198.868C113.727 198.868 114.291 199.108 114.699 199.588C115.115 200.06 115.323 200.692 115.323 201.484V205H113.679V201.76C113.679 201.32 113.587 200.98 113.403 200.74C113.219 200.492 112.959 200.368 112.623 200.368C112.223 200.368 111.899 200.512 111.651 200.8C111.411 201.088 111.291 201.512 111.291 202.072V205H109.647ZM119.466 205.132C118.674 205.132 118.006 204.824 117.462 204.208C116.918 203.592 116.646 202.856 116.646 202C116.646 201.144 116.918 200.408 117.462 199.792C118.006 199.176 118.674 198.868 119.466 198.868C119.85 198.868 120.194 198.948 120.498 199.108C120.802 199.268 121.034 199.456 121.194 199.672V196H122.838V205H121.194V204.328C121.034 204.544 120.802 204.732 120.498 204.892C120.194 205.052 119.85 205.132 119.466 205.132ZM118.71 203.176C118.99 203.48 119.358 203.632 119.814 203.632C120.27 203.632 120.634 203.48 120.906 203.176C121.186 202.872 121.326 202.48 121.326 202C121.326 201.52 121.186 201.128 120.906 200.824C120.634 200.52 120.27 200.368 119.814 200.368C119.358 200.368 118.99 200.52 118.71 200.824C118.438 201.128 118.302 201.52 118.302 202C118.302 202.48 118.438 202.872 118.71 203.176Z\",\n fill: \"#D295FF\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.3 179.38V181H133.492V180.436C133.492 180.204 133.516 179.98 133.564 179.764C133.612 179.548 133.668 179.36 133.732 179.2C133.804 179.032 133.908 178.86 134.044 178.684C134.18 178.508 134.296 178.364 134.392 178.252C134.488 178.14 134.632 178.004 134.824 177.844C135.024 177.684 135.176 177.568 135.28 177.496C135.384 177.416 135.548 177.3 135.772 177.148C135.996 176.988 136.152 176.876 136.24 176.812C137.136 176.188 137.584 175.604 137.584 175.06C137.584 174.74 137.484 174.476 137.284 174.268C137.084 174.06 136.808 173.956 136.456 173.956C136.08 173.956 135.768 174.072 135.52 174.304C135.28 174.528 135.164 174.812 135.172 175.156H133.516C133.516 174.324 133.796 173.648 134.356 173.128C134.924 172.6 135.636 172.336 136.492 172.336C137.252 172.336 137.896 172.568 138.424 173.032C138.96 173.496 139.228 174.14 139.228 174.964C139.228 175.644 139.08 176.204 138.784 176.644C138.496 177.076 138.044 177.516 137.428 177.964C137.372 178.004 137.228 178.104 136.996 178.264C136.764 178.416 136.588 178.536 136.468 178.624C136.348 178.712 136.212 178.828 136.06 178.972C135.916 179.116 135.82 179.252 135.772 179.38H139.3ZM140.871 181V175H142.515V175.684C142.883 175.14 143.455 174.868 144.231 174.868C144.951 174.868 145.515 175.108 145.923 175.588C146.339 176.06 146.547 176.692 146.547 177.484V181H144.903V177.76C144.903 177.32 144.811 176.98 144.627 176.74C144.443 176.492 144.183 176.368 143.847 176.368C143.447 176.368 143.123 176.512 142.875 176.8C142.635 177.088 142.515 177.512 142.515 178.072V181H140.871ZM150.69 181.132C149.898 181.132 149.23 180.824 148.686 180.208C148.142 179.592 147.87 178.856 147.87 178C147.87 177.144 148.142 176.408 148.686 175.792C149.23 175.176 149.898 174.868 150.69 174.868C151.074 174.868 151.418 174.948 151.722 175.108C152.026 175.268 152.258 175.456 152.418 175.672V172H154.062V181H152.418V180.328C152.258 180.544 152.026 180.732 151.722 180.892C151.418 181.052 151.074 181.132 150.69 181.132ZM149.934 179.176C150.214 179.48 150.582 179.632 151.038 179.632C151.494 179.632 151.858 179.48 152.13 179.176C152.41 178.872 152.55 178.48 152.55 178C152.55 177.52 152.41 177.128 152.13 176.824C151.858 176.52 151.494 176.368 151.038 176.368C150.582 176.368 150.214 176.52 149.934 176.824C149.662 177.128 149.526 177.52 149.526 178C149.526 178.48 149.662 178.872 149.934 179.176ZM163.728 181L162.6 177.592L161.484 181H159.852L157.86 175H159.612L160.752 178.84L161.964 175H163.224L164.448 178.84L165.576 175H167.34L165.36 181H163.728ZM171.068 181.132C170.148 181.132 169.392 180.836 168.8 180.244C168.216 179.652 167.924 178.9 167.924 177.988C167.924 177.092 168.22 176.348 168.812 175.756C169.412 175.164 170.168 174.868 171.08 174.868C172 174.868 172.764 175.184 173.372 175.816C173.98 176.44 174.26 177.296 174.212 178.384H169.532C169.564 178.76 169.72 179.076 170 179.332C170.28 179.58 170.664 179.704 171.152 179.704C171.448 179.704 171.708 179.648 171.932 179.536C172.164 179.416 172.328 179.252 172.424 179.044H174.14C173.964 179.66 173.596 180.164 173.036 180.556C172.476 180.94 171.82 181.132 171.068 181.132ZM171.032 176.2C170.656 176.2 170.34 176.3 170.084 176.5C169.836 176.692 169.672 176.96 169.592 177.304H172.412C172.324 176.928 172.148 176.652 171.884 176.476C171.628 176.292 171.344 176.2 171.032 176.2ZM178.369 181.132C177.449 181.132 176.693 180.836 176.101 180.244C175.517 179.652 175.225 178.9 175.225 177.988C175.225 177.092 175.521 176.348 176.113 175.756C176.713 175.164 177.469 174.868 178.381 174.868C179.301 174.868 180.065 175.184 180.673 175.816C181.281 176.44 181.561 177.296 181.513 178.384H176.833C176.865 178.76 177.021 179.076 177.301 179.332C177.581 179.58 177.965 179.704 178.453 179.704C178.749 179.704 179.009 179.648 179.233 179.536C179.465 179.416 179.629 179.252 179.725 179.044H181.441C181.265 179.66 180.897 180.164 180.337 180.556C179.777 180.94 179.121 181.132 178.369 181.132ZM178.333 176.2C177.957 176.2 177.641 176.3 177.385 176.5C177.137 176.692 176.973 176.96 176.893 177.304H179.713C179.625 176.928 179.449 176.652 179.185 176.476C178.929 176.292 178.645 176.2 178.333 176.2ZM187.003 181L184.555 178.24V181H182.911V172H184.555V177.208L186.499 175H188.479L186.103 177.7L189.031 181H187.003ZM192.164 181.132C191.244 181.132 190.488 180.836 189.896 180.244C189.312 179.652 189.02 178.9 189.02 177.988C189.02 177.092 189.316 176.348 189.908 175.756C190.508 175.164 191.264 174.868 192.176 174.868C193.096 174.868 193.86 175.184 194.468 175.816C195.076 176.44 195.356 177.296 195.308 178.384H190.628C190.66 178.76 190.816 179.076 191.096 179.332C191.376 179.58 191.76 179.704 192.248 179.704C192.544 179.704 192.804 179.648 193.028 179.536C193.26 179.416 193.424 179.252 193.52 179.044H195.236C195.06 179.66 194.692 180.164 194.132 180.556C193.572 180.94 192.916 181.132 192.164 181.132ZM192.128 176.2C191.752 176.2 191.436 176.3 191.18 176.5C190.932 176.692 190.768 176.96 190.688 177.304H193.508C193.42 176.928 193.244 176.652 192.98 176.476C192.724 176.292 192.44 176.2 192.128 176.2ZM196.705 181V175H198.349V175.684C198.717 175.14 199.289 174.868 200.065 174.868C200.785 174.868 201.349 175.108 201.757 175.588C202.173 176.06 202.381 176.692 202.381 177.484V181H200.737V177.76C200.737 177.32 200.645 176.98 200.461 176.74C200.277 176.492 200.017 176.368 199.681 176.368C199.281 176.368 198.957 176.512 198.709 176.8C198.469 177.088 198.349 177.512 198.349 178.072V181H196.705ZM206.525 181.132C205.733 181.132 205.065 180.824 204.521 180.208C203.977 179.592 203.705 178.856 203.705 178C203.705 177.144 203.977 176.408 204.521 175.792C205.065 175.176 205.733 174.868 206.525 174.868C206.909 174.868 207.253 174.948 207.557 175.108C207.861 175.268 208.093 175.456 208.253 175.672V172H209.897V181H208.253V180.328C208.093 180.544 207.861 180.732 207.557 180.892C207.253 181.052 206.909 181.132 206.525 181.132ZM205.769 179.176C206.049 179.48 206.417 179.632 206.873 179.632C207.329 179.632 207.693 179.48 207.965 179.176C208.245 178.872 208.385 178.48 208.385 178C208.385 177.52 208.245 177.128 207.965 176.824C207.693 176.52 207.329 176.368 206.873 176.368C206.417 176.368 206.049 176.52 205.769 176.824C205.497 177.128 205.361 177.52 205.361 178C205.361 178.48 205.497 178.872 205.769 179.176Z\",\n fill: \"#D295FF\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M217.588 165.132C216.732 165.132 215.996 164.876 215.38 164.364C214.772 163.844 214.452 163.136 214.42 162.24H216.052C216.092 162.648 216.248 162.964 216.52 163.188C216.8 163.404 217.156 163.512 217.588 163.512C217.972 163.512 218.28 163.416 218.512 163.224C218.752 163.032 218.876 162.772 218.884 162.444C218.884 162.084 218.76 161.804 218.512 161.604C218.264 161.404 217.924 161.304 217.492 161.304H216.772V159.96H217.42C217.812 159.96 218.112 159.868 218.32 159.684C218.528 159.5 218.636 159.252 218.644 158.94C218.652 158.652 218.548 158.416 218.332 158.232C218.124 158.048 217.86 157.956 217.54 157.956C217.156 157.956 216.84 158.068 216.592 158.292C216.344 158.516 216.224 158.804 216.232 159.156H214.576C214.576 158.308 214.872 157.628 215.464 157.116C216.056 156.596 216.748 156.336 217.54 156.336C218.388 156.336 219.06 156.576 219.556 157.056C220.052 157.528 220.3 158.112 220.3 158.808C220.3 159.2 220.208 159.56 220.024 159.888C219.84 160.208 219.616 160.46 219.352 160.644C219.696 160.804 219.98 161.052 220.204 161.388C220.428 161.724 220.54 162.12 220.54 162.576C220.54 163.328 220.268 163.944 219.724 164.424C219.18 164.896 218.468 165.132 217.588 165.132ZM224.951 165.072C224.279 165.072 223.727 164.888 223.295 164.52C222.871 164.144 222.659 163.604 222.659 162.9V160.44H221.447V159H222.659V157.332H224.303V159H225.995V160.44H224.303V162.576C224.303 162.944 224.383 163.208 224.543 163.368C224.703 163.52 224.963 163.596 225.323 163.596C225.579 163.596 225.803 163.56 225.995 163.488V164.94C225.707 165.028 225.359 165.072 224.951 165.072ZM229.012 165H227.368V156H229.012V159.684C229.38 159.14 229.952 158.868 230.728 158.868C231.448 158.868 232.012 159.108 232.42 159.588C232.836 160.06 233.044 160.692 233.044 161.484V165H231.4V161.76C231.4 161.32 231.308 160.98 231.124 160.74C230.94 160.492 230.68 160.368 230.344 160.368C229.944 160.368 229.62 160.512 229.372 160.8C229.132 161.088 229.012 161.512 229.012 162.072V165ZM242.619 165L241.491 161.592L240.375 165H238.743L236.751 159H238.503L239.643 162.84L240.855 159H242.115L243.339 162.84L244.467 159H246.231L244.251 165H242.619ZM249.958 165.132C249.038 165.132 248.282 164.836 247.69 164.244C247.106 163.652 246.814 162.9 246.814 161.988C246.814 161.092 247.11 160.348 247.702 159.756C248.302 159.164 249.058 158.868 249.97 158.868C250.89 158.868 251.654 159.184 252.262 159.816C252.87 160.44 253.15 161.296 253.102 162.384H248.422C248.454 162.76 248.61 163.076 248.89 163.332C249.17 163.58 249.554 163.704 250.042 163.704C250.338 163.704 250.598 163.648 250.822 163.536C251.054 163.416 251.218 163.252 251.314 163.044H253.03C252.854 163.66 252.486 164.164 251.926 164.556C251.366 164.94 250.71 165.132 249.958 165.132ZM249.922 160.2C249.546 160.2 249.23 160.3 248.974 160.5C248.726 160.692 248.562 160.96 248.482 161.304H251.302C251.214 160.928 251.038 160.652 250.774 160.476C250.518 160.292 250.234 160.2 249.922 160.2ZM257.26 165.132C256.34 165.132 255.584 164.836 254.992 164.244C254.408 163.652 254.116 162.9 254.116 161.988C254.116 161.092 254.412 160.348 255.004 159.756C255.604 159.164 256.36 158.868 257.272 158.868C258.192 158.868 258.956 159.184 259.564 159.816C260.172 160.44 260.452 161.296 260.404 162.384H255.724C255.756 162.76 255.912 163.076 256.192 163.332C256.472 163.58 256.856 163.704 257.344 163.704C257.64 163.704 257.9 163.648 258.124 163.536C258.356 163.416 258.52 163.252 258.616 163.044H260.332C260.156 163.66 259.788 164.164 259.228 164.556C258.668 164.94 258.012 165.132 257.26 165.132ZM257.224 160.2C256.848 160.2 256.532 160.3 256.276 160.5C256.028 160.692 255.864 160.96 255.784 161.304H258.604C258.516 160.928 258.34 160.652 258.076 160.476C257.82 160.292 257.536 160.2 257.224 160.2ZM265.893 165L263.445 162.24V165H261.801V156H263.445V161.208L265.389 159H267.369L264.993 161.7L267.921 165H265.893ZM271.054 165.132C270.134 165.132 269.378 164.836 268.786 164.244C268.202 163.652 267.91 162.9 267.91 161.988C267.91 161.092 268.206 160.348 268.798 159.756C269.398 159.164 270.154 158.868 271.066 158.868C271.986 158.868 272.75 159.184 273.358 159.816C273.966 160.44 274.246 161.296 274.198 162.384H269.518C269.55 162.76 269.706 163.076 269.986 163.332C270.266 163.58 270.65 163.704 271.138 163.704C271.434 163.704 271.694 163.648 271.918 163.536C272.15 163.416 272.314 163.252 272.41 163.044H274.126C273.95 163.66 273.582 164.164 273.022 164.556C272.462 164.94 271.806 165.132 271.054 165.132ZM271.018 160.2C270.642 160.2 270.326 160.3 270.07 160.5C269.822 160.692 269.658 160.96 269.578 161.304H272.398C272.31 160.928 272.134 160.652 271.87 160.476C271.614 160.292 271.33 160.2 271.018 160.2ZM275.596 165V159H277.24V159.684C277.608 159.14 278.18 158.868 278.956 158.868C279.676 158.868 280.24 159.108 280.648 159.588C281.064 160.06 281.272 160.692 281.272 161.484V165H279.628V161.76C279.628 161.32 279.536 160.98 279.352 160.74C279.168 160.492 278.908 160.368 278.572 160.368C278.172 160.368 277.848 160.512 277.6 160.8C277.36 161.088 277.24 161.512 277.24 162.072V165H275.596ZM285.416 165.132C284.624 165.132 283.956 164.824 283.412 164.208C282.868 163.592 282.596 162.856 282.596 162C282.596 161.144 282.868 160.408 283.412 159.792C283.956 159.176 284.624 158.868 285.416 158.868C285.8 158.868 286.144 158.948 286.448 159.108C286.752 159.268 286.984 159.456 287.144 159.672V156H288.788V165H287.144V164.328C286.984 164.544 286.752 164.732 286.448 164.892C286.144 165.052 285.8 165.132 285.416 165.132ZM284.66 163.176C284.94 163.48 285.308 163.632 285.764 163.632C286.22 163.632 286.584 163.48 286.856 163.176C287.136 162.872 287.276 162.48 287.276 162C287.276 161.52 287.136 161.128 286.856 160.824C286.584 160.52 286.22 160.368 285.764 160.368C285.308 160.368 284.94 160.52 284.66 160.824C284.388 161.128 284.252 161.52 284.252 162C284.252 162.48 284.388 162.872 284.66 163.176Z\",\n fill: \"#D295FF\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M262.452 127V125.056H258.216V123.724L262.632 118.48H264.096V123.544H265.212V125.056H264.096V127H262.452ZM260.232 123.544H262.452V120.916L260.232 123.544ZM269.537 127.072C268.865 127.072 268.313 126.888 267.881 126.52C267.457 126.144 267.245 125.604 267.245 124.9V122.44H266.033V121H267.245V119.332H268.889V121H270.581V122.44H268.889V124.576C268.889 124.944 268.969 125.208 269.129 125.368C269.289 125.52 269.549 125.596 269.909 125.596C270.165 125.596 270.389 125.56 270.581 125.488V126.94C270.293 127.028 269.945 127.072 269.537 127.072ZM273.598 127H271.954V118H273.598V121.684C273.966 121.14 274.538 120.868 275.314 120.868C276.034 120.868 276.598 121.108 277.006 121.588C277.422 122.06 277.63 122.692 277.63 123.484V127H275.986V123.76C275.986 123.32 275.894 122.98 275.71 122.74C275.526 122.492 275.266 122.368 274.93 122.368C274.53 122.368 274.206 122.512 273.958 122.8C273.718 123.088 273.598 123.512 273.598 124.072V127ZM287.205 127L286.077 123.592L284.961 127H283.329L281.337 121H283.089L284.229 124.84L285.441 121H286.701L287.925 124.84L289.053 121H290.817L288.837 127H287.205ZM294.544 127.132C293.624 127.132 292.868 126.836 292.276 126.244C291.692 125.652 291.4 124.9 291.4 123.988C291.4 123.092 291.696 122.348 292.288 121.756C292.888 121.164 293.644 120.868 294.556 120.868C295.476 120.868 296.24 121.184 296.848 121.816C297.456 122.44 297.736 123.296 297.688 124.384H293.008C293.04 124.76 293.196 125.076 293.476 125.332C293.756 125.58 294.14 125.704 294.628 125.704C294.924 125.704 295.184 125.648 295.408 125.536C295.64 125.416 295.804 125.252 295.9 125.044H297.616C297.44 125.66 297.072 126.164 296.512 126.556C295.952 126.94 295.296 127.132 294.544 127.132ZM294.508 122.2C294.132 122.2 293.816 122.3 293.56 122.5C293.312 122.692 293.148 122.96 293.068 123.304H295.888C295.8 122.928 295.624 122.652 295.36 122.476C295.104 122.292 294.82 122.2 294.508 122.2ZM301.846 127.132C300.926 127.132 300.17 126.836 299.578 126.244C298.994 125.652 298.702 124.9 298.702 123.988C298.702 123.092 298.998 122.348 299.59 121.756C300.19 121.164 300.946 120.868 301.858 120.868C302.778 120.868 303.542 121.184 304.15 121.816C304.758 122.44 305.038 123.296 304.99 124.384H300.31C300.342 124.76 300.498 125.076 300.778 125.332C301.058 125.58 301.442 125.704 301.93 125.704C302.226 125.704 302.486 125.648 302.71 125.536C302.942 125.416 303.106 125.252 303.202 125.044H304.918C304.742 125.66 304.374 126.164 303.814 126.556C303.254 126.94 302.598 127.132 301.846 127.132ZM301.81 122.2C301.434 122.2 301.118 122.3 300.862 122.5C300.614 122.692 300.45 122.96 300.37 123.304H303.19C303.102 122.928 302.926 122.652 302.662 122.476C302.406 122.292 302.122 122.2 301.81 122.2ZM310.479 127L308.031 124.24V127H306.387V118H308.031V123.208L309.975 121H311.955L309.579 123.7L312.507 127H310.479ZM315.64 127.132C314.72 127.132 313.964 126.836 313.372 126.244C312.788 125.652 312.496 124.9 312.496 123.988C312.496 123.092 312.792 122.348 313.384 121.756C313.984 121.164 314.74 120.868 315.652 120.868C316.572 120.868 317.336 121.184 317.944 121.816C318.552 122.44 318.832 123.296 318.784 124.384H314.104C314.136 124.76 314.292 125.076 314.572 125.332C314.852 125.58 315.236 125.704 315.724 125.704C316.02 125.704 316.28 125.648 316.504 125.536C316.736 125.416 316.9 125.252 316.996 125.044H318.712C318.536 125.66 318.168 126.164 317.608 126.556C317.048 126.94 316.392 127.132 315.64 127.132ZM315.604 122.2C315.228 122.2 314.912 122.3 314.656 122.5C314.408 122.692 314.244 122.96 314.164 123.304H316.984C316.896 122.928 316.72 122.652 316.456 122.476C316.2 122.292 315.916 122.2 315.604 122.2ZM320.182 127V121H321.826V121.684C322.194 121.14 322.766 120.868 323.542 120.868C324.262 120.868 324.826 121.108 325.234 121.588C325.65 122.06 325.858 122.692 325.858 123.484V127H324.214V123.76C324.214 123.32 324.122 122.98 323.938 122.74C323.754 122.492 323.494 122.368 323.158 122.368C322.758 122.368 322.434 122.512 322.186 122.8C321.946 123.088 321.826 123.512 321.826 124.072V127H320.182ZM330.001 127.132C329.209 127.132 328.541 126.824 327.997 126.208C327.453 125.592 327.181 124.856 327.181 124C327.181 123.144 327.453 122.408 327.997 121.792C328.541 121.176 329.209 120.868 330.001 120.868C330.385 120.868 330.729 120.948 331.033 121.108C331.337 121.268 331.569 121.456 331.729 121.672V118H333.373V127H331.729V126.328C331.569 126.544 331.337 126.732 331.033 126.892C330.729 127.052 330.385 127.132 330.001 127.132ZM329.245 125.176C329.525 125.48 329.893 125.632 330.349 125.632C330.805 125.632 331.169 125.48 331.441 125.176C331.721 124.872 331.861 124.48 331.861 124C331.861 123.52 331.721 123.128 331.441 122.824C331.169 122.52 330.805 122.368 330.349 122.368C329.893 122.368 329.525 122.52 329.245 122.824C328.973 123.128 328.837 123.52 328.837 124C328.837 124.48 328.973 124.872 329.245 125.176Z\",\n fill: \"#D295FF\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M335 254L325 248.226V259.774L335 254ZM52 253C51.4477 253 51 253.448 51 254C51 254.552 51.4477 255 52 255V253ZM326 253L52 253V255L326 255V253Z\",\n fill: \"url(#paint0_linear_3809:370)\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.64,\n d: \"M335 109C335.552 109 336 108.552 336 108C336 107.448 335.552 107 335 107V109ZM12 107C11.4477 107 11 107.448 11 108C11 108.552 11.4477 109 12 109V107ZM334.003 107C333.451 107 333.003 107.448 333.003 108C333.003 108.552 333.451 109 334.003 109V107ZM330.015 109C330.568 109 331.015 108.552 331.015 108C331.015 107.448 330.568 107 330.015 107V109ZM328.022 107C327.469 107 327.022 107.448 327.022 108C327.022 108.552 327.469 109 328.022 109V107ZM324.034 109C324.586 109 325.034 108.552 325.034 108C325.034 107.448 324.586 107 324.034 107V109ZM322.04 107C321.488 107 321.04 107.448 321.04 108C321.04 108.552 321.488 109 322.04 109V107ZM318.052 109C318.605 109 319.052 108.552 319.052 108C319.052 107.448 318.605 107 318.052 107V109ZM316.059 107C315.506 107 315.059 107.448 315.059 108C315.059 108.552 315.506 109 316.059 109V107ZM312.071 109C312.623 109 313.071 108.552 313.071 108C313.071 107.448 312.623 107 312.071 107V109ZM310.077 107C309.525 107 309.077 107.448 309.077 108C309.077 108.552 309.525 109 310.077 109V107ZM306.09 109C306.642 109 307.09 108.552 307.09 108C307.09 107.448 306.642 107 306.09 107V109ZM304.096 107C303.543 107 303.096 107.448 303.096 108C303.096 108.552 303.543 109 304.096 109V107ZM300.108 109C300.66 109 301.108 108.552 301.108 108C301.108 107.448 300.66 107 300.108 107V109ZM298.114 107C297.562 107 297.114 107.448 297.114 108C297.114 108.552 297.562 109 298.114 109V107ZM294.127 109C294.679 109 295.127 108.552 295.127 108C295.127 107.448 294.679 107 294.127 107V109ZM292.133 107C291.58 107 291.133 107.448 291.133 108C291.133 108.552 291.58 109 292.133 109V107ZM288.145 109C288.697 109 289.145 108.552 289.145 108C289.145 107.448 288.697 107 288.145 107V109ZM286.151 107C285.599 107 285.151 107.448 285.151 108C285.151 108.552 285.599 109 286.151 109V107ZM282.164 109C282.716 109 283.164 108.552 283.164 108C283.164 107.448 282.716 107 282.164 107V109ZM280.17 107C279.617 107 279.17 107.448 279.17 108C279.17 108.552 279.617 109 280.17 109V107ZM276.182 109C276.734 109 277.182 108.552 277.182 108C277.182 107.448 276.734 107 276.182 107V109ZM274.188 107C273.636 107 273.188 107.448 273.188 108C273.188 108.552 273.636 109 274.188 109V107ZM270.201 109C270.753 109 271.201 108.552 271.201 108C271.201 107.448 270.753 107 270.201 107V109ZM268.207 107C267.654 107 267.207 107.448 267.207 108C267.207 108.552 267.654 109 268.207 109V107ZM264.219 109C264.771 109 265.219 108.552 265.219 108C265.219 107.448 264.771 107 264.219 107V109ZM262.225 107C261.673 107 261.225 107.448 261.225 108C261.225 108.552 261.673 109 262.225 109V107ZM258.238 109C258.79 109 259.238 108.552 259.238 108C259.238 107.448 258.79 107 258.238 107V109ZM256.244 107C255.692 107 255.244 107.448 255.244 108C255.244 108.552 255.692 109 256.244 109V107ZM252.256 109C252.808 109 253.256 108.552 253.256 108C253.256 107.448 252.808 107 252.256 107V109ZM250.262 107C249.71 107 249.262 107.448 249.262 108C249.262 108.552 249.71 109 250.262 109V107ZM246.275 109C246.827 109 247.275 108.552 247.275 108C247.275 107.448 246.827 107 246.275 107V109ZM244.281 107C243.729 107 243.281 107.448 243.281 108C243.281 108.552 243.729 109 244.281 109V107ZM240.293 109C240.845 109 241.293 108.552 241.293 108C241.293 107.448 240.845 107 240.293 107V109ZM238.299 107C237.747 107 237.299 107.448 237.299 108C237.299 108.552 237.747 109 238.299 109V107ZM234.312 109C234.864 109 235.312 108.552 235.312 108C235.312 107.448 234.864 107 234.312 107V109ZM232.318 107C231.766 107 231.318 107.448 231.318 108C231.318 108.552 231.766 109 232.318 109V107ZM228.33 109C228.883 109 229.33 108.552 229.33 108C229.33 107.448 228.883 107 228.33 107V109ZM226.336 107C225.784 107 225.336 107.448 225.336 108C225.336 108.552 225.784 109 226.336 109V107ZM222.349 109C222.901 109 223.349 108.552 223.349 108C223.349 107.448 222.901 107 222.349 107V109ZM220.355 107C219.803 107 219.355 107.448 219.355 108C219.355 108.552 219.803 109 220.355 109V107ZM216.367 109C216.92 109 217.367 108.552 217.367 108C217.367 107.448 216.92 107 216.367 107V109ZM214.373 107C213.821 107 213.373 107.448 213.373 108C213.373 108.552 213.821 109 214.373 109V107ZM210.386 109C210.938 109 211.386 108.552 211.386 108C211.386 107.448 210.938 107 210.386 107V109ZM208.392 107C207.84 107 207.392 107.448 207.392 108C207.392 108.552 207.84 109 208.392 109V107ZM204.404 109C204.957 109 205.404 108.552 205.404 108C205.404 107.448 204.957 107 204.404 107V109ZM202.41 107C201.858 107 201.41 107.448 201.41 108C201.41 108.552 201.858 109 202.41 109V107ZM198.423 109C198.975 109 199.423 108.552 199.423 108C199.423 107.448 198.975 107 198.423 107V109ZM196.429 107C195.877 107 195.429 107.448 195.429 108C195.429 108.552 195.877 109 196.429 109V107ZM192.441 109C192.994 109 193.441 108.552 193.441 108C193.441 107.448 192.994 107 192.441 107V109ZM190.448 107C189.895 107 189.448 107.448 189.448 108C189.448 108.552 189.895 109 190.448 109V107ZM186.46 109C187.012 109 187.46 108.552 187.46 108C187.46 107.448 187.012 107 186.46 107V109ZM184.466 107C183.914 107 183.466 107.448 183.466 108C183.466 108.552 183.914 109 184.466 109V107ZM180.478 109C181.031 109 181.478 108.552 181.478 108C181.478 107.448 181.031 107 180.478 107V109ZM178.485 107C177.932 107 177.485 107.448 177.485 108C177.485 108.552 177.932 109 178.485 109V107ZM174.497 109C175.049 109 175.497 108.552 175.497 108C175.497 107.448 175.049 107 174.497 107V109ZM172.503 107C171.951 107 171.503 107.448 171.503 108C171.503 108.552 171.951 109 172.503 109V107ZM168.515 109C169.068 109 169.515 108.552 169.515 108C169.515 107.448 169.068 107 168.515 107V109ZM166.522 107C165.969 107 165.522 107.448 165.522 108C165.522 108.552 165.969 109 166.522 109V107ZM162.534 109C163.086 109 163.534 108.552 163.534 108C163.534 107.448 163.086 107 162.534 107V109ZM160.54 107C159.988 107 159.54 107.448 159.54 108C159.54 108.552 159.988 109 160.54 109V107ZM156.552 109C157.105 109 157.552 108.552 157.552 108C157.552 107.448 157.105 107 156.552 107V109ZM154.559 107C154.006 107 153.559 107.448 153.559 108C153.559 108.552 154.006 109 154.559 109V107ZM150.571 109C151.123 109 151.571 108.552 151.571 108C151.571 107.448 151.123 107 150.571 107V109ZM148.577 107C148.025 107 147.577 107.448 147.577 108C147.577 108.552 148.025 109 148.577 109V107ZM144.59 109C145.142 109 145.59 108.552 145.59 108C145.59 107.448 145.142 107 144.59 107V109ZM142.596 107C142.043 107 141.596 107.448 141.596 108C141.596 108.552 142.043 109 142.596 109V107ZM138.608 109C139.16 109 139.608 108.552 139.608 108C139.608 107.448 139.16 107 138.608 107V109ZM136.614 107C136.062 107 135.614 107.448 135.614 108C135.614 108.552 136.062 109 136.614 109V107ZM132.627 109C133.179 109 133.627 108.552 133.627 108C133.627 107.448 133.179 107 132.627 107V109ZM130.633 107C130.08 107 129.633 107.448 129.633 108C129.633 108.552 130.08 109 130.633 109V107ZM126.645 109C127.197 109 127.645 108.552 127.645 108C127.645 107.448 127.197 107 126.645 107V109ZM124.651 107C124.099 107 123.651 107.448 123.651 108C123.651 108.552 124.099 109 124.651 109V107ZM120.664 109C121.216 109 121.664 108.552 121.664 108C121.664 107.448 121.216 107 120.664 107V109ZM118.67 107C118.118 107 117.67 107.448 117.67 108C117.67 108.552 118.118 109 118.67 109V107ZM114.682 109C115.234 109 115.682 108.552 115.682 108C115.682 107.448 115.234 107 114.682 107V109ZM112.688 107C112.136 107 111.688 107.448 111.688 108C111.688 108.552 112.136 109 112.688 109V107ZM108.701 109C109.253 109 109.701 108.552 109.701 108C109.701 107.448 109.253 107 108.701 107V109ZM106.707 107C106.155 107 105.707 107.448 105.707 108C105.707 108.552 106.155 109 106.707 109V107ZM102.719 109C103.271 109 103.719 108.552 103.719 108C103.719 107.448 103.271 107 102.719 107V109ZM100.725 107C100.173 107 99.7254 107.448 99.7254 108C99.7254 108.552 100.173 109 100.725 109V107ZM96.7377 109C97.29 109 97.7377 108.552 97.7377 108C97.7377 107.448 97.29 107 96.7377 107V109ZM94.7439 107C94.1916 107 93.7439 107.448 93.7439 108C93.7439 108.552 94.1916 109 94.7439 109V107ZM90.7563 109C91.3085 109 91.7563 108.552 91.7563 108C91.7563 107.448 91.3085 107 90.7563 107V109ZM88.7625 107C88.2102 107 87.7625 107.448 87.7625 108C87.7625 108.552 88.2102 109 88.7625 109V107ZM84.7748 109C85.3271 109 85.7748 108.552 85.7748 108C85.7748 107.448 85.3271 107 84.7748 107V109ZM82.781 107C82.2287 107 81.781 107.448 81.781 108C81.781 108.552 82.2287 109 82.781 109V107ZM78.7933 109C79.3456 109 79.7933 108.552 79.7933 108C79.7933 107.448 79.3456 107 78.7933 107V109ZM76.7995 107C76.2472 107 75.7995 107.448 75.7995 108C75.7995 108.552 76.2472 109 76.7995 109V107ZM72.8118 109C73.3641 109 73.8118 108.552 73.8118 108C73.8118 107.448 73.3641 107 72.8118 107V109ZM70.818 107C70.2657 107 69.818 107.448 69.818 108C69.818 108.552 70.2657 109 70.818 109V107ZM66.8304 109C67.3827 109 67.8304 108.552 67.8304 108C67.8304 107.448 67.3827 107 66.8304 107V109ZM64.8365 107C64.2842 107 63.8365 107.448 63.8365 108C63.8365 108.552 64.2842 109 64.8365 109V107ZM60.8489 109C61.4012 109 61.8489 108.552 61.8489 108C61.8489 107.448 61.4012 107 60.8489 107V109ZM58.855 107C58.3028 107 57.855 107.448 57.855 108C57.855 108.552 58.3028 109 58.855 109V107ZM54.8674 109C55.4197 109 55.8674 108.552 55.8674 108C55.8674 107.448 55.4197 107 54.8674 107V109ZM52.8736 107C52.3213 107 51.8736 107.448 51.8736 108C51.8736 108.552 52.3213 109 52.8736 109V107ZM48.8859 109C49.4382 109 49.8859 108.552 49.8859 108C49.8859 107.448 49.4382 107 48.8859 107V109ZM46.8921 107C46.3398 107 45.8921 107.448 45.8921 108C45.8921 108.552 46.3398 109 46.8921 109V107ZM42.9044 109C43.4567 109 43.9044 108.552 43.9044 108C43.9044 107.448 43.4567 107 42.9044 107V109ZM40.9106 107C40.3583 107 39.9106 107.448 39.9106 108C39.9106 108.552 40.3583 109 40.9106 109V107ZM36.923 109C37.4753 109 37.923 108.552 37.923 108C37.923 107.448 37.4753 107 36.923 107V109ZM34.9291 107C34.3769 107 33.9291 107.448 33.9291 108C33.9291 108.552 34.3769 109 34.9291 109V107ZM30.9415 109C31.4938 109 31.9415 108.552 31.9415 108C31.9415 107.448 31.4938 107 30.9415 107V109ZM28.9477 107C28.3954 107 27.9477 107.448 27.9477 108C27.9477 108.552 28.3954 109 28.9477 109V107ZM24.96 109C25.5123 109 25.96 108.552 25.96 108C25.96 107.448 25.5123 107 24.96 107V109ZM22.9662 107C22.4139 107 21.9662 107.448 21.9662 108C21.9662 108.552 22.4139 109 22.9662 109V107ZM18.9785 109C19.5309 109 19.9785 108.552 19.9785 108C19.9785 107.448 19.5309 107 18.9785 107V109ZM16.9847 107C16.4324 107 15.9847 107.448 15.9847 108C15.9847 108.552 16.4324 109 16.9847 109V107ZM12.9971 109C13.5494 109 13.9971 108.552 13.9971 108C13.9971 107.448 13.5494 107 12.9971 107V109ZM335 107H334.003V109H335V107ZM330.015 107H328.022V109H330.015V107ZM324.034 107H322.04V109H324.034V107ZM318.052 107H316.059V109H318.052V107ZM312.071 107H310.077V109H312.071V107ZM306.09 107H304.096V109H306.09V107ZM300.108 107H298.114V109H300.108V107ZM294.127 107H292.133V109H294.127V107ZM288.145 107H286.151V109H288.145V107ZM282.164 107H280.17V109H282.164V107ZM276.182 107H274.188V109H276.182V107ZM270.201 107H268.207V109H270.201V107ZM264.219 107H262.225V109H264.219V107ZM258.238 107H256.244V109H258.238V107ZM252.256 107H250.262V109H252.256V107ZM246.275 107H244.281V109H246.275V107ZM240.293 107H238.299V109H240.293V107ZM234.312 107H232.318V109H234.312V107ZM228.33 107H226.336V109H228.33V107ZM222.349 107H220.355V109H222.349V107ZM216.367 107H214.373V109H216.367V107ZM210.386 107H208.392V109H210.386V107ZM204.404 107H202.41V109H204.404V107ZM198.423 107H196.429V109H198.423V107ZM192.441 107H190.448V109H192.441V107ZM186.46 107H184.466V109H186.46V107ZM180.478 107H178.485V109H180.478V107ZM174.497 107H172.503V109H174.497V107ZM168.515 107H166.522V109H168.515V107ZM162.534 107H160.54V109H162.534V107ZM156.552 107H154.559V109H156.552V107ZM150.571 107H148.577V109H150.571V107ZM144.59 107H142.596V109H144.59V107ZM138.608 107H136.614V109H138.608V107ZM132.627 107H130.633V109H132.627V107ZM126.645 107H124.651V109H126.645V107ZM120.664 107H118.67V109H120.664V107ZM114.682 107H112.688V109H114.682V107ZM108.701 107H106.707V109H108.701V107ZM102.719 107H100.725V109H102.719V107ZM96.7377 107H94.7439V109H96.7377V107ZM90.7563 107H88.7625V109H90.7563V107ZM84.7748 107H82.781V109H84.7748V107ZM78.7933 107H76.7995V109H78.7933V107ZM72.8118 107H70.818V109H72.8118V107ZM66.8304 107H64.8365V109H66.8304V107ZM60.8489 107H58.855V109H60.8489V107ZM54.8674 107H52.8736V109H54.8674V107ZM48.8859 107H46.8921V109H48.8859V107ZM42.9044 107H40.9106V109H42.9044V107ZM36.923 107H34.9291V109H36.923V107ZM30.9415 107H28.9477V109H30.9415V107ZM24.96 107H22.9662V109H24.96V107ZM18.9785 107H16.9847V109H18.9785V107ZM12.9971 107H12V109H12.9971V107Z\",\n fill: \"#802DF6\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.32,\n d: \"M12 30L6.2265 40L17.7735 40L12 30ZM11 137C11 137.552 11.4477 138 12 138C12.5523 138 13 137.552 13 137L11 137ZM11 39L11 137L13 137L13 39L11 39Z\",\n fill: \"url(#paint1_linear_3809:370)\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 141,\n y: 216,\n width: 194,\n height: 24,\n rx: 8,\n fill: \"url(#paint2_linear_3809:370)\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.124 233L159.94 227.722L157.756 233H155.852L153.458 223.06H155.614L157.126 229.668L159.94 222.892L162.754 229.668L164.266 223.06H166.422L164.028 233H162.124ZM170.429 233.154C169.355 233.154 168.473 232.809 167.783 232.118C167.101 231.427 166.761 230.55 166.761 229.486C166.761 228.441 167.106 227.573 167.797 226.882C168.497 226.191 169.379 225.846 170.443 225.846C171.516 225.846 172.407 226.215 173.117 226.952C173.826 227.68 174.153 228.679 174.097 229.948H168.637C168.674 230.387 168.856 230.755 169.183 231.054C169.509 231.343 169.957 231.488 170.527 231.488C170.872 231.488 171.175 231.423 171.437 231.292C171.707 231.152 171.899 230.961 172.011 230.718H174.013C173.807 231.437 173.378 232.025 172.725 232.482C172.071 232.93 171.306 233.154 170.429 233.154ZM170.387 227.4C169.948 227.4 169.579 227.517 169.281 227.75C168.991 227.974 168.8 228.287 168.707 228.688H171.997C171.894 228.249 171.689 227.927 171.381 227.722C171.082 227.507 170.751 227.4 170.387 227.4ZM178.914 233.154C177.84 233.154 176.958 232.809 176.268 232.118C175.586 231.427 175.246 230.55 175.246 229.486C175.246 228.441 175.591 227.573 176.282 226.882C176.982 226.191 177.864 225.846 178.928 225.846C180.001 225.846 180.892 226.215 181.602 226.952C182.311 227.68 182.638 228.679 182.582 229.948H177.122C177.159 230.387 177.341 230.755 177.668 231.054C177.994 231.343 178.442 231.488 179.012 231.488C179.357 231.488 179.66 231.423 179.922 231.292C180.192 231.152 180.384 230.961 180.496 230.718H182.498C182.292 231.437 181.863 232.025 181.21 232.482C180.556 232.93 179.791 233.154 178.914 233.154ZM178.872 227.4C178.433 227.4 178.064 227.517 177.766 227.75C177.476 227.974 177.285 228.287 177.192 228.688H180.482C180.379 228.249 180.174 227.927 179.866 227.722C179.567 227.507 179.236 227.4 178.872 227.4ZM188.953 233L186.097 229.78V233H184.179V222.5H186.097V228.576L188.365 226H190.675L187.903 229.15L191.319 233H188.953ZM194.941 233.154C193.867 233.154 192.985 232.809 192.295 232.118C191.613 231.427 191.273 230.55 191.273 229.486C191.273 228.441 191.618 227.573 192.309 226.882C193.009 226.191 193.891 225.846 194.955 225.846C196.028 225.846 196.919 226.215 197.629 226.952C198.338 227.68 198.665 228.679 198.609 229.948H193.149C193.186 230.387 193.368 230.755 193.695 231.054C194.021 231.343 194.469 231.488 195.039 231.488C195.384 231.488 195.687 231.423 195.949 231.292C196.219 231.152 196.411 230.961 196.523 230.718H198.525C198.319 231.437 197.89 232.025 197.237 232.482C196.583 232.93 195.818 233.154 194.941 233.154ZM194.899 227.4C194.46 227.4 194.091 227.517 193.793 227.75C193.503 227.974 193.312 228.287 193.219 228.688H196.509C196.406 228.249 196.201 227.927 195.893 227.722C195.594 227.507 195.263 227.4 194.899 227.4ZM200.206 233V226H202.124V226.798C202.553 226.163 203.221 225.846 204.126 225.846C204.966 225.846 205.624 226.126 206.1 226.686C206.585 227.237 206.828 227.974 206.828 228.898V233H204.91V229.22C204.91 228.707 204.803 228.31 204.588 228.03C204.373 227.741 204.07 227.596 203.678 227.596C203.211 227.596 202.833 227.764 202.544 228.1C202.264 228.436 202.124 228.931 202.124 229.584V233H200.206ZM211.629 233.154C210.705 233.154 209.925 232.795 209.291 232.076C208.656 231.357 208.339 230.499 208.339 229.5C208.339 228.501 208.656 227.643 209.291 226.924C209.925 226.205 210.705 225.846 211.629 225.846C212.077 225.846 212.478 225.939 212.833 226.126C213.187 226.313 213.458 226.532 213.645 226.784V222.5H215.563V233H213.645V232.216C213.458 232.468 213.187 232.687 212.833 232.874C212.478 233.061 212.077 233.154 211.629 233.154ZM210.747 230.872C211.073 231.227 211.503 231.404 212.035 231.404C212.567 231.404 212.991 231.227 213.309 230.872C213.635 230.517 213.799 230.06 213.799 229.5C213.799 228.94 213.635 228.483 213.309 228.128C212.991 227.773 212.567 227.596 212.035 227.596C211.503 227.596 211.073 227.773 210.747 228.128C210.429 228.483 210.271 228.94 210.271 229.5C210.271 230.06 210.429 230.517 210.747 230.872ZM224.961 233.154C224.513 233.154 224.107 233.061 223.743 232.874C223.379 232.687 223.108 232.468 222.931 232.216V233H221.013V222.5H222.931V226.784C223.108 226.532 223.379 226.313 223.743 226.126C224.107 225.939 224.513 225.846 224.961 225.846C225.885 225.846 226.664 226.205 227.299 226.924C227.934 227.643 228.251 228.501 228.251 229.5C228.251 230.499 227.934 231.357 227.299 232.076C226.664 232.795 225.885 233.154 224.961 233.154ZM223.253 230.872C223.58 231.227 224.009 231.404 224.541 231.404C225.073 231.404 225.498 231.227 225.815 230.872C226.142 230.517 226.305 230.06 226.305 229.5C226.305 228.94 226.142 228.483 225.815 228.128C225.498 227.773 225.073 227.596 224.541 227.596C224.009 227.596 223.58 227.773 223.253 228.128C222.936 228.483 222.777 228.94 222.777 229.5C222.777 230.06 222.936 230.517 223.253 230.872ZM230.805 224.852C230.479 224.852 230.194 224.735 229.951 224.502C229.709 224.259 229.587 223.97 229.587 223.634C229.587 223.298 229.709 223.013 229.951 222.78C230.194 222.537 230.479 222.416 230.805 222.416C231.151 222.416 231.44 222.537 231.673 222.78C231.916 223.013 232.037 223.298 232.037 223.634C232.037 223.97 231.916 224.259 231.673 224.502C231.44 224.735 231.151 224.852 230.805 224.852ZM229.853 233V226H231.771V233H229.853ZM233.813 233V226H235.731V226.798C236.161 226.163 236.828 225.846 237.733 225.846C238.573 225.846 239.231 226.126 239.707 226.686C240.193 227.237 240.435 227.974 240.435 228.898V233H238.517V229.22C238.517 228.707 238.41 228.31 238.195 228.03C237.981 227.741 237.677 227.596 237.285 227.596C236.819 227.596 236.441 227.764 236.151 228.1C235.871 228.436 235.731 228.931 235.731 229.584V233H233.813ZM245.656 236.066C244.685 236.066 243.892 235.819 243.276 235.324C242.66 234.829 242.315 234.199 242.24 233.434H244.116C244.359 234.125 244.886 234.47 245.698 234.47C246.146 234.47 246.519 234.325 246.818 234.036C247.126 233.747 247.28 233.341 247.28 232.818V231.992C247.084 232.263 246.804 232.487 246.44 232.664C246.076 232.832 245.679 232.916 245.25 232.916C244.335 232.916 243.556 232.575 242.912 231.894C242.268 231.203 241.946 230.368 241.946 229.388C241.946 228.399 242.268 227.563 242.912 226.882C243.556 226.191 244.335 225.846 245.25 225.846C245.689 225.846 246.085 225.935 246.44 226.112C246.804 226.28 247.084 226.504 247.28 226.784V226H249.198V232.566C249.198 233.751 248.857 234.629 248.176 235.198C247.504 235.777 246.664 236.066 245.656 236.066ZM244.396 230.676C244.741 231.012 245.161 231.18 245.656 231.18C246.151 231.18 246.571 231.012 246.916 230.676C247.261 230.34 247.434 229.911 247.434 229.388C247.434 228.865 247.261 228.436 246.916 228.1C246.571 227.764 246.151 227.596 245.656 227.596C245.161 227.596 244.741 227.764 244.396 228.1C244.051 228.436 243.878 228.865 243.878 229.388C243.878 229.911 244.051 230.34 244.396 230.676ZM254.468 233.154C253.395 233.154 252.513 232.809 251.822 232.118C251.141 231.427 250.8 230.55 250.8 229.486C250.8 228.441 251.146 227.573 251.836 226.882C252.536 226.191 253.418 225.846 254.482 225.846C255.556 225.846 256.447 226.215 257.156 226.952C257.866 227.68 258.192 228.679 258.136 229.948H252.676C252.714 230.387 252.896 230.755 253.222 231.054C253.549 231.343 253.997 231.488 254.566 231.488C254.912 231.488 255.215 231.423 255.476 231.292C255.747 231.152 255.938 230.961 256.05 230.718H258.052C257.847 231.437 257.418 232.025 256.764 232.482C256.111 232.93 255.346 233.154 254.468 233.154ZM254.426 227.4C253.988 227.4 253.619 227.517 253.32 227.75C253.031 227.974 252.84 228.287 252.746 228.688H256.036C255.934 228.249 255.728 227.927 255.42 227.722C255.122 227.507 254.79 227.4 254.426 227.4ZM259.608 230.004V228.156H263.612V230.004H259.608ZM268.241 233.154C267.345 233.154 266.603 232.93 266.015 232.482C265.427 232.034 265.114 231.465 265.077 230.774H267.079C267.116 231.073 267.247 231.301 267.471 231.46C267.695 231.609 267.97 231.684 268.297 231.684C268.904 231.684 269.207 231.497 269.207 231.124C269.207 230.937 269.137 230.797 268.997 230.704C268.866 230.601 268.642 230.508 268.325 230.424L267.009 230.088C266.412 229.929 265.964 229.663 265.665 229.29C265.376 228.907 265.231 228.45 265.231 227.918C265.231 227.311 265.483 226.817 265.987 226.434C266.5 226.042 267.186 225.846 268.045 225.846C268.829 225.846 269.482 226.047 270.005 226.448C270.528 226.84 270.817 227.377 270.873 228.058H268.941C268.857 227.582 268.549 227.344 268.017 227.344C267.765 227.344 267.564 227.391 267.415 227.484C267.266 227.577 267.191 227.708 267.191 227.876C267.191 228.184 267.457 228.399 267.989 228.52L269.221 228.856C269.902 229.024 270.397 229.29 270.705 229.654C271.013 230.009 271.167 230.466 271.167 231.026C271.167 231.67 270.892 232.188 270.341 232.58C269.8 232.963 269.1 233.154 268.241 233.154ZM272.753 233V222.5H274.671V233H272.753ZM279.932 233.154C278.859 233.154 277.977 232.809 277.286 232.118C276.605 231.427 276.264 230.55 276.264 229.486C276.264 228.441 276.61 227.573 277.3 226.882C278 226.191 278.882 225.846 279.946 225.846C281.02 225.846 281.911 226.215 282.62 226.952C283.33 227.68 283.656 228.679 283.6 229.948H278.14C278.178 230.387 278.36 230.755 278.686 231.054C279.013 231.343 279.461 231.488 280.03 231.488C280.376 231.488 280.679 231.423 280.94 231.292C281.211 231.152 281.402 230.961 281.514 230.718H283.516C283.311 231.437 282.882 232.025 282.228 232.482C281.575 232.93 280.81 233.154 279.932 233.154ZM279.89 227.4C279.452 227.4 279.083 227.517 278.784 227.75C278.495 227.974 278.304 228.287 278.21 228.688H281.5C281.398 228.249 281.192 227.927 280.884 227.722C280.586 227.507 280.254 227.4 279.89 227.4ZM288.418 233.154C287.344 233.154 286.462 232.809 285.772 232.118C285.09 231.427 284.75 230.55 284.75 229.486C284.75 228.441 285.095 227.573 285.786 226.882C286.486 226.191 287.368 225.846 288.432 225.846C289.505 225.846 290.396 226.215 291.106 226.952C291.815 227.68 292.142 228.679 292.086 229.948H286.626C286.663 230.387 286.845 230.755 287.172 231.054C287.498 231.343 287.946 231.488 288.516 231.488C288.861 231.488 289.164 231.423 289.426 231.292C289.696 231.152 289.888 230.961 290 230.718H292.002C291.796 231.437 291.367 232.025 290.714 232.482C290.06 232.93 289.295 233.154 288.418 233.154ZM288.376 227.4C287.937 227.4 287.568 227.517 287.27 227.75C286.98 227.974 286.789 228.287 286.696 228.688H289.986C289.883 228.249 289.678 227.927 289.37 227.722C289.071 227.507 288.74 227.4 288.376 227.4ZM295.601 235.926H293.683V226H295.601V226.784C295.778 226.532 296.049 226.313 296.413 226.126C296.777 225.939 297.183 225.846 297.631 225.846C298.555 225.846 299.334 226.205 299.969 226.924C300.603 227.643 300.921 228.501 300.921 229.5C300.921 230.499 300.603 231.357 299.969 232.076C299.334 232.795 298.555 233.154 297.631 233.154C297.183 233.154 296.777 233.061 296.413 232.874C296.049 232.687 295.778 232.468 295.601 232.216V235.926ZM295.923 230.872C296.249 231.227 296.679 231.404 297.211 231.404C297.743 231.404 298.167 231.227 298.485 230.872C298.811 230.517 298.975 230.06 298.975 229.5C298.975 228.94 298.811 228.483 298.485 228.128C298.167 227.773 297.743 227.596 297.211 227.596C296.679 227.596 296.249 227.773 295.923 228.128C295.605 228.483 295.447 228.94 295.447 229.5C295.447 230.06 295.605 230.517 295.923 230.872ZM303.475 224.852C303.149 224.852 302.864 224.735 302.621 224.502C302.379 224.259 302.257 223.97 302.257 223.634C302.257 223.298 302.379 223.013 302.621 222.78C302.864 222.537 303.149 222.416 303.475 222.416C303.821 222.416 304.11 222.537 304.343 222.78C304.586 223.013 304.707 223.298 304.707 223.634C304.707 223.97 304.586 224.259 304.343 224.502C304.11 224.735 303.821 224.852 303.475 224.852ZM302.523 233V226H304.441V233H302.523ZM306.483 233V226H308.401V226.798C308.831 226.163 309.498 225.846 310.403 225.846C311.243 225.846 311.901 226.126 312.377 226.686C312.863 227.237 313.105 227.974 313.105 228.898V233H311.187V229.22C311.187 228.707 311.08 228.31 310.865 228.03C310.651 227.741 310.347 227.596 309.955 227.596C309.489 227.596 309.111 227.764 308.821 228.1C308.541 228.436 308.401 228.931 308.401 229.584V233H306.483ZM318.326 236.066C317.355 236.066 316.562 235.819 315.946 235.324C315.33 234.829 314.985 234.199 314.91 233.434H316.786C317.029 234.125 317.556 234.47 318.368 234.47C318.816 234.47 319.189 234.325 319.488 234.036C319.796 233.747 319.95 233.341 319.95 232.818V231.992C319.754 232.263 319.474 232.487 319.11 232.664C318.746 232.832 318.349 232.916 317.92 232.916C317.005 232.916 316.226 232.575 315.582 231.894C314.938 231.203 314.616 230.368 314.616 229.388C314.616 228.399 314.938 227.563 315.582 226.882C316.226 226.191 317.005 225.846 317.92 225.846C318.359 225.846 318.755 225.935 319.11 226.112C319.474 226.28 319.754 226.504 319.95 226.784V226H321.868V232.566C321.868 233.751 321.527 234.629 320.846 235.198C320.174 235.777 319.334 236.066 318.326 236.066ZM317.066 230.676C317.411 231.012 317.831 231.18 318.326 231.18C318.821 231.18 319.241 231.012 319.586 230.676C319.931 230.34 320.104 229.911 320.104 229.388C320.104 228.865 319.931 228.436 319.586 228.1C319.241 227.764 318.821 227.596 318.326 227.596C317.831 227.596 317.411 227.764 317.066 228.1C316.721 228.436 316.548 228.865 316.548 229.388C316.548 229.911 316.721 230.34 317.066 230.676Z\",\n fill: \"white\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 108,\n r: 6,\n fill: \"#D295FF\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52,\n cy: 186,\n r: 5,\n fill: \"#170D21\",\n stroke: \"white\",\n strokeWidth: 2\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 133,\n cy: 162,\n r: 5,\n fill: \"#170D21\",\n stroke: \"white\",\n strokeWidth: 2\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 214,\n cy: 146,\n r: 5,\n fill: \"#170D21\",\n stroke: \"white\",\n strokeWidth: 2\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 295,\n cy: 108,\n r: 5,\n fill: \"#170D21\",\n stroke: \"white\",\n strokeWidth: 2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 88,\n y: 73,\n width: 10,\n height: 10,\n rx: 3,\n fill: \"#D295FF\",\n stroke: \"white\",\n strokeWidth: 2\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 169,\n y: 49,\n width: 10,\n height: 10,\n rx: 3,\n fill: \"#D295FF\",\n stroke: \"white\",\n strokeWidth: 2\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 250,\n y: 25,\n width: 10,\n height: 10,\n rx: 3,\n fill: \"#D295FF\",\n stroke: \"white\",\n strokeWidth: 2\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 330,\n y: 1,\n width: 10,\n height: 10,\n rx: 3,\n fill: \"#D295FF\",\n stroke: \"white\",\n strokeWidth: 2\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_3809:370\",\n x1: 335,\n y1: 254.5,\n x2: 52,\n y2: 254.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", null), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_3809:370\",\n x1: 12.5,\n y1: 30,\n x2: 12.5,\n y2: 137,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", null), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_3809:370\",\n x1: 335,\n y1: 216,\n x2: 141,\n y2: 216,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#B250FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#802DF6\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgYoyoGraph);\nexport default __webpack_public_path__ + \"static/media/yoyo_graph.218abde0f7145329e06343927a273a52.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__BAVTM\",\"speed\":\"styles_speed__kyBGj\",\"greenColor\":\"styles_greenColor__SVRrH\",\"fog\":\"styles_fog__Uc05l\",\"blueColor\":\"styles_blueColor__xuCWQ\",\"purpleColor\":\"styles_purpleColor__OTTKQ\",\"background\":\"styles_background__lT+9h\",\"title\":\"styles_title__CapAz\",\"description\":\"styles_description__r8u7Y\",\"topSpacer\":\"styles_topSpacer__a1RCp\",\"enter\":\"styles_enter__cpk5b\",\"leave\":\"styles_leave__NAwnq\",\"logo\":\"styles_logo__BdfGD\",\"innerContainer\":\"styles_innerContainer__sFJe1\",\"icon\":\"styles_icon__yOaOQ\",\"button\":\"styles_button__34sBY\"};","import React from 'react';\nimport HintIcon from 'assets/onboarding/ic_hint.svg';\nimport { Info } from './Info';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { useInfoComponentLogic } from './InfoComponent.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const InfoComponent: React.FC = React.memo(\n ({ question }: Props) => {\n const { t } = useTranslation();\n\n const { title, description, containerStyle, nextHandler } =\n useInfoComponentLogic(question);\n\n return (\n \n
\n
\n
\n
\n
\n \"\"\n
\n {title &&

{t(title)}

}\n {description && (\n

{t(description)}

\n )}\n \n
\n \n
\n
\n );\n },\n);\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { Info } from './Info';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\nexport const useInfoComponentLogic = (question: Info) => {\n const dispatch = useAppDispatch();\n\n const { id, title, description } = question;\n const [containerStyle, setContainerStyle] = useState('');\n\n const features = useFeatures();\n\n useEffect(() => {\n setContainerStyle('enter');\n const timer = setTimeout(() => {\n document.body.classList.add(styles.bodyBackground);\n }, 250);\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n clearTimeout(timer);\n };\n }, []);\n\n const nextHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n document.body.classList.remove(styles.bodyBackground);\n setContainerStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(id));\n dispatch(goToNextQuestion(features));\n }, 150);\n });\n\n return {\n title,\n description,\n containerStyle,\n nextHandler,\n };\n};\n","import React from 'react';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { DEFAULT_ANSWERS } from 'onboarding/data/constants/DefaultAnswers';\nimport { getQuestionComponent } from '../helper';\nimport { OptionalQuestion } from '../options/OptionQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\n\ntype Props = QuestionComponentProps;\n\nexport const OptionalComponent: React.FC = ({ question }: Props) => {\n const { answers } = useAppSelector((state) => state.onboarding);\n const answer =\n answers[question.sourceQuestionId] ||\n DEFAULT_ANSWERS[question.sourceQuestionId];\n const finalQuestion =\n question.options[answer as string] ?? Object.values(question.options)[0];\n\n const Component = getQuestionComponent(finalQuestion);\n return ;\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgReviewStars(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 88,\n height: 16,\n viewBox: \"0 0 88 16\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 0H0V16H16V0Z\",\n fill: \"#00B67A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.00039 10.7833L10.4337 10.1666L11.4504 13.3L8.00039 10.7833ZM13.6004 6.73328H9.31706L8.00039 2.69995L6.68372 6.73328H2.40039L5.86706 9.23329L4.55039 13.2666L8.01706 10.7666L10.1504 9.23329L13.6004 6.73328Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34 0H18V16H34V0Z\",\n fill: \"#00B67A\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9984 10.7833L28.4318 10.1666L29.4484 13.3L25.9984 10.7833ZM31.5984 6.73328H27.3151L25.9984 2.69995L24.6818 6.73328H20.3984L23.8651 9.23329L22.5484 13.2666L26.0151 10.7666L28.1484 9.23329L31.5984 6.73328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52 0H36V16H52V0Z\",\n fill: \"#00B67A\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.9984 10.7833L46.4318 10.1666L47.4484 13.3L43.9984 10.7833ZM49.5984 6.73328H45.3151L43.9984 2.69995L42.6818 6.73328H38.3984L41.8651 9.23329L40.5484 13.2666L44.0151 10.7666L46.1484 9.23329L49.5984 6.73328Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70 0H54V16H70V0Z\",\n fill: \"#00B67A\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.9984 10.7833L64.4318 10.1666L65.4484 13.3L61.9984 10.7833ZM67.5984 6.73328H63.3151L61.9984 2.69995L60.6818 6.73328H56.3984L59.8651 9.23329L58.5484 13.2666L62.0151 10.7666L64.1484 9.23329L67.5984 6.73328Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88 0H72V16H88V0Z\",\n fill: \"#DCDCE5\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.9984 10.7833L82.4318 10.1666L83.4484 13.3L79.9984 10.7833ZM85.5984 6.73328H81.3151L79.9984 2.69995L78.6818 6.73328H74.3984L77.8651 9.23329L76.5484 13.2666L80.0151 10.7666L82.1484 9.23329L85.5984 6.73328Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReviewStars);\nexport default __webpack_public_path__ + \"static/media/review_stars.a1b1be23673d7c4984e7bec818a45f25.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__rK2op\",\"content\":\"styles_content__7+eWG\",\"innerContent\":\"styles_innerContent__kn1CW\",\"bottomGradient\":\"styles_bottomGradient__9xOGK\",\"title\":\"styles_title__OPE5G\",\"graph\":\"styles_graph__xgD1U\",\"info\":\"styles_info__UipNi\",\"description\":\"styles_description__AUEQw\",\"button\":\"styles_button__kyk7L\"};","import React from 'react';\nimport AlaskaClinicLogo from 'assets/onboarding/alaska_clinic.png';\nimport { ReactComponent as Graph } from 'assets/onboarding/graphs/yoyo_graph.svg';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { useYoYoGraphLogic } from './YoYoGraph.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const YoYoGraph: React.FC = ({ question }: Props) => {\n const { t } = useTranslation();\n\n const { containerStyle, nextButtonHandler } = useYoYoGraphLogic(question);\n\n return (\n \n
\n
\n

\n Why weekend binge-sleeping fail or the \"Yo-Yo\" effect:\n

\n \n
\n \"\"\n
\n Alaska Sleep Clinic reports weekend binge-sleeping creates\n a crash and burn lifestyle that disrupts the normal sleep REM\n cycle leading people to straight exhaustion.\n
\n
\n Establishing a healthy pattern of sleep will help you repay\n your sleep debt and deal with the effects of sleep deprivation.\n
\n
\n \n
\n
\n
\n \n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { useFeatures } from 'useFeatures';\n\nexport const useYoYoGraphLogic = (question: CustomQuestion) => {\n const dispatch = useAppDispatch();\n const [containerStyle, setContainerStyle] = useState('');\n\n const features = useFeatures();\n\n useEffect(() => {\n setContainerStyle('enter');\n }, [question]);\n\n const nextButtonHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n setContainerStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(\n new SaveAnswer(QuestionIds.SleepAndActivityProof1),\n );\n dispatch(goToNextQuestion(features));\n }, 250);\n });\n\n return {\n containerStyle,\n nextButtonHandler,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTrustpilot(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 46,\n height: 10,\n viewBox: \"0 0 46 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.00550668 0H6.32128V1.19154H3.83792V7.88976H2.47235V1.19154H0V0H0.00550668ZM6.05147 2.17706H7.21882V3.27951H7.24084C7.27939 3.12361 7.35097 2.97327 7.45559 2.82851C7.56021 2.68374 7.68686 2.54454 7.83553 2.42762C7.9842 2.30512 8.14939 2.21047 8.3311 2.13252C8.51281 2.06013 8.70002 2.02116 8.88724 2.02116C9.0304 2.02116 9.13502 2.02673 9.19009 2.03229C9.24515 2.03786 9.30022 2.049 9.36079 2.05457V3.26837C9.27268 3.25167 9.18458 3.24053 9.09097 3.2294C8.99737 3.21826 8.90926 3.21269 8.82116 3.21269C8.61192 3.21269 8.41369 3.25724 8.22648 3.34076C8.03926 3.42428 7.87958 3.55234 7.74192 3.71381C7.60426 3.88085 7.49413 4.08129 7.41154 4.32628C7.32894 4.57127 7.2904 4.84967 7.2904 5.16704V7.88419H6.04597V2.17706H6.05147ZM15.0819 7.88976H13.8595V7.09354H13.8374C13.6833 7.38307 13.4575 7.61136 13.1547 7.78396C12.8518 7.95657 12.5435 8.04566 12.2296 8.04566C11.4862 8.04566 10.9466 7.86191 10.6162 7.48886C10.2859 7.11581 10.1207 6.55345 10.1207 5.80178V2.17706H11.3651V5.67929C11.3651 6.1804 11.4587 6.53675 11.6514 6.74276C11.8386 6.94877 12.1085 7.05457 12.4498 7.05457C12.7141 7.05457 12.9289 7.01559 13.1051 6.93207C13.2813 6.84855 13.4245 6.74276 13.5291 6.60356C13.6392 6.46993 13.7163 6.30289 13.7659 6.11359C13.8154 5.92428 13.8374 5.71826 13.8374 5.49555V2.18263H15.0819V7.88976ZM17.2018 6.05791C17.2404 6.42539 17.378 6.68151 17.6148 6.83185C17.8571 6.97661 18.1434 7.05457 18.4793 7.05457C18.5949 7.05457 18.7271 7.04343 18.8757 7.02673C19.0244 7.01002 19.1676 6.97105 19.2942 6.92093C19.4264 6.87082 19.531 6.79287 19.6191 6.69265C19.7017 6.59243 19.7402 6.46437 19.7347 6.3029C19.7292 6.14143 19.6687 6.00779 19.5585 5.90757C19.4484 5.80178 19.3107 5.72383 19.1401 5.65702C18.9694 5.59577 18.7766 5.54009 18.5564 5.49555C18.3361 5.451 18.1159 5.40089 17.8901 5.35078C17.6588 5.30067 17.4331 5.23385 17.2183 5.16147C17.0036 5.08909 16.8109 4.98886 16.6402 4.8608C16.4695 4.73831 16.3318 4.57684 16.2327 4.38196C16.1281 4.18708 16.0785 3.94766 16.0785 3.65813C16.0785 3.34633 16.1556 3.0902 16.3043 2.87862C16.453 2.66704 16.6457 2.5 16.8714 2.37194C17.1027 2.24388 17.356 2.15479 17.6368 2.09911C17.9176 2.049 18.1875 2.02116 18.4407 2.02116C18.7326 2.02116 19.0134 2.05457 19.2777 2.11581C19.542 2.17706 19.7843 2.27728 19.999 2.42205C20.2138 2.56125 20.39 2.74499 20.5332 2.96771C20.6763 3.19042 20.7644 3.46325 20.803 3.78062H19.5035C19.4429 3.47996 19.3107 3.27394 19.096 3.17372C18.8813 3.06793 18.6335 3.01782 18.3582 3.01782C18.27 3.01782 18.1654 3.02339 18.0443 3.04009C17.9231 3.05679 17.813 3.08463 17.7029 3.12361C17.5983 3.16258 17.5102 3.22383 17.4331 3.30178C17.3615 3.37973 17.323 3.47996 17.323 3.60802C17.323 3.76392 17.378 3.88641 17.4826 3.98107C17.5873 4.07572 17.7249 4.15367 17.8956 4.22049C18.0663 4.28174 18.259 4.33742 18.4793 4.38196C18.6995 4.4265 18.9253 4.47661 19.1566 4.52673C19.3823 4.57684 19.6026 4.64365 19.8228 4.71604C20.0431 4.78842 20.2358 4.88864 20.4065 5.0167C20.5772 5.14477 20.7149 5.30067 20.8195 5.48998C20.9241 5.67929 20.9792 5.91871 20.9792 6.1971C20.9792 6.53675 20.9021 6.82071 20.7479 7.06013C20.5937 7.29399 20.3955 7.48886 20.1532 7.63363C19.9109 7.7784 19.6356 7.88975 19.3383 7.95657C19.0409 8.02338 18.7436 8.05679 18.4518 8.05679C18.0938 8.05679 17.7635 8.01782 17.4606 7.9343C17.1578 7.85078 16.8935 7.72828 16.6732 7.56681C16.453 7.39978 16.2768 7.19376 16.1501 6.94877C16.0235 6.70379 15.9574 6.40869 15.9464 6.06904H17.2018V6.05791ZM21.3096 2.17706H22.2511V0.462138H23.4956V2.17706H24.6189V3.11804H23.4956V6.16926C23.4956 6.30289 23.5011 6.41425 23.5121 6.51448C23.5231 6.60913 23.5506 6.69265 23.5892 6.75947C23.6277 6.82628 23.6883 6.87639 23.7709 6.9098C23.8535 6.94321 23.9581 6.95991 24.1013 6.95991C24.1894 6.95991 24.2775 6.95991 24.3656 6.95434C24.4537 6.94877 24.5418 6.93764 24.6299 6.91537V7.88976C24.4922 7.90646 24.3546 7.91759 24.2279 7.9343C24.0958 7.951 23.9636 7.95657 23.826 7.95657C23.4956 7.95657 23.2313 7.92316 23.033 7.86192C22.8348 7.80067 22.6751 7.70601 22.565 7.58352C22.4494 7.46102 22.3778 7.31069 22.3337 7.12695C22.2952 6.94321 22.2677 6.73163 22.2622 6.49777V3.12918H21.3206V2.17706H21.3096ZM25.4999 2.17706H26.6782V2.951H26.7003C26.8765 2.61693 27.1187 2.38307 27.4326 2.23831C27.7465 2.09354 28.0824 2.02116 28.4513 2.02116C28.8973 2.02116 29.2827 2.09911 29.6131 2.26058C29.9435 2.41648 30.2188 2.63363 30.4391 2.91203C30.6593 3.19042 30.819 3.51336 30.9291 3.88085C31.0393 4.24833 31.0943 4.64365 31.0943 5.06125C31.0943 5.44543 31.0448 5.81849 30.9457 6.17483C30.8465 6.53675 30.6979 6.85412 30.4996 7.13252C30.3014 7.41091 30.0481 7.62806 29.7398 7.7951C29.4314 7.96214 29.0735 8.04566 28.655 8.04566C28.4733 8.04566 28.2916 8.02895 28.1099 7.99555C27.9282 7.96214 27.752 7.90646 27.5868 7.83408C27.4216 7.76169 27.2619 7.66704 27.1243 7.55011C26.9811 7.43318 26.8655 7.29955 26.7663 7.14922H26.7443V10H25.4999V2.17706V2.17706ZM29.8499 5.03898C29.8499 4.78285 29.8169 4.53229 29.7508 4.28731C29.6847 4.04232 29.5856 3.83073 29.4534 3.64143C29.3213 3.45212 29.1561 3.30178 28.9634 3.19042C28.7651 3.07906 28.5394 3.01782 28.2861 3.01782C27.763 3.01782 27.3665 3.20156 27.1022 3.56904C26.8379 3.93653 26.7058 4.4265 26.7058 5.03898C26.7058 5.32851 26.7388 5.59577 26.8104 5.84076C26.882 6.08575 26.9811 6.29733 27.1243 6.4755C27.2619 6.65367 27.4271 6.79287 27.6198 6.8931C27.8125 6.99889 28.0383 7.049 28.2916 7.049C28.5779 7.049 28.8147 6.98775 29.0129 6.87082C29.2112 6.7539 29.3708 6.598 29.4975 6.41425C29.6241 6.22494 29.7177 6.01336 29.7728 5.77394C29.8224 5.53452 29.8499 5.28953 29.8499 5.03898V5.03898ZM32.0469 0H33.2914V1.19154H32.0469V0ZM32.0469 2.17706H33.2914V7.88976H32.0469V2.17706ZM34.4036 0H35.6481V7.88976H34.4036V0ZM39.464 8.04566C39.0124 8.04566 38.6105 7.96771 38.2581 7.81737C37.9057 7.66704 37.6083 7.45546 37.3605 7.19376C37.1183 6.9265 36.9311 6.60913 36.8044 6.24165C36.6778 5.87416 36.6117 5.46771 36.6117 5.02784C36.6117 4.59354 36.6778 4.19265 36.8044 3.82517C36.9311 3.45768 37.1183 3.14031 37.3605 2.87305C37.6028 2.60579 37.9057 2.39978 38.2581 2.24944C38.6105 2.09911 39.0124 2.02116 39.464 2.02116C39.9155 2.02116 40.3175 2.09911 40.6699 2.24944C41.0223 2.39978 41.3196 2.61136 41.5674 2.87305C41.8097 3.14031 41.9969 3.45768 42.1235 3.82517C42.2502 4.19265 42.3163 4.59354 42.3163 5.02784C42.3163 5.46771 42.2502 5.87416 42.1235 6.24165C41.9969 6.60913 41.8097 6.9265 41.5674 7.19376C41.3251 7.46102 41.0223 7.66704 40.6699 7.81737C40.3175 7.96771 39.9155 8.04566 39.464 8.04566V8.04566ZM39.464 7.049C39.7393 7.049 39.9816 6.98775 40.1853 6.87082C40.389 6.7539 40.5542 6.598 40.6864 6.40869C40.8185 6.21938 40.9121 6.00223 40.9782 5.76281C41.0388 5.52339 41.0718 5.2784 41.0718 5.02784C41.0718 4.78285 41.0388 4.54343 40.9782 4.29844C40.9176 4.05345 40.8185 3.84187 40.6864 3.65256C40.5542 3.46325 40.389 3.31292 40.1853 3.19599C39.9816 3.07906 39.7393 3.01782 39.464 3.01782C39.1886 3.01782 38.9464 3.07906 38.7426 3.19599C38.5389 3.31292 38.3737 3.46882 38.2416 3.65256C38.1094 3.84187 38.0158 4.05345 37.9497 4.29844C37.8892 4.54343 37.8561 4.78285 37.8561 5.02784C37.8561 5.2784 37.8892 5.52339 37.9497 5.76281C38.0103 6.00223 38.1094 6.21938 38.2416 6.40869C38.3737 6.598 38.5389 6.7539 38.7426 6.87082C38.9464 6.99332 39.1886 7.049 39.464 7.049V7.049ZM42.6797 2.17706H43.6213V0.462138H44.8657V2.17706H45.989V3.11804H44.8657V6.16926C44.8657 6.30289 44.8712 6.41425 44.8822 6.51448C44.8932 6.60913 44.9208 6.69265 44.9593 6.75947C44.9978 6.82628 45.0584 6.87639 45.141 6.9098C45.2236 6.94321 45.3282 6.95991 45.4714 6.95991C45.5595 6.95991 45.6476 6.95991 45.7357 6.95434C45.8238 6.94877 45.9119 6.93764 46 6.91537V7.88976C45.8623 7.90646 45.7247 7.91759 45.598 7.9343C45.4659 7.951 45.3337 7.95657 45.1961 7.95657C44.8657 7.95657 44.6014 7.92316 44.4032 7.86192C44.2049 7.80067 44.0452 7.70601 43.9351 7.58352C43.8195 7.46102 43.7479 7.31069 43.7039 7.12695C43.6653 6.94321 43.6378 6.73163 43.6323 6.49777V3.12918H42.6907V2.17706H42.6797Z\",\n fill: \"#090110\",\n fillOpacity: 0.64\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrustpilot);\nexport default __webpack_public_path__ + \"static/media/trustpilot.72d0f5e30ccf1c5f1e1b5c5a4f025f89.svg\";\nexport { ForwardRef as ReactComponent };","import { getLocaleDateString } from 'utils/utils';\n\ntype ReviewProps = {\n userInfo: string;\n reviewText: string;\n date: string;\n};\n\nexport const ReviewsData: Record = {\n male: {\n userInfo: 'Alex, 31',\n reviewText: 'SleepAndActivityProof2ManReview',\n date: getLocaleDateString(new Date(2021, 8, 7), {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }),\n },\n female: {\n userInfo: 'Ami, 27',\n reviewText: 'SleepAndActivityProof2WomanReview',\n date: getLocaleDateString(new Date(2021, 8, 12), {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }),\n },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"review\":\"styles_review__vHmBn\",\"userInfo\":\"styles_userInfo__6vUVt\",\"reviewText\":\"styles_reviewText__9Z7Im\",\"footer\":\"styles_footer__UszcX\",\"date\":\"styles_date__qooc8\",\"icons\":\"styles_icons__nblf0\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ReactComponent as ReviewStars } from 'assets/onboarding/review_stars.svg';\nimport { ReactComponent as Trustpilot } from 'assets/onboarding/trustpilot.svg';\nimport { ReviewsData } from '../Review.constants';\nimport styles from './styles.module.scss';\n\ntype Props = {\n gender: string;\n};\n\nexport const MotivationReview: React.FC = ({ gender }: Props) => {\n const { t } = useTranslation();\n const { userInfo, date, reviewText } = ReviewsData[gender];\n\n return (\n \n
{userInfo}
\n
{t(reviewText)}
\n
\n
\n \n \n
\n
{date}
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"stickyContainer\":\"styles_stickyContainer__yE+YU\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n className?: string;\n};\n\nexport const StickyContainer = ({ children, className }: Props) => {\n return (\n
{children}
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__ksGTx\",\"speed\":\"styles_speed__4OUEd\",\"enter\":\"styles_enter__u0oKB\",\"leave\":\"styles_leave__gzWx0\",\"title\":\"styles_title__Dpo7E\",\"imageContainer\":\"styles_imageContainer__1Y50s\",\"image\":\"styles_image__6IqTo\",\"maxHeight\":\"styles_maxHeight__WT4FL\",\"transition\":\"styles_transition__1rgV5\",\"fade-in\":\"styles_fade-in__RVYa3\",\"visible\":\"styles_visible__0ZN7B\",\"description\":\"styles_description__WCANu\",\"button\":\"styles_button__DKXkh\"};","import React, { useRef } from 'react';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport { QuestionComponentProps } from 'onboarding/question/QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport ManPhoto from 'assets/onboarding/man.jpg';\nimport WomanPhoto from 'assets/onboarding/woman.jpg';\nimport Spacer from 'components/spacer/Spacer';\nimport { useMotivationComponentLogic } from './Motivation.hook';\nimport { usePreloadImages } from 'hooks/usePreloadImages';\nimport { MotivationReview } from './components/reviews/review/Review';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const Motivation: React.FC = ({ question }: Props) => {\n const { t } = useTranslation();\n\n const imageRef = useRef(null);\n const { containerStyle, gender, imageStyle, nextButtonHandler } =\n useMotivationComponentLogic({ question, imageRef });\n usePreloadImages([gender === 'male' ? ManPhoto : WomanPhoto]);\n\n const description = (\n
{t('SleepAndActivityProof2Note')}
\n );\n\n return (\n \n

{t('SleepAndActivityProof2Title')}

\n
\n \n \n
\n \n {description}\n \n \n \n \n );\n};\n","import { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { RefObject, SyntheticEvent, useEffect, useState } from 'react';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n question: CustomQuestion;\n imageRef: RefObject;\n};\n\nexport const useMotivationComponentLogic = ({ question, imageRef }: Props) => {\n const dispatch = useAppDispatch();\n const gender = useAppSelector(\n (state) => state.onboarding.answers[QuestionIds.AboutYouGender],\n );\n\n const [containerStyle, setContainerStyle] = useState('');\n const [imageStyle, setImageStyle] = useState('');\n\n const features = useFeatures();\n\n useEffect(() => {\n setContainerStyle('enter');\n setImageStyle('');\n if (imageRef.current) {\n setImageStyle('transition');\n setTimeout(() => {\n setImageStyle('visible');\n }, 200);\n }\n }, [question]);\n\n const nextButtonHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n setContainerStyle('leave');\n setTimeout(() => {\n dispatch(goToNextQuestion(features));\n }, 250);\n });\n\n const getGender = (): string => {\n if (gender === 'male' || gender === 'female') {\n return gender as string;\n }\n return 'female';\n };\n\n return {\n containerStyle,\n imageStyle,\n gender: getGender(),\n nextButtonHandler,\n };\n};\n","import { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { Answers } from 'bootstrap/onboarding/state';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { pushWithSearchQuery } from 'utils';\nimport {\n CircadianTypes,\n RmeqResult,\n MappedRmeqAnswersWeight,\n useRmeqResultData,\n} from './MeqResults.constants';\n\ninterface Props {\n rmeqTestResult: RmeqResult;\n nextButtonHandler: (args?: any) => void;\n type: CircadianTypes;\n}\n\nexport const useRmeqTestLogic = (): Props => {\n const dispatch = useAppDispatch();\n\n const rmeqResultData = useRmeqResultData();\n\n const { answers } = useAppSelector((state) => state.onboarding);\n const [result, setResult] = useState(0);\n\n useEffect(() => {\n setResult(getRmeqTestResult(answers));\n }, [answers]);\n\n const nextButtonHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n setTimeout(() => {\n dispatch(pushWithSearchQuery('/done'));\n }, 250);\n });\n\n return {\n rmeqTestResult: rmeqResultData[getCircadianType(result)],\n type: getCircadianType(result),\n nextButtonHandler,\n };\n};\n\nexport const getRmeqTestResult = (answers: Answers): number => {\n let result = 0;\n Object.values(answers).forEach((answer) => {\n if (typeof answer === 'string') {\n if (MappedRmeqAnswersWeight[answer]) {\n result += MappedRmeqAnswersWeight[answer];\n }\n }\n });\n return result;\n};\n\nexport const getCircadianType = (result: number): CircadianTypes => {\n if (result >= 4 && result <= 11) {\n return CircadianTypes.Evening;\n } else if (result >= 12 && result <= 17) {\n return CircadianTypes.Neutral;\n } else if (result >= 18 && result <= 25) {\n return CircadianTypes.Morning;\n } else {\n return CircadianTypes.Evening;\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__z3fMv\",\"content\":\"styles_content__WzbvP\",\"label\":\"styles_label__lIYMr\",\"title\":\"styles_title__SRnNd\",\"cardContainer\":\"styles_cardContainer__I4TuY\",\"time\":\"styles_time__7DMTK\",\"bedTimeCard\":\"styles_bedTimeCard__ZSSAs\",\"wakeUpCard\":\"styles_wakeUpCard__6C7S6\",\"description\":\"styles_description__8yFnI\",\"figcaption\":\"styles_figcaption__h58Oi\",\"note\":\"styles_note__HRKW+\",\"button\":\"styles_button__ECDKk\"};","import Spacer from 'components/spacer/Spacer';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getLocaleIntervalTimeString } from 'utils/utils';\nimport { useRmeqTestLogic } from './MeqResults.hook';\nimport styles from './styles.module.scss';\n\nexport const MeqResults = () => {\n const { t } = useTranslation();\n const { rmeqTestResult, nextButtonHandler } = useRmeqTestLogic();\n\n const { title, description, bedTime, wakeUpTime } = rmeqTestResult;\n\n return (\n
\n
\n
{t('RMeqResultTitle')}
\n
{t(title)}
\n
{t(description)}
\n
\n
{t('RMeqResultLabel1')}
\n
\n {getLocaleIntervalTimeString(bedTime)}\n
\n
\n
\n
{t('RMeqResultLabel2')}
\n
\n {getLocaleIntervalTimeString(wakeUpTime)}\n
\n
\n
{t('RMeqResultFigcaption')}
\n \n
{t('RmeqResultNote')}
\n \n
\n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { placeholderFormatter } from 'onboarding/data/constants/Placeholders';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { OptionQuestion } from './OptionQuestion';\nimport { format } from './OptionQuestionComponent.utils';\nimport { TextOption } from './TextOption';\nimport { useFeatures } from 'useFeatures';\n\nexport const useOptionQuestionLogic = (question: OptionQuestion) => {\n const dispatch = useAppDispatch();\n\n const features = useFeatures();\n\n const { answers } = useAppSelector((state) => state.onboarding);\n const age = placeholderFormatter(answers, QuestionIds.AboutYouAge);\n const gender = placeholderFormatter(answers, QuestionIds.AboutYouGender);\n\n const [activeOptions, setActiveOptions] = useState([]);\n const [containerStyle, setContainerStyle] = useState('');\n const [title, setTitle] = useState(question.title);\n const [isLeaving, setLeaving] = useState(false);\n\n useEffect(() => {\n setTitle(format(question.title, answers));\n const currentAnswer = answers[question.id];\n setContainerStyle('enter');\n setLeaving(false);\n if (currentAnswer) {\n if (\n typeof currentAnswer === 'string' &&\n question.hasOptionId(currentAnswer)\n ) {\n setActiveOptions([currentAnswer]);\n } else if (Array.isArray(currentAnswer)) {\n setActiveOptions(\n (currentAnswer as string[]).filter((it) => question.hasOptionId(it)),\n );\n } else {\n setActiveOptions([]);\n }\n } else {\n setActiveOptions([]);\n }\n }, [question]);\n\n const optionHandler = (option: TextOption) => (e: SyntheticEvent) => {\n e.preventDefault();\n if (question.multiple) {\n if (activeOptions.includes(option.id)) {\n setActiveOptions(activeOptions.filter((id) => id !== option.id));\n } else {\n setActiveOptions([...activeOptions, option.id]);\n }\n } else if (!isLeaving) {\n setActiveOptions([option.id]);\n setLeaving(true);\n setTimeout(() => {\n setContainerStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id, option.id));\n dispatch(setAnswer(question.id, option.id, features));\n }, 100);\n }, 200);\n }\n };\n\n const nextHandler = (e: SyntheticEvent) => {\n e.preventDefault();\n if (!isLeaving) {\n setContainerStyle('leave');\n setLeaving(true);\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id, activeOptions));\n dispatch(setAnswer(question.id, activeOptions, features));\n }, 100);\n }\n };\n\n return {\n containerStyle,\n title,\n age,\n gender,\n activeOptions,\n optionHandler,\n nextHandler,\n };\n};\n","import { Answers } from 'bootstrap/onboarding/state';\nimport { placeholderFormatter } from 'onboarding/data/constants/Placeholders';\n\nexport const format = (title: string, answers: Answers) => {\n const capitalize = (text: string) =>\n text.charAt(0).toUpperCase() + text.slice(1);\n const removeBraces = (text: string) => text.replace('{', '').replace('}', '');\n const replacer = (value: string): string => {\n const placeholder = removeBraces(value);\n const formatPlaceholder = placeholderFormatter(answers, placeholder);\n // @ts-ignore\n return formatPlaceholder ?? answers[placeholder];\n };\n return capitalize(title.replace(/{(\\w*)}/g, replacer));\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__fOony\",\"speed\":\"styles_speed__00zRb\",\"enter\":\"styles_enter__tNHU2\",\"leave\":\"styles_leave__S3XU0\",\"title\":\"styles_title__ove88\",\"titleWithMargin\":\"styles_titleWithMargin__lCfTC\",\"description\":\"styles_description__Rx7Mm\",\"option\":\"styles_option__WSb-4\",\"withSubText\":\"styles_withSubText__8DoK6\",\"text\":\"styles_text__9rw-i\",\"subtext\":\"styles_subtext__nWtlA\",\"multiple\":\"styles_multiple__966iY\",\"active\":\"styles_active__6vC6G\",\"button\":\"styles_button__9aeH6\"};","import React from 'react';\nimport { OptionQuestion } from './OptionQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { useOptionQuestionLogic } from './OptionQuestions.hook';\nimport { TextOption } from './TextOption';\nimport i18next from 'i18next';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const OptionQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const { t } = useTranslation();\n const {\n title,\n age,\n gender,\n activeOptions,\n containerStyle,\n optionHandler,\n nextHandler,\n } = useOptionQuestionLogic(question);\n\n const getOptionText = (option: TextOption) => {\n return i18next.exists(option.text) ? t(option.text) : option.text;\n };\n\n return (\n \n \n {t(title, { age: t(age), gender: t(gender) })}\n \n {question.description && (\n

{t(question.description)}

\n )}\n {question.options.map((option) => (\n \n {option.subtext ? (\n <>\n {getOptionText(option)}\n {t(option.subtext)}\n \n ) : (\n getOptionText(option)\n )}\n \n ))}\n \n {question.multiple && activeOptions.length > 0 && (\n \n \n \n )}\n \n );\n};\n","var _path, _path2, _path3, _path4, _rect, _path5, _path6, _rect2, _rect3, _path7, _ellipse, _ellipse2, _circle, _g, _path8, _circle2, _path9, _path10, _circle3, _circle4, _path11, _path12, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgProductivityGraph(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 367,\n height: 256,\n viewBox: \"0 0 367 256\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M261.5 149C173 117.5 149.716 28 12 28V217H347L346.453 164C329.512 164 297.569 163.311 261.5 149Z\",\n fill: \"url(#paint0_linear)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.5 149C186 117.5 209.284 28 347 28V217H12L12.5465 164C29.4878 164 61.4315 163.311 97.5 149Z\",\n fill: \"url(#paint1_linear)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.1,\n d: \"M307 28.0317C307 27.4795 306.552 27.0317 306 27.0317C305.448 27.0317 305 27.4795 305 28.0317L307 28.0317ZM305 28.0317L305 217L307 217L307 28.0317L305 28.0317Z\",\n fill: \"#090110\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.1,\n d: \"M54 28.0317C54 27.4795 53.5523 27.0317 53 27.0317C52.4477 27.0317 52 27.4795 52 28.0317L54 28.0317ZM52 28.0317L52 217L54 217L54 28.0317L52 28.0317Z\",\n fill: \"#090110\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 375,\n height: 32.5107,\n transform: \"matrix(-1 -8.74228e-08 -8.74228e-08 1 367 26)\",\n fill: \"url(#paint2_linear)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 28C179.053 28 179.053 164 347 164\",\n stroke: \"url(#paint3_linear)\",\n strokeWidth: 3\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M347 28C179.947 28 179.947 164 12 164\",\n stroke: \"url(#paint4_linear)\",\n strokeWidth: 3\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 191,\n height: 40,\n transform: \"matrix(-4.37114e-08 1 1 4.37114e-08 12 26)\",\n fill: \"url(#paint5_linear)\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 347,\n y: 26,\n width: 191,\n height: 40,\n transform: \"rotate(90 347 26)\",\n fill: \"url(#paint6_linear)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M269.861 52.48H267.149V61H268.553V58.048H269.861C271.613 58.048 272.813 56.836 272.813 55.264C272.813 53.692 271.613 52.48 269.861 52.48ZM269.849 56.728H268.553V53.8H269.849C270.845 53.8 271.433 54.436 271.433 55.264C271.433 56.092 270.845 56.728 269.849 56.728ZM273.954 61H275.274V58.072C275.274 56.872 275.958 56.236 276.714 56.236C276.954 56.236 277.146 56.272 277.374 56.344V54.988C277.194 54.952 277.026 54.94 276.858 54.94C276.174 54.94 275.502 55.384 275.274 56.068V55H273.954V61ZM284.158 58C284.158 56.26 282.79 54.88 281.014 54.88C279.238 54.88 277.87 56.26 277.87 58C277.87 59.74 279.238 61.12 281.014 61.12C282.79 61.12 284.158 59.74 284.158 58ZM279.202 58C279.202 56.932 279.946 56.104 281.014 56.104C282.07 56.104 282.814 56.932 282.814 58C282.814 59.068 282.07 59.896 281.014 59.896C279.946 59.896 279.202 59.068 279.202 58ZM285.054 58C285.054 59.716 286.302 61.12 287.946 61.12C288.81 61.12 289.53 60.676 289.866 60.196V61H291.186V52H289.866V55.804C289.53 55.324 288.81 54.88 287.946 54.88C286.302 54.88 285.054 56.284 285.054 58ZM289.974 58C289.974 59.08 289.254 59.92 288.186 59.92C287.118 59.92 286.398 59.08 286.398 58C286.398 56.92 287.118 56.08 288.186 56.08C289.254 56.08 289.974 56.92 289.974 58ZM292.89 58.588C292.89 60.124 293.742 61.12 295.122 61.12C295.89 61.12 296.526 60.784 296.874 60.184V61H298.194V55H296.874V57.952C296.874 59.236 296.262 59.92 295.41 59.92C294.642 59.92 294.21 59.332 294.21 58.372V55H292.89V58.588ZM305.73 58.804H304.338C304.098 59.452 303.51 59.92 302.682 59.92C301.614 59.92 300.882 59.116 300.882 58C300.882 56.884 301.614 56.08 302.682 56.08C303.51 56.08 304.098 56.548 304.338 57.196H305.73C305.406 55.864 304.266 54.88 302.682 54.88C300.858 54.88 299.538 56.272 299.538 58C299.538 59.728 300.858 61.12 302.682 61.12C304.266 61.12 305.406 60.136 305.73 58.804ZM310.496 60.928V59.752C310.304 59.824 310.04 59.872 309.788 59.872C309.104 59.872 308.78 59.596 308.78 58.852V56.176H310.496V55H308.78V53.332H307.46V55H306.212V56.176H307.46V59.068C307.46 60.424 308.36 61.06 309.512 61.06C309.92 61.06 310.232 61.012 310.496 60.928ZM313.283 52.804C313.283 52.324 312.899 51.928 312.407 51.928C311.927 51.928 311.519 52.324 311.519 52.804C311.519 53.296 311.927 53.692 312.407 53.692C312.899 53.692 313.283 53.296 313.283 52.804ZM311.747 61H313.067V55H311.747V61ZM316.713 61H317.877L320.601 55H319.125L317.289 59.2L315.465 55H314.001L316.713 61ZM323.057 52.804C323.057 52.324 322.673 51.928 322.181 51.928C321.701 51.928 321.293 52.324 321.293 52.804C321.293 53.296 321.701 53.692 322.181 53.692C322.673 53.692 323.057 53.296 323.057 52.804ZM321.521 61H322.841V55H321.521V61ZM328.203 60.928V59.752C328.011 59.824 327.747 59.872 327.495 59.872C326.811 59.872 326.487 59.596 326.487 58.852V56.176H328.203V55H326.487V53.332H325.167V55H323.919V56.176H325.167V59.068C325.167 60.424 326.067 61.06 327.219 61.06C327.627 61.06 327.939 61.012 328.203 60.928ZM331.374 63.508L335.226 55H333.762L331.926 59.248L330.078 55H328.626L331.206 60.676L329.922 63.508H331.374ZM345.217 61H346.957L344.749 58.864L346.357 56.896H344.797L343.885 58.036L342.265 56.452C343.105 56.008 343.825 55.42 343.825 54.376C343.825 53.296 342.937 52.336 341.593 52.336C340.297 52.336 339.312 53.224 339.312 54.364C339.312 55.144 339.805 55.732 340.297 56.224C339.396 56.752 338.593 57.436 338.593 58.636C338.593 60.028 339.601 61.12 341.305 61.12C342.349 61.12 343.105 60.7 343.969 59.788L345.217 61ZM340.585 54.376C340.585 53.812 341.041 53.464 341.569 53.464C342.133 53.464 342.517 53.872 342.517 54.448C342.517 55.036 342.109 55.324 341.485 55.648L341.449 55.672C340.957 55.204 340.585 54.88 340.585 54.376ZM339.901 58.66C339.901 58.024 340.297 57.532 341.149 57.064L343.117 58.96C342.493 59.632 341.953 59.944 341.317 59.944C340.621 59.944 339.901 59.512 339.901 58.66ZM270.087 77.508H271.407V74.196C271.743 74.676 272.475 75.12 273.339 75.12C274.983 75.12 276.231 73.716 276.231 72C276.231 70.284 274.983 68.88 273.339 68.88C272.475 68.88 271.743 69.324 271.407 69.804V69H270.087V77.508ZM274.887 72C274.887 73.08 274.155 73.92 273.099 73.92C272.031 73.92 271.299 73.08 271.299 72C271.299 70.92 272.031 70.08 273.099 70.08C274.155 70.08 274.887 70.92 274.887 72ZM283.168 73.116H281.788C281.512 73.692 280.936 73.956 280.276 73.956C279.208 73.956 278.512 73.236 278.464 72.324H283.24C283.36 70.284 282.076 68.88 280.24 68.88C278.392 68.88 277.156 70.224 277.156 72C277.156 73.8 278.44 75.12 280.228 75.12C281.752 75.12 282.832 74.244 283.168 73.116ZM280.204 69.984C280.936 69.984 281.62 70.416 281.824 71.388H278.512C278.692 70.464 279.376 69.984 280.204 69.984ZM284.595 75H285.915V72.072C285.915 70.872 286.599 70.236 287.355 70.236C287.595 70.236 287.787 70.272 288.015 70.344V68.988C287.835 68.952 287.667 68.94 287.499 68.94C286.815 68.94 286.143 69.384 285.915 70.068V69H284.595V75ZM289.718 75H291.038V70.176H292.754V69H291.038V68.148C291.038 67.404 291.362 67.128 292.046 67.128C292.298 67.128 292.562 67.176 292.754 67.248V66.072C292.502 65.988 292.178 65.928 291.77 65.928C290.618 65.928 289.718 66.648 289.718 67.992V69H288.47V70.176H289.718V75ZM299.51 72C299.51 70.26 298.142 68.88 296.366 68.88C294.59 68.88 293.222 70.26 293.222 72C293.222 73.74 294.59 75.12 296.366 75.12C298.142 75.12 299.51 73.74 299.51 72ZM294.554 72C294.554 70.932 295.298 70.104 296.366 70.104C297.422 70.104 298.166 70.932 298.166 72C298.166 73.068 297.422 73.896 296.366 73.896C295.298 73.896 294.554 73.068 294.554 72ZM300.837 75H302.157V72.072C302.157 70.872 302.841 70.236 303.597 70.236C303.837 70.236 304.029 70.272 304.257 70.344V68.988C304.077 68.952 303.909 68.94 303.741 68.94C303.057 68.94 302.385 69.384 302.157 70.068V69H300.837V75ZM305.396 75H306.716V72.048C306.716 70.788 307.304 70.08 308.156 70.08C308.876 70.08 309.224 70.692 309.224 71.628V75H310.544V72.048C310.544 70.788 311.12 70.08 311.972 70.08C312.692 70.08 313.04 70.692 313.04 71.628V75H314.36V71.412C314.36 69.876 313.556 68.88 312.2 68.88C311.408 68.88 310.64 69.3 310.28 70.068C309.956 69.324 309.308 68.88 308.42 68.88C307.652 68.88 307.052 69.252 306.716 69.816V69H305.396V75ZM315.616 72C315.616 73.716 316.864 75.12 318.508 75.12C319.372 75.12 320.092 74.676 320.428 74.196V75H321.748V69H320.428V69.804C320.092 69.324 319.372 68.88 318.508 68.88C316.864 68.88 315.616 70.284 315.616 72ZM320.536 72C320.536 73.08 319.816 73.92 318.748 73.92C317.68 73.92 316.96 73.08 316.96 72C316.96 70.92 317.68 70.08 318.748 70.08C319.816 70.08 320.536 70.92 320.536 72ZM323.536 75H324.856V72.048C324.856 70.764 325.528 70.08 326.404 70.08C327.172 70.08 327.652 70.656 327.652 71.604V75H328.972V71.388C328.972 69.864 328.072 68.88 326.68 68.88C325.9 68.88 325.216 69.216 324.856 69.816V69H323.536V75ZM336.421 72.804H335.029C334.789 73.452 334.201 73.92 333.373 73.92C332.305 73.92 331.573 73.116 331.573 72C331.573 70.884 332.305 70.08 333.373 70.08C334.201 70.08 334.789 70.548 335.029 71.196H336.421C336.097 69.864 334.957 68.88 333.373 68.88C331.549 68.88 330.229 70.272 330.229 72C330.229 73.728 331.549 75.12 333.373 75.12C334.957 75.12 336.097 74.136 336.421 72.804ZM343.261 73.116H341.881C341.605 73.692 341.029 73.956 340.369 73.956C339.301 73.956 338.605 73.236 338.557 72.324H343.333C343.453 70.284 342.169 68.88 340.333 68.88C338.485 68.88 337.249 70.224 337.249 72C337.249 73.8 338.533 75.12 340.321 75.12C341.845 75.12 342.925 74.244 343.261 73.116ZM340.297 69.984C341.029 69.984 341.713 70.416 341.917 71.388H338.605C338.785 70.464 339.469 69.984 340.297 69.984Z\",\n fill: \"#090110\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n opacity: 0.16,\n cx: 306,\n cy: 32,\n rx: 30,\n ry: 30,\n transform: \"rotate(180 306 32)\",\n fill: \"url(#paint7_linear)\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n opacity: 0.24,\n cx: 306,\n cy: 32,\n rx: 22,\n ry: 22,\n transform: \"rotate(180 306 32)\",\n fill: \"url(#paint8_linear)\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.4,\n cx: 306,\n cy: 32,\n r: 14,\n transform: \"rotate(180 306 32)\",\n fill: \"url(#paint9_linear)\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 306,\n cy: 32,\n r: 4,\n fill: \"#F1B400\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 306,\n cy: 32,\n r: 6,\n stroke: \"white\",\n strokeWidth: 4\n }))), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M289.618 181.552C289.678 182.896 290.818 184.144 292.726 184.144C294.406 184.144 295.558 183.148 295.558 181.708C295.558 180.412 294.778 179.608 293.446 179.176L292.39 178.84C291.634 178.588 291.238 178.252 291.238 177.628C291.25 177.016 291.814 176.644 292.522 176.644C293.134 176.644 293.77 176.968 293.974 177.772H295.378C295.294 176.584 294.322 175.336 292.546 175.336C290.95 175.336 289.822 176.224 289.834 177.7C289.834 178.948 290.578 179.728 291.922 180.16L292.966 180.508C293.77 180.772 294.142 181.18 294.142 181.756C294.142 182.428 293.518 182.836 292.714 182.836C291.934 182.836 291.13 182.416 291.022 181.552H289.618ZM300.517 183.928V182.752C300.325 182.824 300.061 182.872 299.809 182.872C299.125 182.872 298.801 182.596 298.801 181.852V179.176H300.517V178H298.801V176.332H297.481V178H296.233V179.176H297.481V182.068C297.481 183.424 298.381 184.06 299.533 184.06C299.941 184.06 300.253 184.012 300.517 183.928ZM301.769 184H303.089V181.072C303.089 179.872 303.773 179.236 304.529 179.236C304.769 179.236 304.961 179.272 305.189 179.344V177.988C305.009 177.952 304.841 177.94 304.673 177.94C303.989 177.94 303.317 178.384 303.089 179.068V178H301.769V184ZM311.709 182.116H310.329C310.053 182.692 309.477 182.956 308.817 182.956C307.749 182.956 307.053 182.236 307.005 181.324H311.781C311.901 179.284 310.617 177.88 308.781 177.88C306.933 177.88 305.697 179.224 305.697 181C305.697 182.8 306.981 184.12 308.769 184.12C310.293 184.12 311.373 183.244 311.709 182.116ZM308.745 178.984C309.477 178.984 310.161 179.416 310.365 180.388H307.053C307.233 179.464 307.917 178.984 308.745 178.984ZM317.6 182.344C317.6 181.432 317.084 180.808 316.004 180.532L314.996 180.268C314.492 180.136 314.192 179.932 314.192 179.548C314.192 179.164 314.564 178.936 315.068 178.936C315.536 178.936 315.932 179.176 316.052 179.68H317.372C317.276 178.6 316.376 177.88 315.08 177.88C313.736 177.88 312.848 178.552 312.848 179.56C312.848 180.436 313.352 181.108 314.384 181.372L315.368 181.636C315.992 181.792 316.256 182.02 316.256 182.428C316.256 182.836 315.86 183.064 315.284 183.064C314.696 183.064 314.156 182.824 314.048 182.176H312.68C312.752 183.376 313.844 184.12 315.248 184.12C316.592 184.12 317.6 183.508 317.6 182.344ZM323.401 182.344C323.401 181.432 322.885 180.808 321.805 180.532L320.797 180.268C320.293 180.136 319.993 179.932 319.993 179.548C319.993 179.164 320.365 178.936 320.869 178.936C321.337 178.936 321.733 179.176 321.853 179.68H323.173C323.077 178.6 322.177 177.88 320.881 177.88C319.537 177.88 318.649 178.552 318.649 179.56C318.649 180.436 319.153 181.108 320.185 181.372L321.169 181.636C321.793 181.792 322.057 182.02 322.057 182.428C322.057 182.836 321.661 183.064 321.085 183.064C320.497 183.064 319.957 182.824 319.849 182.176H318.481C318.553 183.376 319.645 184.12 321.049 184.12C322.393 184.12 323.401 183.508 323.401 182.344ZM294.081 198H295.401V189H294.081V198ZM302.767 196.116H301.387C301.111 196.692 300.535 196.956 299.875 196.956C298.807 196.956 298.111 196.236 298.063 195.324H302.839C302.959 193.284 301.675 191.88 299.839 191.88C297.991 191.88 296.755 193.224 296.755 195C296.755 196.8 298.039 198.12 299.827 198.12C301.351 198.12 302.431 197.244 302.767 196.116ZM299.803 192.984C300.535 192.984 301.219 193.416 301.423 194.388H298.111C298.291 193.464 298.975 192.984 299.803 192.984ZM305.926 198H307.09L309.814 192H308.338L306.502 196.2L304.678 192H303.214L305.926 198ZM316.173 196.116H314.793C314.517 196.692 313.941 196.956 313.281 196.956C312.213 196.956 311.517 196.236 311.469 195.324H316.245C316.365 193.284 315.081 191.88 313.245 191.88C311.397 191.88 310.161 193.224 310.161 195C310.161 196.8 311.445 198.12 313.233 198.12C314.757 198.12 315.837 197.244 316.173 196.116ZM313.209 192.984C313.941 192.984 314.625 193.416 314.829 194.388H311.517C311.697 193.464 312.381 192.984 313.209 192.984ZM317.601 198H318.921V189H317.601V198Z\",\n fill: \"#090110\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 306,\n cy: 161,\n r: 6,\n fill: \"#D295FF\",\n stroke: \"white\",\n strokeWidth: 4\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M322 139.237C321.748 142.156 319.48 145.299 316.163 147.23C313.811 148.577 311.249 149.16 309.108 148.891C311.627 147.903 314.021 145.658 315.701 142.605C316.457 141.258 316.961 139.866 317.339 138.519C319.102 138.25 320.74 138.519 322 139.237ZM296.299 142.605C295.543 141.258 295.039 139.866 294.661 138.519C292.898 138.294 291.26 138.564 290 139.282C290.252 142.201 292.52 145.344 295.837 147.275C298.189 148.622 300.751 149.205 302.892 148.936C300.373 147.858 297.979 145.658 296.299 142.605ZM301.129 133.715C299.659 132.457 298.063 131.739 296.593 131.649C295.375 134.253 295.837 138.205 297.727 141.707C299.113 144.176 301.045 146.062 303.018 147.005C301.465 144.805 300.541 141.662 300.541 138.294C300.541 136.678 300.751 135.106 301.129 133.715ZM314.273 141.662C316.163 138.205 316.625 134.253 315.407 131.604C313.895 131.694 312.299 132.457 310.871 133.67C311.249 135.106 311.459 136.633 311.459 138.25C311.459 141.662 310.535 144.76 308.94 146.96C310.955 146.062 312.887 144.176 314.273 141.662ZM306 129C303.732 130.616 302.22 134.253 302.22 138.294C302.22 142.335 303.732 145.972 306 147.589C308.268 145.972 309.78 142.335 309.78 138.294C309.78 134.253 308.268 130.616 306 129Z\",\n fill: \"#D295FF\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.8,\n d: \"M347 217L12 217\",\n stroke: \"url(#paint10_radial)\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeDasharray: \"8 8\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 306,\n cy: 217,\n r: 5,\n fill: \"#302A36\",\n stroke: \"white\",\n strokeWidth: 4\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 53,\n cy: 217,\n r: 5,\n fill: \"#302A36\",\n stroke: \"white\",\n strokeWidth: 4\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.4,\n d: \"M35.6028 239H37.0068V235.412L40.2468 230.48H38.5908L36.2988 234.008L34.0188 230.48H32.3748L35.6028 235.4V239ZM45.6659 236C45.6659 234.26 44.2979 232.88 42.5219 232.88C40.7459 232.88 39.3779 234.26 39.3779 236C39.3779 237.74 40.7459 239.12 42.5219 239.12C44.2979 239.12 45.6659 237.74 45.6659 236ZM40.7099 236C40.7099 234.932 41.4539 234.104 42.5219 234.104C43.5779 234.104 44.3219 234.932 44.3219 236C44.3219 237.068 43.5779 237.896 42.5219 237.896C41.4539 237.896 40.7099 237.068 40.7099 236ZM46.9095 236.588C46.9095 238.124 47.7615 239.12 49.1415 239.12C49.9095 239.12 50.5455 238.784 50.8935 238.184V239H52.2135V233H50.8935V235.952C50.8935 237.236 50.2815 237.92 49.4295 237.92C48.6615 237.92 48.2295 237.332 48.2295 236.372V233H46.9095V236.588ZM56.3818 236C56.3818 237.716 57.6298 239.12 59.2738 239.12C60.1378 239.12 60.8578 238.676 61.1938 238.196V239H62.5138V233H61.1938V233.804C60.8578 233.324 60.1378 232.88 59.2738 232.88C57.6298 232.88 56.3818 234.284 56.3818 236ZM61.3018 236C61.3018 237.08 60.5818 237.92 59.5138 237.92C58.4458 237.92 57.7258 237.08 57.7258 236C57.7258 234.92 58.4458 234.08 59.5138 234.08C60.5818 234.08 61.3018 234.92 61.3018 236ZM64.3021 239H65.6221V236.072C65.6221 234.872 66.3061 234.236 67.0621 234.236C67.3021 234.236 67.4941 234.272 67.7221 234.344V232.988C67.5421 232.952 67.3741 232.94 67.2061 232.94C66.5221 232.94 65.8501 233.384 65.6221 234.068V233H64.3021V239ZM74.2417 237.116H72.8617C72.5857 237.692 72.0097 237.956 71.3497 237.956C70.2817 237.956 69.5857 237.236 69.5377 236.324H74.3137C74.4337 234.284 73.1497 232.88 71.3137 232.88C69.4657 232.88 68.2297 234.224 68.2297 236C68.2297 237.8 69.5137 239.12 71.3017 239.12C72.8257 239.12 73.9057 238.244 74.2417 237.116ZM71.2777 233.984C72.0097 233.984 72.6937 234.416 72.8977 235.388H69.5857C69.7657 234.464 70.4497 233.984 71.2777 233.984ZM41.6321 253H42.9521V250.048C42.9521 248.764 43.6241 248.08 44.5001 248.08C45.2681 248.08 45.7481 248.656 45.7481 249.604V253H47.0681V249.388C47.0681 247.864 46.1681 246.88 44.7761 246.88C43.9961 246.88 43.3121 247.216 42.9521 247.816V244H41.6321V253ZM54.3491 251.116H52.9691C52.6931 251.692 52.1171 251.956 51.4571 251.956C50.3891 251.956 49.6931 251.236 49.6451 250.324H54.4211C54.5411 248.284 53.2571 246.88 51.4211 246.88C49.5731 246.88 48.3371 248.224 48.3371 250C48.3371 251.8 49.6211 253.12 51.4091 253.12C52.9331 253.12 54.0131 252.244 54.3491 251.116ZM51.3851 247.984C52.1171 247.984 52.8011 248.416 53.0051 249.388H49.6931C49.8731 248.464 50.5571 247.984 51.3851 247.984ZM55.7767 253H57.0967V250.072C57.0967 248.872 57.7807 248.236 58.5367 248.236C58.7767 248.236 58.9687 248.272 59.1967 248.344V246.988C59.0167 246.952 58.8487 246.94 58.6807 246.94C57.9967 246.94 57.3247 247.384 57.0967 248.068V247H55.7767V253ZM65.7163 251.116H64.3363C64.0603 251.692 63.4843 251.956 62.8243 251.956C61.7563 251.956 61.0603 251.236 61.0123 250.324H65.7883C65.9083 248.284 64.6243 246.88 62.7883 246.88C60.9403 246.88 59.7043 248.224 59.7043 250C59.7043 251.8 60.9883 253.12 62.7763 253.12C64.3003 253.12 65.3803 252.244 65.7163 251.116ZM62.7523 247.984C63.4843 247.984 64.1683 248.416 64.3723 249.388H61.0603C61.2403 248.464 61.9243 247.984 62.7523 247.984Z\",\n fill: \"#090110\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.4,\n d: \"M296.142 239H298.758C301.29 239 303.222 237.152 303.222 234.74C303.222 232.328 301.29 230.48 298.758 230.48H296.142V239ZM297.546 237.692V231.788H298.758C300.582 231.788 301.794 233.072 301.794 234.74C301.794 236.408 300.582 237.692 298.758 237.692H297.546ZM304.179 236C304.179 237.716 305.427 239.12 307.071 239.12C307.935 239.12 308.655 238.676 308.991 238.196V239H310.311V233H308.991V233.804C308.655 233.324 307.935 232.88 307.071 232.88C305.427 232.88 304.179 234.284 304.179 236ZM309.099 236C309.099 237.08 308.379 237.92 307.311 237.92C306.243 237.92 305.523 237.08 305.523 236C305.523 234.92 306.243 234.08 307.311 234.08C308.379 234.08 309.099 234.92 309.099 236ZM314.019 241.508L317.871 233H316.407L314.571 237.248L312.723 233H311.271L313.851 238.676L312.567 241.508H314.019ZM305.672 250.6C305.672 249.628 305.132 248.908 304.388 248.584C304.952 248.248 305.432 247.564 305.432 246.736C305.444 245.344 304.352 244.336 302.768 244.336C301.232 244.336 299.876 245.368 299.876 247.084H301.208C301.208 246.172 301.892 245.632 302.768 245.632C303.512 245.632 304.112 246.112 304.1 246.82C304.088 247.528 303.536 248.032 302.696 248.032H302.024V249.16H302.696C303.68 249.16 304.34 249.616 304.34 250.516C304.328 251.344 303.668 251.824 302.816 251.824C301.856 251.824 301.112 251.26 301.04 250.324H299.72C299.756 252.04 301.148 253.12 302.816 253.12C304.508 253.12 305.672 252.1 305.672 250.6ZM313.1 249.844V247.612C313.1 245.692 311.816 244.336 310.004 244.336C308.204 244.336 306.92 245.692 306.92 247.612V249.844C306.92 251.764 308.204 253.12 310.004 253.12C311.816 253.12 313.1 251.764 313.1 249.844ZM308.24 249.844V247.612C308.24 246.376 308.972 245.632 310.004 245.632C311.048 245.632 311.78 246.376 311.78 247.612V249.844C311.78 251.092 311.048 251.824 310.004 251.824C308.972 251.824 308.24 251.092 308.24 249.844Z\",\n fill: \"#090110\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d\",\n x: 274,\n y: 0,\n width: 64,\n height: 64,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 12\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.945098 0 0 0 0 0.705882 0 0 0 0 0 0 0 0 1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 192.889,\n y1: 122,\n x2: 50.953,\n y2: 19.8936,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#D295FF\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D295FF\",\n stopOpacity: 0.1\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear\",\n x1: 166.111,\n y1: 122,\n x2: 308.047,\n y2: 19.8936,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F2B604\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F2B604\",\n stopOpacity: 0.1\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear\",\n x1: 187.5,\n y1: 0,\n x2: 187.5,\n y2: 32.5107,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear\",\n x1: -16.5,\n y1: 5.99998,\n x2: 469.213,\n y2: 41.4833,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#D295FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D295FF\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear\",\n x1: 347,\n y1: 28.0003,\n x2: 1.43137,\n y2: 127.174,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1B400\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F1B400\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear\",\n x1: 95.5,\n y1: 0,\n x2: 95.5,\n y2: 40,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear\",\n x1: 442.5,\n y1: 26,\n x2: 442.5,\n y2: 66,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"white\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"white\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear\",\n x1: 306,\n y1: 93.5,\n x2: 315.997,\n y2: 3.10566,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1B400\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F1B400\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear\",\n x1: 306,\n y1: 77.1,\n x2: 313.331,\n y2: 10.8108,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1B400\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F1B400\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint9_linear\",\n x1: 306,\n y1: 60.7,\n x2: 310.665,\n y2: 18.516,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1B400\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F1B400\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint10_radial\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(179.5 217.5) rotate(180) scale(167.5 187.5)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#090110\",\n stopOpacity: 0\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgProductivityGraph);\nexport default __webpack_public_path__ + \"static/media/productivity_graph.e196fcc91560abbd78d73b2e4dfd1460.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgProfile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11,\n height: 12,\n viewBox: \"0 0 11 12\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.40019 5.40004C6.89136 5.40004 8.10019 4.1912 8.10019 2.70002C8.10019 1.20884 6.89136 0 5.40019 0C3.90903 0 2.7002 1.20884 2.7002 2.70002C2.7002 4.1912 3.90903 5.40004 5.40019 5.40004Z\",\n fill: \"#B250FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 11.325C0 11.6978 0.34538 12 0.771427 12C1.19747 12 1.41265 12 2.14233 12C3.63549 12 7.87181 12 9.04505 12C9.78999 12 9.6025 12 10.0285 12C10.4546 12 10.8 11.6978 10.8 11.325C10.8 8.71544 8.38232 6.59998 5.39999 6.59998C2.41766 6.59998 0 8.71544 0 11.325Z\",\n fill: \"#B250FF\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgProfile);\nexport default __webpack_public_path__ + \"static/media/profile.d39e79a0ef1794b621b40c4eb5fbf40f.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__iFqYy\",\"title\":\"styles_title__ZMXHd\",\"description\":\"styles_description__gaYoh\",\"button\":\"styles_button__+OzlM\"};","import React, { SyntheticEvent } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { CustomQuestion } from 'onboarding/question/Question';\nimport Graph from 'assets/onboarding/graphs/productivity_graph.svg';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const ProductivityGraph: React.FC = ({ question }: Props) => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n\n const features = useFeatures();\n\n const nextButtonHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n setTimeout(() => {\n dispatch(goToNextQuestion(features));\n }, 250);\n });\n\n return (\n
\n \"\"\n
{t('PersonalizationProof1Title')}
\n \n
\n Hoffmann, S.G., Asnaani, A., Vonk, I.J. et al. The Efficacy of Cognitive\n Behavioral Therapy a Review of Meta-analyses. Cogn Ther Res 36,\n 427-440(2012).\n
\n \n \n \n
\n );\n};\n","export type Option = {\n id: string;\n text?: string;\n};\n\nexport const DEFAULT_OPTIONS: Option[] = [{ id: 'yes' }, { id: 'no' }];\n\nexport const GAD_OPTIONS: Option[] = [\n { id: 'not_at_all' },\n { id: 'several_days' },\n { id: 'more_than_half_days' },\n { id: 'nearly_every_day' },\n];\n\nexport const RELATE_SCALE_OPTIONS: Option[] = [\n { id: 'not_at_all', text: '1' },\n { id: 'mildy', text: '2' },\n { id: 'moderately', text: '3' },\n { id: 'severely', text: '4' },\n { id: 'agree', text: '5' },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__uGmAJ\",\"speed\":\"styles_speed__5koCk\",\"enter\":\"styles_enter__ubMHx\",\"leave\":\"styles_leave__-qtwE\",\"title\":\"styles_title__XMhj5\",\"statement\":\"styles_statement__vbZI3\",\"note\":\"styles_note__61cE5\",\"options\":\"styles_options__kHOZD\",\"scale\":\"styles_scale__kWeGU\",\"option\":\"styles_option__EHX9j\",\"active\":\"styles_active__fuuAb\",\"multiple\":\"styles_multiple__SuDPw\",\"button\":\"styles_button__9nVjc\"};","import React from 'react';\nimport { StatementQuestion } from './StatementQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport { useStatementQuestionLogic } from './StatementQuestion.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const StatementQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const { t } = useTranslation();\n\n const {\n isRelateScaleQuestion,\n activeOption,\n options,\n containerStyle,\n optionHandler,\n } = useStatementQuestionLogic(question);\n\n return (\n \n

{t(question.title)}

\n

{t(question.statement)}

\n \n {options.map((option) => (\n \n {isRelateScaleQuestion ? option.text : t(option.id)}\n \n ))}\n \n {isRelateScaleQuestion && (\n
\n

Strongly disagree

\n

Strongly agree

\n
\n )}\n \n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { SyntheticEvent, useEffect, useMemo, useState } from 'react';\nimport { StatementQuestion } from './StatementQuestion';\nimport {\n RELATE_SCALE_OPTIONS,\n Option,\n DEFAULT_OPTIONS,\n GAD_OPTIONS,\n} from './StatementQuestion.constants';\nimport { useFeatures } from 'useFeatures';\n\nexport const useStatementQuestionLogic = (question: StatementQuestion) => {\n const dispatch = useAppDispatch();\n\n const { answers } = useAppSelector((state) => state.onboarding);\n\n const [activeOption, setActiveOption] = useState('');\n const [containerStyle, setContainerStyle] = useState('');\n const [isLeaving, setLeaving] = useState(false);\n\n const features = useFeatures();\n\n const { isRelateScaleQuestion } = features;\n\n const options: Option[] = useMemo(() => {\n if (question.isGadStatementQuestion) {\n return GAD_OPTIONS;\n } else if (isRelateScaleQuestion) {\n return RELATE_SCALE_OPTIONS;\n }\n return DEFAULT_OPTIONS;\n }, [question, isRelateScaleQuestion]);\n\n useEffect(() => {\n const currentAnswer = answers[question.id];\n setContainerStyle('enter');\n setLeaving(false);\n if (currentAnswer && typeof currentAnswer === 'string') {\n setActiveOption(currentAnswer);\n } else {\n setActiveOption('');\n }\n }, [question]);\n\n const optionHandler = (option: Option) => (e: SyntheticEvent) => {\n e.preventDefault();\n if (!isLeaving) {\n setActiveOption(option.id);\n setLeaving(true);\n setTimeout(() => {\n setContainerStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id, option.id));\n dispatch(setAnswer(question.id, option.id, features));\n }, 200);\n }, 100);\n }\n };\n\n return {\n isRelateScaleQuestion,\n activeOption,\n containerStyle,\n options,\n optionHandler,\n };\n};\n","import { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { Answers } from 'bootstrap/onboarding/state';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { pushWithSearchQuery } from 'utils';\nimport {\n GadResultData,\n MappedGadAnswersWeight,\n GadTestResults,\n} from './GadResult.constants';\nimport { AnxietyTypes, GadResult } from './GadResult.types';\n\ninterface Props {\n gadTestResult: GadResult;\n nextButtonHandler: (args?: any) => void;\n}\n\nexport const useGadTest = (): Props => {\n const dispatch = useAppDispatch();\n\n const { answers } = useAppSelector((state) => state.onboarding);\n const [result, setResult] = useState(0);\n\n const nextButtonHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n dispatch(pushWithSearchQuery('/done'));\n });\n\n useEffect(() => {\n setResult(getGadTestResult(answers));\n }, [answers]);\n\n return {\n gadTestResult: GadResultData[getAnxietyType(result)],\n nextButtonHandler,\n };\n};\n\nexport const getAnxietyType = (testResult: number): AnxietyTypes => {\n const { LowResult, MildResult, ModerateResult } = GadTestResults;\n\n if (testResult <= LowResult) {\n return AnxietyTypes.Minimal;\n } else if (testResult <= MildResult) {\n return AnxietyTypes.Mild;\n } else if (testResult <= ModerateResult) {\n return AnxietyTypes.Moderate;\n } else {\n return AnxietyTypes.Severe;\n }\n};\n\nexport const getGadTestResult = (answers: Answers): number => {\n const result = Object.values(answers)\n .filter((answer) => answer && typeof answer === 'string')\n .map((answer) => MappedGadAnswersWeight[answer as string] || 0)\n .reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n return result;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__36n5C\",\"image\":\"styles_image__Sov9U\",\"content\":\"styles_content__1uwUv\",\"label\":\"styles_label__LtIpF\",\"title\":\"styles_title__xqZtP\",\"description\":\"styles_description__N42qB\",\"note\":\"styles_note__S1Gii\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useGadTest } from './GadResults.hook';\nimport styles from './styles.module.scss';\n\nexport const GadResults = () => {\n const { t } = useTranslation();\n const { gadTestResult, nextButtonHandler } = useGadTest();\n\n const { title, description, imageSrc } = gadTestResult;\n\n return (\n
\n {imageSrc && \"\"}\n
\n
{t('GadResultLabel')}
\n
{t(title)}
\n
{t(description)}
\n \n
{t('GadResultNote')}
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__zGXlg\",\"speed\":\"styles_speed__22tDC\",\"options\":\"styles_options__sXACw\",\"option\":\"styles_option__EatZa\",\"button\":\"styles_button__a3aCj\",\"title\":\"styles_title__6oGO9\",\"description\":\"styles_description__WKR2D\",\"enter\":\"styles_enter__Jaoq3\",\"leave\":\"styles_leave__es4Z6\",\"active\":\"styles_active__cKbgO\",\"optionTitle\":\"styles_optionTitle__FO25+\"};","import React from 'react';\nimport { PlaceQuestion } from './PlaceQuestion';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { usePlaceComponentLogic } from './PlaceQuestion.hook';\nimport { useTranslation } from 'react-i18next';\nimport Spacer from 'components/spacer/Spacer';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const PlaceQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const { activeOptions, optionStyle, nextHandler, optionHandler } =\n usePlaceComponentLogic(question);\n const { t } = useTranslation();\n\n return (\n \n

{t(question.title)}

\n

{t(question.description)}

\n
\n {question.options.map((option) => (\n \n \n
{option.text}
\n
\n ))}\n \n\n \n {activeOptions.length > 0 && (\n \n )}\n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { PlaceOption } from './PlaceOption';\nimport { PlaceQuestion } from './PlaceQuestion';\nimport { useFeatures } from 'useFeatures';\n\nexport const usePlaceComponentLogic = (question: PlaceQuestion) => {\n const dispatch = useAppDispatch();\n const { answers } = useAppSelector((state) => state.onboarding);\n const [activeOptions, setActiveOptions] = useState([]);\n const [optionStyle, setOptionStyle] = useState('');\n const [isLeaving, setLeaving] = useState(false);\n\n const features = useFeatures();\n\n useEffect(() => {\n setActiveOptionsIds();\n setOptionStyle('enter');\n setLeaving(false);\n }, [question]);\n\n const optionHandler = (option: PlaceOption) => (e: SyntheticEvent) => {\n e.preventDefault();\n\n if (activeOptions.includes(option.id)) {\n setActiveOptions(activeOptions.filter((id) => id !== option.id));\n } else {\n setActiveOptions([...activeOptions, option.id]);\n }\n };\n\n const setActiveOptionsIds = () => {\n const currentAnswer = answers[question.id];\n\n if (!currentAnswer) setActiveOptions([]);\n\n if (\n currentAnswer &&\n typeof currentAnswer === 'string' &&\n question.hasOptionId(currentAnswer)\n ) {\n setActiveOptions([currentAnswer]);\n } else if (Array.isArray(currentAnswer)) {\n setActiveOptions(\n (currentAnswer as string[]).filter((it) => question.hasOptionId(it)),\n );\n } else {\n setActiveOptions([]);\n }\n };\n\n const nextHandler = (e: SyntheticEvent) => {\n e.preventDefault();\n if (!isLeaving) {\n setOptionStyle('leave');\n setLeaving(true);\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id, activeOptions));\n dispatch(setAnswer(question.id, activeOptions, features));\n }, 100);\n }\n };\n\n return {\n activeOptions,\n optionStyle,\n optionHandler,\n nextHandler,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRatingStar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 13,\n viewBox: \"0 0 14 13\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.43928 10.5684C7.17425 10.3878 6.82575 10.3878 6.56072 10.5684L4.09501 12.2479C3.49 12.66 2.70166 12.0873 2.90664 11.3845L3.74202 8.52047C3.83181 8.21262 3.72412 7.88118 3.47053 7.68491L1.11126 5.85888C0.532358 5.41083 0.833476 4.48408 1.56518 4.46187L4.54717 4.37133C4.8677 4.36159 5.14964 4.15675 5.25795 3.85492L6.26554 1.04685C6.51278 0.357826 7.48722 0.357827 7.73446 1.04685L8.74205 3.85492C8.85036 4.15675 9.1323 4.36159 9.45283 4.37133L12.4348 4.46187C13.1665 4.48408 13.4676 5.41083 12.8887 5.85888L10.5295 7.68491C10.2759 7.88118 10.1682 8.21262 10.258 8.52047L11.0934 11.3845C11.2983 12.0873 10.51 12.66 9.90499 12.2479L7.43928 10.5684Z\",\n fill: \"#FF9600\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRatingStar);\nexport default __webpack_public_path__ + \"static/media/rating_star.a7b497ce6bc67d258731f17daca91250.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogoLoona(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 19,\n viewBox: \"0 0 56 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.2605 3.11874C21.7329 3.70688 21.7831 4.61908 22.3721 5.14596C22.961 5.67284 23.8745 5.62269 24.4021 5.03456L26.7728 2.39184C27.3004 1.8037 27.2502 0.891497 26.6613 0.36462C26.0725 -0.162257 25.1588 -0.112111 24.6312 0.476024L22.2605 3.11874ZM1.29072 1.79966C0.546529 1.87064 0 2.5374 0 3.28388V17.4243C0 18.1709 0.546529 18.8375 1.29072 18.9085C2.14439 18.9899 2.86284 18.3216 2.86284 17.4859V3.22235C2.86284 2.38654 2.14439 1.71826 1.29072 1.79966ZM10.915 15.869C8.70803 16.2333 6.81778 14.3459 7.18251 12.142C7.40354 10.8066 8.48185 9.72969 9.81903 9.50869C12.0262 9.14419 13.9167 11.0319 13.5517 13.236C13.3305 14.5712 12.2522 15.6481 10.915 15.869ZM10.9891 6.6349C7.13573 6.25388 3.92388 9.46125 4.30558 13.3093C4.58809 16.1566 6.89439 18.4597 9.74569 18.7418C13.5989 19.123 16.8109 15.9156 16.4292 12.0677C16.1469 9.22011 13.8406 6.91702 10.9891 6.6349ZM20.1742 12.1413C19.8092 14.3455 21.6993 16.2333 23.9066 15.8689C25.2436 15.6482 26.3222 14.5713 26.5433 13.2361C26.9081 11.0322 25.0182 9.14441 22.8112 9.50862C21.474 9.72921 20.3954 10.8062 20.1742 12.1413ZM17.2976 13.31C16.9153 9.46145 20.1276 6.25352 23.9813 6.63496C26.8327 6.91708 29.1389 9.22031 29.4211 12.0678C29.8025 15.9154 26.5914 19.1223 22.7384 18.7419C19.8871 18.4602 17.5805 16.1574 17.2976 13.31ZM33.7023 7.2321C34.5138 6.83094 35.4267 6.6041 36.3937 6.6041C39.6568 6.6041 42.3122 9.16806 42.4705 12.3874H42.4855V17.2957C42.4855 18.1313 41.7672 18.7996 40.9136 18.7182C40.1694 18.6473 39.6228 17.9805 39.6228 17.234V12.6726C39.6142 10.9015 38.1692 9.46296 36.3937 9.46296C34.618 9.46296 33.1731 10.9015 33.1645 12.6726V17.2957C33.1645 18.1313 32.446 18.7996 31.5922 18.7182C30.8482 18.6473 30.3017 17.9805 30.3017 17.234V8.15042C30.3017 7.38282 30.8773 6.70078 31.6444 6.65438C32.0802 6.62799 32.4746 6.79746 32.7519 7.08208C32.9967 7.3335 33.3876 7.38782 33.7023 7.2321ZM46.2459 12.1419C45.8812 14.3458 47.7714 16.2332 49.9784 15.8689C51.3156 15.648 52.3939 14.5711 52.6151 13.2359C52.9801 11.0318 51.0895 9.14409 48.8824 9.50872C47.5454 9.72958 46.4669 10.8065 46.2459 12.1419ZM53.1084 7.08778C53.3834 6.8019 53.7755 6.63063 54.2096 6.65369C54.9817 6.69467 55.5634 7.38004 55.5634 8.15181V17.225C55.5634 17.9967 54.9817 18.682 54.2098 18.723C53.7754 18.746 53.383 18.5745 53.1082 18.2887C52.858 18.0287 52.4593 17.9783 52.1359 18.139C51.2425 18.5828 50.2248 18.8145 49.1486 18.7662C46.0543 18.6275 43.5101 16.1096 43.3456 13.0209C43.1585 9.50977 45.9543 6.6041 49.4296 6.6041C50.4065 6.6041 51.3289 6.83496 52.1469 7.24377C52.4659 7.4031 52.8613 7.34448 53.1084 7.08778Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoLoona);\nexport default __webpack_public_path__ + \"static/media/logo_loona.40e6cac69c0e50021a456dd44f6d6243.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__e3GhC\",\"titleWrapper\":\"styles_titleWrapper__2KINv\",\"title\":\"styles_title__lh68O\",\"subtitle\":\"styles_subtitle__tYtbW\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n icon: JSX.Element | JSX.Element[];\n title: string;\n subtitle: string;\n};\n\nexport const Label: React.FC = ({ icon, title, subtitle }: Props) => {\n return (\n
\n
\n {icon}\n
{title}
\n
\n
{subtitle}
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__mRmNL\",\"button\":\"styles_button__VpA8X\",\"labelsContainer\":\"styles_labelsContainer__9zgUz\",\"imageWrapper\":\"styles_imageWrapper__c1hBa\",\"image\":\"styles_image__TlKUu\",\"content\":\"styles_content__uRDc4\",\"title\":\"styles_title__IqPiZ\",\"description\":\"styles_description__b0679\"};","import Spacer from 'components/spacer/Spacer';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PersonalizationD1Image from 'assets/onboarding/personalization_d1.png';\nimport { ReactComponent as Profile } from 'assets/onboarding/profile.svg';\nimport { ReactComponent as Star } from 'assets/onboarding/rating_star.svg';\nimport { Label } from './components/Label';\nimport { usePersonalizationLogic } from './Personalization.hook';\nimport { CustomQuestion } from '../Question';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport styles from './styles.module.scss';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\n\ntype Props = QuestionComponentProps;\n\nexport const Personalization: React.FC = ({ question }: Props) => {\n const { t } = useTranslation();\n const { nextButtonHandler } = usePersonalizationLogic(question);\n\n return (\n
\n
\n \"\"\n
\n }\n title={t('PersonalizationD1Label1Title', { value: '4.5/5' })}\n subtitle={t('PersonalizationD1Label1Subtitle', { value: '13,638' })}\n />\n }\n title={t('PersonalizationD1Label2Title', { value: '3M' })}\n subtitle={t('PersonalizationD1Label2Subtitle')}\n />\n
\n
\n
\n \n
{t('PersonalizationD1V2Title')}
\n
\n {t('PersonalizationD1V2DescriptionLine1')}\n
\n
\n {t('PersonalizationD1V2DescriptionLine2')}\n
\n \n \n \n
\n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { CustomQuestion } from '../Question';\nimport { useFeatures } from 'useFeatures';\n\nexport const usePersonalizationLogic = (question: CustomQuestion) => {\n const dispatch = useAppDispatch();\n\n const features = useFeatures();\n\n const nextButtonHandler = useSubmit(() => {\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n dispatch(goToNextQuestion(features));\n }, 250);\n });\n\n return {\n nextButtonHandler,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPurpleCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 10,\n viewBox: \"0 0 14 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3337 1L5.00033 8.33333L1.66699 5\",\n stroke: \"#802DF6\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPurpleCheck);\nexport default __webpack_public_path__ + \"static/media/purple_check.59eaab8a7fa14feca2223465155ebd5e.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__xljLK\",\"animal\":\"styles_animal__fCxQM\",\"contentWrapper\":\"styles_contentWrapper__2RTHO\",\"title\":\"styles_title__hCzFc\",\"subtitle\":\"styles_subtitle__dUJGj\",\"description\":\"styles_description__Mpe4y\",\"figcaption\":\"styles_figcaption__ZSrrZ\",\"sticker\":\"styles_sticker__QIr1n\",\"cardContainer\":\"styles_cardContainer__EyxQp\",\"bedTimeCard\":\"styles_bedTimeCard__N+hzM\",\"label\":\"styles_label__-wq0E\",\"time\":\"styles_time__xOj8s\",\"wakeUpCard\":\"styles_wakeUpCard__Yevgw\",\"stickyContainer\":\"styles_stickyContainer__9bwVD\",\"morning\":\"styles_morning__Y5LwU\",\"neutral\":\"styles_neutral__hK9da\",\"evening\":\"styles_evening__YNMJy\",\"logo\":\"styles_logo__5DwK-\",\"background\":\"styles_background__vMyDS\",\"note\":\"styles_note__QZsyp\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ReactComponent as Logo } from 'assets/logo_loona.svg';\nimport { getLocaleIntervalTimeString } from 'utils/utils';\nimport { useRmeqTestLogic } from '../MeqResults.hook';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\nexport const MeqResultsV2 = () => {\n const { t } = useTranslation();\n const { rmeqTestResult, type, nextButtonHandler } = useRmeqTestLogic();\n\n const { title, description, wakeUpTime, bedTime, background, stickerImg } =\n rmeqTestResult;\n\n const { isMeqResultAnimalFlow } = useFeatures();\n\n return (\n \n \n
\n {!isMeqResultAnimalFlow && (\n \"\"\n )}\n
{t('RMeqResultTitle')}
\n
{t(title)}
\n \"\"\n
{t(description)}
\n
\n
{t('RMeqResultLabel1')}
\n
\n {getLocaleIntervalTimeString(bedTime)?.toLowerCase()}\n
\n
\n
\n
{t('RMeqResultLabel2')}
\n
\n {getLocaleIntervalTimeString(wakeUpTime)?.toLowerCase()}\n
\n
\n
{t('RMeqResultFigcaption')}
\n \n \n \n
\n
{t('RmeqResultNote')}
\n \n );\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcHint(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.42773 14.8566C7.42773 10.1227 11.2653 6.28516 15.9992 6.28516C20.733 6.28516 24.5706 10.1227 24.5706 14.8566C24.5706 19.5905 20.733 23.428 15.9992 23.428C11.2653 23.428 7.42773 19.5905 7.42773 14.8566ZM15.9992 8.57087C12.5277 8.57087 9.71345 11.3851 9.71345 14.8566C9.71345 18.3281 12.5277 21.1423 15.9992 21.1423C19.4707 21.1423 22.2849 18.3281 22.2849 14.8566C22.2849 11.3851 19.4707 8.57087 15.9992 8.57087Z\",\n fill: \"#B250FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.8571 20.5703C19.4883 20.5703 20 21.082 20 21.7132V26.856C20 29.0652 18.2091 30.856 16 30.856C13.7909 30.856 12 29.0652 12 26.856V21.7132H14.2857V26.856C14.2857 27.8028 15.0532 28.5703 16 28.5703C16.9468 28.5703 17.7143 27.8028 17.7143 26.856V21.7132C17.7143 21.082 18.226 20.5703 18.8571 20.5703Z\",\n fill: \"#B250FF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.0003 4.00056C16.6315 4.00056 17.1431 3.48888 17.1431 2.8577C17.1431 2.22652 16.6315 1.71484 16.0003 1.71484C15.3691 1.71484 14.8574 2.22652 14.8574 2.8577C14.8574 3.48888 15.3691 4.00056 16.0003 4.00056Z\",\n fill: \"#B250FF\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.2852 2.85882C14.2852 1.91204 15.0527 1.14453 15.9994 1.14453C16.9462 1.14453 17.7137 1.91204 17.7137 2.85882C17.7137 3.80559 16.9462 4.5731 15.9994 4.5731C15.0527 4.5731 14.2852 3.80559 14.2852 2.85882ZM15.9994 2.28739C15.6839 2.28739 15.428 2.54323 15.428 2.85882C15.428 3.17441 15.6839 3.43025 15.9994 3.43025C16.315 3.43025 16.5709 3.17441 16.5709 2.85882C16.5709 2.54323 16.315 2.28739 15.9994 2.28739Z\",\n fill: \"#B250FF\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.8442 7.01421C24.2905 7.46052 25.0142 7.46052 25.4605 7.01421C25.9068 6.5679 25.9068 5.84428 25.4605 5.39797C25.0142 4.95165 24.2905 4.95165 23.8442 5.39797C23.3979 5.84428 23.3979 6.5679 23.8442 7.01421Z\",\n fill: \"#B250FF\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.4402 4.99343C24.1096 4.32396 25.1951 4.32396 25.8645 4.99343C26.534 5.6629 26.534 6.74833 25.8645 7.4178C25.1951 8.08727 24.1096 8.08727 23.4402 7.4178C22.7707 6.74833 22.7707 5.6629 23.4402 4.99343ZM25.0564 5.80156C24.8332 5.5784 24.4714 5.5784 24.2483 5.80156C24.0251 6.02471 24.0251 6.38652 24.2483 6.60968C24.4714 6.83283 24.8332 6.83283 25.0564 6.60968C25.2796 6.38652 25.2796 6.02471 25.0564 5.80156Z\",\n fill: \"#B250FF\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.8569 14.8577C26.8569 15.4889 27.3685 16.0006 27.9997 16.0006C28.6309 16.0006 29.1426 15.4889 29.1426 14.8577C29.1426 14.2265 28.6309 13.7148 27.9997 13.7148C27.3685 13.7148 26.8569 14.2265 26.8569 14.8577Z\",\n fill: \"#B250FF\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.0006 13.1445C28.9473 13.1445 29.7148 13.912 29.7148 14.8588C29.7148 15.8056 28.9473 16.5731 28.0006 16.5731C27.0538 16.5731 26.2863 15.8056 26.2863 14.8588C26.2863 13.912 27.0538 13.1445 28.0006 13.1445ZM28.572 14.8588C28.572 14.5432 28.3161 14.2874 28.0006 14.2874C27.685 14.2874 27.4291 14.5432 27.4291 14.8588C27.4291 15.1744 27.685 15.4302 28.0006 15.4302C28.3161 15.4302 28.572 15.1744 28.572 14.8588Z\",\n fill: \"#B250FF\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.8452 22.6997C23.3989 23.146 23.3989 23.8696 23.8452 24.3159C24.2915 24.7622 25.0151 24.7622 25.4614 24.3159C25.9077 23.8696 25.9077 23.146 25.4614 22.6997C25.0151 22.2534 24.2915 22.2534 23.8452 22.6997Z\",\n fill: \"#B250FF\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25.864 22.2956C26.5335 22.9651 26.5335 24.0505 25.864 24.72C25.1945 25.3895 24.1091 25.3895 23.4396 24.72C22.7702 24.0505 22.7702 22.9651 23.4396 22.2956C24.1091 21.6262 25.1945 21.6262 25.864 22.2956ZM25.0559 23.9119C25.279 23.6887 25.279 23.3269 25.0559 23.1038C24.8327 22.8806 24.4709 22.8806 24.2477 23.1038C24.0246 23.3269 24.0246 23.6887 24.2477 23.9119C24.4709 24.135 24.8327 24.135 25.0559 23.9119Z\",\n fill: \"#B250FF\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.15578 22.7006C7.70946 22.2543 6.98585 22.2543 6.53953 22.7006C6.09322 23.1469 6.09322 23.8706 6.53953 24.3169C6.98585 24.7632 7.70946 24.7632 8.15578 24.3169C8.60209 23.8706 8.60209 23.1469 8.15578 22.7006Z\",\n fill: \"#B250FF\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.55984 24.7214C7.89037 25.3909 6.80494 25.3909 6.13547 24.7214C5.466 24.0519 5.466 22.9665 6.13547 22.297C6.80494 21.6276 7.89037 21.6276 8.55984 22.297C9.22931 22.9665 9.22931 24.0519 8.55984 24.7214ZM6.9436 23.9133C7.16675 24.1364 7.52856 24.1364 7.75172 23.9133C7.97487 23.6901 7.97487 23.3283 7.75172 23.1052C7.52856 22.882 7.16675 22.882 6.9436 23.1052C6.72044 23.3283 6.72044 23.6901 6.9436 23.9133Z\",\n fill: \"#B250FF\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.14314 14.8571C5.14314 14.226 4.63146 13.7143 4.00028 13.7143C3.3691 13.7143 2.85742 14.226 2.85742 14.8571C2.85742 15.4883 3.3691 16 4.00028 16C4.63146 16 5.14314 15.4883 5.14314 14.8571Z\",\n fill: \"#B250FF\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.99944 16.5703C3.05267 16.5703 2.28516 15.8028 2.28516 14.856C2.28516 13.9093 3.05267 13.1417 3.99944 13.1417C4.94622 13.1417 5.71373 13.9093 5.71373 14.856C5.71373 15.8028 4.94622 16.5703 3.99944 16.5703ZM3.42801 14.856C3.42801 15.1716 3.68385 15.4275 3.99944 15.4275C4.31503 15.4275 4.57087 15.1716 4.57087 14.856C4.57087 14.5404 4.31503 14.2846 3.99944 14.2846C3.68385 14.2846 3.42801 14.5404 3.42801 14.856Z\",\n fill: \"#B250FF\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.15483 7.01125C8.60115 6.56493 8.60115 5.84132 8.15483 5.395C7.70852 4.94869 6.9849 4.94869 6.53859 5.395C6.09228 5.84132 6.09228 6.56493 6.53859 7.01125C6.9849 7.45756 7.70852 7.45756 8.15483 7.01125Z\",\n fill: \"#B250FF\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.13601 7.41531C5.46654 6.74584 5.46654 5.66041 6.13601 4.99094C6.80548 4.32147 7.89091 4.32147 8.56038 4.99094C9.22985 5.66041 9.22985 6.74584 8.56038 7.41531C7.89091 8.08478 6.80548 8.08478 6.13601 7.41531ZM6.94413 5.79906C6.72098 6.02222 6.72098 6.38403 6.94413 6.60719C7.16729 6.83034 7.5291 6.83034 7.75226 6.60719C7.97541 6.38403 7.97541 6.02222 7.75226 5.79906C7.5291 5.57591 7.16729 5.57591 6.94413 5.79906Z\",\n fill: \"#B250FF\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcHint);\nexport default __webpack_public_path__ + \"static/media/ic_hint.08757c1512613d523b02b6fe1f00b780.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__UVHm3\",\"title\":\"styles_title__doCn8\",\"accent\":\"styles_accent__LM6Qv\",\"description\":\"styles_description__szg78\",\"content\":\"styles_content__915V8\",\"buttonContainer\":\"styles_buttonContainer__Ga71Q\",\"benefitsList\":\"styles_benefitsList__QMEuD\",\"check\":\"styles_check__mE4Y7\"};","import React from 'react';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { CustomQuestion } from '../Question';\nimport { ReactComponent as Checked } from 'assets/purple_check.svg';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport Spacer from 'components/spacer/Spacer';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { appAnalytics } from 'analytics';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const PersonalizationD3: React.FC = ({ question }: Props) => {\n const dispatch = useAppDispatch();\n const features = useFeatures();\n\n const nextButtonHandler = () => {\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n dispatch(goToNextQuestion(features));\n }, 250);\n };\n\n return (\n
\n

\n What is an escape session,\n anyway?\n

\n

\n During an escape, you will complete simple tasks guided by the\n narrator's soothing voice, and watch a fascinating story unfold before\n your very eyes.\n

\n
\n

How does that work

\n

\n Each escape session bundles together science-based relaxation\n techniques, such as guided meditation, art therapy, music therapy, and\n breathing exercises.\n

\n

Escape session benefits

\n
    \n
  • \n Lower stress level before sleep\n
  • \n
  • \n Positive sleep association\n
  • \n
  • \n Help to build healthy bedtime\n ritual\n
  • \n
\n \n \n \n \n
\n
\n );\n};\n","import { StepperItem } from '../../StepperItem';\n\nexport enum DotStates {\n Filled,\n Checked,\n Numbered,\n}\n\nexport abstract class BaseDot implements StepperItem {\n state: DotStates;\n\n protected constructor(state: DotStates) {\n this.state = state;\n }\n}\n\nexport class FilledDot extends BaseDot {\n constructor() {\n super(DotStates.Filled);\n }\n}\n\nexport class CheckedDot extends BaseDot {\n constructor() {\n super(DotStates.Checked);\n }\n}\n\nexport class NumberedDot extends BaseDot {\n stepNumber: number;\n\n constructor(stepNumber: number) {\n super(DotStates.Numbered);\n this.stepNumber = stepNumber;\n }\n}\n\nexport { DotComponent } from './DotComponent';\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__J6B+z\",\"enter\":\"styles_enter__Tsndc\",\"leave\":\"styles_leave__7akuJ\",\"content\":\"styles_content__MAldc\",\"iconWrapper\":\"styles_iconWrapper__PGGo7\",\"border\":\"styles_border__2LrJp\",\"check\":\"styles_check__j1dP2\",\"title\":\"styles_title__QuoPG\",\"accent\":\"styles_accent__YRTdn\",\"description\":\"styles_description__8SBM-\",\"button\":\"styles_button__2iT7Q\"};","import React from 'react';\nimport { EducationAnswer } from './EducationAnswer';\nimport { QuestionComponentProps } from '../QuestionComponent.types';\nimport { ReactComponent as HintIcon } from 'assets/ic_hint.svg';\nimport { ReactComponent as CheckIcon } from 'assets/ic_check.svg';\nimport Spacer from 'components/spacer/Spacer';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { useEducationAnswerLogic } from './EducationAnswer.hook';\nimport styles from './styles.module.scss';\n\ntype Props = QuestionComponentProps;\n\nexport const EducationAnswerComponent: React.FC = React.memo(\n ({ question }: Props) => {\n const { isCorrectAnswer, title, description, nextHandler } =\n useEducationAnswerLogic(question);\n\n return (\n
\n
\n
\n
\n {isCorrectAnswer ? (\n \n ) : (\n \n )}\n
\n
\n \n {title}\n \n

{description}

\n \n
\n\n \n \n \n
\n );\n },\n);\n","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { EducationAnswer } from './EducationAnswer';\nimport { SaveAnswer } from 'analytics/AllEvents';\nimport { appAnalytics } from 'analytics';\nimport { goToNextQuestion } from 'bootstrap/onboarding/actions';\nimport { useSubmit } from 'hooks/useSubmit';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { useFeatures } from 'useFeatures';\n\nexport const useEducationAnswerLogic = (question: EducationAnswer) => {\n const dispatch = useAppDispatch();\n const { answers } = useAppSelector((state) => state.onboarding);\n\n const [containerStyle, setContainerStyle] = useState('');\n\n const features = useFeatures();\n\n const { title, description, correctAnswerId } = question;\n const questionIdForAnswer = question.id.split('Answer')[0] as QuestionIds;\n const isCorrectAnswer = answers[questionIdForAnswer] === correctAnswerId;\n\n useEffect(() => {\n setContainerStyle('enter');\n }, []);\n\n const nextHandler = useSubmit((e: SyntheticEvent) => {\n e.preventDefault();\n setContainerStyle('leave');\n setTimeout(() => {\n appAnalytics.trackEvent(new SaveAnswer(question.id));\n dispatch(goToNextQuestion(features));\n }, 150);\n });\n\n return {\n isCorrectAnswer,\n title,\n description,\n containerStyle,\n nextHandler,\n };\n};\n","import { useAppSelector } from 'bootstrap/hooks';\nimport { Answers } from 'bootstrap/onboarding/state';\nimport { useEffect, useState } from 'react';\nimport {\n InsomniaResultData,\n MappedInsomniaAnswersWeight,\n} from './InsomniaResults.constants';\nimport { InsomniaResult, InsomniaTypes } from './InsomniaResults.types';\n\ninterface Props {\n insomniaTestResult: InsomniaResult;\n}\n\nexport const useInsomniaTestLogic = (): Props => {\n const { answers } = useAppSelector((state) => state.onboarding);\n const [result, setResult] = useState(0);\n\n useEffect(() => {\n setResult(getInsomniaTestResult(answers));\n }, [answers]);\n\n return {\n insomniaTestResult: InsomniaResultData[getInsomniaType(result)],\n };\n};\n\nexport const getInsomniaTestResult = (answers: Answers): number => {\n let result = 0;\n Object.values(answers).forEach((answer) => {\n if (typeof answer === 'string') {\n if (MappedInsomniaAnswersWeight[answer]) {\n result += MappedInsomniaAnswersWeight[answer];\n }\n }\n });\n return result;\n};\n\nexport const getInsomniaType = (result: number): InsomniaTypes => {\n if (result >= 0 && result <= 4) {\n return InsomniaTypes.Minimal;\n } else if (result >= 5 && result <= 8) {\n return InsomniaTypes.Mild;\n } else if (result >= 9 && result <= 12) {\n return InsomniaTypes.Moderate;\n } else {\n return InsomniaTypes.Severe;\n }\n};\n","import React from 'react';\nimport { useInsomniaTestLogic } from './InsomniaResults.hook';\nimport { Info } from '../info/Info';\nimport { getQuestionComponent } from '../helper';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\n\nexport const InsomniaResults = () => {\n const { insomniaTestResult } = useInsomniaTestLogic();\n\n const { description } = insomniaTestResult;\n\n const question: Info = new Info(\n QuestionIds.IsiD1,\n 'We’ve got you covered',\n description,\n );\n\n const Component = getQuestionComponent(question);\n\n return ;\n};\n","import React from 'react';\nimport { QuestionIds } from '../data/constants/QuestionIds';\nimport { CustomQuestion, Question, QuestionTypes } from './Question';\nimport { AboutYouProof } from './aboutyouproof/AboutYouProof';\nimport { AnalysisLoader } from './analysisloader/AnalysisLoader';\nimport { ColorQuestionComponent } from './colors/ColorQuestionComponent';\nimport { ImageQuestionComponent } from './image/ImageQuestionComponent';\nimport { ImageLoader } from './imageloader/ImageLoader';\nimport { InfoComponent } from './info/InfoComponent';\nimport { OptionalComponent } from './info/OptionalComponent';\nimport { YoYoGraph } from './yoyo/YoYoGraph';\nimport { Motivation } from './motivation/Motivation';\nimport { MeqResults } from './meqresults/MeqResults';\nimport { OptionQuestionComponent } from './options/OptionQuestionComponent';\nimport { ProductivityGraph } from './productivitygraph/ProductivityGraph';\nimport { StatementQuestionComponent } from './statement/StatementQuestionComponent';\nimport { GadResults } from './gadresults/GadResults';\nimport { PlaceQuestionComponent } from './places/PlaceComponents';\nimport { QuestionComponentProps } from './QuestionComponent.types';\nimport { Personalization } from './personalization/Personalization';\nimport { MeqResultsV2 } from './meqresults/meqresultsv2/MeqResultsV2';\nimport { PersonalizationD3 } from './personalizationd3/PersonalizationD3';\nimport { EducationAnswerComponent } from './eduanswer/EducationAnswerComponent';\nimport { InsomniaResults } from './insomniaresults/InsomniaResults';\n\nexport const getQuestionComponent = (\n question: Question,\n isMeqResultAnimalFlow?: boolean,\n isMeqResultV2Flow?: boolean,\n): React.FC> => {\n switch (question.type) {\n case QuestionTypes.Optional:\n return OptionalComponent;\n case QuestionTypes.Option:\n return OptionQuestionComponent;\n case QuestionTypes.Color:\n return ColorQuestionComponent;\n case QuestionTypes.Places:\n return PlaceQuestionComponent;\n case QuestionTypes.Info:\n return InfoComponent;\n case QuestionTypes.Statement:\n return StatementQuestionComponent;\n case QuestionTypes.Image:\n return ImageQuestionComponent;\n case QuestionTypes.EduAnswer:\n return EducationAnswerComponent;\n case QuestionTypes.Custom:\n switch ((question as CustomQuestion).variationId) {\n case QuestionIds.AboutYouProof1:\n return AboutYouProof;\n case QuestionIds.SleepAndActivityProof1:\n return YoYoGraph;\n case QuestionIds.SleepAndActivityProof2:\n return Motivation;\n case QuestionIds.SleepAndActivityLoader:\n return ImageLoader;\n case QuestionIds.PersonalizationProof1:\n return ProductivityGraph;\n case QuestionIds.PersonalizationLoader:\n return AnalysisLoader;\n case QuestionIds.PersonalizationD3:\n return PersonalizationD3;\n case QuestionIds.MeqResults:\n return isMeqResultV2Flow || isMeqResultAnimalFlow\n ? MeqResultsV2\n : MeqResults;\n case QuestionIds.IsiD1:\n return InsomniaResults;\n case QuestionIds.GadResults:\n return GadResults;\n case QuestionIds.PersonalizationD1:\n return Personalization;\n default:\n return InfoComponent;\n }\n case QuestionTypes.Blitz:\n return InfoComponent;\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"styles_dot__ZXBGv\",\"label\":\"styles_label__TCK9n\",\"blueColor\":\"styles_blueColor__J35bN\",\"purpleColor\":\"styles_purpleColor__nUe6c\",\"greenColor\":\"styles_greenColor__j9MNq\",\"dotFilled\":\"styles_dotFilled__oG7Bq\",\"dotChecked\":\"styles_dotChecked__i56x1\"};","import React from 'react';\nimport { BaseDot, DotStates, NumberedDot } from './index';\nimport styles from './styles.module.scss';\n\ntype Props = {\n item: BaseDot;\n className: string;\n};\n\nexport const DotComponent: React.FC = ({ item, className }: Props) => {\n switch (item.state) {\n case DotStates.Filled:\n return (\n \n );\n case DotStates.Checked:\n return (\n \n );\n case DotStates.Numbered:\n return (\n \n
{(item as NumberedDot).stepNumber}
\n \n );\n }\n};\n","import { StepperItem } from '../../StepperItem';\n\nexport enum LineState {\n Filled,\n Active,\n Empty,\n}\n\nexport abstract class BaseLine implements StepperItem {\n state: LineState;\n\n protected constructor(state: LineState) {\n this.state = state;\n }\n}\n\nexport class FilledLine extends BaseLine {\n constructor() {\n super(LineState.Filled);\n }\n}\n\nexport class EmptyLine extends BaseLine {\n constructor() {\n super(LineState.Empty);\n }\n}\n\nexport class ActiveLine extends BaseLine {\n label: string;\n progress: number;\n\n constructor(label: string, progress: number) {\n super(LineState.Active);\n this.label = label;\n this.progress = progress;\n }\n}\n\nexport { LineComponent } from './LineComponent';\n","// extracted by mini-css-extract-plugin\nexport default {\"lineContainer\":\"styles_lineContainer__Bn6Ys\",\"stepLabel\":\"styles_stepLabel__xaAaZ\",\"blueColor\":\"styles_blueColor__0vsqp\",\"line\":\"styles_line__MDrn4\",\"purpleColor\":\"styles_purpleColor__+Gjbp\",\"greenColor\":\"styles_greenColor__g-Xep\",\"lineProgress\":\"styles_lineProgress__K3g0W\",\"lineActive\":\"styles_lineActive__zPqVQ\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ActiveLine, BaseLine, LineState } from './index';\nimport styles from './styles.module.scss';\n\ntype Props = {\n item: BaseLine;\n className: string;\n};\n\nexport const LineComponent: React.FC = ({ item, className }: Props) => {\n const { t } = useTranslation();\n\n switch (item.state) {\n case LineState.Filled:\n return (\n \n );\n case LineState.Active:\n return (\n
\n
\n {t((item as ActiveLine).label)}\n
\n
\n \n
\n
\n );\n case LineState.Empty:\n return
;\n }\n};\n","export enum Steps {\n Quiz = 'Quiz',\n Anxiety = 'anxietySectionLabel',\n AboutYou = 'aboutYouSectionLabel',\n Sleep = 'sleepSectionLabel',\n SleepAndActivity = 'sleepAndActivitySectionLabel',\n Personalization = 'personalizationSectionLabel',\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__PhZJX\",\"top50\":\"styles_top50__VpfG7\"};","import React from 'react';\nimport { DotComponent } from './components/dot';\nimport { BaseLine, LineComponent } from './components/line';\nimport { useStepperLogic } from './hooks/useStepper';\nimport styles from './styles.module.scss';\n\ntype Props = {\n className: string;\n stepName: string;\n currentStep: number;\n stepsTotal: number;\n currentSubstep: number;\n substepsTotal: number;\n};\n\nexport const Stepper: React.FC = ({\n className,\n stepName,\n currentStep,\n stepsTotal,\n currentSubstep,\n substepsTotal,\n}: Props) => {\n const { steps } = useStepperLogic({\n stepName,\n currentStep,\n stepsTotal,\n currentSubstep,\n substepsTotal,\n });\n\n return (\n \n {steps.map((step, index) =>\n step instanceof BaseLine ? (\n \n ) : (\n \n ),\n )}\n
\n );\n};\n","import { useEffect, useState } from 'react';\nimport { CheckedDot, FilledDot, NumberedDot } from '../components/dot';\nimport { ActiveLine, EmptyLine, FilledLine } from '../components/line';\nimport { StepperItem } from '../StepperItem';\n\ntype Props = {\n stepName: string;\n currentStep: number;\n stepsTotal: number;\n currentSubstep: number;\n substepsTotal: number;\n};\n\nexport const useStepperLogic = ({\n stepName,\n currentStep,\n stepsTotal,\n currentSubstep,\n substepsTotal,\n}: Props) => {\n const [steps, setSteps] = useState([]);\n\n useEffect(() => {\n const result: StepperItem[] = [new FilledDot()];\n for (let step = 0; step < stepsTotal; step++) {\n switch (true) {\n case step < currentStep: {\n result.push(new FilledLine());\n result.push(new CheckedDot());\n break;\n }\n case step === currentStep: {\n const progress = ((currentSubstep + 1) / substepsTotal) * 100;\n result.push(new ActiveLine(stepName, progress));\n const isLastStep = currentSubstep === substepsTotal - 1;\n if (isLastStep) {\n result.push(new CheckedDot());\n } else {\n result.push(new NumberedDot(step + 1));\n }\n break;\n }\n case step > currentStep: {\n result.push(new EmptyLine());\n result.push(new NumberedDot(step + 1));\n break;\n }\n }\n }\n setSteps(result);\n }, [stepName, currentStep, stepsTotal, currentSubstep, substepsTotal]);\n\n return { steps };\n};\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const DefaultOnboardingSteps: Map = new Map([\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGuided,\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.SleepAndActivity,\n [\n QuestionIds.SleepAndActivityQ1,\n QuestionIds.SleepAndActivityQ2,\n QuestionIds.SleepAndActivityQ3,\n QuestionIds.SleepAndActivityProof1,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const GadTestSteps: Map = new Map([\n [\n Steps.Anxiety,\n [\n QuestionIds.GadQ1,\n QuestionIds.GadQ2,\n QuestionIds.GadQ3,\n QuestionIds.GadQ4,\n QuestionIds.GadQ5,\n QuestionIds.GadQ6,\n QuestionIds.GadQ7,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const BasicSteps: Map = new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n\nexport const DisclaimerWithStepperFlowBasicSteps: Map =\n new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.PersonalizationD1,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n ]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const EducationV1TestSteps: Map = new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\n\nexport const EducationV2TestSteps: Map = new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [\n Steps.Quiz,\n [\n QuestionIds.EduD1,\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n ],\n ],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const EducationV3TestSteps: Map = new Map([\n [\n Steps.Quiz,\n [\n QuestionIds.EduQ1,\n QuestionIds.EduQ1Answer,\n QuestionIds.EduQ2,\n QuestionIds.EduQ2Answer,\n QuestionIds.EduQ3,\n QuestionIds.EduQ3Answer,\n QuestionIds.EduQ4,\n QuestionIds.EduQ4Answer,\n QuestionIds.EduQ5,\n QuestionIds.EduQ5Answer,\n ],\n ],\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const InsomniaQuizV1Steps: Map = new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.IsiQ1,\n QuestionIds.IsiQ2,\n QuestionIds.IsiQ3,\n QuestionIds.IsiQ4,\n QuestionIds.IsiQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const InsomniaQuizV2Steps: Map = new Map([\n [\n Steps.Quiz,\n [\n QuestionIds.IsiQ1,\n QuestionIds.IsiQ2,\n QuestionIds.IsiQ3,\n QuestionIds.IsiQ4,\n QuestionIds.IsiQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { PersonalizationSectionQuestionIds } from '../PersonalizationQuestionIds';\n\nexport const AdhdSteps: Map = new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3V2,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ6,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouActivity,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n]);\n\nexport const DisclaimerWithStepperFlowBasicSteps: Map =\n new Map([\n [\n Steps.Sleep,\n [\n QuestionIds.RMeqQ1,\n QuestionIds.RMeqQ2,\n QuestionIds.RMeqQ3,\n QuestionIds.RMeqQ4,\n QuestionIds.RMeqQ5,\n QuestionIds.AboutYouProof1,\n QuestionIds.SleepAndActivityD1,\n ],\n ],\n [\n Steps.AboutYou,\n [\n QuestionIds.AboutYouGender,\n QuestionIds.AboutYouAge,\n QuestionIds.AboutYouRoutine,\n QuestionIds.AboutYouD2,\n QuestionIds.AboutYouKids,\n QuestionIds.AboutYouD3,\n QuestionIds.AboutYouActivity,\n QuestionIds.AboutYouD4,\n QuestionIds.SleepAndActivityProof2,\n QuestionIds.SleepAndActivityCoffee,\n QuestionIds.SleepAndActivityDinner,\n QuestionIds.SleepAndActivityAfterMidnight,\n QuestionIds.SleepAndActivityLessThanEightHours,\n QuestionIds.SleepAndActivityExtraMotivation,\n QuestionIds.SleepAndActivityD2,\n QuestionIds.PersonalizationD1,\n ],\n ],\n [Steps.Personalization, PersonalizationSectionQuestionIds],\n ]);\n","import { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { Steps } from 'onboarding/data/constants/StepsLabels';\nimport { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { QuestionTypes } from './question/Question';\nimport { getSteps } from './data/Steps/Steps';\nimport { useFeatures } from 'useFeatures';\nimport { getQuestionsMeta } from './data/meta';\n\ntype Props = { questionId: QuestionIds };\n\nexport const useStepperWrapperLogic = ({ questionId }: Props) => {\n const location = useLocation();\n const [stepName, setStepName] = useState(Steps.AboutYou);\n const [currentStep, setCurrentStep] = useState(0);\n const [stepsTotal, setStepsTotal] = useState(0);\n const [currentSubstep, setCurrentSubstep] = useState(0);\n const [substepsTotal, setSubstepsTotal] = useState(0);\n const [questionType, setQuestionType] = useState();\n\n const {\n isAdhdTest,\n isDefaultOnboarding,\n isEducationV1Quiz,\n isEducationV2Quiz,\n isEducationV3Quiz,\n isGadTest,\n isInsomniaV1Quiz,\n isInsomniaV2Quiz,\n } = useFeatures();\n\n const questionsMeta = getQuestionsMeta(\n isAdhdTest,\n isGadTest,\n isDefaultOnboarding,\n );\n\n const stepsData = getSteps({\n isAdhdTest,\n isDefaultOnboarding,\n isEducationV1Quiz,\n isEducationV2Quiz,\n isEducationV3Quiz,\n isGadTest,\n isInsomniaV1Quiz,\n isInsomniaV2Quiz,\n });\n\n useEffect(() => {\n setQuestionType(questionsMeta[questionId].type);\n }, [location]);\n\n useEffect(() => {\n const arrayedSteps = Array.from(stepsData.keys());\n stepsData.forEach((steps, name) => {\n if (steps.includes(questionId)) {\n setStepName(name);\n setCurrentStep(arrayedSteps.indexOf(name));\n setCurrentSubstep(steps.indexOf(questionId));\n setSubstepsTotal(steps.length);\n setStepsTotal(arrayedSteps.length);\n }\n });\n }, [questionId]);\n\n return {\n stepName,\n currentStep,\n stepsTotal,\n currentSubstep,\n substepsTotal,\n questionType,\n };\n};\n","import { QuestionIds } from '../constants/QuestionIds';\nimport { Steps } from '../constants/StepsLabels';\nimport { DefaultOnboardingSteps } from './DefaultOnboardingSteps';\nimport { GadTestSteps } from './GadSteps';\nimport { BasicSteps } from './BasicSteps';\nimport { EducationV1TestSteps } from './EducationQuizV1Steps';\nimport { EducationV2TestSteps } from './EducationQuizV2Steps';\nimport { EducationV3TestSteps } from './EducationQuizV3Steps';\nimport { InsomniaQuizV1Steps } from './InsomniaQuizV1Steps';\nimport { InsomniaQuizV2Steps } from './InsomniaQuizV2Steps';\nimport { AdhdSteps } from './AdhdFlowSteps';\n\ninterface QuizFlags {\n isAdhdTest: boolean;\n isDefaultOnboarding: boolean;\n isEducationV1Quiz: boolean;\n isEducationV2Quiz: boolean;\n isEducationV3Quiz: boolean;\n isGadTest: boolean;\n isInsomniaV1Quiz: boolean;\n isInsomniaV2Quiz: boolean;\n}\n\nexport const getSteps = ({\n isAdhdTest,\n isDefaultOnboarding,\n isEducationV1Quiz,\n isEducationV2Quiz,\n isEducationV3Quiz,\n isGadTest,\n isInsomniaV1Quiz,\n isInsomniaV2Quiz,\n}: QuizFlags): Map => {\n switch (true) {\n case isDefaultOnboarding:\n return DefaultOnboardingSteps;\n case isGadTest:\n return GadTestSteps;\n case isEducationV1Quiz:\n return EducationV1TestSteps;\n case isEducationV2Quiz:\n return EducationV2TestSteps;\n case isEducationV3Quiz:\n return EducationV3TestSteps;\n case isInsomniaV1Quiz:\n return InsomniaQuizV1Steps;\n case isInsomniaV2Quiz:\n return InsomniaQuizV2Steps;\n case isAdhdTest:\n return AdhdSteps;\n default:\n return BasicSteps;\n }\n};\n","import React from 'react';\nimport { Stepper } from 'onboarding/components/stepper/Stepper';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { useStepperWrapperLogic } from './StepperWrapper.hook';\n\ntype Props = { questionId: QuestionIds; className: string };\n\nexport const StepperWrapper = ({ questionId, className }: Props) => {\n const { stepName, currentStep, stepsTotal, currentSubstep, substepsTotal } =\n useStepperWrapperLogic({ questionId });\n\n return (\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"styles_logo__wQku3\",\"container\":\"styles_container__49JX2\",\"greenColor\":\"styles_greenColor__y2qoS\",\"blueColor\":\"styles_blueColor__snudE\",\"purpleColor\":\"styles_purpleColor__owRCl\"};","import React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { appAnalytics } from 'analytics';\nimport { OnboardingScreenOpened } from 'analytics/AllEvents';\nimport { pushWithSearchQuery } from 'utils';\nimport { Question } from './question/Question';\nimport { getQuestionComponent } from './question/helper';\nimport { StepperWrapper } from './StepperWrapper';\nimport { QuestionIds } from './data/constants/QuestionIds';\nimport { useFeatures } from 'useFeatures';\nimport { getQuestionsOrder } from 'onboarding/data/QuestionsOrder/QuestionsOrder';\n\nimport styles from './styles.module.scss';\nimport { getQuestionsMeta } from './data/meta';\n\ntype OnboardingParams = {\n questionId: QuestionIds;\n};\n\nexport const Onboarding = () => {\n const location = useLocation();\n const dispatch = useDispatch();\n\n const features = useFeatures();\n\n const {\n isAdhdTest,\n isDefaultOnboarding,\n isGadTest,\n isFlexibleOmitViewEventsFlow,\n isMeqResultAnimalFlow,\n isMeqResultV2Flow,\n } = features;\n\n const questionMeta = getQuestionsMeta(\n isAdhdTest,\n isGadTest,\n isDefaultOnboarding,\n );\n\n const { questionId } = useParams();\n const [className, setClassName] = React.useState('');\n\n const questionsOrder = getQuestionsOrder(features);\n\n useEffect(() => {\n setClassName('');\n }, [location, questionId]);\n\n useEffect(() => {\n if (QuestionIds[questionId] && !isFlexibleOmitViewEventsFlow) {\n appAnalytics.trackEvent(\n new OnboardingScreenOpened(questionMeta[questionId].id),\n );\n }\n }, [questionId]);\n\n if (!QuestionIds[questionId]) {\n dispatch(pushWithSearchQuery(`/onboarding/${questionsOrder[0]}`));\n return null;\n }\n\n const question: Question = questionMeta[questionId];\n const QuestionComponent = getQuestionComponent(\n question,\n isMeqResultAnimalFlow,\n isMeqResultV2Flow,\n );\n return (\n
\n {question.hasStepper && (\n \n )}\n {QuestionComponent && }\n
\n );\n};\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconExclamation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 23,\n viewBox: \"0 0 6 23\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.09012 3.05122C1.01095 1.94281 1.88882 1 3.00006 1C4.11129 1 4.98916 1.94281 4.90999 3.05122L4.10154 14.3696C4.06026 14.9474 3.57941 15.3952 3.00006 15.3952C2.4207 15.3952 1.93985 14.9474 1.89857 14.3696L1.09012 3.05122Z\",\n fill: \"#E34646\",\n stroke: \"#E34646\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.62904 18.1371C0.871875 18.8943 0.871875 20.1219 1.62904 20.879C2.3862 21.6362 3.61381 21.6362 4.37098 20.879C5.12814 20.1219 5.12814 18.8943 4.37098 18.1371C3.61381 17.3799 2.3862 17.3799 1.62904 18.1371Z\",\n fill: \"#E34646\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconExclamation);\nexport default __webpack_public_path__ + \"static/media/icon_exclamation.b3a2c24cfd21e368363cdc9d4c3b63c9.svg\";\nexport { ForwardRef as ReactComponent };","import React, { SyntheticEvent, useEffect, useRef } from 'react';\n\nimport Exclamation from 'assets/icon_exclamation.svg';\nimport './styles.scss';\n\ntype Props = {\n visible: boolean;\n error: string;\n onClose: () => void;\n};\n\nconst Error = ({ visible, error, onClose }: Props) => {\n const alert = useRef(null);\n\n useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n });\n\n const close = (e: SyntheticEvent) => {\n e.preventDefault();\n // eslint-disable-next-line\n if (e.target == alert.current) {\n onClose();\n }\n };\n\n return (\n \n
\n \"\"\n
\n

{error}

\n \n );\n};\n\nexport default Error;\n","import React from 'react';\nimport './styles.scss';\n\nexport const Loader = () => (\n <>\n \n \n \n \n);\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcLockWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 17,\n viewBox: \"0 0 14 17\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.40835 4.19064C4.26304 4.20786 4.14153 4.07502 4.19333 3.93816C4.62212 2.80539 5.71701 2 7 2C8.283 2 9.37788 2.80539 9.80667 3.93817C9.85847 4.07503 9.73697 4.20786 9.59165 4.19064C9.51374 4.18141 9.43526 4.17395 9.35624 4.1683L7.71247 4.05089C7.23809 4.01701 6.76191 4.01701 6.28753 4.05089L4.64376 4.1683C4.56474 4.17395 4.48626 4.18141 4.40835 4.19064ZM1.91992 5.21656C1.97116 5.17644 2.00087 5.11472 2.00024 5.04965C2.00008 5.03312 2 5.01657 2 5C2 2.23858 4.23858 0 7 0C9.76142 0 12 2.23858 12 5C12 5.01657 11.9999 5.03312 11.9998 5.04965C11.9991 5.11472 12.0288 5.17644 12.0801 5.21656C13.2528 6.13478 14 7.56299 14 9.1556V11.8444C14 14.4676 11.9728 16.6448 9.35624 16.8317L7.71247 16.9491C7.23809 16.983 6.76191 16.983 6.28753 16.9491L4.64376 16.8317C2.02724 16.6448 0 14.4676 0 11.8444V9.1556C0 7.56299 0.747238 6.13478 1.91992 5.21656Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcLockWhite);\nexport default __webpack_public_path__ + \"static/media/ic_lock_white.fa1e5b9c67cdb49221640801173037ac.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeClosedLight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 13,\n viewBox: \"0 0 28 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 1C22.15 4 18.9597 7 14.5 7C10.0403 7 6.85 4 6 1\",\n stroke: \"#FFFFFF\",\n opacity: 0.5,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#FFFFFF\",\n opacity: 0.5\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 22.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#FFFFFF\",\n opacity: 0.5\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14.5,\n cy: 11.5,\n r: 1.5,\n fill: \"#FFFFFF\",\n opacity: 0.5\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 6.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#FFFFFF\",\n opacity: 0.5\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#FFFFFF\",\n opacity: 0.5\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeClosedLight);\nexport default __webpack_public_path__ + \"static/media/icon_eye_closed_light.ca7b684a8384069d6ed4038b99a19087.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"loadingButton\":\"styles_loadingButton__HJ1IM\",\"dark\":\"styles_dark__Jpu9X\"};","import React from 'react';\nimport { Loader } from 'components/loader/Loader';\nimport WhiteLock from 'assets/ic_lock_white.svg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n disabled?: boolean;\n className?: string;\n isLoading: boolean;\n lock?: boolean;\n label: string;\n darkTheme?: boolean;\n onClick: () => void;\n};\n\nexport const LoadingButton = ({\n disabled,\n className,\n isLoading,\n lock,\n label,\n darkTheme = false,\n onClick,\n}: Props) => (\n {\n event.preventDefault();\n !isLoading && onClick();\n }}\n >\n {isLoading ? (\n \n ) : (\n \n {lock && \"\"}\n {label}\n \n )}\n \n);\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeClosed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 13,\n viewBox: \"0 0 28 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 1C22.15 4 18.9597 7 14.5 7C10.0403 7 6.85 4 6 1\",\n stroke: \"#090110\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 22.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 14.5,\n cy: 11.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 6.5,\n cy: 9.5,\n r: 1.5,\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1.5,\n cy: 4.5,\n r: 1.5,\n fill: \"#090110\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeClosed);\nexport default __webpack_public_path__ + \"static/media/icon_eye_closed.6f13a3a262e22d7011cd97b1dfbf6f56.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeOpenedLight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 15,\n viewBox: \"0 0 21 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.8129 8.05342C19.9497 7.69701 19.9497 7.30299 19.8129 6.94658C18.6402 3.89115 15.2011 1 10.5 1C5.79885 1 2.35979 3.89115 1.18706 6.94658C1.05026 7.30299 1.05026 7.69701 1.18706 8.05342C2.35979 11.1089 5.79885 14 10.5 14C15.2011 14 18.6402 11.1089 19.8129 8.05342Z\",\n stroke: \"#FFFFFF\",\n opacity: 0.5,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.5,\n cx: 10.5,\n cy: 7.5,\n r: 2.5,\n stroke: \"white\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeOpenedLight);\nexport default __webpack_public_path__ + \"static/media/icon_eye_opened_light.5ec6c96ce26615a2593cdab733186362.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconEyeOpened(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 15,\n viewBox: \"0 0 21 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M19.8129 8.05342C19.9497 7.69701 19.9497 7.30299 19.8129 6.94658C18.6402 3.89115 15.2011 1 10.5 1C5.79885 1 2.35979 3.89115 1.18706 6.94658C1.05026 7.30299 1.05026 7.69701 1.18706 8.05342C2.35979 11.1089 5.79885 14 10.5 14C15.2011 14 18.6402 11.1089 19.8129 8.05342Z\",\n stroke: \"#090110\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.5,\n cx: 10.5,\n cy: 7.5,\n r: 2.5,\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEyeOpened);\nexport default __webpack_public_path__ + \"static/media/icon_eye_opened.fc29c3490db04a6be2d8f64e46a6ee38.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 10C20 4.47658 15.5234 0 10 0C4.47658 0 0 4.47658 0 10C0 14.9922 3.65625 19.1289 8.4375 19.8789V12.8906H5.89842V10H8.4375V7.79687C8.4375 5.291 9.92971 3.90625 12.2148 3.90625C13.3086 3.90625 14.4531 4.10156 14.4531 4.10156V6.5625H13.1914C11.9492 6.5625 11.5625 7.334 11.5625 8.125V10H14.3359L13.8926 12.8906H11.5625V19.8789C16.3438 19.1289 20 14.9922 20 10Z\",\n fill: \"#395B9C\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcFacebook);\nexport default __webpack_public_path__ + \"static/media/ic_facebook.9c2bdacd7bf981685fee180d4bfedd71.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__xsmc7\",\"dark\":\"styles_dark__MjbRg\",\"eye\":\"styles_eye__NLZ2c\",\"opened\":\"styles_opened__KR+JK\",\"closed\":\"styles_closed__10a4q\"};","import React, { useState } from 'react';\n\nimport { ReactComponent as ClosedEyeLight } from 'assets/icon_eye_closed_light.svg';\nimport { ReactComponent as ClosedEye } from 'assets/icon_eye_closed.svg';\nimport { ReactComponent as OpenedEyeLight } from 'assets/icon_eye_opened_light.svg';\nimport { ReactComponent as OpenedEye } from 'assets/icon_eye_opened.svg';\nimport styles from './styles.module.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n value: string;\n placeholder?: string;\n isValid: boolean;\n dark?: boolean;\n onChange: (event: React.ChangeEvent) => void;\n onFocusChange?: (isFocused: boolean) => void;\n className?: string;\n};\n\nexport const PasswordInput = ({\n value,\n placeholder = 'passwordPlaceholder',\n isValid,\n dark,\n onChange,\n onFocusChange,\n className,\n}: Props) => {\n const { t } = useTranslation();\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n const [isFocused, setFocused] = useState(false);\n const OpenedEyeComponent = dark ? OpenedEyeLight : OpenedEye;\n const ClosedEyeComponent = dark ? ClosedEyeLight : ClosedEye;\n\n return (\n \n {\n setFocused(true);\n onFocusChange?.(true);\n }}\n onBlur={() => {\n setFocused(false);\n onFocusChange?.(false);\n }}\n onChange={onChange}\n >\n {(isFocused || value.length >= 1) &&\n (isPasswordVisible ? (\n setIsPasswordVisible(!isPasswordVisible)}\n />\n ) : (\n setIsPasswordVisible(!isPasswordVisible)}\n />\n ))}\n \n );\n};\n","import { getAcceptLanguageHeader } from 'utils/utils';\nimport { ServerRequest, ServerResponse } from './commonnet.types';\n\nconst getToken = (): string => localStorage.getItem('auth_token') || '';\n\nexport async function fetchServer({\n url,\n method = 'GET',\n body = null,\n retries = 0,\n token,\n}: ServerRequest): Promise {\n return fetch(url, {\n method: method,\n headers: {\n 'Accept-Language': getAcceptLanguageHeader() || 'en-US',\n 'Content-Type': body ? 'application/json' : '',\n Authorization: token ? token : getToken(),\n },\n body: body && JSON.stringify(body),\n })\n .then((response) => {\n if (response.ok) {\n return response.json().then((result) => {\n if (Object.keys(result).length === 0) {\n return Promise.resolve({\n error: {\n code: 0,\n debug_text: 'NONE',\n description: 'NONE',\n },\n response: {},\n });\n }\n if (result.hasOwnProperty('response')) {\n return Promise.resolve(result);\n } else {\n return Promise.reject(result);\n }\n });\n } else {\n return Promise.reject('Something went wrong. Please try again');\n }\n })\n .catch((reason) => {\n if (retries > 0) {\n return fetchServer({\n url,\n method,\n body,\n retries: retries - 1,\n });\n } else {\n return Promise.reject(\n typeof reason === 'string' ? reason : getErrorMessage(reason),\n );\n }\n });\n}\n\nexport const getErrorMessage = (reason: any) => {\n let message = '';\n if (typeof reason.debug_text === 'string') {\n message = reason.debug_text;\n } else if (typeof reason.debug_text === 'object') {\n message = reason.debug_text.message;\n } else if (!!reason && Object.keys(reason).length > 0) {\n message = JSON.stringify(reason);\n }\n return message || 'Something went wrong. Please try again';\n};\n\nexport const getError = (error: any) => {\n return {\n ...error,\n message: getErrorMessage(error),\n };\n};\n\nexport async function toResultPromise(\n result: any,\n value?: T | Promise,\n): Promise {\n if (result.error.code === 0) {\n return value ? Promise.resolve(value) : Promise.resolve();\n }\n return Promise.reject(getError(result.error));\n}\n\nexport async function toSubscriptionResultResolve(result: any): Promise {\n switch (result.error.code) {\n case 0:\n case 522: {\n return Promise.resolve(result.response);\n }\n case 409: {\n return Promise.reject({\n debug_text:\n 'Already a member of Loóna Plus. You can only have one active Loóna Plus subscription.',\n code: 'DATA_EXIST',\n });\n }\n case 401:\n case 404: {\n return Promise.reject({\n ...result.error,\n code: 'USER_NOT_FOUND',\n });\n }\n default: {\n return Promise.reject(result.error);\n }\n }\n}\n","const API = process.env.REACT_APP_BACKEND_URL + '/api';\n\nexport const ENDPOINTS = {\n PRODUCTS: `${API}/payments/plans`,\n SOCIAL_REG: {\n facebook: `${API}/soc-auth/register/facebook`,\n google: `${API}/soc-auth/register/google`,\n },\n USER_INFO: `${API}/v1/user/info`,\n USER_PURCHASES: `${API}/user/purchase`,\n EMAIL_REG: `${API}/auth/register`,\n EMAIL_LOGIN: `${API}/auth/login`,\n CREATE_SUBSCRIPTION: `${API}/payments/create-subscription`,\n CREATE_SUBSCRIPTION_BY_IDX: `${API}/payments/create-subscription-no-auth`,\n CHANGE_SUBSCRIPTION: `${API}/payments/subscription`,\n CHANGE_SUBSCRIPTION_V1: `${API}/v1/payments/subscription`,\n USER_DATA: `${API}/user/data-batch`,\n NO_PASSWORD_REGISTER: `${API}/v1/auth/register-no-password`,\n BUNDLE: `${API}/payments/bundle-plan`,\n CHECK_TOKEN: `${API}/auth/jwt-check`,\n GEO_INFO: `${API}/system/geo-info`,\n GIFT_CARDS_LIST: `${API}/payments/gift-cards/list`,\n BUY_GIFT_CARD: `${API}/payments/gift-cards/create`,\n ACTIVATE_GIFT_CARD: `${API}/payments/gift-cards/activate`,\n SOCIAL_LOGIN: {\n facebook: `${API}/soc-auth/login/facebook`,\n },\n};\n","import { fetchServer } from '../commonnet';\nimport moment from 'moment';\nimport { ENDPOINTS } from '../endpoints';\nimport { ServerResponse } from '../commonnet.types';\n\nexport async function updateOnboardingInfo(info: any): Promise {\n return fetchServer({\n url: ENDPOINTS.USER_DATA,\n method: 'POST',\n body: {\n data_batch: [\n {\n created_dt: moment().utc().format('YYYY-MM-DD HH:mm:ss'),\n type: 'onboarding',\n data: info,\n },\n ],\n },\n })\n .then((_) => {\n return Promise.resolve();\n })\n .catch((error) => {\n return Promise.reject(error);\n });\n}\n","import { CircadianTypes } from 'onboarding/question/meqresults/MeqResults.constants';\nimport { getDeviceInfo } from 'utils';\nimport { fetchServer, toResultPromise } from '../commonnet';\nimport { ENDPOINTS } from '../endpoints';\nimport {\n UserInfo,\n GeoInfoRespose,\n RegisterResponse,\n UserInfoResponse,\n} from './user.types';\n\nexport async function getUserInfo(): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.USER_INFO,\n });\n\n return toResultPromise(result, result.response);\n}\n\nexport async function register(\n email: string,\n password: string,\n userdata: 'onboarding' | 'redeem' | 'qp' | 'pi' | 'gift',\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.EMAIL_REG,\n method: 'POST',\n body: {\n email,\n password,\n confirm: password,\n device: getDeviceInfo(),\n userdata: userdata || 'onboarding',\n action_source: window.location.href,\n },\n });\n\n if (result.error.code === 0) {\n localStorage.setItem('auth_token', result.response.auth_token);\n return Promise.resolve(result.response);\n } else if (result.error.code === 409) {\n return login(email, password, userdata);\n } else {\n return Promise.reject(\n result.error || {\n debug_text: 'Unknown server error',\n },\n );\n }\n}\n\nexport async function socialRegister(\n firstName: string,\n lastName: string,\n email: string,\n userId: string,\n accessToken: string,\n platform: 'facebook' | 'google',\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.SOCIAL_REG[platform],\n method: 'POST',\n body: {\n first_name: firstName,\n last_name: lastName,\n email: email,\n provider_user_id: userId,\n token: {\n key: accessToken,\n },\n device: getDeviceInfo(),\n userdata: 'onboarding',\n action_source: window.location.href,\n },\n });\n return toResultPromise(\n result,\n Promise.resolve(\n localStorage.setItem('auth_token', result.response.auth_token),\n ).then(() => result.response),\n );\n}\n\nexport async function login(\n email: string,\n password: string,\n userdata: 'onboarding' | 'redeem' | 'qp' | 'pi' | 'gift',\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.EMAIL_LOGIN,\n method: 'POST',\n body: {\n email,\n password,\n device: getDeviceInfo(),\n userdata: userdata || 'onboarding',\n action_source: window.location.href,\n },\n });\n\n return toResultPromise(\n result,\n Promise.resolve(\n localStorage.setItem('auth_token', result.response.auth_token),\n ).then(() => result.response),\n );\n}\n\nexport async function noPasswordRegister(\n email: string,\n planCode: string,\n isRestrictMailing?: boolean,\n quizResult?: CircadianTypes,\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.NO_PASSWORD_REGISTER,\n method: 'POST',\n body: {\n email,\n device: getDeviceInfo(),\n userdata: 'onboarding',\n action_source: window.location.href,\n marketing_data: {\n restrict_email_sending: isRestrictMailing,\n plan_code: planCode,\n quiz_result: quizResult || '',\n },\n },\n });\n\n return toResultPromise(\n result,\n Promise.resolve(\n localStorage.setItem('auth_token', result.response.auth_token),\n ).then(() => result.response),\n );\n}\n\nexport async function getGeoInfo(): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.GEO_INFO,\n method: 'GET',\n });\n\n return toResultPromise(result, result.response);\n}\n","import {\n fetchServer,\n getErrorMessage,\n toResultPromise,\n toSubscriptionResultResolve,\n} from '../commonnet';\nimport { ENDPOINTS } from '../endpoints';\nimport { ServerResponse } from '../commonnet.types';\nimport {\n PaymentInfoResponse,\n SubscriptionInfo,\n SubscriptionNoAuthInfo,\n SubscriptionResponse,\n Workbook,\n} from './subscription.types';\nimport { getQueryVariable } from 'utils';\n\nexport async function createSubscription({\n product,\n token,\n currency,\n threeDSToken,\n paymentMethod,\n recaptchaToken,\n}: SubscriptionInfo): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.CREATE_SUBSCRIPTION,\n method: 'POST',\n body: {\n user_billing_token: token,\n plan_code: product.code,\n currency: currency || product.currency,\n three_d_secure_token: threeDSToken,\n action_source: window.location.href,\n payment_method: paymentMethod,\n recaptcha_token: recaptchaToken,\n },\n });\n\n return toSubscriptionResultResolve(result);\n}\n\nexport async function createSubscriptionByIdx({\n product,\n token,\n idx,\n threeDSToken,\n paymentMethod,\n bundle = 'default',\n recaptchaToken,\n}: SubscriptionNoAuthInfo): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.CREATE_SUBSCRIPTION_BY_IDX,\n method: 'POST',\n body: {\n user_billing_token: token,\n plan_code: product.code,\n currency: product.currency,\n three_d_secure_token: threeDSToken,\n action_source: window.location.href,\n subs_purchase_token: idx,\n bundle_name: bundle,\n payment_method: paymentMethod,\n recaptcha_token: recaptchaToken,\n },\n retries: 0,\n token: '',\n });\n\n return toSubscriptionResultResolve(result);\n}\n\nexport async function checkSubscription(): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.USER_PURCHASES,\n });\n\n return toResultPromise(result, result.response.purchase?.is_active || false);\n}\n\nexport async function getPurchaseToken(): Promise {\n const uid = getQueryVariable('uid');\n\n const result = await fetchServer({\n url: uid\n ? `${ENDPOINTS.USER_PURCHASES}?uid=${uid}`\n : ENDPOINTS.USER_PURCHASES,\n });\n\n if (result.error.code === 0) {\n const purchase = result.response.purchase;\n\n return Promise.resolve(purchase);\n }\n return Promise.reject(getErrorMessage(result.error));\n}\n\nexport async function buyAddon({ currency, planCode }: Workbook): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${purchaseToken}/buy-workbook`;\n\n const result = await fetchServer({\n url,\n method: 'POST',\n body: {\n action_source: window.location.href,\n coupon_codes: [],\n currency: currency,\n line_items: [\n {\n item_code: planCode,\n quantity: 1,\n },\n ],\n },\n });\n\n return toResultPromise(result, result.response);\n}\n\nexport async function changeSubscription(planCode?: string): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const uid = getQueryVariable('uid') || purchaseToken;\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${uid}/change-plan`;\n\n const result = await fetchServer({\n url,\n method: 'PUT',\n body: {\n plan_code: planCode,\n },\n });\n\n return toResultPromise(result);\n}\n\nexport async function changeSkipTrialSubscription(\n planCode?: string,\n): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION}/${purchaseToken}/skip-trial-change-plan?plan_code=${planCode}`;\n\n const result = await fetchServer({\n url,\n method: 'PUT',\n });\n\n return toResultPromise(result);\n}\n\nexport async function changeSubscriptionWithCredit(\n planCode?: string,\n): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${purchaseToken}/skip-trial-change-plan-credit?plan_code=${planCode}`;\n\n const result = await fetchServer({\n url,\n method: 'PUT',\n });\n\n return toResultPromise(result);\n}\n\nexport async function cancelSubscription(): Promise {\n const uid = getQueryVariable('uid');\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${uid}/no-auth`;\n\n const result = await fetchServer({\n url,\n method: 'DELETE',\n });\n\n return toResultPromise(result);\n}\n\nexport async function prolongSubscription(days: number): Promise {\n const uid = getQueryVariable('uid');\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${uid}/extend-trial?days=${days}`;\n\n const result = await fetchServer({\n url,\n method: 'PATCH',\n });\n\n return toResultPromise(result);\n}\n\nexport async function refundSkipTrialSubscription(): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const skipTrialRefundUrl = `${ENDPOINTS.CHANGE_SUBSCRIPTION}/${purchaseToken}/skip-trial-refund`;\n\n const result = await fetchServer({\n url: skipTrialRefundUrl,\n method: 'PUT',\n });\n\n return toResultPromise(result);\n}\n\nexport async function skipTrialWithCreditSubscription(): Promise {\n const purchase = await getPurchaseToken();\n const purchaseToken = purchase?.purchase_token;\n\n const url = `${ENDPOINTS.CHANGE_SUBSCRIPTION_V1}/${purchaseToken}/skip-trial-credit`;\n\n const result = await fetchServer({\n url,\n method: 'PUT',\n });\n\n return toResultPromise(result);\n}\n","import { UserActionTypes } from './userActions.types';\n\nexport const SET_SUBSCRIPTION = 'SET_SUBSCRIPTION';\n\nexport function setSubscriptionActive(oldUser: boolean): UserActionTypes {\n return {\n type: SET_SUBSCRIPTION,\n payload: {\n hasSubscription: true,\n oldUser,\n },\n };\n}\n","import { AnyAction } from 'redux';\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\nimport {\n changeSubscriptionWithCredit,\n checkSubscription,\n refundSkipTrialSubscription,\n skipTrialWithCreditSubscription,\n cancelSubscription,\n prolongSubscription,\n changeSkipTrialSubscription,\n} from 'bootstrap/net/subscription';\nimport { RootState } from 'bootstrap/types';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { SET_SUBSCRIPTION } from './setSubscriptionActive';\nimport {\n buyAddon,\n changeSubscription,\n} from 'bootstrap/net/subscription/subscription';\nimport { Workbook } from 'bootstrap/net/subscription/subscription.types';\n\nexport const refundSkipTrialSubscriptionPlan =\n (): ThunkAction, RootState, unknown, AnyAction> => async () => {\n return refundSkipTrialSubscription();\n };\n\nexport const skipTrialWithCreditSubscriptionPlan =\n (): ThunkAction, RootState, unknown, AnyAction> => async () => {\n return skipTrialWithCreditSubscription();\n };\n\nexport const cancelSubscriptionPlan =\n (): ThunkAction, RootState, unknown, AnyAction> => async () => {\n return cancelSubscription();\n };\n\nexport const prolongSubscriptionPlan =\n (days: number): ThunkAction, RootState, unknown, AnyAction> =>\n async () => {\n return prolongSubscription(days);\n };\n\nexport const buyAddonPlan =\n ({\n currency,\n planCode,\n }: Workbook): ThunkAction, RootState, unknown, AnyAction> =>\n async () => {\n return buyAddon({\n currency,\n planCode,\n });\n };\n\nexport const changeSubscriptionPlan =\n (\n planCode?: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async () => {\n return changeSubscription(planCode);\n };\n\nexport const changeSkipTrialSubscriptionPlan =\n (\n planCode?: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async () => {\n return changeSkipTrialSubscription(planCode);\n };\n\nexport const changeSubscriptionWithCreditPlan =\n (\n planCode?: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async () => {\n return changeSubscriptionWithCredit(planCode);\n };\n\nexport const checkActiveSubscription =\n (): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch: ThunkDispatch) => {\n return checkSubscription()\n .then((isActive) => {\n dispatch({\n type: SET_SUBSCRIPTION,\n payload: {\n hasSubscription: isActive,\n oldUser: isActive,\n },\n });\n return Promise.resolve(isActive);\n })\n .catch((error) => {\n return Promise.reject(getErrorMessage(error));\n });\n };\n","import amplitude from 'amplitude-js';\nimport { AnyAction } from 'redux';\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\nimport { appAnalytics } from 'analytics';\nimport { SignUp, SignUpError } from 'analytics/AllEvents';\nimport { updateOnboardingInfo } from 'bootstrap/net/onboarding';\nimport {\n noPasswordRegister,\n register,\n socialRegister,\n login,\n} from 'bootstrap/net/user';\nimport { RootState } from 'bootstrap/types';\nimport { checkActiveSubscription } from './subscripionOperations';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { CircadianTypes } from 'onboarding/question/meqresults/MeqResults.constants';\n\nexport const SET_AUTH_TOKEN = 'SET_AUTH_TOKEN';\n\nexport const registerNoPassword =\n (\n email: string,\n planCode: string,\n isRestrictMailing?: boolean,\n quizResult?: CircadianTypes,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch, _) => {\n return noPasswordRegister(email, planCode, isRestrictMailing, quizResult)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n payload: {\n authToken: userInfo.auth_token,\n email: email,\n },\n });\n appAnalytics.trackEvent(\n new SignUp('email', isRestrictMailing, userInfo.is_new_user),\n );\n amplitude.getInstance().setUserId(userInfo.user.idx);\n dispatch(setOnboardingInfo(userInfo.userdata));\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n let message;\n if (error.description === 'DATA_EXIST') {\n message = error.description;\n } else {\n message = getErrorMessage(error);\n appAnalytics.trackEvent(new SignUpError('email', message));\n }\n return Promise.reject(message);\n });\n };\n\nexport const emailLogin =\n (\n email: string,\n password: string,\n userdata: 'onboarding' | 'redeem' | 'qp' | 'pi',\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return login(email, password, userdata)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n payload: {\n authToken: userInfo.auth_token,\n email: email,\n },\n });\n appAnalytics.trackEvent(new SignUp('email'));\n amplitude.getInstance().setUserId(userInfo.user.idx);\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n const message = getErrorMessage(error);\n return Promise.reject(message);\n });\n };\n\nexport const emailRegister =\n (\n email: string,\n password: string,\n userdata: 'onboarding' | 'redeem' | 'qp' | 'pi',\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return register(email, password, userdata)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n payload: {\n authToken: userInfo.auth_token,\n email: email,\n },\n });\n appAnalytics.trackEvent(new SignUp('email'));\n amplitude.getInstance().setUserId(userInfo.user.idx);\n dispatch(setOnboardingInfo(userInfo.userdata));\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n let message;\n if (error.description === 'DATA_EXIST') {\n return dispatch(emailLogin(email, password, userdata));\n } else {\n message = getErrorMessage(error);\n }\n appAnalytics.trackEvent(new SignUpError('email', message));\n return Promise.reject(message);\n });\n };\n\nexport const socialLogin =\n (\n firstName: string,\n lastName: string,\n email: string,\n id: string,\n accessToken: string,\n type: 'google' | 'facebook',\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return socialRegister(firstName, lastName, email, id, accessToken, type)\n .then((userInfo) => {\n dispatch({\n type: SET_AUTH_TOKEN,\n payload: {\n authToken: userInfo.auth_token,\n email: email,\n },\n });\n amplitude.getInstance().setUserId(userInfo.user.idx);\n appAnalytics.trackEvent(new SignUp(type));\n return dispatch(checkActiveSubscription());\n })\n .catch((error) => {\n appAnalytics.trackEvent(new SignUpError(type, error));\n return Promise.reject(error);\n });\n };\n\nexport const clean = (obj: Record): Record => {\n for (const propName in obj) {\n if (obj[propName] === null || obj[propName] === undefined) {\n delete obj[propName];\n }\n }\n return obj;\n};\n\nconst setOnboardingInfo =\n (info: any): ThunkAction, RootState, unknown, AnyAction> =>\n async (\n dispatch: ThunkDispatch,\n getState: () => RootState,\n ) => {\n const { onboarding } = getState();\n\n const result = clean({ ...onboarding });\n\n if (Object.keys(result).length !== 0) {\n await updateOnboardingInfo({\n ...info,\n initial_onboarding: result,\n });\n }\n };\n","import { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { getPurchaseToken } from 'bootstrap/net/subscription';\nimport { getGeoInfo } from 'bootstrap/net/user';\nimport { Thunk } from 'bootstrap/types';\nimport { UserActionTypes } from './userActions.types';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\n\nexport const SET_RESTRICT_MAILING = 'SET_RESTRICT_MAILING';\nexport const SET_PLAN_CODE = 'SET_PLAN_CODE';\nexport const SET_COUNTRY_CODE = 'SET_COUNTRY_CODE';\nexport const SET_COUNTRY_CURRENCY = 'SET_COUNTRY_CURRENCY';\nexport const SET_SUBSCRIPTION_EXPIRED_DATE = 'SET_SUBSCRIPTION_EXPIRED_DATE';\nexport const SET_SUBSCRIPTION_STATUS = 'SET_SUBSCRIPTION_STATUS';\nexport const SET_PAYMENT_METHOD = 'SET_PAYMENT_METHOD';\nexport const SET_SUBSCRIPTION_TOKEN = 'SET_SUBSCRIPTION_TOKEN';\n\nexport function setPaymentMethod(\n paymentMethod: PaymentMethods,\n): UserActionTypes {\n return {\n type: SET_PAYMENT_METHOD,\n payload: {\n paymentMethod,\n },\n };\n}\n\nexport function setRestrictMailing(\n isRestrictMailing: boolean,\n): UserActionTypes {\n return {\n type: SET_RESTRICT_MAILING,\n payload: {\n isRestrictMailing,\n },\n };\n}\n\nexport function setPlanCode(planCode: string): UserActionTypes {\n return {\n type: SET_PLAN_CODE,\n payload: {\n planCode: planCode,\n },\n };\n}\n\nexport function setSubscriptionToken(token: string): UserActionTypes {\n return {\n type: SET_SUBSCRIPTION_TOKEN,\n payload: {\n subscriptionToken: token,\n },\n };\n}\n\nexport const setSubscriptionExpiredDate = (): Thunk => async (dispatch, _) => {\n return getPurchaseToken().then((purchase) => {\n dispatch({\n type: SET_SUBSCRIPTION_EXPIRED_DATE,\n payload: {\n subscriptonExpiredDate: purchase?.expire_dt,\n },\n });\n });\n};\n\nexport const setSubscriptionStatus = (): Thunk => async (dispatch, _) => {\n return getPurchaseToken().then((purchase) => {\n dispatch({\n type: SET_SUBSCRIPTION_STATUS,\n payload: {\n subscriptionStatus: purchase?.status,\n subscriptionEventStatus: purchase?.event_status,\n },\n });\n });\n};\n\nexport const setCountryCode =\n (countryCode?: string): Thunk =>\n async (dispatch, _) => {\n if (countryCode) {\n dispatch({\n type: SET_COUNTRY_CODE,\n payload: {\n countryCode: countryCode,\n },\n });\n } else {\n return getGeoInfo()\n .then(({ country: geoInfoCountry }) => {\n dispatch({\n type: SET_COUNTRY_CODE,\n payload: {\n countryCode: geoInfoCountry,\n },\n });\n })\n .catch((error) => {\n return Promise.reject(getErrorMessage(error));\n });\n }\n };\n\nexport const setCountryCurrency =\n (countryCurrency?: string): Thunk =>\n async (dispatch, _) => {\n if (countryCurrency) {\n dispatch({\n type: SET_COUNTRY_CURRENCY,\n payload: {\n currency: countryCurrency,\n },\n });\n } else {\n return getGeoInfo()\n .then(({ currency: geoInfoCurrency }) => {\n dispatch({\n type: SET_COUNTRY_CURRENCY,\n payload: {\n currency: geoInfoCurrency,\n },\n });\n })\n .catch((error) => {\n return Promise.reject(getErrorMessage(error));\n });\n }\n };\n","import { AnyAction } from 'redux';\nimport { ThunkDispatch } from 'redux-thunk';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport {\n hasAllGadTestAnswers,\n hasAllRmeqTestAnswers,\n} from 'bootstrap/onboarding/actions';\nimport { pushWithSearchQuery } from 'utils';\nimport { RootState } from 'bootstrap/types';\n\nexport const goToNextPage =\n (isGadTest?: boolean) =>\n (\n dispatch: ThunkDispatch,\n getState: () => RootState,\n ) => {\n const { answers } = getState().onboarding;\n\n if (isGadTest && hasAllGadTestAnswers(answers)) {\n dispatch(pushWithSearchQuery(`/onboarding/${QuestionIds.GadResults}`));\n } else if (hasAllRmeqTestAnswers(answers)) {\n dispatch(pushWithSearchQuery(`/onboarding/${QuestionIds.MeqResults}`));\n } else {\n dispatch(pushWithSearchQuery('/done'));\n }\n };\n","import { UserActionTypes } from './userActions.types';\n\nexport const SET_TRIAL_OFFER_SHOWN = 'SET_TRIAL_OFFER_SHOWN';\nexport const SET_TRIAL_OFFER_DISCOUNT_APPLIED =\n 'SET_TRIAL_OFFER_DISCOUNT_APPLIED';\n\nexport function setTrialOfferShown(shown: boolean): UserActionTypes {\n return {\n type: SET_TRIAL_OFFER_SHOWN,\n payload: {\n isTrialOfferShown: shown,\n },\n };\n}\n\nexport function setTrialOfferDiscountApplied(\n isDiscountApplied: boolean,\n): UserActionTypes {\n return {\n type: SET_TRIAL_OFFER_DISCOUNT_APPLIED,\n payload: {\n isTrialOfferDiscountApplied: isDiscountApplied,\n },\n };\n}\n","import React from 'react';\nimport ReactFacebookLogin, {\n ReactFacebookFailureResponse,\n ReactFacebookLoginInfo,\n} from 'react-facebook-login';\nimport { ReactComponent as FacebookLogo } from 'assets/ic_facebook.svg';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { socialLogin } from 'bootstrap/user/actions';\n\nconst FACEBOOK_CLIENT_ID = process.env.REACT_APP_FACEBOOK_CLIENT_ID || '';\n\ntype Props = {\n className?: string;\n onSuccess: (hasSubscription: boolean) => void;\n onError: (type: 'facebook', error: string) => void;\n};\n\nexport const FacebookLoginButton = ({\n className,\n onSuccess,\n onError,\n}: Props) => {\n const dispatch = useAppDispatch();\n\n const handleFacebookLogin = (\n response: ReactFacebookLoginInfo | ReactFacebookFailureResponse,\n ) => {\n const fbLoginInfo = response as any;\n if (fbLoginInfo.id) {\n dispatch(\n socialLogin(\n fbLoginInfo.first_name || '',\n fbLoginInfo.last_name || '',\n fbLoginInfo.email || '',\n fbLoginInfo.id,\n fbLoginInfo.accessToken,\n 'facebook',\n ),\n )\n .then((hasSubscription) => {\n onSuccess(hasSubscription);\n })\n .catch((error) => {\n onError('facebook', error);\n });\n }\n };\n\n return (\n }\n callback={handleFacebookLogin}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"styles_button__XofSv\"};","import React, { useEffect } from 'react';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { socialLogin } from 'bootstrap/user/actions';\nimport styles from './styles.module.scss';\n\ntype Props = {\n onSuccess: (hasSubscription: boolean) => void;\n onError: (type: 'google', error: string) => void;\n};\n\nexport const GoogleSignInButton = ({ onError, onSuccess }: Props) => {\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n gapi.signin2.render('g-signin2', {\n scope: 'https://www.googleapis.com/auth/plus.login',\n width: 500,\n height: 50,\n longtitle: true,\n onsuccess: (response: gapi.auth2.GoogleUser) => {\n const googleResponse = response;\n\n if (googleResponse.getId()) {\n const profile = googleResponse.getBasicProfile();\n\n dispatch(\n socialLogin(\n profile.getGivenName(),\n profile.getFamilyName(),\n profile.getEmail(),\n profile.getId(),\n googleResponse.getAuthResponse().access_token,\n 'google',\n ),\n )\n .then((hasSubscription) => {\n onSuccess(hasSubscription);\n })\n .catch((error) => {\n onError('google', error);\n });\n }\n },\n onfailure: ({ error }) => onError('google', error),\n });\n }, []);\n\n return
;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"disclaimer\":\"styles_disclaimer__2kZrQ\",\"topMargin\":\"styles_topMargin__8SfEV\",\"darkTheme\":\"styles_darkTheme__MrTEE\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n darkTheme?: boolean;\n};\n\nconst Disclaimer = ({ darkTheme }: Props) => {\n const { t } = useTranslation();\n\n return (\n \n {t('signInDisclaimer')}\n
\n
{t('termsOfUse')} &{' '}\n {t('privacyPolicy')}\n \n );\n};\n\nexport default Disclaimer;\n","import { Event } from 'analytics/Event';\nimport { Events } from 'analytics/Events';\n\nexport class ViewQPScreen extends Event {\n constructor(screenName: string, bundle?: string) {\n super(Events.ViewQPScreen, { screenName, bundle });\n }\n}\n\nexport class ContinueQPOffer extends Event {\n constructor(bundle?: string) {\n super(Events.ContinueQPOffer, { bundle });\n }\n}\n","const MIN_KEYBOARD_HEIGHT = 300;\n\nexport const isMobile = window.innerWidth < 768;\nexport const shouldHandleKeyboard =\n isMobile &&\n window.screen.height - MIN_KEYBOARD_HEIGHT > window.visualViewport.height;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__tYCvI\",\"logo\":\"styles_logo__whxUb\",\"socialLogin\":\"styles_socialLogin__SYZ2W\",\"hidden\":\"styles_hidden__CUcnw\",\"title\":\"styles_title__1pMdC\",\"description\":\"styles_description__Q-tBy\",\"form\":\"styles_form__hmTcm\",\"submit\":\"styles_submit__S+hTb\",\"forgotPassword\":\"styles_forgotPassword__jfHti\",\"error\":\"styles_error__LCTXB\",\"inputContainer\":\"styles_inputContainer__wHHf6\",\"delete\":\"styles_delete__tUse5\",\"password\":\"styles_password__KuYZH\",\"invalid\":\"styles_invalid__AXs9v\",\"whiteTheme\":\"styles_whiteTheme__hF0Q2\"};","import React from 'react';\nimport Delete from 'assets/ic_delete.png';\nimport Alert from 'components/error/Error';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { PasswordInput } from 'components/passwordinput/PasswordInput';\nimport { FacebookLoginButton } from 'components/facebookbutton/FacebookLoginButton';\nimport { GoogleSignInButton } from 'signin/components/googlebutton/GoogleSignInButton';\nimport { ReactComponent as Logo } from 'assets/logo_loona.svg';\nimport Disclaimer from 'components/disclaimer/Disclaimer';\nimport { useSignInLogic } from './SignIn.hook';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\nconst SignIn = () => {\n const { t } = useTranslation();\n\n const {\n emailState,\n passwordState,\n errorState,\n socialsShown,\n isLoading,\n setEmailState,\n setErrorState,\n handleSubmit,\n onSocialError,\n onEmailChange,\n onPasswordChange,\n handleForgotPassword,\n socialsShownHandler,\n navigateNext,\n } = useSignInLogic();\n\n const socialLoginButtons = (\n \n \n \n \n );\n\n return (\n <>\n setErrorState({ ...errorState, isVisible: false })}\n />\n
\n \n
{t('quickPurchaseSignInTitle')}
\n
\n {t('quickPurchaseSignInDescription')}\n
\n {socialsShown && socialLoginButtons}\n
\n
\n {\n setEmailState({ ...emailState, isFocused: true });\n }}\n onBlur={() => {\n setEmailState({ ...emailState, isFocused: false });\n }}\n onChange={onEmailChange}\n />\n {emailState.isFocused && (\n setEmailState({ ...emailState, value: '' })}\n />\n )}\n
\n
{emailState.error}
\n\n \n
{passwordState.error}
\n\n \n\n
\n\n \n\n \n {t('forgotPassword')}\n \n \n
\n \n );\n};\n\nexport default SignIn;\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { emailRegister } from 'bootstrap/user/actions';\nimport { ViewQPScreen } from 'quickpurchase/analytics';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { pushWithSearchQuery, validateEmail } from 'utils';\nimport { shouldHandleKeyboard } from './SignIn.constants';\n\nexport const useSignInLogic = () => {\n const { t } = useTranslation();\n const dispatch = useAppDispatch();\n\n const [emailState, setEmailState] = useState({\n value: '',\n error: '',\n isFocused: false,\n });\n\n const [passwordState, setPasswordState] = useState({\n value: '',\n error: '',\n });\n\n const [errorState, setErrorState] = useState({\n error: '',\n isVisible: false,\n });\n\n const [isLoading, setIsLoading] = useState(false);\n const [socialsShown, setSocialsShown] = useState(true);\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewQPScreen('qpAccount'));\n\n const listener = () => {\n if (window.innerHeight === window.visualViewport.height) {\n setSocialsShown(true);\n } else if (window.innerHeight > window.visualViewport.height * 0.9) {\n setSocialsShown(false);\n }\n };\n\n window.visualViewport.addEventListener('resize', listener);\n return () => {\n window.visualViewport.removeEventListener('resize', listener);\n };\n }, []);\n\n const handleSubmit = async (): Promise => {\n setErrorState({ ...errorState, isVisible: false });\n\n if (!isLoading && validateForm()) {\n setIsLoading(true);\n dispatch(emailRegister(emailState.value, passwordState.value, 'qp'))\n .then((hasSubscription) => {\n setIsLoading(false);\n navigateNext(hasSubscription);\n })\n .catch((message) => {\n setIsLoading(false);\n if (message?.email) {\n setEmailState({ ...emailState, error: t('emailError') });\n } else if (message?.password || message === 'WRONG_PASSWORD') {\n setPasswordState({ ...passwordState, error: t('passwordError') });\n } else {\n setErrorState({ ...errorState, error: message, isVisible: true });\n }\n });\n }\n };\n\n const navigateNext = (hasSubscription: boolean) => {\n if (hasSubscription) {\n dispatch(pushWithSearchQuery('/quick-purchase/done'));\n } else {\n dispatch(pushWithSearchQuery('/quick-purchase/payment'));\n }\n };\n\n const validateForm = (): boolean => {\n const isEmailValid = validateEmail(emailState.value);\n const isPasswordValid = passwordState.value !== '';\n if (!isEmailValid) {\n setEmailState({ ...emailState, error: t('emailError') });\n return false;\n } else if (!isPasswordValid) {\n setPasswordState({ ...passwordState, error: t('passwordError') });\n return false;\n } else return true;\n };\n\n const onSocialError = (type: 'google' | 'facebook', error: string | any) => {\n setErrorState({\n ...errorState,\n error:\n typeof error.message?.email === 'string'\n ? error.message.email\n : error.message,\n isVisible: true,\n });\n };\n\n const onEmailChange = (event: React.ChangeEvent) => {\n setEmailState({ ...emailState, error: '', value: event.target.value });\n setErrorState({ ...errorState, isVisible: false });\n };\n\n const onPasswordChange = (event: React.ChangeEvent) => {\n setPasswordState({\n ...passwordState,\n error:\n event.target.value.length < 8\n ? 'Password should be at least 8 characters'\n : '',\n value: event.target.value,\n });\n setErrorState({ ...errorState, isVisible: false });\n };\n\n const handleForgotPassword = (event: SyntheticEvent) => {\n event.preventDefault();\n const domain =\n process.env.NODE_ENV === 'production'\n ? 'https://my.loona.app'\n : 'https://dev-my.loona.app';\n window.location.href = `${domain}/reset-password`;\n };\n\n const socialsShownHandler = (isFocused: boolean) => {\n if (shouldHandleKeyboard) {\n setSocialsShown(!isFocused);\n }\n };\n\n return {\n emailState,\n passwordState,\n errorState,\n socialsShown,\n isLoading,\n setEmailState,\n setErrorState,\n handleSubmit,\n onSocialError,\n onEmailChange,\n onPasswordChange,\n handleForgotPassword,\n socialsShownHandler,\n navigateNext,\n };\n};\n","import React from 'react';\nimport LogoImage from 'assets/logo_loona.svg';\n\ntype Props = {\n className?: string;\n};\n\nexport const Logo = ({ className = 'logo' }: Props) => {\n return \"Loóna\";\n};\n","import { useState, useEffect } from 'react';\n\nexport const MOBILE_QUERY = '(min-width:480px)';\nexport const DESKTOP_QUERY = '(min-width:992px)';\n\nexport const useMediaQuery = (query: string) => {\n const [matches, setMatches] = useState(false);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) {\n setMatches(media.matches);\n }\n const listener = () => setMatches(media.matches);\n window.addEventListener('resize', listener);\n return () => window.removeEventListener('resize', listener);\n }, [matches, query]);\n\n return matches;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyBackground\":\"styles_bodyBackground__8sFAz\",\"title\":\"styles_title__QyjGG\",\"subTitle\":\"styles_subTitle__fwsSx\",\"note\":\"styles_note__SBRyv\",\"description\":\"styles_description__p2CMi\",\"contentContainer\":\"styles_contentContainer__9ZiYN\",\"phoneBackgroundContainer\":\"styles_phoneBackgroundContainer__4FpCg\",\"phoneBackground\":\"styles_phoneBackground__J5V4y\",\"logo\":\"styles_logo__O8mvW\",\"gradient\":\"styles_gradient__IoJs1\",\"textWrapper\":\"styles_textWrapper__yMWOH\",\"topSpace\":\"styles_topSpace__1pxcm\",\"button\":\"styles_button__Oefwp\"};","import React, { SyntheticEvent, useEffect } from 'react';\nimport { Logo } from 'components/logo/Logo';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport PhoneBackground from 'assets/onboarding/bg_phone_small.jpg';\nimport BigPhoneBackground from 'assets/onboarding/bg_phone.jpg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n title: string;\n subTitle?: string;\n description: string | JSX.Element;\n button: string | JSX.Element;\n note?: string;\n cover?: string;\n bigCover?: string;\n onButtonClick?: () => void;\n};\n\nexport const SuccessTemplate = ({\n title,\n subTitle,\n description,\n button,\n note,\n cover = PhoneBackground,\n bigCover = BigPhoneBackground,\n onButtonClick,\n}: Props) => {\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n }, []);\n\n const handleButtonClick = (e?: SyntheticEvent) => {\n e?.preventDefault();\n onButtonClick?.();\n };\n\n return (\n
\n \n \n \n
\n
\n
\n
\n
{title}
\n
{subTitle}
\n
{description}
\n {typeof button === 'string' ? (\n \n ) : (\n button\n )}\n
{note}
\n
\n
\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { fetchAndActivate, getString } from 'firebase/remote-config';\nimport { appAnalytics } from 'analytics';\nimport { Install, ViewCongrats } from 'analytics/AllEvents';\nimport { remoteConfig } from 'analytics/Firebase';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { SuccessTemplate } from 'onboarding/components/successtemplate/SuccessTemplate';\nimport { getOneLink, getQueryVariable } from 'utils';\nimport { useTranslation } from 'react-i18next';\n\nexport const Success = () => {\n const { t } = useTranslation();\n\n const { hasSubscription, oldUser } = useAppSelector((state) => state.user);\n const [background, setBackground] = useState(undefined);\n const [bigBackground, setBigBackground] = useState(\n undefined,\n );\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewCongrats(!hasSubscription));\n }, [hasSubscription]);\n\n useEffect(() => {\n const backgroundName = getQueryVariable('cov');\n if (backgroundName) {\n fetchAndActivate(remoteConfig).then(() => {\n setBackground(getString(remoteConfig, `qp_cover_${backgroundName}`));\n setBigBackground(\n getString(remoteConfig, `qp_cover_big_${backgroundName}`),\n );\n });\n }\n }, []);\n\n const handleButtonClick = () => {\n appAnalytics.trackEvent(new Install());\n window.location.href = getOneLink({\n webDp: `${process.env.REACT_APP_FRONTEND_URL}/install`,\n mediaSource: 'quick_purchase',\n retargeting: true,\n });\n };\n\n return (\n \n {oldUser\n ? t('successTemplateDescription')\n : t('successTemplateDescription2')}\n
\n of Loóna PLUS\n \n }\n cover={background}\n bigCover={bigBackground}\n onButtonClick={handleButtonClick}\n button={t('successTemplateInstallButton')}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"styles_divider__K7oeV\",\"darkTheme\":\"styles_darkTheme__0Xovf\",\"dividerWithNoMargin\":\"styles_dividerWithNoMargin__heYv+\",\"dividerWithMargin\":\"styles_dividerWithMargin__O1-hR\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n isDividerWithMargin?: boolean;\n isDividerWithNoMargin?: boolean;\n darkTheme?: boolean;\n};\n\nconst Divider = ({\n darkTheme,\n isDividerWithMargin,\n isDividerWithNoMargin,\n}: Props) => {\n return (\n \n );\n};\n\nexport default Divider;\n","var _path, _path2, _path3, _path4, _path5, _path6, _circle, _circle2, _path7, _path8, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBingewatchingGraph(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 337,\n height: 200,\n viewBox: \"0 0 337 200\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M143.741 12H147.341C148.853 12 149.981 10.908 149.981 9.492C149.981 8.532 149.465 7.836 148.721 7.476C149.129 7.116 149.393 6.6 149.393 5.952C149.393 4.596 148.289 3.48 146.861 3.48H143.741V12ZM145.481 6.972V5.064H146.693C147.293 5.064 147.701 5.508 147.701 6.024C147.701 6.552 147.293 6.972 146.693 6.972H145.481ZM145.481 10.404V8.448H147.221C147.869 8.448 148.289 8.88 148.289 9.432C148.289 9.984 147.869 10.404 147.221 10.404H145.481ZM153.004 3.972C153.004 3.396 152.536 2.928 151.948 2.928C151.384 2.928 150.904 3.396 150.904 3.972C150.904 4.548 151.384 5.016 151.948 5.016C152.536 5.016 153.004 4.548 153.004 3.972ZM151.132 12H152.776V6H151.132V12ZM154.354 12H155.999V9.072C155.999 7.92 156.575 7.368 157.331 7.368C158.015 7.368 158.387 7.896 158.387 8.76V12H160.031V8.484C160.031 6.924 159.167 5.868 157.715 5.868C156.935 5.868 156.311 6.204 155.999 6.684V6H154.354V12ZM161.406 12.372C161.526 13.656 162.642 14.628 164.334 14.628C165.894 14.628 167.37 13.8 167.37 11.628V6H165.726V6.672C165.414 6.216 164.754 5.868 163.986 5.868C162.426 5.868 161.154 7.212 161.154 8.904C161.154 10.584 162.426 11.928 163.986 11.928C164.754 11.928 165.414 11.58 165.726 11.136V11.844C165.726 12.792 165.09 13.26 164.37 13.26C163.686 13.26 163.218 12.984 163.014 12.372H161.406ZM165.858 8.904C165.858 9.816 165.162 10.44 164.334 10.44C163.506 10.44 162.81 9.816 162.81 8.904C162.81 7.98 163.506 7.368 164.334 7.368C165.162 7.368 165.858 7.98 165.858 8.904ZM174.788 10.044H173.072C172.88 10.452 172.376 10.704 171.8 10.704C170.78 10.704 170.252 10.092 170.18 9.384H174.86C174.944 7.128 173.492 5.868 171.728 5.868C169.904 5.868 168.572 7.2 168.572 8.988C168.572 10.812 169.88 12.132 171.716 12.132C173.24 12.132 174.428 11.256 174.788 10.044ZM171.68 7.2C172.244 7.2 172.856 7.5 173.06 8.304H170.24C170.396 7.644 170.924 7.2 171.68 7.2ZM175.95 9.432H179.382V7.848H175.95V9.432ZM185.975 12H187.607L189.587 6H187.823L186.695 9.84L185.471 6H184.211L182.999 9.84L181.859 6H180.107L182.099 12H183.731L184.847 8.58L185.975 12ZM189.971 9C189.971 10.704 191.195 12.132 192.791 12.132C193.619 12.132 194.255 11.712 194.519 11.328V12H196.163V6H194.519V6.672C194.255 6.288 193.619 5.868 192.791 5.868C191.195 5.868 189.971 7.296 189.971 9ZM194.651 9C194.651 9.936 194.039 10.632 193.139 10.632C192.239 10.632 191.627 9.936 191.627 9C191.627 8.064 192.239 7.368 193.139 7.368C194.039 7.368 194.651 8.064 194.651 9ZM201.709 11.94V10.488C201.517 10.56 201.301 10.596 201.037 10.596C200.329 10.596 200.017 10.308 200.017 9.576V7.44H201.709V6H200.017V4.332H198.373V6H197.161V7.44H198.373V9.9C198.373 11.364 199.393 12.072 200.665 12.072C201.121 12.072 201.445 12.024 201.709 11.94ZM208.644 9.708H206.94C206.712 10.248 206.268 10.644 205.572 10.644C204.708 10.644 204.072 9.996 204.072 9C204.072 8.004 204.708 7.356 205.572 7.356C206.268 7.356 206.712 7.752 206.94 8.292H208.644C208.32 6.912 207.228 5.868 205.572 5.868C203.748 5.868 202.416 7.26 202.416 9C202.416 10.74 203.748 12.132 205.572 12.132C207.228 12.132 208.32 11.088 208.644 9.708ZM209.761 12H211.405V9.072C211.405 7.92 211.981 7.368 212.737 7.368C213.421 7.368 213.793 7.896 213.793 8.76V12H215.437V8.484C215.437 6.924 214.573 5.868 213.121 5.868C212.341 5.868 211.717 6.204 211.405 6.684V3H209.761V12ZM218.816 3.972C218.816 3.396 218.348 2.928 217.76 2.928C217.196 2.928 216.716 3.396 216.716 3.972C216.716 4.548 217.196 5.016 217.76 5.016C218.348 5.016 218.816 4.548 218.816 3.972ZM216.944 12H218.588V6H216.944V12ZM220.167 12H221.811V9.072C221.811 7.92 222.387 7.368 223.143 7.368C223.827 7.368 224.199 7.896 224.199 8.76V12H225.843V8.484C225.843 6.924 224.979 5.868 223.527 5.868C222.747 5.868 222.123 6.204 221.811 6.684V6H220.167V12ZM227.219 12.372C227.339 13.656 228.455 14.628 230.147 14.628C231.707 14.628 233.183 13.8 233.183 11.628V6H231.539V6.672C231.227 6.216 230.567 5.868 229.799 5.868C228.239 5.868 226.967 7.212 226.967 8.904C226.967 10.584 228.239 11.928 229.799 11.928C230.567 11.928 231.227 11.58 231.539 11.136V11.844C231.539 12.792 230.903 13.26 230.183 13.26C229.499 13.26 229.031 12.984 228.827 12.372H227.219ZM231.671 8.904C231.671 9.816 230.975 10.44 230.147 10.44C229.319 10.44 228.623 9.816 228.623 8.904C228.623 7.98 229.319 7.368 230.147 7.368C230.975 7.368 231.671 7.98 231.671 8.904ZM237.115 9C237.115 10.704 238.339 12.132 239.935 12.132C240.763 12.132 241.399 11.712 241.663 11.328V12H243.307V6H241.663V6.672C241.399 6.288 240.763 5.868 239.935 5.868C238.339 5.868 237.115 7.296 237.115 9ZM241.795 9C241.795 9.936 241.183 10.632 240.283 10.632C239.383 10.632 238.771 9.936 238.771 9C238.771 8.064 239.383 7.368 240.283 7.368C241.183 7.368 241.795 8.064 241.795 9ZM244.905 12H246.549V9.072C246.549 7.92 247.125 7.368 247.881 7.368C248.565 7.368 248.937 7.896 248.937 8.76V12H250.581V8.484C250.581 6.924 249.717 5.868 248.265 5.868C247.485 5.868 246.861 6.204 246.549 6.684V6H244.905V12ZM251.705 9C251.705 10.704 252.929 12.132 254.525 12.132C255.353 12.132 255.989 11.712 256.253 11.328V12H257.897V3H256.253V6.672C255.989 6.288 255.353 5.868 254.525 5.868C252.929 5.868 251.705 7.296 251.705 9ZM256.385 9C256.385 9.936 255.773 10.632 254.873 10.632C253.973 10.632 253.361 9.936 253.361 9C253.361 8.064 253.973 7.368 254.873 7.368C255.773 7.368 256.385 8.064 256.385 9ZM267.05 10.308C267.05 9.372 266.558 8.748 265.382 8.448L264.326 8.16C263.966 8.076 263.642 7.944 263.642 7.608C263.642 7.32 263.93 7.152 264.35 7.152C264.71 7.152 265.058 7.308 265.142 7.764H266.798C266.702 6.564 265.694 5.868 264.374 5.868C262.874 5.868 261.962 6.612 261.962 7.644C261.962 8.52 262.442 9.24 263.486 9.504L264.614 9.792C265.142 9.924 265.37 10.08 265.37 10.392C265.37 10.68 265.106 10.872 264.59 10.872C264.062 10.872 263.606 10.62 263.546 10.092H261.83C261.89 11.268 262.994 12.132 264.542 12.132C265.994 12.132 267.05 11.436 267.05 10.308ZM274.153 9C274.153 7.248 272.737 5.868 270.997 5.868C269.257 5.868 267.841 7.248 267.841 9C267.841 10.752 269.257 12.132 270.997 12.132C272.737 12.132 274.153 10.752 274.153 9ZM269.497 9C269.497 8.076 270.133 7.404 270.997 7.404C271.861 7.404 272.485 8.076 272.485 9C272.485 9.924 271.861 10.596 270.997 10.596C270.133 10.596 269.497 9.924 269.497 9ZM281.183 9.708H279.479C279.251 10.248 278.807 10.644 278.111 10.644C277.247 10.644 276.611 9.996 276.611 9C276.611 8.004 277.247 7.356 278.111 7.356C278.807 7.356 279.251 7.752 279.479 8.292H281.183C280.859 6.912 279.767 5.868 278.111 5.868C276.287 5.868 274.955 7.26 274.955 9C274.955 10.74 276.287 12.132 278.111 12.132C279.767 12.132 280.859 11.088 281.183 9.708ZM284.172 3.972C284.172 3.396 283.704 2.928 283.116 2.928C282.552 2.928 282.072 3.396 282.072 3.972C282.072 4.548 282.552 5.016 283.116 5.016C283.704 5.016 284.172 4.548 284.172 3.972ZM282.3 12H283.944V6H282.3V12ZM285.138 9C285.138 10.704 286.362 12.132 287.958 12.132C288.786 12.132 289.422 11.712 289.686 11.328V12H291.33V6H289.686V6.672C289.422 6.288 288.786 5.868 287.958 5.868C286.362 5.868 285.138 7.296 285.138 9ZM289.818 9C289.818 9.936 289.206 10.632 288.306 10.632C287.406 10.632 286.794 9.936 286.794 9C286.794 8.064 287.406 7.368 288.306 7.368C289.206 7.368 289.818 8.064 289.818 9ZM292.929 12H294.573V3H292.929V12ZM298.882 12H300.526V9.072C300.526 7.92 301.018 7.368 301.726 7.368C302.374 7.368 302.662 7.908 302.662 8.796V12H304.306V9.072C304.306 7.92 304.798 7.368 305.506 7.368C306.154 7.368 306.442 7.908 306.442 8.796V12H308.086V8.52C308.086 6.9 307.27 5.868 305.842 5.868C305.158 5.868 304.354 6.228 303.982 6.972C303.622 6.276 302.998 5.868 302.122 5.868C301.39 5.868 300.85 6.216 300.526 6.684V6H298.882V12ZM315.425 10.044H313.709C313.517 10.452 313.013 10.704 312.437 10.704C311.417 10.704 310.889 10.092 310.817 9.384H315.497C315.581 7.128 314.129 5.868 312.365 5.868C310.541 5.868 309.209 7.2 309.209 8.988C309.209 10.812 310.517 12.132 312.353 12.132C313.877 12.132 315.065 11.256 315.425 10.044ZM312.317 7.2C312.881 7.2 313.493 7.5 313.697 8.304H310.877C311.033 7.644 311.561 7.2 312.317 7.2ZM316.31 9C316.31 10.704 317.534 12.132 319.13 12.132C319.958 12.132 320.594 11.712 320.858 11.328V12H322.502V3H320.858V6.672C320.594 6.288 319.958 5.868 319.13 5.868C317.534 5.868 316.31 7.296 316.31 9ZM320.99 9C320.99 9.936 320.378 10.632 319.478 10.632C318.578 10.632 317.966 9.936 317.966 9C317.966 8.064 318.578 7.368 319.478 7.368C320.378 7.368 320.99 8.064 320.99 9ZM325.973 3.972C325.973 3.396 325.505 2.928 324.917 2.928C324.353 2.928 323.873 3.396 323.873 3.972C323.873 4.548 324.353 5.016 324.917 5.016C325.505 5.016 325.973 4.548 325.973 3.972ZM324.101 12H325.745V6H324.101V12ZM326.939 9C326.939 10.704 328.163 12.132 329.759 12.132C330.587 12.132 331.223 11.712 331.487 11.328V12H333.131V6H331.487V6.672C331.223 6.288 330.587 5.868 329.759 5.868C328.163 5.868 326.939 7.296 326.939 9ZM331.619 9C331.619 9.936 331.007 10.632 330.107 10.632C329.207 10.632 328.595 9.936 328.595 9C328.595 8.064 329.207 7.368 330.107 7.368C331.007 7.368 331.619 8.064 331.619 9Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M334.501 25.5H315.501V25.5C300.73 25.5 285.975 28.8802 273.664 37.042C225.451 69.004 213.849 102 158.119 102C95.6191 102 74.6191 42 26.1191 40.0005H2.11914\",\n stroke: \"url(#paint0_linear)\",\n strokeWidth: 3,\n strokeLinecap: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 40C131.925 40 141.889 113.811 221 155.5C252.601 172.153 319.628 171 335 171\",\n stroke: \"url(#paint1_linear)\",\n strokeWidth: 3,\n strokeLinecap: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.619 160C149.619 125 131.619 38.5001 1 40.0002V200H336L335.453 171C318.512 171 268.687 174.311 232.619 160Z\",\n fill: \"url(#paint2_linear)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.619 101.5C254.619 78.0002 255.619 14.5 336 25.5001V200H1V39.5002C67.1189 31.5004 108.805 117.387 167.619 101.5Z\",\n fill: \"url(#paint3_linear)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.4,\n d: \"M3 88H336V200H3V88Z\",\n fill: \"url(#paint4_linear)\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n r: 7.5,\n transform: \"matrix(-0.81719 -0.576369 -0.576369 0.81719 273.651 166.968)\",\n fill: \"white\",\n stroke: \"#75CF74\",\n strokeWidth: 5\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n r: 7.5,\n transform: \"matrix(-0.81719 -0.576369 -0.576369 0.81719 273.651 36.9678)\",\n fill: \"white\",\n stroke: \"#FC6F42\",\n strokeWidth: 5\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.2642 46.5108C22.8792 44.1234 22.0706 39.444 24.458 36.0591C26.8454 32.6742 31.5248 31.8655 34.9097 34.2529C38.2946 36.6403 39.1032 41.3197 36.7158 44.7046C34.3284 48.0895 29.6491 48.8982 26.2642 46.5108Z\",\n fill: \"white\",\n stroke: \"#EFB706\",\n strokeWidth: 5\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M268.293 131.569C267.822 132.094 267.867 132.907 268.393 133.377C268.918 133.847 269.733 133.803 270.203 133.278L272.318 130.921C272.789 130.396 272.744 129.582 272.219 129.112C271.693 128.642 270.878 128.687 270.408 129.212L268.293 131.569ZM249.588 130.393C248.924 130.456 248.437 131.051 248.437 131.717V144.33C248.437 144.996 248.924 145.591 249.588 145.654C250.349 145.727 250.99 145.131 250.99 144.385V131.662C250.99 130.916 250.349 130.32 249.588 130.393ZM278.23 135.013C278.954 134.655 279.768 134.453 280.631 134.453C283.542 134.453 285.91 136.74 286.052 139.612H286.065V143.99C286.065 144.735 285.424 145.331 284.663 145.259C283.999 145.196 283.511 144.601 283.511 143.935V139.866C283.504 138.286 282.215 137.003 280.631 137.003C279.047 137.003 277.758 138.286 277.75 139.866V143.99C277.75 144.735 277.11 145.331 276.348 145.259C275.684 145.196 275.197 144.601 275.197 143.935V135.832C275.197 135.148 275.71 134.539 276.394 134.498C276.783 134.474 277.135 134.625 277.382 134.879C277.601 135.104 277.949 135.152 278.23 135.013ZM266.432 139.618C266.106 141.584 267.792 143.268 269.761 142.943C270.954 142.746 271.916 141.786 272.113 140.595C272.439 138.629 270.753 136.945 268.784 137.27C267.591 137.466 266.629 138.427 266.432 139.618ZM263.866 140.66C263.525 137.227 266.39 134.365 269.828 134.706C272.371 134.957 274.429 137.012 274.68 139.552C275.021 142.984 272.156 145.844 268.719 145.505C266.176 145.254 264.118 143.2 263.866 140.66ZM258.172 142.943C256.204 143.268 254.518 141.584 254.843 139.619C255.04 138.427 256.002 137.467 257.195 137.27C259.163 136.945 260.85 138.628 260.524 140.594C260.327 141.785 259.365 142.746 258.172 142.943ZM258.239 134.705C254.801 134.366 251.936 137.227 252.277 140.659C252.529 143.199 254.586 145.253 257.129 145.505C260.567 145.845 263.432 142.984 263.091 139.552C262.839 137.012 260.782 134.957 258.239 134.705ZM289.689 139.618C289.364 141.584 291.05 143.268 293.019 142.943C294.211 142.746 295.173 141.785 295.371 140.594C295.696 138.628 294.01 136.944 292.041 137.27C290.848 137.467 289.886 138.427 289.689 139.618ZM295.81 135.109C296.055 134.854 296.405 134.702 296.792 134.722C297.481 134.759 298 135.37 298 136.059V144.152C298 144.84 297.481 145.452 296.792 145.488C296.405 145.509 296.055 145.356 295.81 145.101C295.586 144.869 295.231 144.824 294.942 144.967C294.145 145.363 293.238 145.57 292.278 145.527C289.517 145.403 287.248 143.157 287.101 140.402C286.934 137.27 289.428 134.678 292.528 134.678C293.4 134.678 294.222 134.884 294.952 135.249C295.237 135.391 295.589 135.338 295.81 135.109Z\",\n fill: \"black\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 116.5,\n y1: 14.4988,\n x2: 313,\n y2: 125.498,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F2B605\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FF5656\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear\",\n x1: 155.948,\n y1: 5.00001,\n x2: 156.2,\n y2: 171.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F2B604\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.505208,\n stopColor: \"#C0E96B\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#75CF74\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear\",\n x1: 181.889,\n y1: 103,\n x2: 39.953,\n y2: 0.893575,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F2B604\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F2B604\",\n stopOpacity: 0.1\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear\",\n x1: 155.111,\n y1: 103,\n x2: 297.047,\n y2: 0.893618,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FC6F42\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FC6F42\",\n stopOpacity: 0.1\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear\",\n x1: 98.2206,\n y1: 200,\n x2: 130.639,\n y2: 281.594,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#75CF74\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.494792,\n stopColor: \"#75CF74\",\n stopOpacity: 0.25\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#75CF74\",\n stopOpacity: 0.5\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBingewatchingGraph);\nexport default __webpack_public_path__ + \"static/media/bingewatching_graph.1fcca168391e306f25872bdac15c10f8.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"styles_header__19EN7\",\"title\":\"styles_title__MKQbX\",\"graphDescription\":\"styles_graphDescription__cRB3h\"};","import React from 'react';\nimport BingeWatchingGraph from 'assets/onboarding/graphs/bingewatching_graph.svg';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\nimport { useFeatures } from 'useFeatures';\n\nexport const Header = () => {\n const { t } = useTranslation();\n\n const { isAdhdTest } = useFeatures();\n\n return (\n
\n
\n

\n {isAdhdTest\n ? t('paymentPageHeaderTitlev3')\n : t('paymentPageHeaderTitlev2')}\n

\n {isAdhdTest\n ? t('paymentPageHeaderSubTitlev2')\n : t('paymentPageHeaderSubTitle')}\n
\n\n \"Graph\"\n\n
\n {t('paymentPageHeaderDescription')}\n
\n
\n );\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport './styles.scss';\n\ntype Props = {\n className?: string;\n};\n\nexport const Information = ({ className }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n {t('paymentInformationLine1')}\n
\n {t('paymentInformationLine2')}\n
\n
\n {t('paymentInformationLine3')}\n
\n {t('paymentInformationLine4')}\n
\n
\n {t('paymentInformationLine5')}\n
\n {t('paymentInformationLine6')}.\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"template\":\"styles_template__pJk1E\",\"listAccent\":\"styles_listAccent__-ZVDm\"};","import Divider from 'components/divider/Divider';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n className?: string;\n withDivider?: boolean;\n};\n\nexport const ReasonToUseTemplate = ({\n withDivider = true,\n className,\n}: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n {withDivider && }\n

{t('paymentReasonToUseTitle')}

\n
    \n
  • {t('paymentReasonToUseLine1')}
  • \n
  • {t('paymentReasonToUseLine2')}
  • \n
  • {t('paymentReasonToUseLine3')}
  • \n
  • {t('paymentReasonToUseLine4')}
  • \n
\n
\n );\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconStarEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 21,\n viewBox: \"0 0 22 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.381 16.8402C11.0423 16.6107 10.598 16.6107 10.2593 16.8402L5.58808 20.0046C4.81182 20.5304 3.80378 19.7949 4.06765 18.8952L5.64512 13.5166C5.7612 13.1208 5.62236 12.6943 5.2955 12.4427L0.845708 9.01752C0.101186 8.44442 0.486372 7.2539 1.42549 7.22554L7.06112 7.05537C7.47132 7.04298 7.8323 6.78123 7.97158 6.3952L9.8795 1.10714C10.1973 0.22632 11.443 0.226322 11.7608 1.10715L13.6687 6.3952C13.808 6.78123 14.169 7.04298 14.5792 7.05537L20.2148 7.22554C21.1539 7.2539 21.5391 8.44442 20.7946 9.01751L16.3448 12.4427C16.0179 12.6943 15.8791 13.1208 15.9952 13.5166L17.5726 18.8952C17.8365 19.7949 16.8285 20.5304 16.0522 20.0046L11.381 16.8402Z\",\n fill: \"#EEEDEE\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconStarEmpty);\nexport default __webpack_public_path__ + \"static/media/icon_star_empty.edb94bd5cd54a418c3e63bf6442fcade.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStickyHeaderStar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 19,\n height: 18,\n viewBox: \"0 0 19 18\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.7903 1.33215C14.482 1.35174 14.4005 3.05568 14.1824 3.28043C13.8627 3.61648 12.5315 3.45779 12.5535 4.17048C12.5662 4.57773 13.8081 4.92609 13.9231 5.31324C14.038 5.70039 13.2746 6.92458 13.7278 7.21209C14.181 7.49961 15.1309 6.04439 15.3543 5.9573C15.6894 5.82668 16.9796 6.75633 17.1787 6.39121C17.4806 5.83912 16.2149 4.83339 16.2074 4.4474C16.2 4.0614 17.2983 3.0607 17.1286 2.64243C16.959 2.22416 15.8702 2.98896 15.5926 2.80723C15.315 2.6255 15.2489 1.28682 14.7903 1.33215Z\",\n fill: \"#B250FF\",\n stroke: \"#B250FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.81256 16.6102C2.26133 16.6102 2.62512 16.2498 2.62512 15.8051C2.62512 15.3605 2.26133 15 1.81256 15C1.36379 15 1 15.3605 1 15.8051C1 16.2498 1.36379 16.6102 1.81256 16.6102Z\",\n fill: \"#B250FF\",\n stroke: \"#B250FF\",\n strokeMiterlimit: 10\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5718 2.13313C2.88759 2.13313 3.14361 1.87947 3.14361 1.56657C3.14361 1.25366 2.88759 1 2.5718 1C2.256 1 2 1.25366 2 1.56657C2 1.87947 2.256 2.13313 2.5718 2.13313Z\",\n fill: \"#B250FF\",\n stroke: \"#B250FF\",\n strokeMiterlimit: 10\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStickyHeaderStar);\nexport default __webpack_public_path__ + \"static/media/sticky_header_star.916c021dd074b14bab63795edd5e6ca1.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport EmptyStarIcon from 'assets/icon_star_empty.svg';\nimport StarIcon from 'assets/icon_star.svg';\n\ntype Props = {\n rating: number;\n};\n\nconst MAX_RATING = 5;\n\nconst Stars = ({ rating }: Props) => (\n
\n {[...Array(MAX_RATING)].map((_, index) => (\n = index + 1 ? 100 : (rating - index) * 100}\n />\n ))}\n {rating.toFixed(1)}\n
\n);\n\ntype StarProps = {\n fill: number;\n};\n\nconst Star = ({ fill }: StarProps) => {\n if (fill === 100) {\n return \"\";\n } else {\n return (\n
\n \"\"\n
\n \"\"\n
\n
\n );\n }\n};\n\nexport default Stars;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Stars from './Stars';\nimport './styles.scss';\n\ntype Props = {\n text: string;\n author: string;\n avatar: string;\n rating: number;\n};\n\nconst Review = ({ text, author, avatar, rating }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n \"\"\n
\n \n {author} {t('reviewRecommends')} Loóna\n \n \n
\n
\n
{text}
\n
\n );\n};\n\nexport default Review;\n","import React from 'react';\nimport Review from 'subscription/components/review/Review';\nimport Emma from 'assets/avatars/emma.jpeg';\nimport Amelia from 'assets/avatars/amelia.jpeg';\nimport Zoey from 'assets/avatars/zoey.jpeg';\nimport { useTranslation } from 'react-i18next';\n\nexport const Reviews = () => {\n const { t } = useTranslation();\n\n return (\n <>\n

{t('reviewsTitle')}

\n
\n \n \n \n
\n \n );\n};\n","export enum PlanSelectType {\n WEEK = 'week',\n MONTH = 'month',\n QUARTER = 'quarter',\n}\n","import { RefObject, useEffect, useState } from 'react';\n\ntype Props = {\n startDate: number;\n timerBox: RefObject;\n};\n\nconst TIMER_INITIAL_VALUE = 15 * 60;\n\nexport const useStickyHeader = ({ startDate, timerBox }: Props) => {\n const [isSticky, setSticky] = useState(false);\n const [period, setPeriod] = useState(TIMER_INITIAL_VALUE);\n\n useEffect(() => {\n const handleScroll = () => {\n if (timerBox.current) {\n const rect = timerBox.current.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n\n // Show sticky header when the element is no longer visible (its bottom is above the viewport)\n if (rect.bottom <= windowHeight) {\n setSticky(true);\n }\n\n // Hide sticky header when the user scrolls back near the top (20px from the top)\n if (window.scrollY < 20) {\n setSticky(false);\n }\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n const timerId = setInterval(() => {\n const diff = TIMER_INITIAL_VALUE - (Date.now() - startDate) / 1000;\n if (diff < 0) {\n clearInterval(timerId);\n } else {\n setPeriod(diff);\n }\n }, 1000);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n clearInterval(timerId);\n };\n }, [startDate, timerBox]);\n\n const getTime = () => {\n const minutes = Math.floor(period / 60);\n const seconds = Math.floor(period - minutes * 60);\n\n if (minutes === 0 && seconds === 0) {\n return 0;\n }\n return `${minutes}:${seconds >= 10 ? '' : '0'}${seconds}`;\n };\n\n return {\n isSticky,\n time: getTime(),\n timerMinutes: Math.floor(TIMER_INITIAL_VALUE / 60),\n };\n};\n","import React, { useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ReactComponent as StarIcon } from 'assets/onboarding/sticky_header_star.svg';\nimport { useStickyHeader } from 'hooks/useStickyHeader';\nimport { Product } from 'bootstrap/data/product/Product';\nimport i18next from 'i18next';\nimport './styles.scss';\n\ntype StickyHeaderProps = {\n product: Product;\n startDate: number;\n trialLength: number;\n};\n\nexport const StickyHeader = ({\n product,\n startDate,\n trialLength,\n}: StickyHeaderProps) => {\n const { t } = useTranslation();\n\n const timerBox = useRef(null);\n const { isSticky, time } = useStickyHeader({\n timerBox,\n startDate,\n });\n\n return (\n <>\n {isSticky && (\n
\n
{t('stickyHeaderLine3', { time })}
\n
\n )}\n
\n \n \n
\n
\n {product.trialLength\n ? t('stickyHeaderWithTrialTitleLine1')\n : t('stickyHeaderWithoutTrialTitleLine1')}{' '}\n \n {product.trialLength\n ? t('stickyHeaderWithTrialTitleLine2', { trialLength })\n : t('stickyHeaderWithoutTrialTitleLine2', {\n discountPercent: product.discount?.value || 30,\n })}\n {' '}\n {!product.trialLength &&\n !product.rampIntervals.length &&\n i18next.exists('discount')\n ? t('discount')\n : ''}\n {product.rampIntervals.length > 0 && (\n \n {t('stickyHeaderWithTrialTitleLine4', {\n term: product.getTerm(t),\n })}\n \n )}\n
\n
{t('stickyHeaderLine3', { time })}
\n
{t('stickyHeaderLine4')}
\n
\n
\n \n );\n};\n","import { TFunction } from 'i18next';\nimport { formatPrice } from 'utils';\nimport { getCurrentLanguage } from 'utils/utils';\nimport { getCurrencyByCurrencyCode } from './Product.utils';\nimport { Currency, RampInterval } from './Product.types';\n\nexport class Product {\n id: string;\n code: string;\n name: string;\n description: string;\n intervalUnit: 'months' | 'days';\n intervalLength: number;\n trialUnit: 'months' | 'days';\n trialLength: number;\n amount: number;\n currency: string;\n setupFee?: number;\n currencies: Currency[];\n rampIntervals: RampInterval[];\n discount?: {\n value: number;\n fullPrice: number;\n };\n\n constructor(\n id: string,\n code: string,\n name: string,\n description: string,\n intervalUnit: 'months' | 'days',\n intervalLength: number,\n trialUnit: 'months' | 'days',\n trialLength: number,\n rampIntervals: RampInterval[],\n currencies: Currency[],\n discount?: number,\n fullPrice?: number,\n ) {\n this.id = id;\n this.code = code;\n this.name = name;\n this.description = description;\n this.intervalUnit = intervalUnit;\n this.intervalLength = intervalLength;\n this.trialUnit = trialUnit;\n this.trialLength = trialLength;\n this.rampIntervals = rampIntervals.sort(\n (a, b) => a.starting_billing_cycle - b.starting_billing_cycle,\n );\n\n this.currencies = rampIntervals.length\n ? rampIntervals[0].currencies\n : currencies;\n\n const {\n currency,\n unit_amount: unitAmount,\n setup_fee: setupFee,\n } = this.getDefaultCurrency();\n\n this.currency = currency;\n this.amount = unitAmount;\n\n this.setupFee = setupFee === 0.0 || null ? 0 : setupFee;\n\n if (discount && fullPrice) {\n this.discount = {\n value: discount,\n fullPrice: fullPrice,\n };\n }\n }\n\n getDefaultCurrency(): Currency {\n return this.rampIntervals.length\n ? getCurrencyByCurrencyCode(this.rampIntervals[0].currencies, 'USD')\n : getCurrencyByCurrencyCode(this.currencies, 'USD');\n }\n\n getFormattedPrice(currencyCode?: string): string {\n if (!currencyCode || !this.currencies) {\n return formatPrice(this.amount, this.currency);\n }\n const { currency, unit_amount } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n return formatPrice(unit_amount, currency);\n }\n\n getTreeMonthsFormattedPrice(currencyCode?: string): string {\n if (!currencyCode || !this.currencies) {\n return formatPrice(this.amount * 3, this.currency);\n }\n const { currency, unit_amount } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n return formatPrice(unit_amount * 3, currency);\n }\n\n getFormattedRenewsPrice(currencyCode?: string): string {\n const rampIntervalCurrencies: Currency[] =\n this.rampIntervals[1]?.currencies;\n\n if (!rampIntervalCurrencies) {\n return formatPrice(this.amount, this.currency);\n }\n\n const { currency, unit_amount } = getCurrencyByCurrencyCode(\n rampIntervalCurrencies,\n currencyCode,\n );\n\n return formatPrice(unit_amount, currency);\n }\n\n getAmountPerWeek(currentAmount?: number) {\n const amount: number = currentAmount || this.amount;\n\n let amountPerWeek = 0.0;\n switch (this.intervalUnit) {\n case 'days':\n amountPerWeek = (amount / this.intervalLength) * 7;\n break;\n case 'months':\n amountPerWeek = amount / this.intervalLength / 4;\n break;\n }\n amountPerWeek = Math.floor(amountPerWeek * 100) / 100;\n return amountPerWeek;\n }\n\n getAmountPerDay(currentAmount?: number) {\n const amount: number = currentAmount || this.amount;\n\n let amountPerDay = 0.0;\n switch (this.intervalUnit) {\n case 'days':\n amountPerDay = amount / this.intervalLength;\n break;\n case 'months':\n amountPerDay = amount / this.intervalLength / 30;\n break;\n }\n\n amountPerDay = Math.floor(amountPerDay * 100) / 100;\n return amountPerDay;\n }\n\n getFirstRampIntervalAmountPerDay(currencyCode?: string): number {\n const { unit_amount } = getCurrencyByCurrencyCode(\n this.rampIntervals?.[1]?.currencies ?? this.currencies,\n currencyCode || 'USD',\n );\n\n return this.getAmountPerDay(unit_amount);\n }\n\n getFormattedDailyPrice(currencyCode?: string): string {\n if (!currencyCode || !this.currencies) {\n const amountPerDay = this.getAmountPerDay(this.amount);\n return formatPrice(amountPerDay, this.currency);\n }\n\n const { unit_amount, currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n const amountPerDay = this.getAmountPerDay(unit_amount);\n return formatPrice(amountPerDay, currency);\n }\n\n getFormattedWeeklyPrice(currencyCode?: string): string {\n if (!currencyCode || !this.currencies) {\n const amountPerWeek = this.getAmountPerWeek(this.amount);\n return formatPrice(amountPerWeek, this.currency);\n }\n\n const { unit_amount, currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n const amountPerWeek = this.getAmountPerWeek(unit_amount);\n return formatPrice(amountPerWeek, currency);\n }\n\n getFormattedInvoicePrice(\n currencyCode?: string,\n minFractions = 2,\n maxFractions = 2,\n ): string {\n if (!currencyCode || !this.currencies) {\n return formatPrice(\n this.setupFee,\n this.currency,\n minFractions,\n maxFractions,\n );\n }\n\n const { setup_fee: setupFee, currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n return formatPrice(setupFee, currency, minFractions, maxFractions);\n }\n\n getTrialEndFormattedDate(date?: Date): string {\n const currentDate = date || this.getTrialEndDate();\n const language = getCurrentLanguage();\n\n const timeFormatted = Intl.DateTimeFormat(language, {\n hour: 'numeric',\n minute: 'numeric',\n }).format(currentDate);\n const dateFormatted = Intl.DateTimeFormat(language, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(currentDate);\n return `${timeFormatted}, ${dateFormatted}`;\n }\n\n getTrialFormattedDateWithWeekDay(date: Date): string {\n const language = getCurrentLanguage();\n\n const dateFormatted = Intl.DateTimeFormat(language, {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n }).format(date);\n return dateFormatted;\n }\n\n getTrialAfterFiveDaysDate(date?: Date): Date {\n const currentDate = date || new Date();\n\n return new Date(currentDate.setDate(currentDate.getDate() + 5));\n }\n\n getTrialEndDate(date?: Date): Date {\n const currentDate = date || new Date();\n\n switch (this.trialUnit) {\n case 'days':\n return new Date(\n currentDate.setDate(currentDate.getDate() + this.trialLength),\n );\n case 'months':\n return new Date(\n currentDate.setMonth(currentDate.getMonth() + this.trialLength),\n );\n }\n }\n\n getTerm(t?: TFunction, isMonthFormat?: boolean) {\n const interval = this.intervalLength;\n const unit = this.intervalUnit;\n\n if (\n (interval === 3 && unit === 'months') ||\n (isMonthFormat && interval === 1)\n ) {\n return isMonthFormat\n ? `${\n t\n ? t('month_with_duration', { duration: interval })\n : `${interval}-Month`\n }`\n : `${t ? t('weeks', { duration: 12 }) : '12 weeks'}`;\n } else if (interval === 12 && unit === 'months') {\n return t ? `1-${t('year')}` : '1-Year';\n } else if (interval === 1) {\n return t ? t(unit.slice(0, -1)) : unit.slice(0, -1);\n } else if (interval === 7 && unit === 'days') {\n return t\n ? `${interval}-${t(unit.slice(0, -1))}`\n : `${interval}-${unit.slice(0, -1)}`;\n } else {\n return `${interval} ${t ? t(unit) : unit}`;\n }\n }\n\n getRenewPeriodName(t?: TFunction) {\n const interval = this.intervalLength;\n const unit = this.intervalUnit;\n\n if (interval === 3 && unit === 'months') {\n return t ? t('quarter') : 'quarter';\n } else if (interval === 12 && unit === 'months') {\n return t ? t('annual') : 'annual';\n } else if (interval === 1) {\n return t ? t(unit.slice(0, -1)) : unit.slice(0, -1);\n } else {\n return `${interval} ${t ? t(unit) : unit}`;\n }\n }\n\n getPlanSectionTerm(t?: TFunction, isMonthFormat?: boolean) {\n const interval = this.intervalLength;\n const unit = this.intervalUnit;\n\n if (\n (interval === 3 && unit === 'months') ||\n (interval === 1 && unit === 'months')\n ) {\n return isMonthFormat\n ? `${\n t\n ? t('month_with_duration', { duration: interval })\n : `${interval}-Month`\n }`\n : `${\n t\n ? t('weeks_with_duration', { duration: interval * 4 })\n : '12 weeks'\n }`;\n } else if (interval === 12 && unit === 'months') {\n return t ? `1-${t('year')}` : '1-Year';\n } else if (interval === 1) {\n return t ? t(unit.slice(0, -1)) : unit.slice(0, -1);\n } else if (interval === 7 && unit === 'days') {\n return t\n ? `${interval}-${t(unit.slice(0, -1))}`\n : `${interval}-${unit.slice(0, -1)}`;\n } else {\n return `${interval} ${t ? t(unit) : unit}`;\n }\n }\n\n getRenewPeriodAdverbName(t?: TFunction) {\n const periodNameFormat =\n this.intervalUnit === 'months' ? 'monthly' : 'daily';\n\n if (this.intervalLength === 3 && this.intervalUnit === 'months') {\n return t ? t('quarterly') : 'quarterly';\n } else if (this.intervalLength === 12 && this.intervalUnit === 'months') {\n return t ? t('annually') : 'annually';\n } else if (this.intervalLength === 1) {\n return t ? t(periodNameFormat) : periodNameFormat;\n } else {\n return `${this.intervalLength} ${\n t ? t(periodNameFormat) : periodNameFormat\n }`;\n }\n }\n\n getPriceWithTrial(currencyCode?: string) {\n if (!currencyCode || !this.currencies) {\n return formatPrice((this.setupFee || 0) + this.amount, this.currency);\n }\n\n const {\n unit_amount,\n setup_fee: setupFee,\n currency,\n } = getCurrencyByCurrencyCode(this.currencies, currencyCode);\n return formatPrice(unit_amount + setupFee, currency);\n }\n\n getPriceWithoutTrial(currencyCode?: string) {\n if (!currencyCode || !this.currencies) {\n return formatPrice(this.amount - (this.setupFee || 0), this.currency);\n }\n\n const {\n unit_amount,\n setup_fee: setupFee,\n currency,\n } = getCurrencyByCurrencyCode(this.currencies, currencyCode);\n return formatPrice(unit_amount - setupFee, currency);\n }\n\n getPriceWithTotalSavings(discountPercent: number, currencyCode?: string) {\n const discountValue = this.getDiscountValue(discountPercent, currencyCode);\n const totalSavings = discountValue + (this.setupFee || 0);\n\n if (!currencyCode || !this.currencies) {\n return formatPrice(this.amount - totalSavings, this.currency);\n }\n\n const { unit_amount, currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n\n return formatPrice(unit_amount - totalSavings, currency);\n }\n\n getPriceWithoutDiscount = (\n discountPercent: number,\n currencyCode?: string,\n ): string => {\n const originalPrice = (this.amount / (1 - discountPercent / 100)).toFixed(\n 2,\n );\n\n if (!currencyCode || !this.currencies) {\n return formatPrice(originalPrice, this.currency);\n }\n\n const { currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n\n return formatPrice(originalPrice, currency);\n };\n\n getTotalSavings = (\n discountPercent: number,\n currencyCode?: string,\n ): string => {\n const discountValue = this.getDiscountValue(discountPercent, currencyCode);\n if (!currencyCode || !this.currencies) {\n const totalSavings = discountValue + (this.setupFee || 0);\n return formatPrice(totalSavings, this.currency);\n }\n\n const { currency, setup_fee: setupFee } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n\n const totalSavings = discountValue + (setupFee || 0);\n return formatPrice(totalSavings, currency);\n };\n\n getDiscountValue = (\n discountPercent: number,\n currencyCode?: string,\n ): number => {\n if (!currencyCode || !this.currencies) {\n const discountValue = (this.amount * discountPercent) / 100;\n return Math.floor(discountValue * 100) / 100;\n }\n\n const { unit_amount } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n const discountValue = (unit_amount * discountPercent) / 100;\n return Math.floor(discountValue * 100) / 100;\n };\n\n getDiscountAmount = (\n discountPercent: number,\n currencyCode?: string,\n ): string => {\n const discountValue = this.getDiscountValue(discountPercent, currencyCode);\n if (!currencyCode || !this.currencies) {\n return formatPrice(discountValue, this.currency);\n }\n\n const { currency } = getCurrencyByCurrencyCode(\n this.currencies,\n currencyCode,\n );\n return formatPrice(discountValue, currency);\n };\n}\n","import { getString } from 'firebase/remote-config';\nimport { remoteConfig } from 'analytics/Firebase';\nimport { getQueryVariable } from 'utils';\nimport { Product } from './Product';\nimport { Currency, ServerProduct, Products } from './Product.types';\nimport { PresaleOfferConfig } from 'subscription/presale/Presale.types';\nimport { PlanSelectType } from 'subscription/singleproduct/components/plansection/PlanSection.constants';\n\ntype PromoType = 'promo' | 'default';\ntype TrialType = 'standard_trial' | 'extended_trial';\n\nexport function convertToProduct(\n serverProduct: ServerProduct,\n description?: string,\n): Product {\n return new Product(\n serverProduct.id,\n serverProduct.code,\n serverProduct.name,\n description || serverProduct.description,\n serverProduct.interval_unit,\n serverProduct.interval_length,\n serverProduct.trial_unit,\n serverProduct.trial_length,\n serverProduct.ramp_intervals,\n serverProduct.currencies,\n serverProduct.discount,\n serverProduct.full_price,\n );\n}\n\nexport const defaultProductCode = getString(\n remoteConfig,\n 'default_product_code',\n);\n\nexport const getCurrencyByCurrencyCode = (\n currencies: Currency[],\n currencyCode?: string,\n): Currency => {\n const defaultCurrencyCode = 'USD';\n\n const matchingCurrency = currencies.find(\n ({ currency }) => currency === currencyCode,\n );\n\n if (matchingCurrency) {\n return matchingCurrency;\n }\n\n const defaultCurrency = currencies.find(\n ({ currency }) => currency === defaultCurrencyCode,\n );\n\n if (defaultCurrency) {\n return defaultCurrency;\n }\n\n throw new Error(\n `Currency with code '${currencyCode}' not found in the provided currency list.`,\n );\n};\n\nexport function getProductPrefix() {\n return getQueryVariable('pr');\n}\n\nexport function getPresaleConfigPrefix() {\n return getQueryVariable('ps_offer_config');\n}\n\nexport const getDefaultProductCode = (\n type: 'standard' | 'extended',\n): string => {\n const productPrefix = getProductPrefix() || 'default';\n const productConfigName = `${productPrefix}_${type}_product_code`;\n\n return (\n getString(remoteConfig, productConfigName) ||\n getString(remoteConfig, `default_${type}_product_code`)\n );\n};\n\nexport const getSkipTrialProductCode = (type?: PlanSelectType): string => {\n return getString(\n remoteConfig,\n type === PlanSelectType.MONTH\n ? 'promo_skip_trial_no_trial_product_code_plan_select'\n : 'promo_skip_trial_no_trial_product_code',\n );\n};\n\nexport const getMonthDirectProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_month_direct_product_code');\n};\n\nexport const getMonthUpsellStepOneProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_month_upsell_step1_product_code');\n};\n\nexport const getMonthUpsellStepTwoProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_month_upsell_step2_product_code');\n};\n\nexport const getQuarterDirectProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_quarter_direct_product_code');\n};\n\nexport const getWeekDirectProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_week_direct_product_code');\n};\n\nexport const getWeekUpsellStepOneProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_week_upsell_step1_product_code');\n};\n\nexport const getWeekUpsellStepTwoProductCode = (): string => {\n return getString(remoteConfig, 'plan_select_week_upsell_step2_product_code');\n};\n\nexport const getPresaleOfferConfig = (\n defaultPresaleOfferConfig: PresaleOfferConfig[],\n): PresaleOfferConfig[] => {\n const configPrefix = getPresaleConfigPrefix();\n const configName = `${configPrefix}_presale_offer_config`;\n const config = getString(remoteConfig, configName);\n\n if (!config) return defaultPresaleOfferConfig;\n\n return JSON.parse(config);\n};\n\nexport const getAddonsPlansConfig = (): Products => {\n const configName = 'items';\n const config = getString(remoteConfig, configName);\n\n return JSON.parse(config);\n};\n\nexport const getWorkbookProductCode = (): string => {\n return getString(remoteConfig, 'workbook_addon_product_code');\n};\n\nexport const getWorkbookWithDiscountProductCode = (): string => {\n return getString(remoteConfig, 'workbook_addon_with_discount_product_code');\n};\n\nexport const getWebAudioProductCode = (): string => {\n return getString(remoteConfig, 'web_audio_product_code');\n};\n\nexport function convertToProductMap(\n serverProducts: Record,\n): Map {\n return Object.entries(serverProducts).reduce>(\n (result, current) => {\n const [code, product] = current;\n if (\n (Array.isArray(product.currencies) && product.currencies.length) ||\n product.ramp_intervals.length\n ) {\n result.set(code, convertToProduct(product));\n }\n return result;\n },\n new Map(),\n );\n}\n\nexport function convertToProducts(products: Map): Products {\n const constants: Record<\n PromoType,\n Record>\n > = {\n promo: {\n standard_trial: {\n code: getString(remoteConfig, 'promo_standard_product_code'),\n description: 'Free Trial (7 days)',\n },\n extended_trial: {\n code: getString(remoteConfig, 'promo_extended_product_code'),\n description: 'Extended Free Trial (14 days)',\n },\n },\n default: {\n standard_trial: {\n code: getDefaultProductCode('standard'),\n description: 'Free Trial (7 days)',\n },\n extended_trial: {\n code: getDefaultProductCode('extended'),\n description: 'Extended Free Trial (14 days)',\n },\n },\n };\n\n const getProduct = (promoType: PromoType, trialType: TrialType): Product => {\n const constant = constants[promoType][trialType];\n const currentProduct = products?.get(constant.code);\n if (currentProduct) {\n const product = Object.create(currentProduct);\n constant.description && (product.description = constant.description);\n return product;\n }\n throw new Error('Unable to get product info');\n };\n\n return {\n promo: {\n standard_trial: getProduct('promo', 'standard_trial'),\n extended_trial: getProduct('promo', 'extended_trial'),\n },\n default: {\n standard_trial: getProduct('default', 'standard_trial'),\n extended_trial: getProduct('default', 'extended_trial'),\n },\n };\n}\n","import { Product } from 'bootstrap/data/product/Product';\nimport {\n convertToProduct,\n convertToProductMap,\n} from 'bootstrap/data/product/Product.utils';\nimport { fetchServer, toResultPromise } from '../commonnet';\nimport { ENDPOINTS } from '../endpoints';\nimport { PricesResponse, ProductResponse } from './product.types';\n\nexport async function getProducts(): Promise> {\n const result = await fetchServer({\n url: ENDPOINTS.PRODUCTS,\n method: 'GET',\n body: null,\n retries: 2,\n });\n\n return toResultPromise(result, convertToProductMap(result.response.plans));\n}\n\nexport async function getBundle(id: string): Promise {\n const params = new URLSearchParams({ bundle_name: id });\n const result = await fetchServer({\n url: ENDPOINTS.BUNDLE + '?' + params,\n method: 'GET',\n body: null,\n retries: 2,\n });\n\n return toResultPromise(result, convertToProduct(result.response));\n}\n","export const RECURLY_KEY = process.env.REACT_APP_RECURLY_KEY || '';\nexport const DEFAULT_BUNDLE_ID = 'default';\n","export enum GiftCardTypes {\n Yearly = 'yearly',\n Lifetime = 'lifetime',\n}\n\nexport interface GiftCardProduct {\n name: string;\n price: number;\n currency: string;\n code: string;\n description: string;\n}\n","import { RefObject, useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport {\n ContinueUnfoldPayment,\n SubscriptionError,\n SubscriptionSuccess,\n} from 'analytics/AllEvents';\nimport { Amplitude } from 'analytics/Amplitude';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { getBundle } from 'bootstrap/net/product';\nimport {\n setCountryCode,\n setCountryCurrency,\n setSubscriptionActive,\n} from 'bootstrap/user/actions';\nimport { ViewQPScreen } from 'quickpurchase/analytics';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { getQueryVariable, pushWithSearchQuery } from 'utils';\nimport { DEFAULT_BUNDLE_ID } from './Payment.constants';\nimport { useFeatures } from 'useFeatures';\n\nexport const usePaymentLogic = (paymentFormRef?: RefObject) => {\n const dispatch = useAppDispatch();\n const { currency } = useAppSelector((state) => state.user);\n\n const { isLocalCurrencyEnabled } = useFeatures();\n\n const [product, setProduct] = useState();\n const [error, setError] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const { email } = useAppSelector((state) => state.user);\n\n useEffect(() => {\n const idx = getQueryVariable('idx');\n const bundle = getQueryVariable('bundle');\n loadProduct(bundle);\n dispatch(setCountryCode());\n\n if (isLocalCurrencyEnabled) {\n dispatch(setCountryCurrency());\n }\n\n if (idx) {\n Amplitude.setUserId(idx);\n } else {\n dispatch(pushWithSearchQuery('/quick-purchase/login', ['idx']));\n }\n\n appAnalytics.trackEvent(new ViewQPScreen('qpPayment', bundle));\n }, []);\n\n const loadProduct = (id: string = DEFAULT_BUNDLE_ID) => {\n setError(false);\n getBundle(id)\n .then((p) => {\n setProduct(p);\n })\n .catch((_) => {\n if (id === DEFAULT_BUNDLE_ID) {\n setError(true);\n } else {\n loadProduct(DEFAULT_BUNDLE_ID);\n }\n });\n };\n\n const handlePayPalSuccess = ({\n orderId,\n productBought,\n }: SuccessPaymentProps) => {\n dispatch(setSubscriptionActive(false));\n product &&\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n productBought.currency,\n productBought.code,\n {\n eventId: orderId,\n email: email,\n onboardingType: 'qp',\n },\n ),\n );\n dispatch(pushWithSearchQuery('/quick-purchase/done'));\n };\n\n const handlePayPalError = (message: string) => {\n appAnalytics.trackEvent(new SubscriptionError(message));\n };\n\n const handleCardSuccess = ({\n orderId,\n productBought,\n zip,\n firstName,\n lastName,\n }: SuccessPaymentProps) => {\n dispatch(setSubscriptionActive(false));\n product &&\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n productBought.currency,\n productBought.code,\n {\n eventId: orderId,\n email: email,\n zip: zip,\n firstName: firstName,\n lastName: lastName,\n onboardingType: 'qp',\n },\n ),\n );\n dispatch(pushWithSearchQuery('/quick-purchase/done'));\n };\n\n const handleCardError = (message: string) => {\n appAnalytics.trackEvent(new SubscriptionError(message));\n };\n\n const handleRetry = () => {\n loadProduct(getQueryVariable('bundle'));\n };\n\n const scrollToPaymentForm = () => {\n setExpanded(true);\n\n setTimeout(() => {\n if (!paymentFormRef) return;\n\n const contentHeightBeforePaymentForm = 100;\n const paymentFormOffsetTop = paymentFormRef.current?.offsetTop || 0;\n const topPosition = +(\n paymentFormOffsetTop - contentHeightBeforePaymentForm\n );\n\n if (paymentFormRef.current) {\n window.scroll({\n top: topPosition,\n behavior: 'smooth',\n });\n }\n }, 1);\n };\n\n const handleGetPlanClick = () => {\n appAnalytics.trackEvent(new ContinueUnfoldPayment(''));\n scrollToPaymentForm();\n };\n\n return {\n error,\n product,\n currency,\n expanded,\n handlePayPalSuccess,\n handlePayPalError,\n handleCardSuccess,\n handleCardError,\n handleRetry,\n handleGetPlanClick,\n };\n};\n","import { getCurrencyByCurrencyCode } from 'bootstrap/data/product/Product.utils';\nimport { ServerGiftCardProduct } from 'bootstrap/net/giftcards/giftcard.types';\nimport { formatPrice } from 'utils';\nimport { Currency } from '../product/Product.types';\n\nexport interface GiftCardProduct {\n name: string;\n price: number;\n currency: string;\n code: string;\n description: string;\n currencies: Currency[];\n}\n\nexport const convertFromServer = (\n serverGiftCardProduct: ServerGiftCardProduct,\n currencyCode?: string,\n): GiftCardProduct => {\n const { unit_amount, currency } = getCurrencyByCurrencyCode(\n serverGiftCardProduct.currencies,\n currencyCode,\n );\n\n if (!unit_amount) {\n throw Error(\n `Product ${serverGiftCardProduct.code} has no price information`,\n );\n }\n return {\n name: serverGiftCardProduct.name,\n code: serverGiftCardProduct.code,\n description: serverGiftCardProduct.description,\n price: unit_amount,\n currency: currency,\n currencies: serverGiftCardProduct.currencies,\n };\n};\n\nexport const getFormattedPrice = (\n giftCardProduct: GiftCardProduct,\n currencyCode?: string,\n q?: number,\n): string => {\n const quantity = q || 1;\n\n if (!giftCardProduct.currencies || !currencyCode) {\n return formatPrice(\n giftCardProduct.price * quantity,\n giftCardProduct.currency,\n );\n }\n\n const { unit_amount, currency } = getCurrencyByCurrencyCode(\n giftCardProduct.currencies,\n currencyCode,\n );\n\n return formatPrice(unit_amount * quantity, currency);\n};\n","import { GiftCardProduct } from 'bootstrap/data/giftproduct/GiftCardProduct';\nimport { Currency } from 'bootstrap/data/product/Product.types';\nimport { ResponseError } from '../commonnet.types';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\n\nexport const YEARLY_PRODUCT_CODE = 'yearly';\nexport const LIFETIME_PRODUCT_CODE = 'lifetime';\n\nexport interface ServerGiftCardProduct {\n name: string;\n currencies: Currency[];\n code: string;\n description: string;\n}\n\nexport interface ServerGiftCardProducts {\n [YEARLY_PRODUCT_CODE]: ServerGiftCardProduct;\n [LIFETIME_PRODUCT_CODE]: ServerGiftCardProduct;\n}\n\nexport interface GiftCardProductsListResponse {\n response: {\n items: ServerGiftCardProducts;\n };\n error: ResponseError;\n}\n\nexport type SubscriptionResponse =\n | ThreeDSecureSubscriptionResponse\n | SuccessSubscriptionResponse;\n\nexport interface ThreeDSecureSubscriptionResponse {\n three_d_secure_action_token_id: string;\n error: ResponseError;\n}\n\nexport interface SuccessSubscriptionResponse {\n pdf_link: string;\n error: ResponseError;\n}\n\nexport interface GiftCardRequest {\n email: string;\n product: GiftCardProduct;\n quantity: number;\n token: string;\n threeDsToken: string | undefined;\n firstName: string | undefined;\n lastName: string | undefined;\n currency: string | undefined;\n price?: number;\n paymentMethod?: PaymentMethods;\n recaptchaToken: string;\n}\n","import { convertFromServer } from 'bootstrap/data/giftproduct/GiftCardProduct';\nimport { GiftCardProducts } from 'bootstrap/data/giftproduct/GiftCardProducts';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport {\n LIFETIME_PRODUCT_CODE,\n ServerGiftCardProducts,\n YEARLY_PRODUCT_CODE,\n} from './giftcard.types';\n\nexport const convertToGiftCards = (\n serverGiftCards: ServerGiftCardProducts,\n currency?: string,\n): GiftCardProducts => {\n const yearlyGiftCard = serverGiftCards[YEARLY_PRODUCT_CODE];\n const lifetimeGiftCard = serverGiftCards[LIFETIME_PRODUCT_CODE];\n\n if (!yearlyGiftCard || !lifetimeGiftCard) {\n throw Error('Unable to load gift card plans');\n }\n\n return {\n [GiftCardTypes.Yearly]: convertFromServer(yearlyGiftCard, currency),\n [GiftCardTypes.Lifetime]: convertFromServer(lifetimeGiftCard, currency),\n };\n};\n","import { GiftCardProducts } from 'bootstrap/data/giftproduct/GiftCardProducts';\nimport {\n GiftCardProductsListResponse,\n GiftCardRequest,\n SubscriptionResponse,\n} from './giftcard.types';\nimport { ENDPOINTS } from '../endpoints';\nimport { convertToGiftCards } from './helpers';\nimport { fetchServer, toResultPromise } from '../commonnet';\nimport { ServerResponse } from '../commonnet.types';\nimport { RegisterResponse } from '../user/user.types';\n\nexport async function getGiftCardProducts(\n currency?: string,\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.GIFT_CARDS_LIST,\n method: 'GET',\n });\n\n return toResultPromise(\n result,\n convertToGiftCards(result.response.items, currency),\n );\n}\n\nexport async function buyGiftCard({\n email,\n product,\n quantity,\n token,\n threeDsToken,\n firstName,\n lastName,\n currency,\n price,\n paymentMethod,\n recaptchaToken,\n}: GiftCardRequest): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.BUY_GIFT_CARD,\n method: 'POST',\n body: {\n first_name: firstName,\n last_name: lastName,\n email: email,\n currency: currency || product.currency,\n user_billing_token: token,\n three_d_secure_token: threeDsToken,\n line_items: {\n quantity: quantity,\n item_code: product.code,\n price: price || product.price,\n },\n payment_method: paymentMethod,\n recaptcha_token: recaptchaToken,\n },\n });\n\n if (result.error.code === 0 || result.error.code === 522) {\n // @ts-ignore\n return Promise.resolve(result.response);\n } else {\n return Promise.reject(result.error);\n }\n}\n\nexport async function socialLogin(\n userId: string,\n platform: 'facebook',\n): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.SOCIAL_LOGIN[platform],\n method: 'POST',\n body: {\n provider_user_id: userId,\n },\n });\n\n return toResultPromise(\n result,\n Promise.resolve(() =>\n localStorage.setItem('auth_token', result.response.auth_token),\n ).then(() => result.response),\n );\n}\n\nexport async function socialRegister(\n firstName: string,\n lastName: string,\n email: string,\n userId: string,\n accessToken: string,\n platform: 'facebook',\n): Promise {\n return fetchServer({\n url: ENDPOINTS.SOCIAL_REG[platform],\n method: 'POST',\n body: {\n first_name: firstName,\n last_name: lastName,\n email: email,\n provider_user_id: userId,\n token: {\n key: accessToken,\n },\n },\n })\n .then(() => {\n return socialLogin(userId, platform);\n })\n .catch((error) => {\n return Promise.reject(error);\n });\n}\n","import { Event } from 'analytics/Event';\nimport { Events } from 'analytics/Events';\n\nexport class GiftScreenOpened extends Event {\n constructor(screenName: string) {\n super(Events.GiftScreenOpened, { screenName });\n }\n}\n\nexport class GiftProductSelected extends Event {\n constructor(productId: string) {\n super(Events.GiftProductSelected, { productId });\n }\n}\n\nexport class GiftAmountSelected extends Event {\n constructor(quantity: number) {\n super(Events.GiftAmountSelected, { quantity });\n }\n}\n\nexport class GiftPurchaseSuccess extends Event {\n constructor(price: number, productId: string, quantity: number) {\n super(Events.GiftPurchaseSuccess, {\n price,\n productId,\n $quantity: quantity,\n $revenue: quantity * price,\n });\n }\n}\n\nexport class PayPalClicked extends Event {\n constructor() {\n super(Events.PayPalClicked);\n }\n}\n\nexport class CardFormInputStarted extends Event {\n constructor() {\n super(Events.CardFormInputStarted);\n }\n}\n","import { PurchaseActionTypes } from './types';\n\nexport const SAVE_LINK = 'SAVE_LINK';\n\nexport interface SaveLink {\n type: typeof SAVE_LINK;\n payload: {\n link: string;\n };\n}\n\nexport function saveLink(link: string): PurchaseActionTypes {\n return {\n type: SAVE_LINK,\n payload: {\n link: link,\n },\n };\n}\n","import { appAnalytics } from 'analytics';\nimport { getCurrencyByCurrencyCode } from 'bootstrap/data/product/Product.utils';\nimport { buyGiftCard } from 'bootstrap/net/giftcards';\nimport { RootState } from 'bootstrap/types';\nimport { AnyAction } from 'redux';\nimport { ThunkAction } from 'redux-thunk';\nimport { GiftPurchaseSuccess } from '../../../giftcards/analytics';\nimport { GiftCardProduct } from '../../data/giftproduct/GiftCardProduct';\nimport { saveLink } from './saveLink';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\n\ninterface BuyProduct {\n product: GiftCardProduct;\n token: string;\n threeDsToken?: string;\n firstName?: string;\n lastName?: string;\n recaptchaToken: string;\n}\n\nexport const buyProduct =\n ({\n product,\n token,\n threeDsToken,\n firstName,\n lastName,\n recaptchaToken,\n }: BuyProduct): ThunkAction<\n Promise,\n RootState,\n unknown,\n AnyAction\n > =>\n async (dispatch, getState) => {\n const { email, quantity } = getState().purchase;\n const { currency: currencyCode, paymentMethod } = getState().user;\n\n const { currency, unit_amount: price } = getCurrencyByCurrencyCode(\n product.currencies,\n currencyCode,\n );\n\n if (!email) {\n return Promise.reject('No email provided');\n }\n return buyGiftCard({\n email,\n product,\n quantity,\n token,\n threeDsToken,\n firstName,\n lastName,\n currency: currency || product.currency,\n price: price || product.price,\n paymentMethod,\n recaptchaToken,\n })\n .then((result) => {\n const threeDsToken =\n ('three_d_secure_action_token_id' in result &&\n result.three_d_secure_action_token_id) ||\n undefined;\n const link = ('pdf_link' in result && result.pdf_link) || undefined;\n if (link) {\n dispatch(saveLink(link));\n appAnalytics.trackEvent(\n new GiftPurchaseSuccess(product.price, product.code, quantity),\n );\n }\n return Promise.resolve(threeDsToken);\n })\n .catch((error: any) => {\n return Promise.reject(getErrorMessage(error.debug_text));\n });\n };\n","export const BRAINTREE_CLIENT_AUTHORIZATION =\n process.env.REACT_APP_BRAINTREE_CLIENT_AUTHORIZATION || '';\n\nexport const PAYMENT_SUCCESS = 'token';\nexport const PAYMENT_ERROR = 'error';\nexport const PAYMENT_CANCEL = 'cancel';\n","interface IInjectGoogleReCaptchaScriptParams {\n render: string;\n onLoadCallbackName: string;\n useRecaptchaNet: boolean;\n useEnterprise: boolean;\n onLoad: () => void;\n onError: () => void;\n language?: string;\n scriptProps?: {\n nonce?: string;\n defer?: boolean;\n async?: boolean;\n appendTo?: 'head' | 'body';\n id?: string;\n };\n}\n\n/**\n * Function to generate the src for the script tag\n *\n * @param param0\n * @returns\n */\nconst generateGoogleRecaptchaSrc = ({\n useRecaptchaNet,\n useEnterprise\n}: {\n useRecaptchaNet: boolean;\n useEnterprise: boolean;\n}) => {\n const hostName = useRecaptchaNet ? 'recaptcha.net' : 'google.com';\n const script = useEnterprise ? 'enterprise.js' : 'api.js';\n\n return `https://www.${hostName}/recaptcha/${script}`;\n};\n\n/**\n * Function to clean the recaptcha_[language] script injected by the recaptcha.js\n */\nconst cleanGstaticRecaptchaScript = () => {\n const script = document.querySelector(\n 'script[src^=\"https://www.gstatic.com/recaptcha/releases\"]'\n );\n\n if (script) {\n script.remove();\n }\n};\n\n/**\n * Function to check if script has already been injected\n *\n * @param scriptId\n * @returns\n */\nexport const isScriptInjected = (scriptId: string) =>\n !!document.querySelector(`#${scriptId}`);\n\n/**\n * Function to remove default badge\n *\n * @returns\n */\nconst removeDefaultBadge = () => {\n const nodeBadge = document.querySelector('.grecaptcha-badge');\n if (nodeBadge && nodeBadge.parentNode) {\n document.body.removeChild(nodeBadge.parentNode);\n }\n};\n\n/**\n * Function to clear custom badge\n *\n * @returns\n */\nconst cleanCustomBadge = (customBadge: HTMLElement | null) => {\n if (!customBadge) {\n return;\n }\n\n while (customBadge.lastChild) {\n customBadge.lastChild.remove();\n }\n};\n\n/**\n * Function to clean node of badge element\n *\n * @param container\n * @returns\n */\nexport const cleanBadge = (container?: HTMLElement | string) => {\n if (!container) {\n removeDefaultBadge();\n\n return;\n }\n\n const customBadge = typeof container === 'string' ? document.getElementById(container) : container;\n\n cleanCustomBadge(customBadge);\n};\n\n/**\n * Function to clean google recaptcha script\n *\n * @param scriptId\n * @param container\n */\nexport const cleanGoogleRecaptcha = (scriptId: string, container?: HTMLElement | string) => {\n // remove badge\n cleanBadge(container);\n\n // remove old config from window\n /* eslint-disable @typescript-eslint/no-explicit-any */\n (window as any).___grecaptcha_cfg = undefined;\n\n // remove script\n const script = document.querySelector(`#${scriptId}`);\n if (script) {\n script.remove();\n }\n\n cleanGstaticRecaptchaScript();\n};\n\n/**\n * Function to inject the google recaptcha script\n *\n * @param param0\n * @returns\n */\nexport const injectGoogleReCaptchaScript = ({\n render,\n onLoadCallbackName,\n language,\n onLoad,\n useRecaptchaNet,\n useEnterprise,\n scriptProps: {\n nonce = '',\n defer = false,\n async = false,\n id = '',\n appendTo\n } = {}\n}: IInjectGoogleReCaptchaScriptParams) => {\n const scriptId = id || 'google-recaptcha-v3';\n\n // Script has already been injected, just call onLoad and does othing else\n if (isScriptInjected(scriptId)) {\n onLoad();\n\n return;\n }\n\n /**\n * Generate the js script\n */\n const googleRecaptchaSrc = generateGoogleRecaptchaSrc({\n useEnterprise,\n useRecaptchaNet\n });\n const js = document.createElement('script');\n js.id = scriptId;\n js.src = `${googleRecaptchaSrc}?render=${render}${\n render === 'explicit' ? `&onload=${onLoadCallbackName}` : ''\n }${\n language ? `&hl=${language}` : ''\n }`;\n\n if (!!nonce) {\n js.nonce = nonce;\n }\n\n js.defer = !!defer;\n js.async = !!async;\n js.onload = onLoad;\n\n /**\n * Append it to the body // head\n */\n const elementToInjectScript =\n appendTo === 'body'\n ? document.body\n : document.getElementsByTagName('head')[0];\n\n elementToInjectScript.appendChild(js);\n};\n\n/**\n * Function to log warning message if it's not in production mode\n *\n * @param message String\n * @returns\n */\nexport const logWarningMessage = (message: string) => {\n const isDevelopmentMode =\n typeof process !== 'undefined' && !!process.env && process.env.NODE_ENV !== 'production';\n\n if (isDevelopmentMode) {\n return;\n }\n\n console.warn(message);\n};\n","import React, {\n createContext,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {\n cleanGoogleRecaptcha,\n injectGoogleReCaptchaScript,\n logWarningMessage\n} from './utils';\n\nenum GoogleRecaptchaError {\n SCRIPT_NOT_AVAILABLE = 'Recaptcha script is not available'\n}\n\ninterface IGoogleReCaptchaProviderProps {\n reCaptchaKey: string;\n language?: string;\n useRecaptchaNet?: boolean;\n useEnterprise?: boolean;\n scriptProps?: {\n nonce?: string;\n defer?: boolean;\n async?: boolean;\n appendTo?: 'head' | 'body';\n id?: string;\n onLoadCallbackName?: string;\n };\n container?: {\n element?: string | HTMLElement;\n parameters: {\n badge?: 'inline' | 'bottomleft' | 'bottomright';\n theme?: 'dark' | 'light';\n tabindex?: number;\n callback?: () => void;\n expiredCallback?: () => void;\n errorCallback?: () => void;\n }\n };\n children: ReactNode;\n}\n\nexport interface IGoogleReCaptchaConsumerProps {\n executeRecaptcha?: (action?: string) => Promise;\n container?: string | HTMLElement;\n}\n\nconst GoogleReCaptchaContext = createContext({\n executeRecaptcha: () => {\n // This default context function is not supposed to be called\n throw Error(\n 'GoogleReCaptcha Context has not yet been implemented, if you are using useGoogleReCaptcha hook, make sure the hook is called inside component wrapped by GoogleRecaptchaProvider'\n );\n }\n});\n\nconst { Consumer: GoogleReCaptchaConsumer } = GoogleReCaptchaContext;\n\nexport function GoogleReCaptchaProvider({\n reCaptchaKey,\n useEnterprise = false,\n useRecaptchaNet = false,\n scriptProps,\n language,\n container,\n children\n}: IGoogleReCaptchaProviderProps) {\n const [greCaptchaInstance, setGreCaptchaInstance] = useState(null);\n const clientId = useRef(reCaptchaKey);\n\n const scriptPropsJson = JSON.stringify(scriptProps);\n const parametersJson = JSON.stringify(container?.parameters);\n\n useEffect(() => {\n if (!reCaptchaKey) {\n logWarningMessage(\n ' recaptcha key not provided'\n );\n\n return;\n }\n\n const scriptId = scriptProps?.id || 'google-recaptcha-v3';\n const onLoadCallbackName = scriptProps?.onLoadCallbackName || 'onRecaptchaLoadCallback';\n\n ((window as unknown) as {[key: string]: () => void})[onLoadCallbackName] = () => {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const grecaptcha = useEnterprise\n ? (window as any).grecaptcha.enterprise\n : (window as any).grecaptcha;\n\n const params = {\n badge: 'inline',\n size: 'invisible',\n sitekey: reCaptchaKey,\n ...(container?.parameters || {})\n };\n clientId.current = grecaptcha.render(container?.element, params);\n };\n\n const onLoad = () => {\n if (!window || !(window as any).grecaptcha) {\n logWarningMessage(\n ` ${GoogleRecaptchaError.SCRIPT_NOT_AVAILABLE}`\n );\n\n return;\n }\n\n const grecaptcha = useEnterprise\n ? (window as any).grecaptcha.enterprise\n : (window as any).grecaptcha;\n\n grecaptcha.ready(() => {\n setGreCaptchaInstance(grecaptcha);\n });\n };\n\n const onError = () => {\n logWarningMessage('Error loading google recaptcha script');\n };\n\n injectGoogleReCaptchaScript({\n render: container?.element ? 'explicit' : reCaptchaKey,\n onLoadCallbackName,\n useEnterprise,\n useRecaptchaNet,\n scriptProps,\n language,\n onLoad,\n onError\n });\n\n return () => {\n cleanGoogleRecaptcha(scriptId, container?.element);\n };\n }, [\n useEnterprise,\n useRecaptchaNet,\n scriptPropsJson,\n parametersJson,\n language,\n reCaptchaKey,\n container?.element,\n ]);\n\n const executeRecaptcha = useCallback(\n (action?: string) => {\n if (!greCaptchaInstance || !greCaptchaInstance.execute) {\n throw new Error(\n ' Google Recaptcha has not been loaded'\n );\n }\n\n return greCaptchaInstance.execute(clientId.current, { action });\n },\n [greCaptchaInstance, clientId]\n );\n\n const googleReCaptchaContextValue = useMemo(\n () => ({\n executeRecaptcha: greCaptchaInstance ? executeRecaptcha : undefined,\n container: container?.element,\n }),\n [executeRecaptcha, greCaptchaInstance, container?.element]\n );\n\n return (\n \n {children}\n \n );\n}\n\nexport { GoogleReCaptchaConsumer, GoogleReCaptchaContext };\n","import { useContext } from 'react';\nimport { GoogleReCaptchaContext } from './google-recaptcha-provider';\n\nexport const useGoogleReCaptcha = () => useContext(GoogleReCaptchaContext);\n","import React, { useEffect } from 'react';\nimport { useGoogleReCaptcha } from './use-google-recaptcha';\nimport { logWarningMessage } from './utils';\n\nexport interface IGoogleRecaptchaProps {\n onVerify: (token: string) => void | Promise;\n action?: string;\n refreshReCaptcha?: boolean | string | number | null;\n}\n\nexport function GoogleReCaptcha({\n action,\n onVerify,\n refreshReCaptcha,\n}: IGoogleRecaptchaProps) {\n const googleRecaptchaContextValue = useGoogleReCaptcha();\n\n useEffect(() => {\n const { executeRecaptcha } = googleRecaptchaContextValue;\n\n if (!executeRecaptcha) {\n return;\n }\n\n const handleExecuteRecaptcha = async () => {\n const token = await executeRecaptcha(action);\n\n if (!onVerify) {\n logWarningMessage('Please define an onVerify function');\n\n return;\n }\n\n onVerify(token);\n };\n\n handleExecuteRecaptcha();\n }, [action, onVerify, refreshReCaptcha, googleRecaptchaContextValue]);\n\n const { container } = googleRecaptchaContextValue;\n\n if (typeof container === 'string') {\n return
;\n }\n\n return null;\n}\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","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\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","export enum PaymentMethods {\n Card = 'card',\n PayPal = 'paypal',\n ApplePay = 'applepay',\n}\n","import { appAnalytics } from 'analytics';\nimport { RecaptchaError } from 'analytics/AllEvents';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\n\ntype HandlerFunction = (\n captchaToken: string,\n ...args: T[]\n) => Promise | void;\n\nexport const withRecaptcha = (\n handler: HandlerFunction,\n setLoading: (loading: boolean) => void,\n setError: (error: string) => void,\n) => {\n const { executeRecaptcha } = useGoogleReCaptcha();\n\n return async (...args: T) => {\n if (!executeRecaptcha) {\n setLoading(false);\n setError('Execute reCAPTCHA not yet available');\n appAnalytics.trackEvent(new RecaptchaError('Not available'));\n return;\n }\n\n try {\n const recaptchaToken = await executeRecaptcha('subscription_form');\n if (!recaptchaToken) {\n setError('No token received from reCAPTCHA');\n appAnalytics.trackEvent(new RecaptchaError('No token'));\n } else {\n await handler(recaptchaToken, ...args);\n }\n } catch (error) {\n setError('Failed to execute reCAPTCHA');\n appAnalytics.trackEvent(\n new RecaptchaError('Failed to execute reCAPTCHA'),\n );\n } finally {\n setLoading(false);\n }\n };\n};\n","export const isApplePayAvailable = () => {\n return (\n window.PaymentRequest &&\n window.ApplePaySession &&\n window.ApplePaySession.canMakePayments &&\n window.ApplePaySession.canMakePayments()\n );\n};\n","import { useRecurly } from '@recurly/react-recurly';\nimport { ApplePayInstance } from '@recurly/recurly-js';\nimport { appAnalytics } from 'analytics';\nimport { ApplePayClicked, PayPalClicked } from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { buyProduct } from 'bootstrap/giftpurchase/actions/buyProduct';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport {\n createSubscription,\n createSubscriptionByIdx,\n} from 'bootstrap/net/subscription';\nimport { setTrialOfferShown } from 'bootstrap/user/actions';\nimport { push } from 'connected-react-router';\nimport { useEffect, useMemo, useState } from 'react';\nimport { getQueryVariable, pushWithSearchQuery } from 'utils';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport {\n getApplePayLabel,\n getApplePayPrice,\n} from 'subscription/recurly/components/paymentpicker/PaymentsPicker.utils';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport {\n BRAINTREE_CLIENT_AUTHORIZATION,\n PAYMENT_CANCEL,\n PAYMENT_ERROR,\n PAYMENT_SUCCESS,\n} from 'subscription/recurly/components/paymentpicker/PaymentsPicker.constants';\nimport { setSubscriptionToken } from 'bootstrap/user/actions/setUserInfo';\nimport { withRecaptcha } from 'subscription/recurly/components/withRecaptcha/withRecaptcha';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\nimport { isApplePayAvailable } from 'subscription/components/Payments/Payments.utlls';\nimport { isGiftFlow, useFeatures } from 'useFeatures';\n\ntype Props = {\n product: Product;\n darkTheme?: boolean;\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n};\n\nexport const usePaymentsLogic = ({ product, onSuccess, onError }: Props) => {\n const dispatch = useAppDispatch();\n const { isWorkbookUpsellFlow, isAdhdTest, upsellFlow } = useFeatures();\n\n const { currency, countryCode } = useAppSelector((state) => state.user);\n\n const applePayLabel = useMemo(() => getApplePayLabel(product), [product]);\n const applePayPrice = useMemo(\n () => getApplePayPrice(product),\n [product, isGiftFlow],\n );\n\n const recurly = useRecurly();\n\n const payPalInstance = recurly.PayPal({\n braintree: {\n clientAuthorization: BRAINTREE_CLIENT_AUTHORIZATION,\n },\n });\n\n const applePayInstance = recurly.ApplePay({\n // @ts-ignore\n countryCode: countryCode || 'US',\n country: countryCode || 'US',\n currency: currency || 'USD',\n label: applePayLabel,\n total: applePayPrice,\n // @ts-ignore\n braintree: {\n clientAuthorization: BRAINTREE_CLIENT_AUTHORIZATION,\n },\n });\n\n const [errorMessage, setError] = useState('');\n const [isPaypalLoading, setPaypalLoading] = useState(false);\n const [isApplePayCanceled, setApplePayCanceled] = useState(false);\n const [isPaypalReady, setPaypalReady] = useState(false);\n\n const [activeApplePayInstance, setActiveApplePayInstance] =\n useState(applePayInstance);\n\n useEffect(() => {\n payPalInstance.on('ready', () => {\n setPaypalReady(true);\n });\n }, []);\n\n useEffect(() => {\n setActiveApplePayInstance(applePayInstance);\n }, [product]);\n\n useEffect(() => {\n if (isApplePayCanceled) {\n setActiveApplePayInstance(applePayInstance);\n }\n setApplePayCanceled(false);\n }, [isApplePayCanceled]);\n\n const handleToken = withRecaptcha(\n // @ts-ignore\n async (\n recaptchaToken: string,\n token: { id: string },\n paymentMethod: PaymentMethods,\n ) => {\n dispatch(setSubscriptionToken(token.id));\n\n if (isGiftFlow()) {\n dispatch(\n buyProduct({\n product: product as any,\n token: token.id,\n recaptchaToken,\n }),\n )\n .then(() => {\n setPaypalLoading(false);\n dispatch(push('/gift/done'));\n })\n .catch((error) => {\n setPaypalLoading(false);\n setError(error);\n });\n } else {\n subscribe(token.id, product, paymentMethod, recaptchaToken);\n }\n },\n () => {\n // @ts-ignore\n },\n setError,\n );\n\n const setErrorMessage = (error: string) => setError(error);\n\n const subscribe = async (\n token: string,\n customProduct: Product,\n paymentMethod: PaymentMethods,\n recaptchaToken: string,\n ) => {\n try {\n const idx = getQueryVariable('idx');\n let response;\n\n if (idx) {\n response = await createSubscriptionByIdx({\n product: customProduct,\n token,\n bundle: getQueryVariable('bundle'),\n idx,\n paymentMethod,\n recaptchaToken,\n });\n } else {\n response = await createSubscription({\n product: customProduct,\n token,\n currency,\n paymentMethod,\n recaptchaToken,\n });\n }\n\n if (isWorkbookUpsellFlow || isAdhdTest || upsellFlow) {\n dispatch(pushWithSearchQuery('/workbook'));\n } else {\n dispatch(setTrialOfferShown(true));\n }\n\n setPaypalLoading(false);\n\n onSuccess({\n orderId: response.purchase.order_id,\n productBought: customProduct,\n });\n } catch (error: any) {\n setPaypalLoading(false);\n\n if (error?.code === 'USER_NOT_FOUND') {\n dispatch(pushWithSearchQuery('/quick-purchase/login', ['idx']));\n } else {\n setError(getErrorMessage(error));\n }\n\n onError(getErrorMessage(error));\n }\n };\n\n const initializePayment = (paymentMethod: PaymentMethods, instance: any) => {\n const handleError = (error: { message: string }) => {\n setPaypalLoading(false);\n\n const message = error.message || 'Unknown error, please try again';\n onError(message);\n setError(message);\n };\n\n const handleCancel = () => {\n setPaypalLoading(false);\n setApplePayCanceled(true);\n };\n\n setError('');\n\n instance.on(PAYMENT_SUCCESS, (token: any) =>\n // @ts-ignore\n handleToken(token, paymentMethod),\n );\n instance.on(PAYMENT_ERROR, handleError);\n instance.on(PAYMENT_CANCEL, handleCancel);\n\n if (paymentMethod === PaymentMethods.ApplePay) {\n instance.begin();\n } else {\n instance.start();\n }\n };\n\n const handlePaypalChange = () => {\n setPaypalLoading(true);\n appAnalytics.trackEvent(new PayPalClicked());\n initializePayment(PaymentMethods.PayPal, payPalInstance);\n };\n\n const handleApplePayChange = () => {\n appAnalytics.trackEvent(new ApplePayClicked());\n initializePayment(PaymentMethods.ApplePay, activeApplePayInstance);\n };\n\n const handlePaymentMethodChange = (option: PaymentMethods) => {\n switch (option) {\n case PaymentMethods.PayPal: {\n handlePaypalChange();\n break;\n }\n case PaymentMethods.ApplePay: {\n handleApplePayChange();\n break;\n }\n default:\n break;\n }\n };\n\n const pickerOptions = useMemo(() => {\n const paymentMethods = [PaymentMethods.Card, PaymentMethods.PayPal];\n\n if (isApplePayAvailable()) {\n paymentMethods.push(PaymentMethods.ApplePay);\n }\n\n return paymentMethods;\n }, []);\n\n return {\n pickerOptions,\n errorMessage,\n isPaypalLoading,\n isPaypalReady,\n setErrorMessage,\n handlePaymentMethodChange,\n };\n};\n","import { Product } from 'bootstrap/data/product/Product';\nimport { isGiftFlow } from 'useFeatures';\n\nexport const getApplePayLabel = (product: Product): string => {\n if (isGiftFlow()) {\n return 'Loóna Gift Card';\n }\n\n if (product.trialLength > 0) {\n return `${product.trialLength} ${product.trialUnit} Trial`;\n } else {\n return ``;\n }\n};\n\nexport const getApplePayPrice = (product: Product): string => {\n if (isGiftFlow()) {\n // @ts-ignore\n return product.price?.toString() || '0';\n }\n if (product.trialLength > 0) {\n return product.setupFee?.toString() || '0';\n } else {\n return product?.amount.toString() || '0';\n }\n};\n","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaestro(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"30px\",\n height: \"24px\",\n viewBox: \"0 -140 780 780\",\n enableBackground: \"new 0 0 780 500\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40C0,17.909,17.909,0,40,0 z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m690 250.01c0 99.135-80.35 179.5-179.48 179.5-99.12 0-179.48-80.361-179.48-179.5 0-99.141 80.359-179.51 179.48-179.51 99.133 0 179.48 80.367 179.48 179.51\",\n fill: \"#D9222A\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m371.87 363.99c-4.971-6.029-9.538-12.379-13.674-19.01h63.611c3.829-6.122 7.282-12.471 10.343-19.012h-84.292c-2.894-6.183-5.43-12.526-7.597-19h99.477c5.986-17.904 9.229-37.05 9.229-56.963 0-13.046-1.392-25.762-4.03-38.012h-109.86c1.384-6.428 3.123-12.773 5.208-19.01h99.441c-2.171-6.472-4.705-12.816-7.592-19.003h-84.254c3.063-6.537 6.516-12.884 10.338-19.008h63.57c-4.144-6.619-8.71-12.962-13.67-18.992h-36.226c5.57-6.763 11.623-13.113 18.112-19-31.854-28.883-74.137-46.483-120.52-46.483-99.129 1e-3 -179.49 80.368-179.49 179.51 0 99.135 80.358 179.5 179.49 179.5 46.388 0 88.667-17.596 120.52-46.475 6.5-5.896 12.561-12.26 18.134-19.037h-36.268\",\n fill: \"#0097D0\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m666.08 350.04c0-3.2 2.596-5.796 5.8-5.796 3.2 0 5.792 2.596 5.792 5.796 0 3.204-2.592 5.8-5.792 5.8-3.203 1e-3 -5.8-2.596-5.8-5.798v-2e-3zm5.8 4.408c2.431 1e-3 4.402-1.968 4.404-4.397v-0.011c0-2.428-1.969-4.396-4.396-4.396h-8e-3c-2.43-5e-3 -4.403 1.961-4.408 4.392v4e-3c-2e-3 2.433 1.97 4.406 4.402 4.408h6e-3zm-0.787-1.862h-1.184v-5.092h2.149c0.446 0 0.904 4e-3 1.3 0.258 0.418 0.284 0.646 0.775 0.646 1.271 0 0.582-0.337 1.113-0.88 1.316l0.934 2.246h-1.315l-0.775-2.009h-0.875v2.01zm0-2.88h0.658c0.246 0 0.504 0.017 0.725-0.101 0.196-0.129 0.301-0.365 0.301-0.59-0.01-0.207-0.116-0.398-0.288-0.514-0.212-0.125-0.541-0.1-0.763-0.1h-0.633v1.305zm-283.64-51.204c-7.671 2.034-15.088 3.025-22.931 3.01-25.016-0.025-38.045-11.418-38.045-33.201 0-25.459 16.587-44.184 39.101-44.184 18.416 0 30.175 10.5 30.175 26.946 0 5.458-0.796 10.771-2.746 18.296h-44.488c-1.583 10.633 6.188 15.304 19.413 15.304 7.925 0 15.092-1.425 23.025-4.612l-3.504 18.441zm-11.963-44.151c0-1.607 2.475-13.032-10.4-13.282-7.108 0-12.208 4.725-14.27 13.282h24.67zm27.034-4.99c0 9.404 5.296 15.9 17.329 20.736 9.2 3.771 10.65 4.858 10.65 8.221 0 4.662-4.067 6.805-13.092 6.746-6.779-0.049-12.962-0.87-20.263-2.896l-3.229 17.154c6.488 1.504 15.588 2 23.649 2.188 24.026 0 35.117-7.867 35.117-24.867 0-10.217-4.625-16.233-16.032-20.713-9.538-3.809-10.658-4.638-10.658-8.084 0-4.05 3.778-6.1 11.149-6.1 4.462 0 10.579 0.413 16.379 1.107l3.259-17.24c-5.912-0.825-14.884-1.484-20.075-1.484-25.45 2e-3 -34.258 11.461-34.183 25.232m-88.242 50.92h-18.662l0.445-7.82c-5.691 6.17-13.27 9.041-23.558 9.041-12.175 0-20.517-8.324-20.517-20.296 0-18.194 14.5-28.69 39.43-28.69 2.562 0 5.82 0.19 9.166 0.562 0.692-2.433 0.88-3.479 0.88-4.808 0-4.98-3.921-6.813-14.413-6.813-10.342 0.042-17.321 1.571-23.796 3.313l3.187-16.7c11.196-2.847 18.53-3.942 26.825-3.942 19.305 0 29.5 7.567 29.5 21.796 0.167 3.796-1.158 11.413-1.82 14.746-0.759 4.853-6.109 32.974-6.667 39.611zm-16.38-33.191c-2.366-0.242-3.395-0.312-5.012-0.312-12.729 0-19.183 3.787-19.183 11.267 0 4.692 3.15 7.634 8.058 7.634 9.146-1e-3 15.75-7.652 16.137-18.589zm194.11 32.011c-6.125 1.681-10.896 2.41-16.058 2.41-11.434 0-17.675-5.843-17.675-16.25-0.358-2.859 2.433-16.06 3.066-19.738 0.633-3.692 10.537-57.492 10.537-57.492h22.213l-3.363 17.8h11.393l-3.097 18.171h-11.441s-6.279 31.53-6.279 33.934c0 3.826 2.317 5.487 7.633 5.487 2.546 0 4.51-0.237 6.03-0.692l-2.959 16.37m99.246-74.974c-16.28 0-29 6.7-36.387 17.893l6.412-16.597c-11.817-4.337-19.434 1.851-26.325 10.65 0 0-1.154 1.463-2.3 2.8v-13.05h-20.858c-2.825 23.03-7.821 46.38-11.73 69.446l-0.94 5.02h22.437c2.125-11.708 3.875-21.212 5.617-28.787 4.768-20.787 12.788-27.141 24.83-24.333-2.78 5.979-4.305 12.892-4.305 20.554 0 18.58 10.092 33.789 35.149 33.789 25.288 0 43.597-13.51 43.597-44.31-1e-3 -18.579-12.201-33.075-35.197-33.075zm-6.53 59.317c-7.924 0.125-12.728-6.525-12.728-16.47 0-11.793 7.012-25.113 18.274-25.113 9.087 0 12.2 7.203 12.2 14.879 1e-3 16.779-6.874 26.704-17.746 26.704zm-343.19 16.846h-22.343l13.28-69.954-30.571 69.954h-20.367l-3.725-69.55-13.32 69.55h-20.272l17.267-90.996h34.913l2.912 50.726 22.117-50.726h37.72l-17.611 90.996\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m628.15 288.88c2e-3 -3.199 2.596-5.793 5.796-5.795 3.204 0 5.796 2.6 5.796 5.795 6e-3 3.201-2.584 5.801-5.785 5.807s-5.801-2.584-5.807-5.785v-0.022zm5.796 4.413c2.435-3e-3 4.407-1.978 4.408-4.413-2e-3 -2.434-1.976-4.404-4.408-4.404-2.434 0-4.407 1.971-4.408 4.404 1e-3 2.435 1.973 4.41 4.408 4.413zm-0.783-1.866h-1.188v-5.084h2.15c0.45 0 0.908 0 1.304 0.25 0.409 0.28 0.646 0.768 0.646 1.271 0 0.58-0.337 1.116-0.883 1.317l0.933 2.246h-1.317l-0.77-2.009h-0.875v2.009zm0-2.888h0.658c0.242 0 0.504 0.017 0.725-0.096 0.19-0.135 0.301-0.355 0.296-0.589-6e-3 -0.206-0.111-0.396-0.284-0.512-0.212-0.13-0.541-0.096-0.762-0.096h-0.633v1.293zm-240.11 4.354c-7.666 2.033-15.087 3.029-22.925 3.012-25.017-0.025-38.046-11.42-38.046-33.208 0-25.45 16.58-44.181 39.096-44.181 18.421 0 30.175 10.498 30.175 26.943 0 5.467-0.8 10.77-2.74 18.301h-44.488c-1.583 10.629 6.18 15.308 19.408 15.308 7.925 0 15.088-1.425 23.029-4.617l-3.509 18.442zm-11.962-44.15c0-1.604 2.47-13.033-10.399-13.28-7.109 0-12.204 4.73-14.271 13.28h24.67zm27.038-4.996c0 9.408 5.287 15.9 17.324 20.746 9.204 3.768 10.649 4.857 10.649 8.212 0 4.667-4.065 6.81-13.087 6.75-6.783-0.045-12.967-0.87-20.263-2.896l-3.237 17.146c6.491 1.517 15.597 2.013 23.654 2.2 24.025 0 35.12-7.87 35.12-24.87 0-10.217-4.628-16.238-16.041-20.713-9.537-3.808-10.654-4.638-10.654-8.083 0-4.051 3.783-6.1 11.146-6.1 4.47 0 10.583 0.416 16.387 1.111l3.25-17.246c-5.912-0.824-14.879-1.482-20.066-1.482-25.458 0-34.262 11.453-34.182 25.225m-88.243 50.93h-18.666l0.45-7.82c-5.696 6.158-13.275 9.033-23.558 9.033-12.176 0-20.521-8.326-20.521-20.289 0-18.203 14.495-28.695 39.429-28.695 2.562 0 5.816 0.191 9.17 0.562 0.692-2.433 0.876-3.475 0.876-4.808 0-4.983-3.917-6.813-14.409-6.813-10.341 0.043-17.32 1.575-23.796 3.313l3.184-16.696c11.2-2.85 18.529-3.945 26.829-3.945 19.304 0 29.496 7.566 29.496 21.791 0.167 3.801-1.159 11.412-1.817 14.754-0.762 4.85-6.112 32.97-6.667 39.613zm-16.387-33.198c-2.358-0.244-3.392-0.312-5.012-0.312-12.721 0-19.18 3.787-19.18 11.267 0 4.695 3.154 7.634 8.055 7.634 9.154 0 15.758-7.654 16.137-18.589zm194.11 32.018c-6.12 1.675-10.896 2.408-16.055 2.408-11.433 0-17.67-5.846-17.67-16.254-0.362-2.854 2.434-16.059 3.062-19.737 0.633-3.692 10.537-57.492 10.537-57.492h22.209l-3.354 17.8h11.391l-3.096 18.17h-11.44s-6.284 31.53-6.284 33.935c0 3.825 2.32 5.479 7.634 5.479 2.541 0 4.508-0.229 6.029-0.691l-2.963 16.382m110.47-42.367c0 16.775-6.88 26.709-17.755 26.709-7.92 0.112-12.726-6.525-12.726-16.475 0-11.792 7.009-25.113 18.271-25.113 9.093 0 12.21 7.213 12.21 14.879zm23.978 0.467c0-18.58-12.208-33.08-35.194-33.08-26.45 0-43.55 17.627-43.55 43.598 0 18.579 10.083 33.791 35.149 33.791 25.287-1e-3 43.596-13.513 43.595-44.309zm-114.66-31.383c-2.821 23.029-7.817 46.375-11.722 69.45l-0.946 5.021h22.435c8.087-44.559 10.8-57.254 27.741-52.783l8.149-21.088c-11.815-4.338-19.425 1.854-26.308 10.658 0.62-3.961 1.792-7.783 1.508-11.258h-20.857m-270.26 74.47h-22.337l13.275-69.959-30.575 69.959h-20.363l-3.725-69.555-13.32 69.555h-20.272l17.262-91h34.921l1.846 56.334 24.575-56.334h36.325l-17.613 91\",\n fill: \"#ffffff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaestro);\nexport default __webpack_public_path__ + \"static/media/maestro.5d7c1e34ecc382679f908bb00bc0d936.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAmex(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"40px\",\n height: \"24px\",\n viewBox: \"0 -140 780 780\",\n enableBackground: \"new 0 0 780 500\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 780,\n height: 500,\n fill: \"#2557D6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m0.253 235.69h37.441l8.442-19.51h18.9l8.42 19.51h73.668v-14.915l6.576 14.98h38.243l6.576-15.202v15.138h183.08l-0.085-32.026h3.542c2.479 0.083 3.204 0.302 3.204 4.226v27.8h94.689v-7.455c7.639 3.92 19.518 7.455 35.148 7.455h39.836l8.525-19.51h18.9l8.337 19.51h76.765v-18.532l11.626 18.532h61.515v-122.51h-60.88v14.468l-8.522-14.468h-62.471v14.468l-7.828-14.468h-84.38c-14.123 0-26.539 1.889-36.569 7.153v-7.153h-58.229v7.153c-6.383-5.426-15.079-7.153-24.75-7.153h-212.74l-14.274 31.641-14.659-31.641h-67.005v14.468l-7.362-14.468h-57.145l-26.539 58.246v64.261h3e-3zm236.34-17.67h-22.464l-0.083-68.794-31.775 68.793h-19.24l-31.858-68.854v68.854h-44.57l-8.42-19.592h-45.627l-8.505 19.592h-23.801l39.241-87.837h32.559l37.269 83.164v-83.164h35.766l28.678 59.587 26.344-59.587h36.485l1e-3 87.838zm-165.9-37.823l-14.998-35.017-14.915 35.017h29.913zm255.3 37.821h-73.203v-87.837h73.203v18.291h-51.289v15.833h50.06v18.005h-50.061v17.542h51.289l1e-3 18.166zm103.16-64.18c0 14.004-9.755 21.24-15.439 23.412 4.794 1.748 8.891 4.838 10.84 7.397 3.094 4.369 3.628 8.271 3.628 16.116v17.255h-22.104l-0.083-11.077c0-5.285 0.528-12.886-3.458-17.112-3.202-3.09-8.083-3.76-15.973-3.76h-23.523v31.95h-21.914v-87.838h50.401c11.199 0 19.451 0.283 26.535 4.207 6.933 3.924 11.09 9.652 11.09 19.45zm-27.699 13.042c-3.013 1.752-6.573 1.81-10.841 1.81h-26.62v-19.51h26.982c3.818 0 7.804 0.164 10.393 1.584 2.842 1.28 4.601 4.003 4.601 7.765 0 3.84-1.674 6.929-4.515 8.351zm62.844 51.138h-22.358v-87.837h22.358v87.837zm259.56 0h-31.053l-41.535-65.927v65.927h-44.628l-8.527-19.592h-45.521l-8.271 19.592h-25.648c-10.649 0-24.138-2.257-31.773-9.715-7.701-7.458-11.708-17.56-11.708-33.533 0-13.027 2.395-24.936 11.812-34.347 7.085-7.01 18.18-10.242 33.28-10.242h21.215v18.821h-20.771c-7.997 0-12.514 1.14-16.862 5.203-3.735 3.699-6.298 10.69-6.298 19.897 0 9.41 1.951 16.196 6.023 20.628 3.373 3.476 9.506 4.53 15.272 4.53h9.842l30.884-69.076h32.835l37.102 83.081v-83.08h33.366l38.519 61.174v-61.174h22.445v87.833zm-133.2-37.82l-15.165-35.017-15.081 35.017h30.246zm189.04 178.08c-5.322 7.457-15.694 11.238-29.736 11.238h-42.319v-18.84h42.147c4.181 0 7.106-0.527 8.868-2.175 1.665-1.474 2.605-3.554 2.591-5.729 0-2.561-1.064-4.593-2.677-5.811-1.59-1.342-3.904-1.95-7.722-1.95-20.574-0.67-46.244 0.608-46.244-27.194 0-12.742 8.443-26.156 31.439-26.156h43.649v-17.479h-40.557c-12.237 0-21.129 2.81-27.425 7.174v-7.175h-59.985c-9.595 0-20.854 2.279-26.179 7.175v-7.175h-107.12v7.175c-8.524-5.892-22.908-7.175-29.549-7.175h-70.656v7.175c-6.745-6.258-21.742-7.175-30.886-7.175h-79.077l-18.094 18.764-16.949-18.764h-118.13v122.59h115.9l18.646-19.062 17.565 19.062 71.442 0.061v-28.838h7.021c9.479 0.14 20.66-0.228 30.523-4.312v33.085h58.928v-31.952h2.842c3.628 0 3.985 0.144 3.985 3.615v28.333h179.01c11.364 0 23.244-2.786 29.824-7.845v7.845h56.78c11.815 0 23.354-1.587 32.134-5.649l2e-3 -22.84zm-354.94-47.155c0 24.406-19.005 29.445-38.159 29.445h-27.343v29.469h-42.591l-26.984-29.086-28.042 29.086h-86.802v-87.859h88.135l26.961 28.799 27.875-28.799h70.021c17.389 0 36.929 4.613 36.929 28.945zm-174.22 40.434h-53.878v-17.48h48.11v-17.926h-48.11v-15.974h54.939l23.969 25.604-25.03 25.776zm86.81 10.06l-33.644-35.789 33.644-34.65v70.439zm49.757-39.066h-28.318v-22.374h28.572c7.912 0 13.404 3.09 13.404 10.772 0 7.599-5.238 11.602-13.658 11.602zm148.36-40.373h73.138v18.17h-51.315v15.973h50.062v17.926h-50.062v17.48l51.314 0.08v18.23h-73.139l2e-3 -87.859zm-28.119 47.029c4.878 1.725 8.865 4.816 10.734 7.375 3.095 4.291 3.542 8.294 3.631 16.037v17.418h-22.002v-10.992c0-5.286 0.531-13.112-3.542-17.198-3.201-3.147-8.083-3.899-16.076-3.899h-23.42v32.09h-22.02v-87.859h50.594c11.093 0 19.173 0.47 26.366 4.146 6.915 4.004 11.266 9.487 11.266 19.511-1e-3 14.022-9.764 21.178-15.531 23.371zm-12.385-11.107c-2.932 1.667-6.556 1.811-10.818 1.811h-26.622v-19.732h26.982c3.902 0 7.807 0.08 10.458 1.587 2.84 1.423 4.538 4.146 4.538 7.903 0 3.758-1.699 6.786-4.538 8.431zm197.82 5.597c4.27 4.229 6.554 9.571 6.554 18.613 0 18.9-12.322 27.723-34.425 27.723h-42.68v-18.84h42.51c4.157 0 7.104-0.525 8.95-2.175 1.508-1.358 2.589-3.333 2.589-5.729 0-2.561-1.17-4.592-2.675-5.811-1.675-1.34-3.986-1.949-7.803-1.949-20.493-0.67-46.157 0.609-46.157-27.192 0-12.744 8.355-26.158 31.33-26.158h43.932v18.7h-40.198c-3.984 0-6.575 0.145-8.779 1.587-2.4 1.422-3.29 3.534-3.29 6.319 0 3.314 2.037 5.57 4.795 6.546 2.311 0.77 4.795 0.995 8.526 0.995l11.797 0.306c11.895 0.276 20.061 2.248 25.024 7.065zm86.955-23.52h-39.938c-3.986 0-6.638 0.144-8.867 1.587-2.312 1.423-3.202 3.534-3.202 6.322 0 3.314 1.951 5.568 4.791 6.544 2.312 0.771 4.795 0.996 8.444 0.996l11.878 0.304c11.983 0.284 19.982 2.258 24.86 7.072 0.891 0.67 1.422 1.422 2.033 2.175v-25h1e-3z\",\n fill: \"#ffffff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAmex);\nexport default __webpack_public_path__ + \"static/media/amex.1e26fbee6b67d472e5c3f6e1fa55e934.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMastercard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: \"25px\",\n height: \"26px\",\n viewBox: \"0 -28.5 256 256\",\n preserveAspectRatio: \"xMidYMid\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FF5F00\",\n x: 93.2980455,\n y: 16.9034088,\n width: 69.1502985,\n height: 124.251009\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.688519,79.0288935 C97.688519,53.783546 109.542856,31.3920209 127.763411,16.9033869 C114.3724,6.3661985 97.468994,-1.94737475e-05 79.0289145,-1.94737475e-05 C35.3434877,-1.94737475e-05 1.7258174e-06,35.3434665 1.7258174e-06,79.0288935 C1.7258174e-06,122.71432 35.3434877,158.057806 79.0289145,158.057806 C97.468994,158.057806 114.3724,151.691588 127.763411,141.1544 C109.542856,126.88529 97.688519,104.274241 97.688519,79.0288935 Z\",\n fill: \"#EB001B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.746345,79.0288935 C255.746345,122.71432 220.402859,158.057806 176.717432,158.057806 C158.277352,158.057806 141.373945,151.691588 127.982936,141.1544 C146.423015,126.665766 158.057827,104.274241 158.057827,79.0288935 C158.057827,53.783546 146.20349,31.3920209 127.982936,16.9033869 C141.373945,6.3661985 158.277352,-1.94737475e-05 176.717432,-1.94737475e-05 C220.402859,-1.94737475e-05 255.746345,35.5629913 255.746345,79.0288935 Z\",\n fill: \"#F79E1B\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMastercard);\nexport default __webpack_public_path__ + \"static/media/mastercard.a94c13f636004358fec070f829f352ab.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVisa(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"47px\",\n height: \"40px\",\n viewBox: \"0 -140 780 780\",\n enableBackground: \"new 0 0 780 500\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m293.2 348.73l33.359-195.76h53.358l-33.384 195.76h-53.333zm246.11-191.54c-10.569-3.966-27.135-8.222-47.821-8.222-52.726 0-89.863 26.551-90.181 64.604-0.297 28.129 26.515 43.822 46.754 53.185 20.771 9.598 27.752 15.716 27.652 24.283-0.133 13.123-16.586 19.115-31.924 19.115-21.355 0-32.701-2.967-50.225-10.273l-6.878-3.111-7.487 43.822c12.463 5.467 35.508 10.199 59.438 10.445 56.09 0 92.502-26.248 92.916-66.885 0.199-22.27-14.016-39.215-44.801-53.188-18.65-9.056-30.072-15.099-29.951-24.269 0-8.137 9.668-16.838 30.56-16.838 17.446-0.271 30.088 3.534 39.936 7.5l4.781 2.259 7.231-42.427m137.31-4.223h-41.23c-12.772 0-22.332 3.486-27.94 16.234l-79.245 179.4h56.031s9.159-24.121 11.231-29.418c6.123 0 60.555 0.084 68.336 0.084 1.596 6.854 6.492 29.334 6.492 29.334h49.512l-43.187-195.64zm-65.417 126.41c4.414-11.279 21.26-54.724 21.26-54.724-0.314 0.521 4.381-11.334 7.074-18.684l3.606 16.878s10.217 46.729 12.353 56.527h-44.293v3e-3zm-363.3-126.41l-52.239 133.5-5.565-27.129c-9.726-31.274-40.025-65.157-73.898-82.12l47.767 171.2 56.455-0.063 84.004-195.39-56.524-1e-3\",\n fill: \"#0E4595\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m146.92 152.96h-86.041l-0.682 4.073c66.939 16.204 111.23 55.363 129.62 102.42l-18.709-89.96c-3.229-12.396-12.597-16.096-24.186-16.528\",\n fill: \"#F2AE14\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVisa);\nexport default __webpack_public_path__ + \"static/media/visa.da9e907a88432c6c37a4be67e21fcc5e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPaypalV2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 76,\n height: 30,\n viewBox: \"-11.153 -13.144 326.05 105.914\",\n id: \"paypal\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(2.07675 0 0 -2.07675 -11.153 92.77)\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"a\",\n d: \"M-84.525-27.457h326.05V78.457h-326.05z\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"b\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#a\",\n overflow: \"visible\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#b)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003087\",\n d: \"M32.419 40.982c-1.674 1.908-4.7 2.726-8.571 2.726H12.613a1.609 1.609 0 0 1-1.59-1.357L6.347 12.68a.964.964 0 0 1 .953-1.114h6.936l1.742 11.049-.054-.346a1.604 1.604 0 0 0 1.583 1.357h3.296c6.475 0 11.545 2.63 13.026 10.238.044.225.082.444.115.658.44 2.812-.003 4.726-1.524 6.459\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#009cde\",\n d: \"M117.331 26.863c-.424-2.784-2.55-2.784-4.606-2.784h-1.17l.821 5.198c.05.314.32.545.638.545h.537c1.4 0 2.722 0 3.404-.797.407-.477.53-1.185.376-2.162m-.895 7.264h-7.756a1.08 1.08 0 0 1-1.066-.91L104.48 13.33a.647.647 0 0 1 .638-.747h3.98c.371 0 .687.27.745.636l.89 5.64c.082.523.534.91 1.064.91h2.454c5.11 0 8.058 2.471 8.828 7.372.347 2.142.014 3.826-.989 5.005-1.103 1.296-3.058 1.982-5.653 1.982\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003087\",\n d: \"M62.011 26.863c-.424-2.784-2.55-2.784-4.607-2.784h-1.17l.821 5.198c.05.314.32.545.638.545h.537c1.4 0 2.722 0 3.404-.797.408-.477.531-1.185.377-2.162m-.895 7.264H53.36c-.53 0-.982-.386-1.065-.91L49.16 13.33a.646.646 0 0 1 .638-.747h3.704c.53 0 .981.386 1.064.91l.847 5.365c.082.524.534.91 1.064.91h2.454c5.11 0 8.058 2.472 8.828 7.373.347 2.142.014 3.826-.989 5.005-1.103 1.296-3.058 1.982-5.653 1.982M79.123 19.723c-.36-2.122-2.043-3.547-4.192-3.547-1.077 0-1.94.347-2.494 1.003-.55.65-.756 1.577-.582 2.608.334 2.104 2.046 3.574 4.162 3.574 1.055 0 1.91-.35 2.476-1.012.569-.667.793-1.599.63-2.626m5.176 7.23h-3.714a.647.647 0 0 1-.64-.547l-.162-1.038-.26.376c-.804 1.167-2.597 1.558-4.387 1.558-4.103 0-7.608-3.11-8.29-7.47-.355-2.177.149-4.256 1.383-5.707 1.133-1.333 2.75-1.888 4.677-1.888 3.308 0 5.142 2.124 5.142 2.124l-.166-1.032a.646.646 0 0 1 .639-.747h3.344c.53 0 .982.385 1.065.91l2.008 12.713a.647.647 0 0 1-.64.747\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#009cde\",\n d: \"M134.443 19.723c-.36-2.122-2.043-3.547-4.192-3.547-1.077 0-1.94.347-2.494 1.003-.55.65-.756 1.577-.582 2.608.334 2.104 2.045 3.574 4.162 3.574 1.055 0 1.91-.35 2.476-1.012.569-.667.793-1.599.63-2.626m5.176 7.23h-3.714a.647.647 0 0 1-.64-.547l-.162-1.038-.26.376c-.804 1.167-2.597 1.558-4.387 1.558-4.102 0-7.607-3.11-8.29-7.47-.355-2.177.15-4.256 1.384-5.707 1.133-1.333 2.75-1.888 4.677-1.888 3.309 0 5.143 2.124 5.143 2.124l-.166-1.032a.644.644 0 0 1 .637-.747h3.343c.53 0 .982.385 1.066.91l2.008 12.713a.647.647 0 0 1-.64.747\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003087\",\n d: \"M104.08 26.952h-3.734c-.357 0-.69-.177-.89-.473l-5.15-7.584-2.183 7.288a1.08 1.08 0 0 1-1.033.77h-3.669a.647.647 0 0 1-.612-.856l4.11-12.066-3.866-5.455a.647.647 0 0 1 .528-1.02h3.73c.352 0 .683.173.885.463l12.414 17.918a.646.646 0 0 1-.53 1.015\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#009cde\",\n d: \"M143.996 33.58l-3.184-20.251a.647.647 0 0 1 .639-.747h3.201c.53 0 .982.386 1.065.91l3.139 19.888a.646.646 0 0 1-.639.747h-3.582a.645.645 0 0 1-.639-.546\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003087\",\n d: \"M32.419 40.982c-1.674 1.908-4.7 2.726-8.571 2.726H12.613a1.609 1.609 0 0 1-1.59-1.357L6.347 12.68a.964.964 0 0 1 .953-1.114h6.936l1.742 11.049-.054-.346a1.604 1.604 0 0 0 1.583 1.357h3.296c6.475 0 11.545 2.63 13.026 10.238.044.225.082.444.115.658.44 2.812-.003 4.726-1.524 6.459\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003087\",\n d: \"M17.849 34.485a1.408 1.408 0 0 0 1.389 1.187h8.808c1.043 0 2.016-.068 2.905-.21a12.206 12.206 0 0 0 1.44-.322 7.957 7.957 0 0 0 1.551-.618c.442 2.813-.002 4.726-1.523 6.46-1.675 1.907-4.7 2.725-8.571 2.725H12.612a1.609 1.609 0 0 1-1.588-1.357L6.346 12.682a.964.964 0 0 1 .952-1.115h6.937l1.742 11.05 1.872 11.868z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#009cde\",\n d: \"M33.943 34.523a18.294 18.294 0 0 0-.115-.658c-1.481-7.607-6.551-10.238-13.026-10.238h-3.297a1.602 1.602 0 0 1-1.582-1.357l-1.688-10.702-.48-3.036a.844.844 0 0 1 .834-.976h5.847c.692 0 1.28.504 1.389 1.187l.057.298 1.102 6.984.07.386a1.407 1.407 0 0 0 1.39 1.187h.875c5.664 0 10.099 2.3 11.395 8.956.54 2.78.26 5.103-1.17 6.734a5.584 5.584 0 0 1-1.601 1.235\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#012169\",\n d: \"M32.392 35.14c-.226.067-.459.127-.699.18-.24.053-.488.1-.742.14-.89.145-1.862.213-2.906.213h-8.807a1.404 1.404 0 0 1-1.389-1.188l-1.872-11.87-.054-.345a1.602 1.602 0 0 0 1.582 1.357h3.297c6.475 0 11.545 2.63 13.026 10.238.044.225.081.443.115.658a7.998 7.998 0 0 1-1.218.514c-.109.036-.22.07-.333.104\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPaypalV2);\nexport default __webpack_public_path__ + \"static/media/paypal_v2.0493f5c4671ad14b4f0e4d4dd80ea667.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconApplePay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 49,\n height: 20,\n viewBox: \"0 0 49 20\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.35351 3.89145C8.15279 3.89145 7.18414 4.62878 6.55856 4.62878C5.9027 4.62878 5.02486 3.93241 3.98558 3.93241C2.00793 3.93241 0 5.60164 0 8.72504C0 10.681 0.746666 12.7394 1.66486 14.0809C2.4418 15.1971 3.13802 16.1188 4.12685 16.1188C5.10558 16.1188 5.53946 15.4634 6.76036 15.4634C7.99135 15.4634 8.27387 16.0983 9.35351 16.0983C10.4332 16.0983 11.1495 15.105 11.8256 14.1219C12.5722 12.9852 12.8951 11.8792 12.9052 11.828C12.8447 11.8075 10.7863 10.9575 10.7863 8.56119C10.7863 6.49258 12.4007 5.57092 12.4915 5.49923C11.4321 3.93241 9.80757 3.89145 9.35351 3.89145ZM8.79856 2.5704C9.28288 1.96621 9.62594 1.14695 9.62594 0.31746C9.62594 0.204813 9.61585 0.0921659 9.59567 0C8.80865 0.030722 7.84 0.532514 7.26486 1.21864C6.8209 1.74091 6.39712 2.5704 6.39712 3.3999C6.39712 3.52279 6.4173 3.65591 6.42739 3.69688C6.47784 3.70712 6.55856 3.71736 6.63928 3.71736C7.35567 3.71736 8.26378 3.22581 8.79856 2.5704Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8715 1.15719V15.9345H19.4747V11.0906H22.6329C25.5792 11.0906 27.6376 9.08346 27.6376 6.15463C27.6376 3.1746 25.6498 1.15719 22.7439 1.15719H16.8715ZM19.4747 3.36918H22.0578C23.9345 3.36918 24.994 4.34204 24.994 6.15463C24.994 7.91603 23.9043 8.89913 22.0477 8.89913H19.4747V3.36918Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.522 14.1219C31.4121 14.1219 30.615 13.5586 30.615 12.6165C30.615 11.7051 31.2709 11.193 32.6734 11.1009L35.1656 10.937V11.828C35.1656 13.1285 34.0356 14.1219 32.522 14.1219ZM31.7855 16.1188C33.2283 16.1188 34.4392 15.4839 35.0547 14.3984H35.2262V15.9345H37.6377V8.28469C37.6377 5.90886 36.0435 4.50589 33.2082 4.50589C30.5847 4.50589 28.7584 5.76549 28.5566 7.74194H30.9177C31.1498 6.98413 31.9368 6.5745 33.0871 6.5745C34.4392 6.5745 35.1656 7.18894 35.1656 8.28469V9.22683L32.3202 9.40092C29.6363 9.56477 28.1329 10.7322 28.1329 12.7599C28.1329 14.808 29.6565 16.1188 31.7855 16.1188Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.4234 20C42.8955 20 44.076 19.0783 45.0144 16.2929L49 4.73118H46.3564L43.7834 13.4767H43.6119L41.0288 4.73118H38.2843L42.2295 15.9857L42.0984 16.4772C41.7755 17.5115 41.1802 17.9211 40.1207 17.9211C39.9492 17.9211 39.5759 17.9109 39.4346 17.8802V19.959C39.596 19.9898 40.2721 20 40.4234 20Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconApplePay);\nexport default __webpack_public_path__ + \"static/media/icon_apple_pay.c80f169b21ea7c8ae043b577e8cbfc83.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"checkList\":\"styles_checkList__I6KgI\",\"applePayBtn\":\"styles_applePayBtn__qwBNt\",\"paypalBtn\":\"styles_paypalBtn__DlEa0\",\"title\":\"styles_title__v+ssU\",\"description\":\"styles_description__pUtps\"};","import React, { FC } from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { useTranslation } from 'react-i18next';\nimport styles from '../default/styles.module.scss';\n\ninterface PaymentButtonProps {\n isLoading: boolean;\n}\n\nexport const ApplePayElement: FC<\n PaymentButtonProps & { onPay: () => void }\n> = ({ isLoading, onPay }) => {\n const { t } = useTranslation();\n\n return (\n
\n
    \n
  • Fast payment using Touch or Face ID
  • \n
  • Protects your personal data
  • \n
  • Purchases stay private
  • \n
\n \n
\n );\n};\n","import React, { FC } from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { useTranslation } from 'react-i18next';\nimport styles from '../default/styles.module.scss';\n\ninterface PaymentButtonProps {\n isLoading: boolean;\n}\n\nexport const PayPalElement: FC<\n PaymentButtonProps & { onContinue: () => void }\n> = ({ isLoading, onContinue }) => {\n const { t } = useTranslation();\n\n return (\n
\n
    \n
  • Fast checkout
  • \n
  • Protects your financial data
  • \n
  • Secure transaction
  • \n
\n \n
\n );\n};\n","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcQuestion(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 17,\n viewBox: \"0 0 17 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8.5,\n cy: 8.5,\n r: 8.5,\n fill: \"#7D86C1\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.59617 9.73288V9.49863C7.59617 8.89041 7.95787 8.33973 8.68126 7.84658C8.73947 7.80548 8.8434 7.73562 8.99307 7.63699C9.15105 7.53014 9.25915 7.45616 9.31735 7.41507C9.38387 7.36575 9.46286 7.29589 9.55432 7.20548C9.64579 7.11507 9.70815 7.02055 9.74141 6.92192C9.77467 6.82329 9.7913 6.71644 9.7913 6.60137C9.7913 6.3137 9.69152 6.08767 9.49196 5.92329C9.30072 5.75069 9.05543 5.66438 8.7561 5.66438C8.43182 5.66438 8.15327 5.76301 7.92045 5.96027C7.90654 5.9725 7.89305 5.98502 7.87999 5.99782C7.54304 6.32813 7.2012 6.77397 6.72935 6.77397C6.25751 6.77397 5.85779 6.38191 6.0014 5.93245C6.13381 5.5181 6.37022 5.14518 6.71064 4.8137C7.26774 4.27123 7.94956 4 8.7561 4C9.55432 4 10.2112 4.25068 10.7267 4.75206C11.2422 5.24521 11.5 5.82877 11.5 6.50274C11.5 6.97123 11.4127 7.37397 11.2381 7.71096C11.0635 8.04795 10.7766 8.36438 10.3775 8.66027C10.311 8.70959 10.2237 8.77123 10.1156 8.84521C10.0158 8.91918 9.93681 8.97671 9.8786 9.01781C9.82871 9.05069 9.76635 9.09589 9.69152 9.15343C9.61668 9.21096 9.55848 9.26027 9.51691 9.30137C9.48365 9.33425 9.44623 9.37534 9.40466 9.42466C9.3714 9.47397 9.34645 9.51918 9.32982 9.56027C9.31319 9.60137 9.30488 9.64658 9.30488 9.69589V9.73288H7.59617ZM8.44429 13C8.09507 13 7.79989 12.8808 7.55876 12.6425C7.31763 12.4041 7.19706 12.1123 7.19706 11.7671C7.19706 11.4219 7.31763 11.1301 7.55876 10.8918C7.79989 10.6534 8.09507 10.5342 8.44429 10.5342C8.7852 10.5342 9.07622 10.6575 9.31735 10.9041C9.5668 11.1425 9.69152 11.4301 9.69152 11.7671C9.69152 12.1041 9.5668 12.3959 9.31735 12.6425C9.07622 12.8808 8.7852 13 8.44429 13Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcQuestion);\nexport default __webpack_public_path__ + \"static/media/ic_question.ad39d9b2bf307218452dd4a432a7eb34.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcQuestionDark(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9,\n cy: 9,\n r: 9,\n fill: \"#802DF6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.45455 6.94318C6.48864 6.29545 6.7178 5.76705 7.14205 5.35795C7.57008 4.94508 8.16667 4.73864 8.93182 4.73864C9.64015 4.73864 10.2178 4.93371 10.6648 5.32386C11.1155 5.71402 11.3409 6.20455 11.3409 6.79545C11.3409 7.625 10.9451 8.27841 10.1534 8.75568C9.79735 8.9678 9.55303 9.16856 9.42045 9.35795C9.29167 9.54735 9.22727 9.79356 9.22727 10.0966V10.4659H8.23295V9.94318C8.22917 9.57197 8.31818 9.25 8.5 8.97727C8.68561 8.70455 8.97538 8.45076 9.36932 8.21591C9.70265 8.01136 9.9375 7.80682 10.0739 7.60227C10.214 7.39773 10.2841 7.14583 10.2841 6.84659C10.2841 6.49053 10.1553 6.19886 9.89773 5.97159C9.64394 5.74053 9.30871 5.625 8.89205 5.625C8.46402 5.625 8.11932 5.74242 7.85795 5.97727C7.60038 6.21212 7.45644 6.53409 7.42614 6.94318H6.45455ZM9.36932 12.8807C9.22538 13.0284 9.03788 13.1023 8.80682 13.1023C8.57576 13.1023 8.38636 13.0284 8.23864 12.8807C8.09091 12.733 8.01705 12.5436 8.01705 12.3125C8.01705 12.0814 8.09091 11.892 8.23864 11.7443C8.38636 11.5928 8.57576 11.517 8.80682 11.517C9.03788 11.517 9.22538 11.5909 9.36932 11.7386C9.51705 11.8864 9.59091 12.0777 9.59091 12.3125C9.59091 12.5436 9.51705 12.733 9.36932 12.8807Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcQuestionDark);\nexport default __webpack_public_path__ + \"static/media/ic_question_dark.4dc23933fd500054d6e387226c6ad8d6.svg\";\nexport { ForwardRef as ReactComponent };","import { ThreeDSecureAction } from '@recurly/react-recurly';\nimport React, { useEffect } from 'react';\n\ntype Props = {\n token: string;\n onSuccess: (token: string) => void;\n onError: (error: string) => void;\n};\n\nexport const ThreeDSecure = ({ token, onSuccess, onError }: Props) => {\n useEffect(() => {\n if (token !== '') {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n });\n\n return token !== '' ? (\n
\n {\n onSuccess(token.id);\n }}\n onError={(error) => {\n onError(error.message);\n }}\n className=\"alert recurly-3ds\"\n />\n
\n ) : null;\n};\n","var _rect, _rect2, _rect3, _path, _rect4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcCardCvv(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 154,\n height: 94,\n viewBox: \"0 0 154 94\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 152,\n height: 92,\n rx: 5,\n stroke: \"#EEEDEE\",\n strokeWidth: 2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 13,\n width: 152,\n height: 20,\n fill: \"#EEEDEE\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 8,\n y: 50,\n width: 88,\n height: 20,\n rx: 3,\n fill: \"#EEEDEE\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.676 65.154C108.584 65.154 107.693 64.7853 107.002 64.048C106.311 63.3107 105.966 62.368 105.966 61.22V58.812C105.966 57.6733 106.311 56.7353 107.002 55.998C107.693 55.2607 108.584 54.892 109.676 54.892C110.759 54.892 111.645 55.2607 112.336 55.998C113.027 56.7353 113.372 57.6733 113.372 58.812V61.22C113.372 62.368 113.027 63.3107 112.336 64.048C111.645 64.7853 110.759 65.154 109.676 65.154ZM108.374 62.718C108.701 63.082 109.135 63.264 109.676 63.264C110.217 63.264 110.647 63.082 110.964 62.718C111.291 62.354 111.454 61.8547 111.454 61.22V58.812C111.454 58.1773 111.291 57.6827 110.964 57.328C110.647 56.964 110.217 56.782 109.676 56.782C109.135 56.782 108.701 56.964 108.374 57.328C108.047 57.6827 107.884 58.1773 107.884 58.812V61.22C107.884 61.8547 108.047 62.354 108.374 62.718ZM119.508 65.154C118.416 65.154 117.525 64.7853 116.834 64.048C116.143 63.3107 115.798 62.368 115.798 61.22V58.812C115.798 57.6733 116.143 56.7353 116.834 55.998C117.525 55.2607 118.416 54.892 119.508 54.892C120.591 54.892 121.477 55.2607 122.168 55.998C122.859 56.7353 123.204 57.6733 123.204 58.812V61.22C123.204 62.368 122.859 63.3107 122.168 64.048C121.477 64.7853 120.591 65.154 119.508 65.154ZM118.206 62.718C118.533 63.082 118.967 63.264 119.508 63.264C120.049 63.264 120.479 63.082 120.796 62.718C121.123 62.354 121.286 61.8547 121.286 61.22V58.812C121.286 58.1773 121.123 57.6827 120.796 57.328C120.479 56.964 120.049 56.782 119.508 56.782C118.967 56.782 118.533 56.964 118.206 57.328C117.879 57.6827 117.716 58.1773 117.716 58.812V61.22C117.716 61.8547 117.879 62.354 118.206 62.718ZM129.34 65.154C128.248 65.154 127.357 64.7853 126.666 64.048C125.975 63.3107 125.63 62.368 125.63 61.22V58.812C125.63 57.6733 125.975 56.7353 126.666 55.998C127.357 55.2607 128.248 54.892 129.34 54.892C130.423 54.892 131.309 55.2607 132 55.998C132.691 56.7353 133.036 57.6733 133.036 58.812V61.22C133.036 62.368 132.691 63.3107 132 64.048C131.309 64.7853 130.423 65.154 129.34 65.154ZM128.038 62.718C128.365 63.082 128.799 63.264 129.34 63.264C129.881 63.264 130.311 63.082 130.628 62.718C130.955 62.354 131.118 61.8547 131.118 61.22V58.812C131.118 58.1773 130.955 57.6827 130.628 57.328C130.311 56.964 129.881 56.782 129.34 56.782C128.799 56.782 128.365 56.964 128.038 57.328C127.711 57.6827 127.548 58.1773 127.548 58.812V61.22C127.548 61.8547 127.711 62.354 128.038 62.718Z\",\n fill: \"#7C777F\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 102,\n y: 49,\n width: 35,\n height: 22,\n rx: 3,\n stroke: \"#E34646\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcCardCvv);\nexport default __webpack_public_path__ + \"static/media/ic_card_cvv.6b367a2086d435620fc11471e61c60a6.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect } from 'react';\nimport CardCvv from 'assets/ic_card_cvv.svg';\nimport './styles.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n className?: string;\n isVisible: boolean;\n onClose: () => void;\n};\n\nexport const Tooltip = ({ className, isVisible, onClose }: Props) => {\n const { t } = useTranslation();\n\n const clickListener = useCallback(\n (e: MouseEvent) => {\n if (isVisible) {\n e.stopPropagation();\n onClose();\n }\n },\n [isVisible, onClose],\n );\n\n useEffect(() => {\n window.addEventListener('click', clickListener);\n return () => {\n window.removeEventListener('click', clickListener);\n };\n }, [clickListener]);\n\n return (\n \n \"\"\n {t('paymentCvvTooltipText')}\n
\n
\n );\n};\n","import { CommonElementStyle } from '@recurly/recurly-js/lib/elements';\n\nconst DEFAULT_COLOR = 'rgba(9, 1, 16, 1)';\nconst DEFAULT_COLOR_DARK = 'rgba(255, 255, 255, 1)';\nconst ERROR_COLOR = 'rgba(227, 70, 70, 1)';\nconst DEFAULT_COLOR_WITH_OPACITY = 'rgba(9, 1, 16, 0.5)';\nconst DEFAULT_COLOR_WITH_OPACITY_DARK = 'rgba(255, 255, 255, 0.5)';\nconst ERROR_COLOR_WITH_OPACITY = 'rgba(227, 70, 70, 0.5)';\n\nconst cvv = 'CVC/CVV';\n\ntype Style = {\n empty: RecurlyStyle;\n default: RecurlyStyle;\n invalid: RecurlyStyle;\n};\n\ntype RecurlyStyle = CommonElementStyle & {\n invalid?: CommonElementStyle;\n padding?: string;\n placeholder?: {\n color?: string;\n content?: string;\n };\n};\n\nconst getStyle = (\n placeholder: string,\n isValid: boolean,\n isEmpty: boolean,\n isDark: boolean,\n) => {\n return {\n fontFamily: 'Karla',\n fontSize: '16px',\n fontColor: isValid\n ? isDark\n ? DEFAULT_COLOR_DARK\n : DEFAULT_COLOR\n : ERROR_COLOR,\n fontWeight: isEmpty ? '500' : '600',\n invalid: {\n fontColor: ERROR_COLOR,\n },\n placeholder: {\n color: isValid\n ? isDark\n ? DEFAULT_COLOR_WITH_OPACITY_DARK\n : DEFAULT_COLOR_WITH_OPACITY\n : ERROR_COLOR_WITH_OPACITY,\n content: placeholder,\n },\n };\n};\n\nexport const ELEMENTS_STYLES: Record = {\n cardNumber: {\n empty: getStyle('0000 0000 0000 0000', true, true, false),\n default: getStyle('0000 0000 0000 0000', true, false, false),\n invalid: getStyle('0000 0000 0000 0000', false, false, false),\n },\n month: {\n empty: getStyle('MM', true, true, false),\n default: getStyle('MM', true, false, false),\n invalid: getStyle('MM', false, false, false),\n },\n year: {\n empty: getStyle('YY', true, true, false),\n default: getStyle('YY', true, false, false),\n invalid: getStyle('YY', false, false, false),\n },\n cvv: {\n empty: getStyle(cvv, true, true, false),\n default: getStyle(cvv, true, false, false),\n invalid: getStyle(cvv, false, false, false),\n },\n};\n\nexport const ELEMENTS_STYLES_DARK: Record = {\n cardNumber: {\n empty: getStyle('0000 0000 0000 0000', true, true, true),\n default: getStyle('0000 0000 0000 0000', true, false, true),\n invalid: getStyle('0000 0000 0000 0000', false, false, true),\n },\n month: {\n empty: getStyle('MM', true, true, true),\n default: getStyle('MM', true, false, true),\n invalid: getStyle('MM', false, false, true),\n },\n year: {\n empty: getStyle('YY', true, true, true),\n default: getStyle('YY', true, false, true),\n invalid: getStyle('YY', false, false, true),\n },\n cvv: {\n empty: getStyle(cvv, true, true, true),\n default: getStyle(cvv, true, false, true),\n invalid: getStyle(cvv, false, false, true),\n },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__xgIsu\",\"dark\":\"styles_dark__XVK7p\",\"countrySelector\":\"styles_countrySelector__v1AfT\",\"fieldsContainer\":\"styles_fieldsContainer__f42h6\",\"dateDivider\":\"styles_dateDivider__dUtdl\",\"cvvWrapper\":\"styles_cvvWrapper__daE8Y\",\"cvvElement\":\"styles_cvvElement__PSiqF\",\"questionMark\":\"styles_questionMark__nOHQ9\",\"visible\":\"styles_visible__kO9F5\",\"invalid\":\"styles_invalid__ZKNB0\",\"formError\":\"styles_formError__sUn2Y\",\"input\":\"styles_input__h1Z9u\",\"button\":\"styles_button__ZGzDc\",\"hidden\":\"styles_hidden__d9GrO\"};","import React, { ChangeEvent, SyntheticEvent, useRef, useState } from 'react';\nimport {\n CardCvvElement,\n CardMonthElement,\n CardNumberElement,\n CardYearElement,\n IndividualElementChangeEvent,\n useRecurly,\n} from '@recurly/react-recurly';\nimport { appAnalytics } from 'analytics';\nimport { CardFormInputStarted, Subscribe } from 'analytics/AllEvents';\nimport Question from 'assets/ic_question.svg';\nimport QuestionDark from 'assets/ic_question_dark.svg';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport {\n createSubscription,\n createSubscriptionByIdx,\n} from 'bootstrap/net/subscription';\nimport { setTrialOfferShown } from 'bootstrap/user/actions/setTrialOfferInfo';\nimport Alert from 'components/error/Error';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { getQueryVariable, pushWithSearchQuery } from 'utils';\nimport { ThreeDSecure } from '../../threedsecure/ThreeDSecure';\nimport { Tooltip } from '../../tooltip/Tooltip';\nimport Countries from '../countries.json';\nimport { ELEMENTS_STYLES, ELEMENTS_STYLES_DARK } from '../elementsStyles';\nimport { TFunction } from 'react-i18next';\nimport { setCountryCode, setCountryCurrency } from 'bootstrap/user/actions';\nimport { SuccessPaymentProps } from '../../../Recurly.types';\nimport { buyProduct } from 'bootstrap/giftpurchase/actions/buyProduct';\nimport { setSubscriptionToken } from 'bootstrap/user/actions/setUserInfo';\nimport { withRecaptcha } from '../../withRecaptcha/withRecaptcha';\nimport styles from './styles.module.scss';\nimport { isGiftFlow, useFeatures } from 'useFeatures';\n\ntype Props = {\n product: Product;\n className?: string;\n darkTheme?: boolean;\n children?: JSX.Element | JSX.Element[];\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n translation?: TFunction;\n};\n\nexport const DefaultCardForm = ({\n product,\n className,\n darkTheme = false,\n children,\n onSuccess,\n onError,\n translation: t,\n}: Props) => {\n const recurly = useRecurly();\n const dispatch = useAppDispatch();\n const formRef = useRef(null);\n\n const { countryCode, currency, paymentMethod, subscriptionToken } =\n useAppSelector((state) => state.user);\n\n const {\n isAdhdTest,\n isLocalCurrencyEnabled,\n isWorkbookUpsellFlow,\n upsellFlow,\n } = useFeatures();\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const [firstNameValid, setFirstNameValid] = useState(false);\n const [lastNameValid, setLastNameValid] = useState(false);\n const [cardNumberValid, setCardNumberValid] = useState(false);\n const [postalCodeValid, setPostalCodeValid] = useState(false);\n const [cardNumberEmpty, setCardNumberEmpty] = useState(true);\n const [monthValid, setMonthValid] = useState(false);\n const [monthEmpty, setMonthEmpty] = useState(true);\n const [yearValid, setYearValid] = useState(false);\n const [yearEmpty, setYearEmpty] = useState(true);\n const [cvvValid, setCvvValid] = useState(false);\n const [cvvEmpty, setCvvEmpty] = useState(true);\n const [error, setError] = useState('');\n const [actionTokenId, setActionTokenId] = useState('');\n const [isLoading, setLoading] = useState(false);\n const firstNameRef = useRef(null);\n const lastNameRef = useRef(null);\n const postalCodeRef = useRef(null);\n\n const [selectedProduct, setSelectedProduct] = useState(product);\n const [firstFormFocusHandled, setFirstFormFocusHandled] = useState(false);\n\n const handleSubmitGiftFlow = withRecaptcha(\n async (recaptchaToken: string) => {\n if (isLoading) return;\n\n setLoading(true);\n setError('');\n appAnalytics.trackEvent(new Subscribe());\n\n const form = formRef.current;\n if (!form) return;\n\n recurly.token(form, (err, token) => {\n if (err != null) {\n setLoading(false);\n setError(err.message);\n } else {\n dispatch(setSubscriptionToken(token.id));\n\n dispatch(\n buyProduct({\n product: product as any,\n token: token.id,\n recaptchaToken,\n }),\n )\n .then(() => {\n setLoading(false);\n dispatch(pushWithSearchQuery('/gift/done'));\n })\n .catch((error) => {\n setLoading(false);\n setError(error);\n });\n }\n });\n },\n setLoading,\n setError,\n );\n\n console.log(upsellFlow);\n\n const handleSubscription = (recaptchaToken: string) => {\n const form = formRef.current;\n if (!form) return;\n\n recurly.token(form, (err, token) => {\n if (err != null) {\n setLoading(false);\n setError(err.message);\n } else {\n dispatch(setSubscriptionToken(token.id));\n\n subscribe(token.id, product, recaptchaToken);\n }\n });\n };\n\n const handleSubmit = withRecaptcha(\n async (recaptchaToken: string) => {\n if (isLoading) return;\n\n setLoading(true);\n setError('');\n appAnalytics.trackEvent(new Subscribe());\n\n handleSubscription(recaptchaToken);\n },\n setLoading,\n setError,\n );\n\n // CODE REFACTOR AFTER ROLLED/REMOVED CARD FORM V2\n\n const subscribe = (\n token: string,\n currentProduct: Product,\n recaptchaToken: string,\n ) => {\n const firstName = firstNameRef.current?.value;\n const lastName = lastNameRef.current?.value;\n const zip = postalCodeRef.current?.value;\n const idx = getQueryVariable('idx');\n\n const createSubscriptionPromise = !!idx\n ? createSubscriptionByIdx({\n product: currentProduct,\n token,\n bundle: getQueryVariable('bundle'),\n idx,\n paymentMethod,\n recaptchaToken,\n })\n : createSubscription({\n product: currentProduct,\n token,\n currency,\n paymentMethod,\n recaptchaToken,\n });\n\n createSubscriptionPromise\n .then(async (result) => {\n if (!!result.three_d_secure_action_token_id) {\n setActionTokenId(result.three_d_secure_action_token_id);\n } else {\n if (upsellFlow) {\n dispatch(pushWithSearchQuery('/basic-upsell'));\n } else if (isWorkbookUpsellFlow || isAdhdTest) {\n dispatch(pushWithSearchQuery('/workbook'));\n } else {\n dispatch(setTrialOfferShown(true));\n }\n setLoading(false);\n onSuccess({\n orderId: result.purchase.order_id,\n productBought: currentProduct,\n zip,\n firstName,\n lastName,\n });\n }\n })\n .catch((error) => {\n setLoading(false);\n if (error.code === 'USER_NOT_FOUND') {\n dispatch(pushWithSearchQuery('/quick-purchase/login', ['idx']));\n } else {\n setError(error.debug_text);\n }\n onError(error.debug_text);\n });\n setSelectedProduct(currentProduct);\n };\n\n const handleThreeDSecureError = (error: string) => {\n setActionTokenId('');\n setError(error);\n onError(error);\n };\n\n const handleChangeCountry = (event: ChangeEvent) => {\n const selectedCountry = Countries.find(\n (item) => item.code && item.code === event.target.value,\n );\n if (!selectedCountry) return;\n\n dispatch(setCountryCode(selectedCountry.code));\n\n if (isLocalCurrencyEnabled) {\n dispatch(setCountryCurrency(selectedCountry.currencyCode));\n }\n };\n\n // CODE REFACTOR AFTER ROLLED/REMOVED CARD FORM V2\n\n const handleThreeDSecureToken = withRecaptcha(\n // @ts-ignore\n async (recaptchaToken: string, threeDSToken: string) => {\n setActionTokenId('');\n setLoading(true);\n const idx = getQueryVariable('idx');\n const firstName = firstNameRef.current?.value;\n const lastName = lastNameRef.current?.value;\n const zip = postalCodeRef.current?.value;\n\n const createSubscriptionPromise = !!idx\n ? createSubscriptionByIdx({\n product: selectedProduct,\n token: subscriptionToken || '',\n bundle: getQueryVariable('bundle'),\n idx,\n threeDSToken,\n paymentMethod,\n recaptchaToken,\n })\n : createSubscription({\n product: selectedProduct,\n token: subscriptionToken,\n currency,\n threeDSToken,\n paymentMethod,\n recaptchaToken,\n });\n\n createSubscriptionPromise\n .then(async (result) => {\n setLoading(false);\n onSuccess({\n orderId: result.purchase.order_id,\n productBought: selectedProduct,\n zip,\n firstName,\n lastName,\n });\n })\n .catch((error) => {\n setLoading(false);\n if (!!error.actionTokenId) {\n setActionTokenId(error.actionTokenId);\n } else if (error.code === 'USER_NOT_FOUND') {\n dispatch(pushWithSearchQuery('/quick-purchase/login', ['idx']));\n onError(error);\n } else {\n setError(error.debug_text.email);\n onError(error);\n }\n });\n },\n setLoading,\n setError,\n );\n\n const toggleCvvTooltip = (e: SyntheticEvent) => {\n e.stopPropagation();\n setTooltipVisible(!tooltipVisible);\n };\n\n const handleFormInputFocus = () => {\n if (!firstFormFocusHandled) {\n appAnalytics.trackEvent(new CardFormInputStarted());\n setFirstFormFocusHandled(true);\n }\n };\n\n const elementsStyles = darkTheme ? ELEMENTS_STYLES_DARK : ELEMENTS_STYLES;\n\n return (\n \n setError('')} />\n\n \n\n
\n {\n setFirstNameValid(event.target.value.length > 0);\n }}\n onFocus={handleFormInputFocus}\n />\n \n {\n setLastNameValid(event.target.value.length > 0);\n }}\n onFocus={handleFormInputFocus}\n />\n
\n\n
\n {\n setCardNumberValid(event.valid);\n setCardNumberEmpty(event.length === 0);\n }}\n onFocus={handleFormInputFocus}\n />\n {!cardNumberEmpty && !cardNumberValid && (\n
\n {t ? t('cardNumberError') : 'Please enter a valid card number'}\n
\n )}\n
\n\n
\n
\n {\n setMonthValid(event.valid);\n setMonthEmpty(event.length === 0);\n }}\n onFocus={handleFormInputFocus}\n />\n {!monthEmpty && !monthValid && (\n
\n {t\n ? t('expirationMonthError')\n : 'Expiration month should be between 1 and 12'}\n
\n )}\n
\n /\n
\n {\n setYearValid(event.valid);\n setYearEmpty(event.length === 0);\n }}\n onFocus={handleFormInputFocus}\n />\n {!yearEmpty && !yearValid && (\n
\n {t\n ? t('expirationYearError', { year: new Date().getFullYear() })\n : `Expiration year should be ${new Date().getFullYear()} or later`}\n
\n )}\n
\n
\n\n
\n
\n {\n setCvvValid(event.valid);\n setCvvEmpty(event.length === 0);\n }}\n onFocus={handleFormInputFocus}\n />\n \n\n setTooltipVisible(false)}\n />\n
\n \n {\n setPostalCodeValid(event.target.value.length > 0);\n }}\n onFocus={handleFormInputFocus}\n />\n
\n \n {Countries.map((country) => (\n \n ))}\n \n\n {children}\n\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"styles_input__u2pV-\",\"validationError\":\"styles_validationError__vL+d3\",\"label\":\"styles_label__dYssV\",\"formError\":\"styles_formError__HprXN\"};","import React, { ChangeEvent } from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n name?: string;\n label?: string;\n type?: string;\n className?: string;\n inputClassName?: string;\n value?: string;\n validationError?: string;\n placeholder?: string;\n dataRecurly?: string;\n ref?: React.RefObject;\n onChangeHandler?: (event: ChangeEvent) => void;\n onFocusHandler?: () => void;\n};\n\nexport const InputField = ({\n name,\n label,\n type = 'text',\n className,\n value,\n validationError,\n placeholder,\n dataRecurly,\n ref,\n onChangeHandler,\n onFocusHandler,\n}: Props) => {\n return (\n
\n
{label}
\n\n \n\n
{validationError}
\n
\n );\n};\n","import { ChangeEvent, useEffect, useRef, useState } from 'react';\nimport { useRecurly } from '@recurly/react-recurly';\nimport { appAnalytics } from 'analytics';\nimport { CardFormInputStarted, Subscribe } from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { createSubscription } from 'bootstrap/net/subscription';\nimport { setTrialOfferShown } from 'bootstrap/user/actions';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport {\n isFormFieldNotEmpty,\n isFullNameValid,\n isPostalCodeShown,\n} from '../layoutcardform/LayoutCardForm.utils';\nimport { pushWithSearchQuery } from 'utils';\nimport { setSubscriptionToken } from 'bootstrap/user/actions/setUserInfo';\nimport { withRecaptcha } from '../../withRecaptcha/withRecaptcha';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n product: Product;\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n};\n\nexport const useLayoutCardFormLogic = ({\n product,\n onSuccess,\n onError,\n}: Props) => {\n const recurly = useRecurly();\n const dispatch = useAppDispatch();\n\n const { isAdhdTest, isWorkbookUpsellFlow, upsellFlow } = useFeatures();\n\n console.log(upsellFlow);\n\n const { countryCode, currency, subscriptionToken, paymentMethod } =\n useAppSelector((state) => state.user);\n\n const isPostalCodeVisible = isPostalCodeShown(countryCode);\n\n const formRef = useRef(null);\n const postalCodeRef = useRef(null);\n\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [fullName, setFullName] = useState('');\n\n const [fullNameValid, setFullNameValid] = useState(false);\n const [cardNumberValid, setCardNumberValid] = useState(false);\n const [cvvValid, setCvvValid] = useState(false);\n const [postalCodeValid, setPostalCodeValid] = useState(false);\n const [expireDateValid, setExpireDateValid] = useState(false);\n\n const [fullNameEmpty, setFullNameEmpty] = useState(true);\n const [cardNumberEmpty, setCardNumberEmpty] = useState(true);\n const [cvvEmpty, setCvvEmpty] = useState(true);\n const [postalCodeEmpty, setPostalCodeEmpty] = useState(true);\n const [expireDateEmpty, setExpireDateEmpty] = useState(true);\n\n const [error, setError] = useState('');\n const [actionTokenId, setActionTokenId] = useState('');\n const [isLoading, setLoading] = useState(false);\n const [selectedProduct, setSelectedProduct] = useState(product);\n const [firstFormFocusHandled, setFirstFormFocusHandled] = useState(false);\n const [isPaymentFormInvalid, setIsPaymentFormInvalid] = useState(false);\n\n const [cardElementValidationError, setCardElementValidationError] =\n useState('');\n const [fullNameValidationError, setFullNameValidationError] = useState('');\n const [postalCodeValidationError, setPostalCodeValidationError] =\n useState('');\n\n const cardElementsValidation = () => {\n if (!cardNumberValid && !cardNumberEmpty) {\n setCardElementValidationError('Please enter a valid card number');\n } else if (!expireDateValid && !expireDateEmpty) {\n setCardElementValidationError('Please enter a valid expire date');\n } else if (!cvvValid && !cvvEmpty) {\n setCardElementValidationError('Please enter a valid cvv/cvc code');\n } else {\n setCardElementValidationError('');\n }\n };\n\n const fullNameValidation = () => {\n if (!fullNameValid && !fullNameEmpty) {\n setFullNameValidationError('Please enter Both First Name and Last Name');\n } else {\n setFullNameValidationError('');\n }\n };\n\n const postalCodeValidation = () => {\n if (!postalCodeValid && !postalCodeEmpty) {\n setPostalCodeValidationError('Please enter a valid zip code');\n } else {\n setPostalCodeValidationError('');\n }\n };\n\n useEffect(() => {\n const [firstName, lastName] = fullName.split(' ');\n setFirstName(firstName);\n setLastName(lastName);\n }, [fullName]);\n\n useEffect(() => fullNameValidation(), [fullNameEmpty, fullNameValid]);\n useEffect(() => postalCodeValidation(), [postalCodeValid, postalCodeEmpty]);\n useEffect(\n () => cardElementsValidation(),\n [\n cardNumberValid,\n expireDateValid,\n cvvValid,\n cardNumberEmpty,\n expireDateEmpty,\n cvvEmpty,\n ],\n );\n\n useEffect(() => {\n const isFormInvalid = isPostalCodeVisible\n ? !(\n fullNameValid &&\n postalCodeValid &&\n cvvValid &&\n expireDateValid &&\n cardNumberValid\n )\n : !(fullNameValid && cvvValid && expireDateValid && cardNumberValid);\n\n setIsPaymentFormInvalid(isFormInvalid);\n }, [\n fullNameValid,\n postalCodeValid,\n cvvValid,\n expireDateValid,\n cardNumberValid,\n ]);\n\n const onChangeCardElementsHandler = (event: any) => {\n setCvvEmpty(event?.cvv.empty);\n setCardNumberEmpty(event?.number.empty);\n setExpireDateEmpty(event?.expiry.empty);\n setCvvValid(event?.cvv.valid);\n setCardNumberValid(event?.number.valid);\n setExpireDateValid(event?.expiry.valid);\n };\n\n const onChangeFullNameHandler = (event: ChangeEvent) => {\n const fullName = event.target.value;\n setFullName(fullName);\n setFullNameEmpty(fullName.trim().length === 0);\n setFullNameValid(isFullNameValid(fullName));\n };\n\n const onChangePostalCodeHandler = (event: ChangeEvent) => {\n const postalCode = event.target.value;\n setPostalCodeEmpty(postalCode.trim().length === 0);\n setPostalCodeValid(isFormFieldNotEmpty(postalCode));\n };\n\n const handleSubmit = withRecaptcha(\n async (recaptchaToken: string) => {\n if (isLoading) return;\n\n setLoading(true);\n setError('');\n appAnalytics.trackEvent(new Subscribe());\n\n const form = formRef.current;\n if (!form) return;\n\n recurly.token(form, (err, token) => {\n if (err != null) {\n setLoading(false);\n setError(err.message);\n } else {\n dispatch(setSubscriptionToken(token.id));\n subscribe(token.id, product, recaptchaToken);\n }\n });\n },\n setLoading,\n setError,\n );\n\n console.log(upsellFlow);\n\n const subscribe = (\n token: string,\n currentProduct: Product,\n recaptchaToken: string,\n ) => {\n const zip = postalCodeRef.current?.value;\n\n const createSubscriptionPromise = createSubscription({\n product: currentProduct,\n token,\n currency,\n paymentMethod,\n recaptchaToken,\n });\n createSubscriptionPromise\n .then(async (result) => {\n if (!!result.three_d_secure_action_token_id) {\n setActionTokenId(result.three_d_secure_action_token_id);\n } else {\n if (upsellFlow) {\n dispatch(pushWithSearchQuery('/upsell'));\n } else if (isWorkbookUpsellFlow || isAdhdTest || upsellFlow) {\n dispatch(pushWithSearchQuery('/workbook'));\n } else {\n dispatch(setTrialOfferShown(true));\n }\n setLoading(false);\n onSuccess({\n orderId: result.purchase.order_id,\n productBought: currentProduct,\n zip,\n firstName,\n lastName,\n });\n }\n })\n .catch((error) => {\n setLoading(false);\n setError(error.debug_text);\n onError(error.debug_text);\n });\n setSelectedProduct(currentProduct);\n };\n\n const handleThreeDSecureError = (error: string) => {\n setActionTokenId('');\n setError(error);\n onError(error);\n };\n\n const handleThreeDSecureToken = withRecaptcha(\n // @ts-ignore\n async (recaptchaToken: string, threeDSToken: string) => {\n setActionTokenId('');\n setLoading(true);\n\n const createSubscriptionPromise = createSubscription({\n product: selectedProduct,\n token: subscriptionToken,\n currency,\n threeDSToken,\n paymentMethod,\n recaptchaToken,\n });\n const zip = postalCodeRef.current?.value;\n createSubscriptionPromise\n .then(async (result) => {\n setLoading(false);\n onSuccess({\n orderId: result.purchase.order_id,\n productBought: selectedProduct,\n zip,\n firstName,\n lastName,\n });\n })\n .catch((error) => {\n setLoading(false);\n if (!!error.actionTokenId) {\n setActionTokenId(error.actionTokenId);\n } else {\n setError(error.debug_text);\n onError(error);\n }\n });\n },\n setLoading,\n setError,\n );\n\n const handleFormInputFocus = () => {\n if (!firstFormFocusHandled) {\n appAnalytics.trackEvent(new CardFormInputStarted());\n setFirstFormFocusHandled(true);\n }\n };\n\n return {\n error,\n postalCodeRef,\n formRef,\n actionTokenId,\n fullName,\n firstName,\n lastName,\n cardElementValidationError,\n fullNameValidationError,\n postalCodeValidationError,\n isPaymentFormInvalid,\n isLoading,\n isPostalCodeVisible,\n handleThreeDSecureError,\n setError,\n handleSubmit,\n handleFormInputFocus,\n handleThreeDSecureToken,\n onChangeCardElementsHandler,\n onChangeFullNameHandler,\n onChangePostalCodeHandler,\n };\n};\n","export const isFormFieldNotEmpty = (value: string) => {\n return value.length > 0;\n};\n\nexport const isFullNameValid = (value: string): boolean => {\n const regex = /^[a-z]+ [a-z]+$/i;\n const matchesPattern = regex.test(value.trim());\n\n return matchesPattern;\n};\n\nexport const isPostalCodeShown = (countryCode: string | undefined) => {\n const requirePostCodeCountriesCodes = ['US', 'CA', 'IN'];\n if (!countryCode) return true;\n\n return requirePostCodeCountriesCodes.includes(countryCode);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"label\":\"styles_label__Ry9SW\",\"cvc\":\"styles_cvc__Ui2TX\",\"formError\":\"styles_formError__n--CS\"};","import React from 'react';\nimport { CardElement } from '@recurly/react-recurly';\nimport { getCardElementStyle } from './elementStyles';\nimport styles from './styles.module.scss';\n\ntype Props = {\n className?: string;\n validationError?: string;\n label?: string;\n onFocusHandler?: () => void;\n onChangeHandler?: (event: any) => void;\n};\n\nexport const CardElementsField = ({\n className,\n label,\n validationError,\n onFocusHandler,\n onChangeHandler,\n}: Props) => {\n return (\n
\n
{label}
\n \n
{validationError}
\n
\n );\n};\n","export const getCardElementStyle = () => {\n return {\n fontSize: '12px',\n lineHeight: '22px',\n fontWeight: '400',\n fontFamily: 'Arial',\n placeholder: {\n fontFamily: 'Arial',\n color: 'grey',\n fontSize: '12px',\n fontWeight: '400',\n content: {\n number: 'Card number',\n expiry: 'MM/YY',\n cvv: 'CVV',\n },\n },\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Fiw6w\",\"card\":\"styles_card__mT5ZW\",\"input\":\"styles_input__X56ua\",\"inputsWrapper\":\"styles_inputsWrapper__8cnM4\",\"cardElement\":\"styles_cardElement__oU+MB\",\"hidden\":\"styles_hidden__r6uRv\",\"button\":\"styles_button__gWDfF\"};","import React from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { ThreeDSecure } from '../../threedsecure/ThreeDSecure';\nimport { Product } from 'bootstrap/data/product/Product';\nimport Alert from 'components/error/Error';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { InputField } from './components/inputfield/InputField';\nimport { useLayoutCardFormLogic } from './LayoutCardForm.hook';\nimport { CardElementsField } from './components/cardelementfield/CardElementField';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n className?: string;\n children?: JSX.Element | JSX.Element[];\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n};\n\nexport const LayoutCardForm = ({\n product,\n className,\n children,\n onSuccess,\n onError,\n}: Props) => {\n const {\n error,\n postalCodeRef,\n formRef,\n actionTokenId,\n fullName,\n firstName,\n lastName,\n cardElementValidationError,\n fullNameValidationError,\n postalCodeValidationError,\n isPaymentFormInvalid,\n isLoading,\n isPostalCodeVisible,\n handleThreeDSecureError,\n setError,\n handleSubmit,\n handleFormInputFocus,\n handleThreeDSecureToken,\n onChangeCardElementsHandler,\n onChangeFullNameHandler,\n onChangePostalCodeHandler,\n } = useLayoutCardFormLogic({ onSuccess, onError, product });\n\n const hiddenInputs = (\n
\n \n \n
\n );\n\n return (\n
\n setError('')} />\n \n
\n
\n \n
\n
\n \n {isPostalCodeVisible && (\n \n )}\n
\n
\n {hiddenInputs}\n\n {children}\n\n \n \n );\n};\n","import { Product } from 'bootstrap/data/product/Product';\nimport { TFunction } from 'react-i18next';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { DefaultCardForm } from './defaultcardform/DefaultCardForm';\nimport { LayoutCardForm } from './layoutcardform/LayoutCardForm';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n product: Product;\n className?: string;\n darkTheme?: boolean;\n children?: JSX.Element | JSX.Element[];\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n translation?: TFunction;\n};\n\nexport const CardFormWrapper = ({\n product,\n children,\n onSuccess,\n onError,\n translation: t,\n}: Props) => {\n const { isLayoutCardPaymentForm } = useFeatures();\n\n if (isLayoutCardPaymentForm) {\n return (\n \n {children}\n \n );\n }\n return (\n \n {children}\n \n );\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcPoweredByRecurly(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 111,\n height: 17,\n viewBox: \"0 0 111 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.8598 9.18283C64.2798 8.26455 63.8449 7.68458 63.5549 7.44293C65.0531 7.05628 66.5514 5.79968 66.5514 3.72146C66.5514 1.20827 64.8115 0 62.1049 0C59.6884 0 58.2868 1.15994 57.9485 3.1415H56.7402L59.1568 5.17138L61.67 3.1415H60.3167C60.3167 3.1415 60.3167 1.7399 62.1049 1.7399C63.6515 1.7399 64.1348 2.85151 64.1348 3.76979C64.1348 5.12305 63.4099 6.138 61.7183 6.138H57.9002V12.711H60.3167V7.73291C60.8483 7.73291 61.38 7.92623 62.2499 9.23116L64.3765 12.6626H67.0347L64.8598 9.18283Z\",\n fill: \"#723180\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.0303 12.7111V0.725098H101.253V12.7111H99.0303Z\",\n fill: \"#723180\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.5294 11.1645C72.641 11.1645 73.2693 10.8261 73.656 10.5845L74.3809 12.0344C73.8493 12.3244 73.0277 12.8077 71.3361 12.8077C68.5813 12.8077 67.083 11.0678 67.083 8.50628C67.083 5.94475 68.8712 4.25317 71.1428 4.25317C73.7043 4.25317 74.9126 6.08974 74.6709 9.08624H69.4995C69.5479 10.3912 70.1762 11.1645 71.5294 11.1645ZM72.4477 7.58799C72.4477 6.66971 72.0611 5.94475 71.0461 5.94475C70.1278 5.94475 69.5479 6.52472 69.4029 7.58799H72.4477Z\",\n fill: \"#723180\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.8425 12.8562C77.2326 12.8562 75.6377 11.1163 75.6377 8.60307C75.6377 5.84822 77.4743 4.30164 79.9391 4.30164C81.2441 4.30164 82.0657 4.68828 82.4523 4.97827L81.7274 6.42819C81.3407 6.18653 80.8574 5.94488 80.0358 5.94488C78.7309 5.94488 78.0542 7.05649 78.0542 8.55474C78.0542 10.053 78.7309 11.2129 80.0841 11.2129C81.0024 11.2129 81.534 10.8263 81.7757 10.6813L82.4523 12.1312C82.0174 12.3245 81.3407 12.8562 79.8425 12.8562Z\",\n fill: \"#723180\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.8355 4.54321V9.56961C85.8355 10.3912 86.1255 10.8262 86.9471 10.8262C87.8171 10.8262 88.4454 10.0046 88.6387 9.81126V4.54321H90.8619V10.3429C90.8619 11.3578 90.9586 12.1795 91.1036 12.7111H88.9287C88.8804 12.4694 88.7837 11.9378 88.7837 11.5995C88.3487 12.1311 87.5271 12.9044 86.1739 12.9044C84.3856 12.9044 83.709 11.7445 83.709 10.2462V4.54321H85.8355Z\",\n fill: \"#723180\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.3375 6.4764C97.1925 6.37974 96.9508 6.28308 96.4675 6.28308C95.5009 6.28308 94.8726 7.15303 94.6793 7.53968V12.7111H92.4561V4.54318H94.6793V5.65478C95.0176 5.07481 95.6942 4.34985 96.7575 4.34985C97.3375 4.34985 97.6758 4.44651 97.8691 4.59151L97.3375 6.4764Z\",\n fill: \"#723180\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.407 4.54321L106.812 9.90792L104.927 4.54321H102.462L105.603 12.0828C105.072 14.1127 104.54 14.741 103.38 14.741C102.897 14.741 102.607 14.6443 102.462 14.6443L102.172 16.1909C102.365 16.2392 102.8 16.3842 103.525 16.3842C105.797 16.3842 106.812 14.886 107.585 12.9044L110.098 6.62143L110.92 4.54321H108.407Z\",\n fill: \"#723180\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 12.711V4.49475H2.5132C2.89984 4.49475 3.23816 4.54308 3.47981 4.68807C3.72146 4.83307 4.01145 4.97806 4.20477 5.21971C4.39809 5.46137 4.54309 5.70302 4.63975 5.993C4.73641 6.28299 4.78474 6.6213 4.78474 6.91129C4.78474 7.2496 4.73641 7.53959 4.63975 7.8779C4.54309 8.16788 4.39809 8.40954 4.20477 8.65119C4.01145 8.89284 3.7698 9.03784 3.47981 9.18283C3.18983 9.32782 2.85151 9.37615 2.5132 9.37615H1.01494V12.711H0ZM2.41654 8.55453C2.85151 8.55453 3.18983 8.40954 3.43148 8.11955C3.67313 7.82957 3.76979 7.44292 3.76979 6.95962C3.76979 6.47631 3.67313 6.08966 3.43148 5.79968C3.18983 5.5097 2.85151 5.3647 2.41654 5.3647H1.01494V8.55453H2.41654Z\",\n fill: \"#555558\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.87697 12.856C7.49033 12.856 7.15201 12.7593 6.8137 12.6143C6.52371 12.4694 6.28206 12.2277 6.04041 11.9377C5.84709 11.6477 5.70209 11.3094 5.5571 10.9228C5.46044 10.5361 5.41211 10.1495 5.41211 9.7145C5.41211 9.27953 5.46044 8.89288 5.5571 8.50623C5.65376 8.11959 5.79875 7.78127 6.04041 7.53962C6.28206 7.29797 6.47538 7.00798 6.8137 6.86299C7.10368 6.718 7.442 6.62134 7.87697 6.62134C8.26362 6.62134 8.65027 6.718 8.94025 6.86299C9.23024 7.00798 9.47189 7.24964 9.71354 7.53962C9.95519 7.8296 10.0519 8.16792 10.1968 8.50623C10.3418 8.84455 10.3418 9.27953 10.3418 9.7145C10.3418 10.1495 10.2935 10.5361 10.1968 10.9228C10.1002 11.3094 9.95519 11.6477 9.71354 11.9377C9.52022 12.2277 9.27857 12.4694 8.94025 12.6143C8.60194 12.7593 8.26362 12.856 7.87697 12.856ZM7.87697 12.0827C8.11863 12.0827 8.36028 12.0344 8.55361 11.8894C8.74693 11.7444 8.89192 11.5994 9.03691 11.3577C9.1819 11.1644 9.23023 10.8744 9.3269 10.6328C9.37523 10.3428 9.42356 10.0528 9.42356 9.76283C9.42356 9.47285 9.37523 9.18286 9.3269 8.89288C9.27857 8.6029 9.1819 8.36124 9.03691 8.16792C8.89192 7.9746 8.74693 7.78127 8.55361 7.63628C8.36028 7.49129 8.11863 7.44296 7.87697 7.44296C7.63532 7.44296 7.39367 7.49129 7.20035 7.63628C7.00702 7.78127 6.86203 7.92627 6.71704 8.16792C6.57205 8.36124 6.52371 8.65123 6.42705 8.89288C6.37872 9.18286 6.33039 9.47285 6.33039 9.76283C6.33039 10.0528 6.37872 10.3428 6.42705 10.6328C6.47538 10.9228 6.57205 11.1644 6.71704 11.3577C6.86203 11.5994 7.00702 11.7444 7.20035 11.8894C7.39367 11.986 7.63532 12.0827 7.87697 12.0827Z\",\n fill: \"#555558\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9971 12.711L14.7405 7.92629L13.4356 12.711H12.5656L10.9707 6.76636H11.889L13.0489 11.5028L14.3055 6.76636H15.1271L16.3837 11.5028L17.5437 6.76636H18.462L16.9154 12.711H15.9971Z\",\n fill: \"#555558\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.7002 12.856C21.3136 12.856 20.9752 12.7593 20.6369 12.6144C20.2986 12.4694 20.057 12.2277 19.8153 11.9861C19.5736 11.6961 19.4287 11.4061 19.332 11.0194C19.2353 10.6328 19.1387 10.1978 19.1387 9.76284C19.1387 9.32787 19.187 8.94122 19.2837 8.55458C19.3803 8.16793 19.5736 7.82962 19.767 7.58796C19.9603 7.29798 20.2503 7.10465 20.5403 6.91133C20.8302 6.71801 21.1686 6.66968 21.5552 6.66968C21.9419 6.66968 22.2802 6.76634 22.5702 6.91133C22.8601 7.05632 23.1018 7.29798 23.2951 7.58796C23.4884 7.87795 23.6334 8.21626 23.7301 8.60291C23.8268 8.98955 23.8751 9.3762 23.8751 9.81117V10.1012H20.0086C20.0086 10.3911 20.057 10.6811 20.1536 10.9228C20.2503 11.1644 20.3469 11.4061 20.4919 11.5994C20.6369 11.7927 20.8302 11.9377 21.0236 12.0344C21.2169 12.131 21.4585 12.1794 21.7485 12.1794C21.9902 12.1794 22.2802 12.131 22.5218 11.9861C22.7635 11.8411 23.0051 11.6961 23.1501 11.4544L23.6334 11.9861C23.3918 12.276 23.1018 12.5177 22.7635 12.6627C22.4735 12.7593 22.1352 12.856 21.7002 12.856ZM23.0535 9.3762C23.0535 9.13454 23.0051 8.89289 22.9568 8.65124C22.9085 8.40958 22.8118 8.21626 22.7151 8.02294C22.6185 7.82961 22.4252 7.68462 22.2802 7.53963C22.0868 7.39464 21.8452 7.34631 21.6035 7.34631C21.3619 7.34631 21.1202 7.39464 20.9269 7.53963C20.7336 7.68462 20.5886 7.82961 20.4919 8.02294C20.3953 8.21626 20.2986 8.45791 20.2503 8.65124C20.2019 8.89289 20.1536 9.13454 20.1536 9.32787H23.0535V9.3762Z\",\n fill: \"#555558\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.2285 12.711V6.76634H26.0985V7.73295C26.2918 7.44297 26.5334 7.15298 26.8234 6.95966C27.1134 6.76634 27.4517 6.66968 27.79 6.66968V7.58796C27.6934 7.53963 27.5967 7.53963 27.5001 7.53963C27.3551 7.53963 27.2101 7.58796 27.0651 7.63629C26.9201 7.68462 26.7751 7.78128 26.6784 7.87795C26.5334 7.97461 26.4368 8.07127 26.3401 8.16793C26.2435 8.26459 26.1468 8.40958 26.0985 8.50624V12.711H25.2285Z\",\n fill: \"#555558\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.0772 12.856C30.6905 12.856 30.3522 12.7593 30.0139 12.6144C29.6756 12.4694 29.4339 12.2277 29.1923 11.9861C28.9506 11.6961 28.8056 11.4061 28.7089 11.0194C28.6123 10.6328 28.5156 10.1978 28.5156 9.76284C28.5156 9.32787 28.564 8.94122 28.6606 8.55458C28.7573 8.16793 28.9506 7.82962 29.1439 7.58796C29.3372 7.29798 29.6272 7.10465 29.9172 6.91133C30.2072 6.71801 30.5455 6.66968 30.9322 6.66968C31.3188 6.66968 31.6571 6.76634 31.9471 6.91133C32.2371 7.05632 32.4787 7.29798 32.6721 7.58796C32.8654 7.87795 33.0104 8.21626 33.107 8.60291C33.2037 8.98955 33.252 9.3762 33.252 9.81117V10.1012H29.3856C29.3856 10.3911 29.4339 10.6811 29.5306 10.9228C29.6272 11.1644 29.7239 11.4061 29.8689 11.5994C30.0139 11.7927 30.2072 11.9377 30.4005 12.0344C30.5938 12.131 30.8355 12.1794 31.1255 12.1794C31.3671 12.1794 31.6571 12.131 31.8988 11.9861C32.1404 11.8411 32.3821 11.6961 32.5271 11.4544L33.0104 11.9861C32.7687 12.276 32.4787 12.5177 32.1404 12.6627C31.8504 12.7593 31.4638 12.856 31.0772 12.856ZM32.3821 9.3762C32.3821 9.13454 32.3338 8.89289 32.2854 8.65124C32.2371 8.40958 32.1404 8.21626 32.0438 8.02294C31.9471 7.82961 31.7538 7.68462 31.6088 7.53963C31.4155 7.39464 31.1738 7.34631 30.9322 7.34631C30.6905 7.34631 30.4489 7.39464 30.2555 7.53963C30.0622 7.68462 29.9172 7.82961 29.8206 8.02294C29.7239 8.21626 29.6272 8.45791 29.5789 8.65124C29.5306 8.89289 29.4822 9.13454 29.4822 9.32787H32.3821V9.3762Z\",\n fill: \"#555558\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.9402 12.711V11.841C37.7469 12.131 37.5536 12.3727 37.2636 12.566C36.9736 12.7593 36.6836 12.856 36.3936 12.856C36.0553 12.856 35.7653 12.7593 35.4753 12.6143C35.2337 12.4693 34.992 12.276 34.7987 11.986C34.6054 11.696 34.4604 11.406 34.3637 11.0194C34.2671 10.6328 34.2188 10.1978 34.2188 9.7628C34.2188 9.27949 34.2671 8.89284 34.3637 8.5062C34.4604 8.11955 34.6054 7.78124 34.7987 7.53959C34.992 7.2496 35.1854 7.05628 35.4753 6.91129C35.717 6.76629 36.0553 6.66963 36.3936 6.66963C36.6836 6.66963 36.9736 6.76629 37.2636 6.91129C37.5536 7.05628 37.7952 7.34626 37.9402 7.68458V4.49475H38.8102V12.711H37.9402ZM36.6353 12.0827C36.9253 12.0827 37.1669 11.986 37.4569 11.7927C37.6986 11.5994 37.8919 11.3577 37.9885 11.1161V8.36121C37.8919 8.11955 37.6986 7.8779 37.4569 7.68458C37.2153 7.49125 36.9253 7.39459 36.6353 7.39459C36.3936 7.39459 36.2003 7.44292 36.007 7.58792C35.8137 7.73291 35.6687 7.8779 35.572 8.07122C35.4753 8.26455 35.3787 8.5062 35.3304 8.79618C35.282 9.08617 35.2337 9.37615 35.2337 9.71447C35.2337 10.0528 35.282 10.3428 35.3304 10.6328C35.3787 10.9227 35.4753 11.1644 35.572 11.3577C35.6687 11.551 35.862 11.7444 36.007 11.841C36.152 11.986 36.3936 12.0827 36.6353 12.0827Z\",\n fill: \"#555558\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.1104 12.711V4.49475H43.9803V7.63625C44.1736 7.29793 44.4153 7.05628 44.6569 6.86296C44.9469 6.71796 45.2369 6.6213 45.5269 6.6213C45.8652 6.6213 46.1552 6.71796 46.4452 6.86296C46.6868 7.00795 46.9285 7.2496 47.1218 7.49126C47.3151 7.78124 47.4601 8.11955 47.5568 8.45787C47.6534 8.84451 47.7018 9.27949 47.7018 9.71447C47.7018 10.1978 47.6534 10.5844 47.5568 10.9711C47.4601 11.3577 47.3151 11.696 47.1218 11.9377C46.9285 12.2277 46.7352 12.421 46.4452 12.566C46.2035 12.711 45.8652 12.8076 45.5269 12.8076C45.2369 12.8076 44.8986 12.711 44.6569 12.5176C44.367 12.3243 44.1736 12.0827 43.9803 11.7927V12.711H43.1104ZM43.9803 11.1161C44.077 11.3577 44.2703 11.5994 44.5119 11.7927C44.7536 11.986 45.0436 12.0827 45.2852 12.0827C45.5269 12.0827 45.7202 12.0343 45.9135 11.8893C46.1069 11.7444 46.2518 11.5994 46.3485 11.406C46.4452 11.2127 46.5418 10.9711 46.5902 10.6811C46.6385 10.3911 46.6868 10.1011 46.6868 9.7628C46.6868 9.42448 46.6385 9.1345 46.5902 8.84451C46.5418 8.55453 46.4452 8.31288 46.3485 8.11955C46.2518 7.92623 46.0585 7.73291 45.9135 7.63625C45.7202 7.49125 45.5269 7.44292 45.2852 7.44292C44.9952 7.44292 44.7536 7.53959 44.5119 7.73291C44.2703 7.92623 44.077 8.16788 43.9803 8.40954V11.1161Z\",\n fill: \"#555558\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.8617 14.2576C48.91 14.3059 49.0067 14.3059 49.055 14.3059C49.1517 14.3059 49.2 14.3059 49.2484 14.3059C49.4417 14.3059 49.5383 14.2576 49.6833 14.1609C49.78 14.0643 49.8767 13.9193 49.9733 13.6776L50.3116 12.7594L48.3301 6.71802H49.2967L50.7949 11.5994L52.2932 6.71802H53.2598L50.8916 13.9193C50.7466 14.3543 50.5533 14.6443 50.3116 14.8376C50.07 14.9826 49.78 15.0792 49.4417 15.0792C49.345 15.0792 49.2484 15.0792 49.1517 15.0309C49.055 15.0309 48.9584 14.9826 48.8617 14.9826V14.2576Z\",\n fill: \"#555558\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcPoweredByRecurly);\nexport default __webpack_public_path__ + \"static/media/ic_powered_by_recurly.0b77317fd6337d9db7d3ee518285e4c9.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"recurlySecured\":\"styles_recurlySecured__XcVgD\",\"sslEncrypted\":\"styles_sslEncrypted__IE8vo\",\"poweredByRecurly\":\"styles_poweredByRecurly__pM33E\"};","import React from 'react';\nimport RecurlySecured from 'assets/ic_powered_by_recurly.svg';\nimport SslEncrypted from 'assets/ic_ssl_encrypted.png';\nimport styles from './styles.module.scss';\n\nexport const RecurlyLogo = () => {\n return (\n
\n \"\"\n \"\"\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"styles_item__LICB5\",\"radio\":\"styles_radio__dRTD1\",\"checkedRadio\":\"styles_checkedRadio__+YBpp\",\"unCheckedRadio\":\"styles_unCheckedRadio__mjE9O\",\"titleContent\":\"styles_titleContent__um4vo\",\"titleWrapper\":\"styles_titleWrapper__c4Asg\",\"title\":\"styles_title__Z3OwF\",\"radioButton\":\"styles_radioButton__PB78K\",\"content\":\"styles_content__8tTdk\"};","import React, { FC, useRef, useEffect } from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n id: string;\n title: string;\n icon: string | JSX.Element | JSX.Element[];\n isActive: boolean;\n children?: JSX.Element | JSX.Element[];\n onClick: (id: string) => void;\n};\n\nexport const Item: FC = ({\n id,\n title,\n icon,\n isActive,\n children,\n onClick,\n}) => {\n const contentRef = useRef(null);\n\n useEffect(() => {\n const updateHeight = () => {\n if (!contentRef.current) return;\n contentRef.current.style.maxHeight = isActive\n ? `${contentRef.current.scrollHeight}px`\n : '0px';\n };\n\n // Delay the height calculation slightly more\n const timeoutId = setTimeout(() => {\n updateHeight();\n setTimeout(updateHeight, 300); // Re-check after a slight delay\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }, [isActive]);\n\n const handleClick = () => {\n onClick(id);\n };\n\n return (\n
\n
\n
\n \n
{title}
\n
\n {typeof icon === 'string' ? (\n
\n {`${title}\n
\n ) : (\n icon\n )}\n
\n
\n {children}\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__+cbzR\",\"title\":\"styles_title__tn4kM\",\"cards\":\"styles_cards__49D8z\",\"mastercard\":\"styles_mastercard__c5Ezx\",\"amex\":\"styles_amex__STup9\"};","import React, { useEffect, FC } from 'react';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setPaymentMethod } from 'bootstrap/user/actions/setUserInfo';\nimport Maestro from 'assets/payments/maestro.svg';\nimport Amex from 'assets/payments/amex.svg';\nimport MasterCard from 'assets/payments/mastercard.svg';\nimport Visa from 'assets/payments/visa.svg';\nimport PayPalIcon from 'assets/payments/paypal_v2.svg';\nimport ApplePayIcon from 'assets/payments/icon_apple_pay.svg';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { ApplePayElement } from 'subscription/recurly/components/elements/applepay/ApplePayElement';\nimport { PayPalElement } from 'subscription/recurly/components/elements/paypal/PayPalElement';\nimport { CardFormWrapper } from 'subscription/recurly/components/cardform/CardFormWrapper';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { usePaymentsLogic } from 'subscription/recurly/components/paymentpicker/PaymentsPicker.hook';\nimport { RecurlyLogo } from 'subscription/recurly/components/logo/RecurlyLogo';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\nimport { Item } from 'subscription/components/Payments/accordion/item/Item';\nimport { isApplePayAvailable } from 'subscription/components/Payments/Payments.utlls';\nimport Alert from 'components/error/Error';\nimport styles from './styles.module.scss';\n\ninterface PaymentMethodsContent {\n title: string;\n icon: string | JSX.Element;\n}\n\ninterface Props {\n product: Product;\n options: PaymentMethods[];\n children?: JSX.Element | JSX.Element[];\n isPaypalLoading: boolean;\n onSuccess?: (params: SuccessPaymentProps) => void;\n onError?: (message: string) => void;\n translation?: any;\n}\n\nconst paymentMethodsContent: Record = {\n [PaymentMethods.Card]: {\n title: 'Credit Card',\n icon: (\n
\n \"\"\n \"\"\n \"\"\n \"\"\n
\n ),\n },\n [PaymentMethods.PayPal]: {\n title: 'PayPal',\n icon: PayPalIcon,\n },\n [PaymentMethods.ApplePay]: {\n title: 'Apple Pay',\n icon: ApplePayIcon,\n },\n};\n\nexport const PaymentsAccordion: FC = ({\n options,\n product,\n onError,\n onSuccess,\n translation,\n}) => {\n const dispatch = useAppDispatch();\n const { paymentMethod } = useAppSelector((state) => state.user);\n\n const {\n handlePaymentMethodChange,\n setErrorMessage,\n errorMessage,\n isPaypalLoading,\n } = usePaymentsLogic({\n product,\n // @ts-ignore\n onSuccess,\n // @ts-ignore\n onError,\n });\n\n useEffect(() => {\n if (!paymentMethod) {\n dispatch(\n setPaymentMethod(\n isApplePayAvailable()\n ? PaymentMethods.ApplePay\n : PaymentMethods.PayPal,\n ),\n );\n }\n }, [dispatch, paymentMethod]);\n\n return (\n <>\n setErrorMessage('')}\n />\n
\n {[...options].reverse().map((option) => (\n {\n if (option) {\n dispatch(setPaymentMethod(option));\n }\n }}\n >\n <>\n {renderPaymentMethodItem({\n paymentMethod: option,\n handlePaymentMethodChange,\n isPaypalLoading,\n product,\n // @ts-ignore\n onSuccess,\n // @ts-ignore\n onError,\n translation,\n })}\n \n \n \n ))}\n
\n \n );\n};\n\ntype RenderPaymentMethodItemProps = {\n paymentMethod?: PaymentMethods;\n handlePaymentMethodChange: (type: PaymentMethods) => void;\n isPaypalLoading: boolean;\n product: Product;\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n translation: (key: string) => string;\n};\n\nconst renderPaymentMethodItem = ({\n paymentMethod,\n handlePaymentMethodChange,\n isPaypalLoading,\n product,\n onSuccess,\n onError,\n translation,\n}: RenderPaymentMethodItemProps): JSX.Element | JSX.Element[] | undefined => {\n switch (paymentMethod) {\n case PaymentMethods.ApplePay:\n return (\n handlePaymentMethodChange(PaymentMethods.ApplePay)}\n />\n );\n case PaymentMethods.PayPal:\n return (\n handlePaymentMethodChange(PaymentMethods.PayPal)}\n />\n );\n case PaymentMethods.Card:\n return (\n \n );\n default:\n return undefined;\n }\n};\n","var _rect, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconAmex(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 11,\n height: 10,\n viewBox: \"0 0 11 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.69043,\n y: 0.310547,\n width: 10.3101,\n height: 9.37931,\n rx: 1,\n fill: \"url(#pattern0)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern0\",\n patternContentUnits: \"objectBoundingBox\",\n width: 1,\n height: 1\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#image0_11440_2764\",\n transform: \"matrix(0.003125 0 0 0.00343511 0 -0.0444646)\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n id: \"image0_11440_2764\",\n width: 320,\n height: 317,\n xlinkHref: \"data:image/png;base64,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\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconAmex);\nexport default __webpack_public_path__ + \"static/media/icon_amex.08000c60c3f84fdfea0578ce9d00dcf5.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconMastercard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 11,\n viewBox: \"0 0 18 11\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.533 1.1953L6.94141 1.19568L7.05249 9.8034L11.6441 9.80303L11.533 1.1953Z\",\n fill: \"#FF5F00\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.22879 5.51794C7.20614 3.7672 7.97715 2.21433 9.1801 1.20949C8.27701 0.47879 7.14325 0.0373591 5.91265 0.0374273C2.99731 0.037589 0.670375 2.48876 0.70956 5.5183C0.748746 8.54785 3.13909 10.9988 6.05443 10.9986C7.28503 10.9985 8.40736 10.557 9.29156 9.82618C8.06281 8.8367 7.25143 7.26869 7.22879 5.51794Z\",\n fill: \"#EB001B\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8749 5.48058C17.9141 8.51013 15.5871 10.9613 12.6718 10.9615C11.4412 10.9615 10.3074 10.5201 9.40434 9.78943C10.6219 8.78458 11.3783 7.2317 11.3557 5.48096C11.333 3.73022 10.5218 2.17743 9.29287 1.17273C10.1771 0.44193 11.2994 0.0003715 12.53 0.000300416C15.4453 0.000132015 17.8359 2.46626 17.8749 5.48058Z\",\n fill: \"#F79E1B\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconMastercard);\nexport default __webpack_public_path__ + \"static/media/icon_mastercard.a65987d56b3663579e29dfa9848baf33.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconPaypalWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 71,\n height: 19,\n viewBox: \"0 0 71 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.51999 0.00119591H2.9976C2.61964 0.00119591 2.29828 0.275817 2.23932 0.648995L0.00579911 14.8099C-0.0386238 15.0892 0.177831 15.3412 0.461216 15.3412H3.09769C3.47559 15.3412 3.79695 15.0667 3.85591 14.6928L4.45829 10.8734C4.51647 10.4995 4.83861 10.2249 5.21572 10.2249H6.96394C10.6017 10.2249 12.7011 8.46459 13.2495 4.97623C13.4965 3.45006 13.26 2.25097 12.5453 1.41119C11.7604 0.488941 10.3683 0.00119591 8.51999 0.00119591ZM9.15712 5.17329C8.85511 7.15487 7.34105 7.15487 5.87706 7.15487H5.04375L5.62835 3.45415C5.66311 3.23045 5.85686 3.06573 6.08299 3.06573H6.4649C7.46213 3.06573 8.40292 3.06573 8.88899 3.63414C9.17891 3.97334 9.26775 4.47719 9.15712 5.17329Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.0274 5.10944H22.383C22.1578 5.10944 21.9632 5.27418 21.9283 5.49787L21.8114 6.23752L21.6264 5.9694C21.0539 5.13847 19.7772 4.86075 18.503 4.86075C15.5807 4.86075 13.0847 7.07406 12.5986 10.1789C12.3459 11.7276 12.7052 13.2086 13.5838 14.2413C14.3896 15.1909 15.5427 15.5865 16.9147 15.5865C19.2694 15.5865 20.5751 14.0726 20.5751 14.0726L20.4571 14.8074C20.4127 15.0884 20.6292 15.3403 20.911 15.3403H23.293C23.6717 15.3403 23.9915 15.0658 24.0513 14.692L25.4805 5.64075C25.5258 5.36216 25.3101 5.10944 25.0274 5.10944ZM21.3413 10.2564C21.0862 11.7672 19.887 12.7815 18.3577 12.7815C17.5898 12.7815 16.976 12.5351 16.582 12.0684C16.1912 11.6049 16.0426 10.9452 16.1669 10.2103C16.4051 8.71244 17.6245 7.66518 19.1304 7.66518C19.8814 7.66518 20.4918 7.91467 20.894 8.38536C21.297 8.86097 21.4567 9.52476 21.3413 10.2564Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.1117 5.10945H36.4543C36.2007 5.10945 35.9625 5.23542 35.8188 5.44622L32.1535 10.8451L30.6 5.65695C30.5023 5.33229 30.2027 5.10945 29.8636 5.10945H27.2522C26.9348 5.10945 26.7144 5.4195 26.8153 5.71828L29.7424 14.3083L26.9905 18.1932C26.774 18.4992 26.992 18.92 27.3661 18.92H30.0203C30.2721 18.92 30.508 18.7972 30.6509 18.5905L39.4896 5.8322C39.7012 5.5269 39.484 5.10945 39.1117 5.10945Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.9101 0.00119591H42.3868C42.0098 0.00119591 41.6883 0.275817 41.6294 0.648995L39.3959 14.8099C39.3515 15.0892 39.5679 15.3412 39.8497 15.3412H42.684C42.9472 15.3412 43.1726 15.1491 43.2137 14.8874L43.8475 10.8734C43.9057 10.4995 44.228 10.2249 44.605 10.2249H46.3525C49.9909 10.2249 52.0897 8.46459 52.6387 4.97623C52.8867 3.45006 52.6485 2.25097 51.9338 1.41119C51.1497 0.488941 49.7584 0.00119591 47.9101 0.00119591ZM48.5472 5.17329C48.246 7.15487 46.7321 7.15487 45.2671 7.15487H44.4347L45.0201 3.45415C45.0549 3.23045 45.2469 3.06573 45.4739 3.06573H45.8558C46.8523 3.06573 47.7938 3.06573 48.2799 3.63414C48.5698 3.97334 48.6578 4.47719 48.5472 5.17329Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.4169 5.10944H61.774C61.5471 5.10944 61.354 5.27418 61.3201 5.49787L61.203 6.23752L61.0174 5.9694C60.4449 5.13847 59.169 4.86075 57.8948 4.86075C54.9724 4.86075 52.4774 7.07406 51.9911 10.1789C51.7393 11.7276 52.097 13.2086 52.9756 14.2413C53.7831 15.1909 54.9345 15.5865 56.3064 15.5865C58.661 15.5865 59.9667 14.0726 59.9667 14.0726L59.8488 14.8074C59.8045 15.0884 60.0208 15.3403 60.3044 15.3403H62.6856C63.0627 15.3403 63.3841 15.0658 63.4431 14.692L64.8731 5.64075C64.9166 5.36216 64.7003 5.10944 64.4169 5.10944ZM60.7306 10.2564C60.477 11.7672 59.2763 12.7815 57.747 12.7815C56.9806 12.7815 56.3653 12.5351 55.9713 12.0684C55.5806 11.6049 55.4335 10.9452 55.5563 10.2103C55.7961 8.71244 57.0138 7.66518 58.5198 7.66518C59.2707 7.66518 59.8811 7.91467 60.2833 8.38536C60.6878 8.86097 60.8477 9.52476 60.7306 10.2564Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.5346 0.389708L65.2679 14.8099C65.2236 15.0892 65.4399 15.3412 65.7217 15.3412H68.0004C68.3791 15.3412 68.7006 15.0667 68.7587 14.6928L70.9938 0.532745C71.0382 0.253241 70.8219 0.000523567 70.54 0.000523567H67.9883C67.763 0.00119781 67.5693 0.166138 67.5346 0.389708Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 71,\n height: 18.9201,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconPaypalWhite);\nexport default __webpack_public_path__ + \"static/media/icon_paypal_white.6b67a8410ba19b640c0e85143cf9067c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconApplePayWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 49,\n height: 20,\n viewBox: \"0 0 49 20\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.35351 3.89145C8.15279 3.89145 7.18414 4.62878 6.55856 4.62878C5.9027 4.62878 5.02486 3.93241 3.98558 3.93241C2.00793 3.93241 0 5.60164 0 8.72504C0 10.681 0.746666 12.7394 1.66486 14.0809C2.4418 15.1971 3.13802 16.1188 4.12685 16.1188C5.10558 16.1188 5.53946 15.4634 6.76036 15.4634C7.99135 15.4634 8.27387 16.0983 9.35351 16.0983C10.4332 16.0983 11.1495 15.105 11.8256 14.1219C12.5722 12.9852 12.8951 11.8792 12.9052 11.828C12.8447 11.8075 10.7863 10.9575 10.7863 8.56119C10.7863 6.49258 12.4007 5.57092 12.4915 5.49923C11.4321 3.93241 9.80757 3.89145 9.35351 3.89145ZM8.79856 2.5704C9.28288 1.96621 9.62594 1.14695 9.62594 0.31746C9.62594 0.204813 9.61585 0.0921659 9.59567 0C8.80865 0.030722 7.84 0.532514 7.26486 1.21864C6.8209 1.74091 6.39712 2.5704 6.39712 3.3999C6.39712 3.52279 6.4173 3.65591 6.42739 3.69688C6.47784 3.70712 6.55856 3.71736 6.63928 3.71736C7.35567 3.71736 8.26378 3.22581 8.79856 2.5704Z\",\n fill: \"#FFFFFF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8715 1.15719V15.9345H19.4747V11.0906H22.6329C25.5792 11.0906 27.6376 9.08346 27.6376 6.15463C27.6376 3.1746 25.6498 1.15719 22.7439 1.15719H16.8715ZM19.4747 3.36918H22.0578C23.9345 3.36918 24.994 4.34204 24.994 6.15463C24.994 7.91603 23.9043 8.89913 22.0477 8.89913H19.4747V3.36918Z\",\n fill: \"#FFFFFF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.522 14.1219C31.4121 14.1219 30.615 13.5586 30.615 12.6165C30.615 11.7051 31.2709 11.193 32.6734 11.1009L35.1656 10.937V11.828C35.1656 13.1285 34.0356 14.1219 32.522 14.1219ZM31.7855 16.1188C33.2283 16.1188 34.4392 15.4839 35.0547 14.3984H35.2262V15.9345H37.6377V8.28469C37.6377 5.90886 36.0435 4.50589 33.2082 4.50589C30.5847 4.50589 28.7584 5.76549 28.5566 7.74194H30.9177C31.1498 6.98413 31.9368 6.5745 33.0871 6.5745C34.4392 6.5745 35.1656 7.18894 35.1656 8.28469V9.22683L32.3202 9.40092C29.6363 9.56477 28.1329 10.7322 28.1329 12.7599C28.1329 14.808 29.6565 16.1188 31.7855 16.1188Z\",\n fill: \"#FFFFFF\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.4234 20C42.8955 20 44.076 19.0783 45.0144 16.2929L49 4.73118H46.3564L43.7834 13.4767H43.6119L41.0288 4.73118H38.2843L42.2295 15.9857L42.0984 16.4772C41.7755 17.5115 41.1802 17.9211 40.1207 17.9211C39.9492 17.9211 39.5759 17.9109 39.4346 17.8802V19.959C39.596 19.9898 40.2721 20 40.4234 20Z\",\n fill: \"#FFFFFF\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconApplePayWhite);\nexport default __webpack_public_path__ + \"static/media/icon_apple_pay_white.c1f0da81c2813ac5756dcd11475dd1a2.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconVisa(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 35,\n height: 11,\n viewBox: \"0 0 35 11\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.0274 0.156982H29.8688C29.2162 0.156982 28.7142 0.366506 28.413 1.04746L24.2966 10.8427H27.2082C27.2082 10.8427 27.7102 9.53317 27.8106 9.21889C28.1118 9.21889 30.9732 9.21889 31.3748 9.21889C31.4752 9.58556 31.7262 10.7903 31.7262 10.7903H34.3365L32.0274 0.156982ZM28.6138 7.01889C28.8648 6.39032 29.7182 4.03317 29.7182 4.03317C29.7182 4.08555 29.9692 3.4046 30.0696 3.03794L30.2704 3.98079C30.2704 3.98079 30.8226 6.54746 30.923 7.07127H28.6138V7.01889Z\",\n fill: \"#3362AB\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.4972 7.33333C24.4972 9.53333 22.5896 11 19.6279 11C18.3729 11 17.1681 10.7381 16.5155 10.4238L16.9171 8.01429L17.2685 8.17143C18.1721 8.59048 18.7745 8.74762 19.8789 8.74762C20.6821 8.74762 21.5355 8.43333 21.5355 7.7C21.5355 7.22857 21.1841 6.91429 20.0797 6.39048C19.0255 5.86667 17.6199 5.02857 17.6199 3.50952C17.6199 1.41429 19.5777 0 22.3386 0C23.3928 0 24.2964 0.209524 24.8486 0.471429L24.447 2.77619L24.2462 2.56667C23.7442 2.35714 23.0916 2.14762 22.1378 2.14762C21.0837 2.2 20.5817 2.67143 20.5817 3.09048C20.5817 3.5619 21.1841 3.92857 22.1378 4.4C23.7442 5.18571 24.4972 6.07619 24.4972 7.33333Z\",\n fill: \"#3362AB\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0.262014L0.0501995 0.0524902H4.36736C4.96975 0.0524902 5.42155 0.262014 5.57215 0.942966L6.52594 5.65725C5.57215 3.14297 3.36337 1.10011 0 0.262014Z\",\n fill: \"#F9B50B\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5998 0.157117L8.23249 10.7905H5.27072L2.76074 1.88569C4.56792 3.09045 6.07391 4.97617 6.62611 6.28569L6.9273 7.38569L9.63808 0.104736H12.5998V0.157117Z\",\n fill: \"#3362AB\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.7548 0.104736H16.5158L14.7588 10.7905H11.9978L13.7548 0.104736Z\",\n fill: \"#3362AB\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconVisa);\nexport default __webpack_public_path__ + \"static/media/icon_visa.c89512720cefb34ed9fd1b796d4587a8.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconMaestro(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 17,\n height: 10,\n viewBox: \"0 0 17 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.783203,\n y: 0.310547,\n width: 15.7364,\n height: 9.37931,\n rx: 2,\n fill: \"url(#pattern0)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern0\",\n patternContentUnits: \"objectBoundingBox\",\n width: 1,\n height: 1\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#image0_11440_2763\",\n transform: \"matrix(0.00138504 0 0 0.00232379 0 -0.0321488)\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n id: \"image0_11440_2763\",\n width: 722,\n height: 458,\n xlinkHref: \"data:image/png;base64,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\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconMaestro);\nexport default __webpack_public_path__ + \"static/media/icon_maestro.7383c438aa17bd4980a1797cdad8bcee.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__W9Enq\",\"dark\":\"styles_dark__Dcl6G\",\"buttonBackground\":\"styles_buttonBackground__RCHC9\",\"buttons\":\"styles_buttons__qsQtu\",\"button\":\"styles_button__5WBwR\",\"card\":\"styles_card__Efz37\",\"left\":\"styles_left__EPYWm\",\"sliding-left\":\"styles_sliding-left__jxHGj\",\"right\":\"styles_right__VjT2v\",\"sliding-right\":\"styles_sliding-right__pIuzt\",\"active\":\"styles_active__TqHUW\",\"paymentType\":\"styles_paymentType__WRk34\",\"maestro\":\"styles_maestro__2bv0Q\",\"amex\":\"styles_amex__o7vnZ\",\"visa\":\"styles_visa__vtOVb\",\"mastercard\":\"styles_mastercard__PA3wu\",\"paypal\":\"styles_paypal__2SrLr\",\"applePay\":\"styles_applePay__PmCWQ\",\"paymentPaypal\":\"styles_paymentPaypal__Kl5AG\"};","import React, { useEffect } from 'react';\nimport AmericanExpress from 'assets/payments/icon_amex.svg';\nimport Mastercard from 'assets/payments/icon_mastercard.svg';\nimport PayPal from 'assets/payments/icon_paypal.png';\nimport PayPalWhite from 'assets/payments/icon_paypal_white.svg';\nimport ApplePay from 'assets/payments/icon_apple_pay.svg';\nimport ApplePayWhite from 'assets/payments/icon_apple_pay_white.svg';\nimport Visa from 'assets/payments/icon_visa.svg';\nimport Maestro from 'assets/payments/icon_maestro.svg';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setPaymentMethod } from 'bootstrap/user/actions/setUserInfo';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\nimport styles from './styles.module.scss';\n\ntype Props = {\n options: PaymentMethods[];\n currentOption: PaymentMethods;\n darkTheme?: boolean;\n onChange: (option: PaymentMethods) => void;\n};\n\nexport const Picker = ({\n options,\n currentOption,\n darkTheme,\n onChange,\n}: Props) => {\n const dispatch = useAppDispatch();\n const { paymentMethod } = useAppSelector((state) => state.user);\n\n useEffect(() => {\n if (!paymentMethod) {\n dispatch(setPaymentMethod(PaymentMethods.Card));\n }\n }, []);\n\n const buttonContent = {\n [PaymentMethods.Card]: (\n <>\n \n \n \n \n \n ),\n [PaymentMethods.PayPal]: (\n \n ),\n [PaymentMethods.ApplePay]: (\n \n ),\n };\n\n return (\n \n \n
\n {options.map((option) => (\n {\n dispatch(setPaymentMethod(option));\n onChange(option);\n }}\n >\n {buttonContent[option]}\n
\n ))}\n
\n
\n );\n};\n","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport Alert from 'components/error/Error';\nimport { usePaymentsLogic } from 'subscription/recurly/components/paymentpicker/PaymentsPicker.hook';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { PaymentsAccordion } from 'subscription/components/Payments/accordion/PaymentsAccordion';\nimport { isGiftFlow, isInviteFlow } from 'useFeatures';\nimport { PaymentMethods } from 'subscription/components/Payments/Payments.types';\nimport { Picker } from 'subscription/components/picker/Picker';\n\ntype Props = {\n product: Product;\n darkTheme?: boolean;\n isPaypalLoading?: boolean;\n translation?: any;\n children?: JSX.Element | JSX.Element[];\n onSuccess: (params: SuccessPaymentProps) => void;\n onError: (message: string) => void;\n};\n\nexport const PaymentsPicker = ({\n product,\n darkTheme = false,\n onSuccess,\n onError,\n translation,\n children,\n}: Props) => {\n const {\n pickerOptions,\n errorMessage,\n isPaypalLoading,\n isPaypalReady,\n handlePaymentMethodChange,\n setErrorMessage,\n } = usePaymentsLogic({\n product,\n darkTheme,\n onSuccess,\n onError,\n });\n\n return (\n <>\n setErrorMessage('')}\n />\n {isGiftFlow() || isInviteFlow() ? (\n <>\n \n {children}\n \n ) : (\n \n {children}\n \n )}\n \n );\n};\n","import React, { FC } from 'react';\nimport { PaymentsPicker } from 'subscription/recurly/components/paymentpicker/PaymentsPicker';\nimport { useTranslation } from 'react-i18next';\nimport { ElementsProps } from './DefaultElement.types';\nimport styles from './styles.module.scss';\n\nexport const DefaultElements: FC = ({\n product,\n onPaymentSuccess,\n onPaymentError,\n}) => {\n const { t } = useTranslation();\n\n return (\n <>\n

{t('paymentTitle')}

\n \n \n );\n};\n","import { UserActionTypes } from './userActions.types';\nimport { Product } from 'bootstrap/data/product/Product';\n\nexport const SET_BOUGHT_PRODUCT = 'SET_BOUGHT_PRODUCT';\n\nexport function setProductBought(boughtProduct: Product): UserActionTypes {\n return {\n type: SET_BOUGHT_PRODUCT,\n payload: {\n boughtProduct,\n },\n };\n}\n","import { appAnalytics } from 'analytics';\nimport {\n SubscriptionError,\n SubscriptionStarted,\n SubscriptionSuccess,\n} from 'analytics/AllEvents';\nimport { OptionalParams } from 'analytics/Event';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { goToNextPage, setSubscriptionActive } from 'bootstrap/user/actions';\nimport { getQueryVariable, pushWithSearchQuery } from 'utils';\nimport { SuccessPaymentProps } from './Recurly.types';\nimport { useFeatures } from 'useFeatures';\nimport { setProductBought } from 'bootstrap/user/actions/setProductBought';\n\nexport const useRecurlyLogic = () => {\n const dispatch = useAppDispatch();\n const idx = getQueryVariable('idx');\n\n const {\n isGadTest,\n isAdhdTest,\n isIgnoreSkipTrialFlow,\n isWorkbookUpsellFlow,\n upsellFlow,\n } = useFeatures();\n\n const { email, currency } = useAppSelector((state) => state.user);\n\n const onPaymentSuccess = ({\n orderId,\n productBought,\n zip,\n firstName,\n lastName,\n }: SuccessPaymentProps) => {\n dispatch(setSubscriptionActive(false));\n dispatch(setProductBought(productBought));\n\n const params: OptionalParams = {\n eventId: orderId,\n email: email,\n zip: zip,\n firstName: firstName,\n lastName: lastName,\n onboardingType: 'onboarding',\n };\n\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n currency || productBought.currency,\n productBought.code,\n params,\n ),\n );\n\n appAnalytics.trackEvent(\n new SubscriptionStarted(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n productBought.currency,\n productBought.code,\n {\n eventId: orderId,\n email: email,\n onboardingType: 'qp',\n },\n ),\n );\n\n if (idx) {\n dispatch(pushWithSearchQuery('/quick-purchase/done'));\n }\n\n if (upsellFlow) {\n dispatch(pushWithSearchQuery('/basic-upsell'));\n } else if (isWorkbookUpsellFlow || isAdhdTest || upsellFlow) {\n dispatch(pushWithSearchQuery('/workbook'));\n } else if (isIgnoreSkipTrialFlow) {\n dispatch(pushWithSearchQuery('/done'));\n } else {\n dispatch(goToNextPage(isGadTest));\n }\n };\n\n const onPaymentError = (message: string) => {\n appAnalytics.trackEvent(new SubscriptionError(message));\n };\n\n return {\n currency,\n onPaymentSuccess,\n onPaymentError,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcOptionCheckmarkEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.3,\n d: \"M21.5 11.001C21.5 16.8 16.799 21.501 11 21.501C5.20101 21.501 0.5 16.8 0.5 11.001C0.5 5.20199 5.20101 0.500977 11 0.500977C16.799 0.500977 21.5 5.20199 21.5 11.001Z\",\n stroke: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcOptionCheckmarkEmpty);\nexport default __webpack_public_path__ + \"static/media/ic_option_checkmark_empty.1caeb8ede3506f7ae98b2b58e8c34981.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__ed0wq\"};","import React from 'react';\nimport { Elements, RecurlyProvider } from '@recurly/react-recurly';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { DefaultElements } from './components/elements/default/DefaultElements';\nimport { useRecurlyLogic } from './Recurly.hook';\nimport { RECURLY_KEY } from 'utils/utils.constants';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n};\n\nexport const Recurly = ({ product }: Props) => {\n const { currency, onPaymentError, onPaymentSuccess } = useRecurlyLogic();\n\n return (\n
\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n \n \n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Evuf8\",\"dark\":\"styles_dark__Wu38r\",\"image\":\"styles_image__QEeFP\",\"content\":\"styles_content__-C5K7\",\"title\":\"styles_title__kdd6p\",\"description\":\"styles_description__CBJ4v\",\"button\":\"styles_button__ctcp5\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n onRetry: () => void;\n darkTheme?: boolean;\n};\n\nexport const Error = ({ onRetry, darkTheme = false }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
\n
{t('errorTitle')}
\n
\n {t('errorDescription1')}\n
\n {t('errorDescription2')}\n
\n\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"totalHeader\":\"styles_totalHeader__fnUNi\",\"total\":\"styles_total__AYLoi\",\"renews\":\"styles_renews__pTO9D\",\"purpleBadge\":\"styles_purpleBadge__AGeQb\",\"grey\":\"styles_grey__XyqqU\",\"bolder\":\"styles_bolder__D9lZG\",\"accent\":\"styles_accent__uadGf\",\"bold\":\"styles_bold__IyLAt\"};","import { Product } from 'bootstrap/data/product/Product';\nimport Divider from 'components/divider/Divider';\nimport { useTranslation } from 'react-i18next';\nimport { isQuickPurchaseFlow } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n currencyCode?: string;\n};\n\nexport const PriceAfterTrialInfo = ({\n product,\n currencyCode,\n}: Props): JSX.Element => {\n const { t } = useTranslation();\n\n const productPrice = product.getFormattedPrice(currencyCode);\n const productRenewsPrice = product.getFormattedRenewsPrice(currencyCode);\n\n return (\n <>\n {!!product.trialLength ? (\n
{t('paymentAfterTrialPrice')}
\n ) : (\n
{t('paymentTotalPrice')}
\n )}\n\n \n\n
\n {t('paymentPlanDuration', {\n duration: product.getTerm(t).replace(' ', '-'),\n })}\n \n {t('paymentDuration', {\n price: product.getFormattedWeeklyPrice(currencyCode),\n })}\n \n
\n
\n \n {product.discount?.value || 30}% OFF\n \n \n {t('paymentBilledAt')} {productPrice}\n \n
\n {isQuickPurchaseFlow() && product.rampIntervals.length > 0 && (\n
\n Renews at {productRenewsPrice}\n
\n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"totalHeader\":\"styles_totalHeader__3B3tF\",\"total\":\"styles_total__wbPBT\",\"prices\":\"styles_prices__lmdIj\",\"crossed\":\"styles_crossed__BFi+K\",\"accent\":\"styles_accent__aCTRx\",\"bold\":\"styles_bold__PbFfk\",\"trialExplanation\":\"styles_trialExplanation__Rfolz\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport Divider from 'components/divider/Divider';\nimport { useTranslation } from 'react-i18next';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n presaleProduct?: Product;\n currencyCode?: string;\n};\n\nexport const TotalPriceInfo = ({\n product,\n presaleProduct,\n currencyCode,\n}: Props): JSX.Element => {\n const { t } = useTranslation();\n const { isPreventBackPaymentOfferConfirmed } = useAppSelector(\n (state) => state.user,\n );\n\n return (\n <>\n
{t('paymentTotalPrice')}
\n\n \n\n
\n {t('paymentTrialLength', { days: product.trialLength })}\n
\n {isPreventBackPaymentOfferConfirmed && (\n \n {presaleProduct?.getFormattedInvoicePrice(currencyCode)}\n \n )}\n \n {product.getFormattedInvoicePrice(currencyCode)}\n \n
\n
\n\n \n\n
\n {t('paymentTrialExplanation')}\n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paymentFormTemplate\":\"styles_paymentFormTemplate__U-WrO\",\"totalHeader\":\"styles_totalHeader__ij1OP\",\"total\":\"styles_total__Cr7ug\",\"purpleBadge\":\"styles_purpleBadge__osspn\",\"grey\":\"styles_grey__MVOtz\",\"bolder\":\"styles_bolder__3RjXw\",\"accent\":\"styles_accent__-+irr\",\"bold\":\"styles_bold__iJvHF\"};","import { Product } from 'bootstrap/data/product/Product';\nimport Divider from 'components/divider/Divider';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PriceAfterTrialInfo } from '../priceaftertrialinfo/PriceAfterTrialInfo';\nimport { TotalPriceInfo } from '../totalpriceinfo/TotalPriceInfo';\nimport styles from './styles.module.scss';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n product: Product;\n presaleProduct?: Product;\n currencyCode?: string;\n handleGetPlanClick: () => void;\n};\n\nexport const PaymentFormTemplate = ({\n product,\n presaleProduct,\n currencyCode,\n handleGetPlanClick,\n}: Props) => {\n const { t } = useTranslation();\n\n const { isAdhdTest } = useFeatures();\n\n return (\n
\n {!!product.trialLength && (\n \n )}\n\n \n\n {!isAdhdTest && (\n <>\n \n \n \n )}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paymentCheckList\":\"styles_paymentCheckList__PQJ1y\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n currencyCode?: string;\n};\n\nexport const PaymentChecklist = ({ product, currencyCode }: Props) => {\n const { t } = useTranslation();\n return (\n
    \n
  • \n {t('paymentChecklistLine1', { trialLength: product.trialLength })}{' '}\n {product.getFormattedInvoicePrice(currencyCode)}\n
  • \n
  • {t('paymentChecklistLine2')}
  • \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"background\":\"styles_background__a5wVN\",\"dark\":\"styles_dark__iZuld\",\"spinner\":\"styles_spinner__pLc69\",\"hidden\":\"styles_hidden__gdsAm\",\"circ-anim\":\"styles_circ-anim__Po7lo\"};","import React, { useEffect } from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n isVisible: boolean;\n title: string | JSX.Element[] | JSX.Element;\n description: string | JSX.Element[] | JSX.Element;\n darkTheme?: boolean;\n};\n\nexport const LoadingScreen = ({\n isVisible,\n title,\n description,\n darkTheme = false,\n}: Props) => {\n useEffect(() => {\n if (isVisible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n }, [isVisible]);\n\n return (\n \n
\n

{title}

\n {description}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"links\":\"styles_links__NlVMU\",\"copyright\":\"styles_copyright__doYlw\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n className: string;\n};\n\nexport const Footer = ({ className }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n \n
\n © {new Date().getFullYear()} {t('rightsReserved')}\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paymentContainer\":\"styles_paymentContainer__aT9Tw\",\"bottom90\":\"styles_bottom90__bCw1a\",\"hidden\":\"styles_hidden__WvDqD\",\"payment\":\"styles_payment__B3hf-\",\"footer\":\"styles_footer__UV8eK\"};","import React, { useRef } from 'react';\nimport Divider from 'components/divider/Divider';\nimport { Header } from 'subscription/components/header/Header';\nimport { Information } from 'components/information/Information';\nimport { ReasonToUseTemplate } from 'subscription/components/reasontemplate/ReasonToUseTemplate';\nimport { Reviews } from 'subscription/components/reviews/Reviews';\nimport { StickyHeader } from '../components/stickyheader/StickyHeader';\nimport { usePaymentLogic } from './Payment.hook';\nimport { Recurly } from 'subscription/recurly/Recurly';\nimport { Error } from 'subscription/components/error/Error';\nimport { PaymentFormTemplate } from 'subscription/components/paymentformtemplate/PaymentFormTemplate';\nimport { PaymentChecklist } from 'subscription/components/paymentchecklist/PaymentChecklist';\nimport { LoadingScreen } from 'components/loadingscreen/LoadingScreen';\nimport { useTranslation } from 'react-i18next';\nimport { Footer } from 'components/footer/Footer';\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\nimport styles from './styles.module.scss';\n\nexport const Payment = () => {\n const startDate = Date.now();\n const paymentFormRef = useRef(null);\n const { t } = useTranslation();\n\n const { error, product, currency, handleRetry, handleGetPlanClick } =\n usePaymentLogic(paymentFormRef);\n\n if (error) {\n return ;\n }\n\n if (!product) {\n return (\n \n {t('loadingScreenDescriptionLine1')}\n
\n {t('loadingScreenDescriptionLine2')}\n \n }\n />\n );\n }\n\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","// extracted by mini-css-extract-plugin\nexport default {\"darkBodyBackground\":\"styles_darkBodyBackground__Tv8Vl\",\"whiteBodyBackground\":\"styles_whiteBodyBackground__d9eFU\",\"dark\":\"styles_dark__G0cRx\",\"white\":\"styles_white__M5ahH\"};","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport SignIn from './pages/signin/SignIn';\nimport { Success } from './pages/success/Success';\nimport { Payment } from './pages/payment/payment/Payment';\nimport styles from './styles.module.scss';\n\nexport const QuickPurchase = () => {\n useEffect(() => {\n document.body.classList.add(styles.whiteBodyBackground);\n\n return () => {\n document.body.classList.remove(styles.whiteBodyBackground);\n };\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { ScreenOpened } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { hasAllRmeqTestAnswers } from 'bootstrap/onboarding/actions';\nimport {\n emailLogin,\n registerNoPassword,\n setCountryCode,\n setCountryCurrency,\n setPlanCode,\n setRestrictMailing,\n} from 'bootstrap/user/actions';\nimport {\n getCircadianType,\n getRmeqTestResult,\n} from 'onboarding/question/meqresults/MeqResults.hook';\nimport { useTranslation } from 'react-i18next';\nimport { pushWithSearchQuery, validateEmail } from 'utils';\nimport { useFeatures } from 'useFeatures';\n\nexport const useSignInLogic = () => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n\n const {\n isRestrictMailing,\n planCode = '',\n countryCode,\n } = useAppSelector((state) => state.user);\n const { answers } = useAppSelector((state) => state.onboarding);\n\n const { isLocalCurrencyEnabled, isPreplanFlow } = useFeatures();\n\n const rmeqQuizResult = hasAllRmeqTestAnswers(answers)\n ? getCircadianType(getRmeqTestResult(answers))\n : '';\n\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isErrorVisible, setIsErrorVisible] = useState(false);\n const [passwordError, setPasswordError] = useState('');\n const [emailError, setEmailError] = useState('');\n const [isLoading, setIsLoading] = useState(false);\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n const [emailFocused, setEmailFocused] = useState(false);\n\n useEffect(() => {\n if (!planCode) {\n const codeNumber = Math.floor(Math.random() * 90000) + 10000;\n dispatch(setPlanCode(`#LN-${codeNumber}`));\n }\n dispatch(setCountryCode());\n\n if (isLocalCurrencyEnabled) {\n dispatch(setCountryCurrency());\n }\n appAnalytics.trackEvent(new ScreenOpened('onboardingAccount'));\n }, []);\n\n const handleSubmit = async (): Promise => {\n setIsErrorVisible(false);\n\n if (isLoading && !validateForm()) return;\n\n setIsLoading(true);\n\n let action;\n\n if (password !== '') {\n action = emailLogin(email, password, 'qp');\n } else if (rmeqQuizResult) {\n action = registerNoPassword(\n email,\n planCode,\n isRestrictMailing,\n rmeqQuizResult,\n );\n } else {\n action = registerNoPassword(email, planCode, isRestrictMailing);\n }\n\n try {\n const hasSubscription = await dispatch(action);\n setIsLoading(false);\n navigateNext(hasSubscription);\n } catch (error: any) {\n setIsLoading(false);\n\n if (error?.email) {\n setEmailError(t('emailError'));\n } else if (error?.password || error === 'WRONG_PASSWORD') {\n setPasswordError(t('passwordError'));\n } else if (error === 'DATA_EXIST') {\n setIsPasswordVisible(true);\n } else {\n setErrorMessage(error);\n setIsErrorVisible(true);\n }\n }\n };\n\n const navigateNext = (hasSubscription: boolean) => {\n if (hasSubscription) {\n dispatch(pushWithSearchQuery('/done'));\n } else if (isPreplanFlow) {\n dispatch(pushWithSearchQuery('/preplan'));\n } else {\n dispatch(pushWithSearchQuery('/subscription'));\n }\n };\n\n const validateForm = (): boolean => {\n const isEmailValid = validateEmail(email);\n const isPasswordValid = password !== '';\n if (!isEmailValid) {\n setEmailError(t('emailError'));\n return false;\n } else if (isPasswordVisible && !isPasswordValid) {\n setPasswordError(t('passwordError'));\n return false;\n } else return true;\n };\n\n const onEmailChange = (email: string) => {\n setEmailError('');\n setEmail(email);\n setIsErrorVisible(false);\n };\n\n const onPasswordChange = (event: React.ChangeEvent) => {\n setPasswordError(\n event.target.value.length < 8 ? t('passwordLengthError') : '',\n );\n setPassword(event.target.value);\n setIsErrorVisible(false);\n };\n\n const onHandleCheckboxClick = () => {\n dispatch(setRestrictMailing(!isRestrictMailing));\n };\n\n const onEmailFocusHandler = () => setEmailFocused(true);\n\n const onEmailBlurHandler = () => setEmailFocused(false);\n\n const onErrorVisibleHandler = () => setIsErrorVisible(false);\n\n return {\n emailError,\n email,\n emailFocused,\n passwordError,\n password,\n isErrorVisible,\n isLoading,\n errorMessage,\n planCode,\n countryCode,\n isPasswordVisible,\n isRestrictMailing,\n validateForm,\n navigateNext,\n handleSubmit,\n onHandleCheckboxClick,\n onEmailFocusHandler,\n onEmailBlurHandler,\n onPasswordChange,\n onEmailChange,\n onErrorVisibleHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"disclaimerInfo\":\"styles_disclaimerInfo__2Q8+6\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\nconst DisclaimerInfo = () => {\n const { t } = useTranslation();\n\n return
{t('disclaimerInfo')}
;\n};\n\nexport default DisclaimerInfo;\n","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcOptionCheckmarkChecked(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.55026 11.323C6.37127 11.144 6.37127 10.8538 6.55026 10.6748C6.72925 10.4958 7.01945 10.4958 7.19844 10.6748L9.62435 13.1007L14.8003 7.92477C14.9792 7.74578 15.2695 7.74578 15.4484 7.92477C15.6274 8.10376 15.6274 8.39396 15.4484 8.57295L9.94844 14.073C9.76945 14.2519 9.47925 14.2519 9.30026 14.073L6.55026 11.323Z\",\n fill: \"#AB38FF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.4467 7.57122C14.821 7.19696 15.4277 7.19696 15.802 7.57122C16.1762 7.94547 16.1762 8.55225 15.802 8.9265L10.302 14.4265C9.92774 14.8008 9.32096 14.8008 8.94671 14.4265L6.1967 11.6765C5.82245 11.3023 5.82245 10.6955 6.1967 10.3212C6.57096 9.94696 7.17774 9.94696 7.55199 10.3212L9.62435 12.3936L14.4467 7.57122Z\",\n fill: \"#6DBC81\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcOptionCheckmarkChecked);\nexport default __webpack_public_path__ + \"static/media/ic_option_checkmark_checked.e176b4f15fe68f917365518532fc137b.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"bottomInputContainer\":\"styles_bottomInputContainer__jI0zX\",\"checkbox\":\"styles_checkbox__KECQn\",\"active\":\"styles_active__GDga+\",\"label\":\"styles_label__0HYN-\"};","import React, { useEffect, useState } from 'react';\nimport { ReactComponent as EmptyCheckmark } from 'assets/ic_option_checkmark_empty.svg';\nimport { ReactComponent as CheckedCheckmark } from 'assets/ic_option_checkmark_checked.svg';\nimport { useTranslation } from 'react-i18next';\nimport { isEuMember } from 'is-eu-member';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setRestrictMailing } from 'bootstrap/user/actions';\nimport styles from './styles.module.scss';\n\ntype Props = {\n countryCode?: string;\n isRestrictMailing: boolean | undefined;\n onHandleCheckboxClick: () => void;\n};\n\nconst BottomInputContainer = ({\n countryCode,\n isRestrictMailing,\n onHandleCheckboxClick,\n}: Props) => {\n const { t } = useTranslation();\n const dispatch = useAppDispatch();\n const isEuMemberUser = countryCode && isEuMember(countryCode);\n\n const [label, setLabel] = useState('');\n const [isChecked, setChecked] = useState(!!isRestrictMailing);\n\n useEffect(() => {\n if (!countryCode) return;\n\n if (isEuMemberUser) {\n setLabel(t('singInBottomContainerEULabel'));\n\n if (isRestrictMailing === undefined) {\n dispatch(setRestrictMailing(true));\n }\n }\n\n if (!isEuMemberUser) {\n setLabel(t('singInBottomContainerLabel'));\n\n if (isRestrictMailing === undefined) {\n dispatch(setRestrictMailing(false));\n }\n }\n }, [countryCode]);\n\n useEffect(() => {\n const shouldAllowMailing = isEuMemberUser\n ? !isRestrictMailing\n : !!isRestrictMailing;\n\n setChecked(shouldAllowMailing);\n }, [isRestrictMailing]);\n\n return (\n
\n \n {countryCode && (isChecked ? : )}\n
\n
{label}
\n
\n );\n};\n\nexport default BottomInputContainer;\n","// extracted by mini-css-extract-plugin\nexport default {\"signInForm\":\"styles_signInForm__XFv3F\",\"signInError\":\"styles_signInError__aBzYe\",\"inputContainer\":\"styles_inputContainer__6czGn\",\"new\":\"styles_new__qn7bQ\",\"invalid\":\"styles_invalid__xLT+l\",\"delete\":\"styles_delete__uy8PG\"};","import React, { ChangeEvent } from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { PasswordInput } from 'components/passwordinput/PasswordInput';\nimport Disclaimer from '../../../components/disclaimer/Disclaimer';\nimport Delete from 'assets/ic_delete.png';\nimport BottomInputContainer from '../bottominputcontainer/BottomInputContainer';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n countryCode?: string;\n emailError: string;\n email: string;\n emailFocused: boolean;\n passwordError: string;\n password: string;\n isLoading: boolean;\n isPasswordVisible: boolean;\n isRestrictMailing?: boolean;\n handleSubmit: () => void;\n onEmailFocusHandler: () => void;\n onPasswordChange: (event: React.ChangeEvent) => void;\n onEmailChange: (email: string) => void;\n onEmailBlurHandler: () => void;\n onHandleCheckboxClick: () => void;\n};\n\nconst SignInForm = ({\n countryCode,\n emailError,\n email,\n emailFocused,\n passwordError,\n password,\n isLoading,\n isPasswordVisible,\n isRestrictMailing,\n handleSubmit,\n onEmailFocusHandler,\n onPasswordChange,\n onEmailChange,\n onEmailBlurHandler,\n onHandleCheckboxClick,\n}: Props) => {\n const { t } = useTranslation();\n\n const isInvalidEmail = emailError !== '' && email !== '';\n\n return (\n
\n
\n ) => {\n onEmailChange(e.target.value);\n }}\n />\n\n {(emailFocused || email.length > 0) && (\n onEmailChange('')}\n />\n )}\n
\n\n
{emailError}
\n\n \n\n {isPasswordVisible && (\n <>\n \n
{passwordError}
\n \n )}\n\n \n\n \n \n );\n};\n\nexport default SignInForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"styles_logo__X7BCq\",\"socialLogin\":\"styles_socialLogin__9ICt2\",\"hidden\":\"styles_hidden__ubO0x\",\"socialLoginButton\":\"styles_socialLoginButton__BhCoi\",\"topMargin\":\"styles_topMargin__B9Dtn\",\"signIn\":\"styles_signIn__Ch0Zf\",\"template\":\"styles_template__I8Tdz\",\"templateContainer\":\"styles_templateContainer__nop-8\",\"newStepper\":\"styles_newStepper__c3W5c\",\"question\":\"styles_question__L2BiC\",\"description\":\"styles_description__vyreC\",\"submit\":\"styles_submit__GF11i\"};","import React from 'react';\nimport Alert from 'components/error/Error';\nimport { Stepper as NewStepper } from 'onboarding/components/stepper/Stepper';\nimport { useSignInLogic } from './SignIn.hook';\nimport DisclaimerInfo from './components/disclaimerinfo/DisclaimerInfo';\nimport SignInForm from './components/singinform/SignInForm';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\nimport 'common.scss';\n\nconst SignIn = () => {\n const { t } = useTranslation();\n const {\n isErrorVisible,\n onErrorVisibleHandler,\n errorMessage,\n planCode,\n ...otherProps\n } = useSignInLogic();\n\n return (\n
\n \n
\n \n\n

\n {t('signInPlanCodeTitle', { planCode })}\n

\n
{t('signInDescription')}
\n\n \n \n
\n
\n );\n};\n\nexport default SignIn;\n","import { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { getProducts } from 'bootstrap/net/product';\nimport { Thunk } from 'bootstrap/types';\n\nexport const SET_PRODUCTS = 'SET_PRODUCTS';\nexport const SET_ADDON_PRODUCTS = 'SET_ADDON_PRODUCTS';\n\nexport const loadProducts = (): Thunk => async (dispatch, _) => {\n return getProducts()\n .then((p) => {\n dispatch({\n type: SET_PRODUCTS,\n payload: {\n products: p,\n },\n });\n })\n .catch((error) => {\n return Promise.reject(getErrorMessage(error));\n });\n};\n","import { ProductActionTypes } from './productActions.types';\n\nexport const SET_PRESALE_PRODUCT = 'SET_PRESALE_PRODUCT';\n\nexport function setPresaleProduct(productCode: string): ProductActionTypes {\n return {\n type: SET_PRESALE_PRODUCT,\n payload: {\n productCode,\n },\n };\n}\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDiscount(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 180,\n height: 119,\n viewBox: \"0 0 180 119\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.5321 59.13L42.53 59.2446L41.5321 59.13ZM103.28 113.57L102.569 112.866L103.28 113.57ZM137.909 79.2576L138.619 79.9615L137.909 79.2576ZM82.9659 18.0757L82.8502 17.087L82.9659 18.0757ZM50.9152 21.7547L51.0308 22.7435L51.0308 22.7435L50.9152 21.7547ZM45.2451 27.3729L46.243 27.4875L45.2451 27.3729ZM44.4601 64.7374C43.0039 63.2946 42.2931 61.2715 42.53 59.2446L40.5342 59.0155C40.2266 61.6464 41.1493 64.2723 43.0394 66.1451L44.4601 64.7374ZM93.0338 112.866L44.4601 64.7374L43.0394 66.1451L91.6131 114.274L93.0338 112.866ZM102.569 112.866C99.936 115.475 95.6669 115.475 93.0338 112.866L91.6131 114.274C95.0308 117.66 100.572 117.66 103.99 114.274L102.569 112.866ZM137.199 78.5538L102.569 112.866L103.99 114.274L138.619 79.9615L137.199 78.5538ZM137.199 69.1057C139.832 71.7147 139.832 75.9448 137.199 78.5538L138.619 79.9615C142.037 76.575 142.037 71.0845 138.619 67.698L137.199 69.1057ZM88.6251 20.9769L137.199 69.1057L138.619 67.698L90.0458 19.5692L88.6251 20.9769ZM83.0815 19.0645C85.1271 18.8297 87.1689 19.5341 88.6251 20.9769L90.0458 19.5692C88.1557 17.6964 85.5055 16.7822 82.8502 17.087L83.0815 19.0645ZM51.0308 22.7435L83.0815 19.0645L82.8502 17.087L50.7996 20.766L51.0308 22.7435ZM46.243 27.4875C46.5342 24.9967 48.5171 23.0321 51.0308 22.7435L50.7996 20.766C47.3594 21.1609 44.6457 23.8496 44.2472 27.2584L46.243 27.4875ZM42.53 59.2446L46.243 27.4875L44.2472 27.2584L40.5342 59.0155L42.53 59.2446ZM71.9617 39.8107C74.3072 42.1348 74.3072 45.9028 71.9617 48.2268L73.3824 49.6345C76.5125 46.533 76.5125 41.5045 73.3824 38.4031L71.9617 39.8107ZM63.4679 39.8107C65.8134 37.4867 69.6162 37.4867 71.9617 39.8107L73.3824 38.4031C70.2523 35.3016 65.1773 35.3016 62.0472 38.4031L63.4679 39.8107ZM63.4679 48.2268C61.1224 45.9028 61.1224 42.1348 63.4679 39.8107L62.0472 38.4031C58.917 41.5045 58.917 46.533 62.0472 49.6345L63.4679 48.2268ZM71.9617 48.2268C69.6162 50.5508 65.8134 50.5508 63.4679 48.2268L62.0472 49.6345C65.1773 52.736 70.2523 52.736 73.3824 49.6345L71.9617 48.2268Z\",\n fill: \"#B857FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.7491 68.7302H80.4868L87.656 57.4187H89.9183L82.7491 68.7302ZM89.4245 68.8577C88.5535 68.8577 87.81 68.5497 87.194 67.9336C86.5886 67.3176 86.2859 66.5794 86.2859 65.7191C86.2859 64.8482 86.5886 64.11 87.194 63.5046C87.81 62.8886 88.5535 62.5806 89.4245 62.5806C90.2848 62.5806 91.0229 62.8886 91.639 63.5046C92.255 64.11 92.563 64.8482 92.563 65.7191C92.563 66.5794 92.255 67.3176 91.639 67.9336C91.0229 68.5497 90.2848 68.8577 89.4245 68.8577ZM88.5164 66.6272C88.7713 66.8821 89.074 67.0096 89.4245 67.0096C89.775 67.0096 90.0724 66.8821 90.3166 66.6272C90.5609 66.3723 90.6831 66.0696 90.6831 65.7191C90.6831 65.3686 90.5609 65.0659 90.3166 64.811C90.0724 64.5561 89.775 64.4287 89.4245 64.4287C89.074 64.4287 88.7713 64.5561 88.5164 64.811C88.2721 65.0659 88.1499 65.3686 88.1499 65.7191C88.1499 66.0696 88.2721 66.3723 88.5164 66.6272ZM80.9806 63.5683C80.1097 63.5683 79.3662 63.2603 78.7502 62.6443C78.1448 62.0283 77.8421 61.2901 77.8421 60.4298C77.8421 59.5588 78.1448 58.8207 78.7502 58.2153C79.3662 57.5992 80.1097 57.2912 80.9806 57.2912C81.841 57.2912 82.5791 57.5992 83.1952 58.2153C83.8112 58.8207 84.1192 59.5588 84.1192 60.4298C84.1192 61.2901 83.8112 62.0283 83.1952 62.6443C82.5791 63.2603 81.841 63.5683 80.9806 63.5683ZM80.0725 61.3379C80.3274 61.5928 80.6301 61.7203 80.9806 61.7203C81.3311 61.7203 81.6285 61.5928 81.8728 61.3379C82.1277 61.083 82.2552 60.7803 82.2552 60.4298C82.2552 60.0793 82.1277 59.7766 81.8728 59.5217C81.6285 59.2668 81.3311 59.1393 80.9806 59.1393C80.6301 59.1393 80.3274 59.2668 80.0725 59.5217C79.8282 59.7766 79.7061 60.0793 79.7061 60.4298C79.7061 60.7803 79.8282 61.083 80.0725 61.3379Z\",\n fill: \"#B857FF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.5216 83.7575C83.4209 84.6705 84.5069 85.1271 85.7796 85.1271C87.0524 85.1271 88.1315 84.6705 89.0169 83.7575C89.9161 82.8306 90.3657 81.7169 90.3657 80.4165C90.3657 79.116 89.9161 78.0093 89.0169 77.0962C88.1315 76.1693 87.0524 75.7058 85.7796 75.7058C84.5069 75.7058 83.4209 76.1693 82.5216 77.0962C81.6362 78.0093 81.1935 79.116 81.1935 80.4165C81.1935 81.7169 81.6362 82.8306 82.5216 83.7575ZM91.1543 85.8119C89.674 87.2921 87.8825 88.0323 85.7796 88.0323C83.6768 88.0323 81.8783 87.2921 80.3842 85.8119C78.9039 84.3177 78.1638 82.5193 78.1638 80.4165C78.1638 78.3136 78.9039 76.5221 80.3842 75.0418C81.8783 73.5477 83.6768 72.8006 85.7796 72.8006C87.8825 72.8006 89.674 73.5477 91.1543 75.0418C92.6484 76.5221 93.3955 78.3136 93.3955 80.4165C93.3955 82.5193 92.6484 84.3177 91.1543 85.8119ZM95.7947 87.7833V73.0496H104.759V75.9134H98.8037V78.9638H103.473V81.8276H98.8037V87.7833H95.7947ZM107.042 87.7833V73.0496H116.007V75.9134H110.051V78.9638H114.72V81.8276H110.051V87.7833H107.042Z\",\n fill: \"#B857FF\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.0152 1.69806C68.1556 6.80826 66.9522 10.9545 69.0152 22.7079C71.5939 37.3997 68.6953 50.0343 61.4611 45.7006M42.3744 41.8712C39.3659 41.2324 31.8017 36.5055 25.6127 22.7079C19.4238 8.91039 13.2201 7.52108 9.35205 3.26258\",\n stroke: \"#B857FF\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.85144 57.3846C4.15587 57.5542 4.74442 61.1592 4.34849 61.7212C3.77063 62.5588 0.656626 62.7815 1.03116 64.2659C1.24518 65.1142 4.24147 65.3262 4.68022 66.0896C5.11896 66.8531 3.93116 69.7371 5.09757 70.1506C6.26398 70.5641 7.7728 67.1181 8.24364 66.8425C8.94991 66.4289 12.3208 67.8391 12.6097 66.9909C13.0484 65.7079 9.69901 64.1281 9.50639 63.3222C9.31377 62.5164 11.3683 59.9611 10.7905 59.1553C10.2126 58.3494 8.07244 60.4064 7.35547 60.1413C6.6385 59.8763 5.87873 57.0983 4.85144 57.3846Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.703 21.1018C133.264 21.4199 134.441 23.445 134.227 23.8479C134.013 24.2509 132.001 25.7883 132.354 26.3821C132.708 26.9759 134.901 26.223 135.351 26.4563C135.8 26.6896 136.111 28.8738 136.721 28.7041C137.577 28.4603 137.213 26.4457 137.587 26.0852C137.962 25.7247 140.038 25.9261 140.177 25.2582C140.316 24.5902 138.55 23.7525 138.197 23.2436C137.844 22.7346 138.882 20.6564 138.261 20.2959C137.641 19.9354 136.367 21.9818 135.95 22.1091C135.533 22.2363 134.216 20.7413 133.703 21.1018Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.281 38.3104C165.547 38.3104 165.762 38.0968 165.762 37.8333C165.762 37.5698 165.547 37.3561 165.281 37.3561C165.015 37.3561 164.799 37.5698 164.799 37.8333C164.799 38.0968 165.015 38.3104 165.281 38.3104Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.519 46.3474C178.785 46.3474 179 46.1338 179 45.8703C179 45.6067 178.785 45.3931 178.519 45.3931C178.253 45.3931 178.037 45.6067 178.037 45.8703C178.037 46.1338 178.253 46.3474 178.519 46.3474Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149.893 43.58C150.129 43.58 150.321 43.3901 150.321 43.1559C150.321 42.9216 150.129 42.7318 149.893 42.7318C149.657 42.7318 149.465 42.9216 149.465 43.1559C149.465 43.3901 149.657 43.58 149.893 43.58Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.541 35.1294C160.937 35.1294 161.258 34.8114 161.258 34.419C161.258 34.0267 160.937 33.7086 160.541 33.7086C160.145 33.7086 159.824 34.0267 159.824 34.419C159.824 34.8114 160.145 35.1294 160.541 35.1294Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeWidth: 1.06673,\n strokeMiterlimit: 10\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.23 83.2165C173.508 83.2761 173.467 85.7113 173.006 86.1288C172.545 86.5463 170.297 86.268 170.097 86.9439C169.896 87.6198 172.033 88.3553 172.103 88.7827C172.173 89.2101 171.943 91.0291 172.424 91.208C172.906 91.387 173.969 89.896 174.541 89.7767C175.113 89.6574 176.547 91.208 177.059 90.7111C177.57 90.2141 176.948 88.1864 176.838 87.7291C176.728 87.2719 178.694 85.5026 178.373 85.0255C178.052 84.5484 176.036 85.2839 175.514 85.0255C174.992 84.7671 175.032 83.1568 174.23 83.2165Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeMiterlimit: 10\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.4337 95.7589C24.8824 95.7589 25.2462 95.3984 25.2462 94.9537C25.2462 94.5091 24.8824 94.1486 24.4337 94.1486C23.9849 94.1486 23.6211 94.5091 23.6211 94.9537C23.6211 95.3984 23.9849 95.7589 24.4337 95.7589Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeMiterlimit: 10\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.2476 102.061C34.5634 102.061 34.8194 101.807 34.8194 101.494C34.8194 101.181 34.5634 100.928 34.2476 100.928C33.9318 100.928 33.6758 101.181 33.6758 101.494C33.6758 101.807 33.9318 102.061 34.2476 102.061Z\",\n fill: \"#B857FF\",\n stroke: \"#B857FF\",\n strokeMiterlimit: 10\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDiscount);\nexport default __webpack_public_path__ + \"static/media/discount.d78631c52c347cd445f7909d6198931d.svg\";\nexport { ForwardRef as ReactComponent };","import { createSelector } from '@reduxjs/toolkit';\nimport { useEffect, useState } from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { loadProducts } from 'bootstrap/product/actions';\nimport { RootState } from 'bootstrap/types';\nimport { defaultProductCode } from 'bootstrap/data/product/Product.utils';\n\ntype Products = {\n product?: Product;\n products?: Map;\n isLoading: boolean;\n error: boolean;\n};\n\nconst selectProducts = (state: RootState) => state.product.products;\nconst selectPresaleProductCode = (state: RootState) =>\n state.product.presaleProductCode;\n\nconst selectProductsInfo = createSelector(\n [selectProducts, selectPresaleProductCode],\n (products, presaleProductCode) => {\n let productCode = '';\n\n if (presaleProductCode) {\n productCode = presaleProductCode;\n } else {\n productCode = defaultProductCode;\n }\n\n return {\n products,\n productCode,\n };\n },\n);\n\nexport const useProduct = (): Products => {\n const dispatch = useAppDispatch();\n\n const { products, productCode } = useAppSelector(selectProductsInfo);\n\n const [isLoading, setIsLoading] = useState(\n !products || !products.size || products.size === 0,\n );\n const [error, setError] = useState(false);\n\n useEffect(() => {\n if (!products || !products.size || products.size === 0) {\n loadAllProducts();\n }\n }, []);\n\n const loadAllProducts = () => {\n dispatch(loadProducts())\n .catch((_) => {\n setError(true);\n })\n .then(() => {\n setIsLoading(false);\n });\n };\n\n useEffect(() => {\n if (products && products.size > 0) {\n setError(false);\n }\n }, [products]);\n\n if (!products || !products.size || products.size === 0) {\n return {\n isLoading,\n error,\n };\n }\n\n return {\n product:\n (products?.get && products?.get(productCode)) ||\n products?.values().next().value,\n products: products,\n error: false,\n isLoading: false,\n };\n};\n","import React, { useState } from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { loadProducts } from 'bootstrap/product/actions';\nimport { LoadingScreen } from 'components/loadingscreen/LoadingScreen';\nimport { useProduct } from 'hooks/useProduct';\nimport { Error } from '../components/error/Error';\nimport { useTranslation } from 'react-i18next';\n\nexport interface WithDefaultProduct {\n product: Product;\n products: Map;\n}\n\nexport const withDefaultProduct = (\n Component: React.FC,\n) => {\n return (props: Omit) => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n\n const {\n product,\n error: productLoadError,\n isLoading: isProductLoading,\n products,\n } = useProduct();\n const [isLoading, setIsLoading] = useState(false);\n\n const fetchProducts = () => {\n setIsLoading(true);\n if (!products || Object.keys(products).length === 0) {\n dispatch(loadProducts()).catch((_) => {\n setIsLoading(false);\n });\n }\n };\n\n if (productLoadError) {\n return ;\n }\n\n return (\n <>\n \n {t('loadingScreenDescriptionLine1')}\n
\n {t('loadingScreenDescriptionLine2')}\n \n }\n />\n {products && products.size > 0 && (\n \n )}\n \n );\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"line\":\"styles_line__+L7n3\",\"top22\":\"styles_top22__WkbKH\",\"accent\":\"styles_accent__0yDdh\",\"bold\":\"styles_bold__8wKt+\",\"small\":\"styles_small__+8cka\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport styles from './styles.module.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n productWithMaxFee: Product | undefined;\n productWithMinFee: Product | undefined;\n currencyCode?: string;\n};\n\nexport const PresaleInfo = ({\n productWithMaxFee,\n productWithMinFee,\n currencyCode,\n}: Props) => {\n const { t } = useTranslation();\n const productWithMinPrice =\n productWithMinFee?.getFormattedInvoicePrice(currencyCode);\n const productWithMaxPrice =\n productWithMaxFee?.getFormattedInvoicePrice(currencyCode);\n\n return (\n <>\n

{t('presaleInfoLine1')}

\n

\n {t('presaleInfoLine2', {\n price: productWithMinPrice,\n })}\n

\n\n {productWithMaxFee && (\n

\n {t('presaleInfoLine3', {\n price: productWithMaxPrice,\n })}\n

\n )}\n\n

\n {t('presaleInfoLine4')}\n

\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"priceContainer\":\"styles_priceContainer__oK10U\",\"active\":\"styles_active__BUKuY\",\"price\":\"styles_price__1fOUE\",\"label\":\"styles_label__wyfmB\"};","import React, { SyntheticEvent } from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport styles from './styles.module.scss';\n\ntype ProductCellProps = {\n product: Product;\n isActive: boolean;\n label: string;\n currencyCode?: string;\n onSelected: (productCode: string) => void;\n};\n\nexport const ProductCell = ({\n product,\n isActive,\n currencyCode,\n onSelected,\n label,\n}: ProductCellProps) => {\n const handleCellClick = (e: SyntheticEvent) => {\n e.preventDefault();\n onSelected(product.code);\n };\n\n return (\n \n
\n {product.getFormattedInvoicePrice(currencyCode, 0, 2)}\n
\n {label}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"pricesContainer\":\"styles_pricesContainer__EgVX9\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { ProductCell } from '../productcell/ProductCell';\nimport { PresaleProduct } from 'subscription/presale/Presale.types';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n products: Map;\n presaleProducts: PresaleProduct[];\n code: string;\n currencyCode?: string;\n onSetProductCodeHandler: (code: string) => void;\n};\n\nexport const PricesContainer = ({\n products,\n presaleProducts,\n code,\n currencyCode,\n onSetProductCodeHandler,\n}: Props) => {\n const { t } = useTranslation();\n\n const renderProductCells = () =>\n presaleProducts.map(({ productCode, label }: PresaleProduct) => {\n const product = products.get(productCode);\n\n if (!product) return null;\n\n return (\n \n );\n });\n\n return (\n \n {renderProductCells()}\n \n );\n};\n","import { PresaleOfferConfig } from './Presale.types';\n\nexport const defaultPresaleOfferConfig: PresaleOfferConfig[] = [\n {\n productCode: 'co-loona-web-ar-q-t7-59-pt0099',\n },\n {\n productCode: 'co-loona-web-ar-q-t7-59-pt0500',\n },\n {\n productCode: 'co-loona-web-ar-q-t7-59-pt1000',\n label: 'popular',\n isActive: true,\n },\n {\n productCode: 'co-loona-web-ar-q-t7-59-pt1741',\n label: 'teamCost',\n },\n];\n","import { getPresaleOfferConfig } from 'bootstrap/data/product/Product.utils';\nimport { Product } from 'bootstrap/data/product/Product';\nimport {\n PresaleOfferConfig,\n PresaleProduct,\n} from 'subscription/presale/Presale.types';\n\nexport const getPopularProductCode = (\n defaultPresaleOfferConfig: PresaleOfferConfig[],\n): string | undefined => {\n const presaleOfferConfig = getPresaleOfferConfig(defaultPresaleOfferConfig);\n\n const popularProductCode = presaleOfferConfig.find(\n ({ isActive }) => isActive,\n )?.productCode;\n\n return popularProductCode;\n};\n\nexport const getMaxFeeProductCode = (\n products: Map,\n defaultPresaleOfferConfig: PresaleOfferConfig[],\n): string => {\n const presaleProducts = getPresaleOfferProducts(defaultPresaleOfferConfig)\n .map(({ productCode }) => products.get(productCode))\n .filter(Boolean);\n\n const productWithMaxFee = Array.from(presaleProducts).reduce(\n (prevProduct, currentProduct) => {\n if (prevProduct?.setupFee && currentProduct?.setupFee) {\n return prevProduct.setupFee > currentProduct.setupFee\n ? prevProduct\n : currentProduct;\n }\n },\n );\n\n return productWithMaxFee?.code || defaultPresaleOfferConfig[0].productCode;\n};\n\nexport const getMinFeeProductCode = (\n products: Map,\n defaultPresaleOfferConfig: PresaleOfferConfig[],\n): string => {\n const presaleProducts = getPresaleOfferProducts(defaultPresaleOfferConfig)\n .map(({ productCode }) => products.get(productCode))\n .filter(Boolean);\n\n const productWithMaxFee = Array.from(presaleProducts).reduce(\n (prevProduct, currentProduct) => {\n if (prevProduct?.setupFee && currentProduct?.setupFee) {\n return prevProduct.setupFee < currentProduct.setupFee\n ? prevProduct\n : currentProduct;\n }\n },\n );\n\n return productWithMaxFee?.code || defaultPresaleOfferConfig[0].productCode;\n};\n\nexport const getPresaleOfferProducts = (\n defaultPresaleOfferConfig: PresaleOfferConfig[],\n): PresaleProduct[] => {\n return getPresaleOfferConfig(defaultPresaleOfferConfig).map(\n ({ productCode, label = '' }) => {\n return {\n productCode,\n label,\n };\n },\n );\n};\n","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport {\n ProductSelected,\n ScreenOpened,\n SwitchPresalePlanCode,\n} from 'analytics/AllEvents';\nimport { defaultPresaleOfferConfig } from 'subscription/presale/Presale.constants';\nimport { Product } from 'bootstrap/data/product/Product';\nimport {\n getPresaleConfigPrefix,\n getPresaleOfferConfig,\n} from 'bootstrap/data/product/Product.utils';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setPresaleProduct } from 'bootstrap/product/actions';\nimport {\n getMaxFeeProductCode,\n getMinFeeProductCode,\n getPopularProductCode,\n getPresaleOfferProducts,\n} from './Presale.utils';\n\ntype Props = {\n products: Map;\n onSuccess: (product: Product) => void;\n};\n\nexport const usePresaleLogic = ({ products, onSuccess }: Props) => {\n const dispatch = useAppDispatch();\n const { presaleProductCode } = useAppSelector((state) => state.product);\n const { currency } = useAppSelector((state) => state.user);\n\n const presaleOfferConfig = defaultPresaleOfferConfig;\n\n const productCodeWithMaxFee = getMaxFeeProductCode(\n products,\n presaleOfferConfig,\n );\n const productCodeWithMinFee = getMinFeeProductCode(\n products,\n presaleOfferConfig,\n );\n\n const popularProductCode = getPopularProductCode(presaleOfferConfig);\n\n const defaultSelectedProductCode =\n popularProductCode || productCodeWithMaxFee;\n\n const [selectedProductCode, setSelectedProductCode] = useState(\n presaleProductCode || defaultSelectedProductCode,\n );\n\n useEffect(() => {\n appAnalytics.trackEvent(\n new ScreenOpened('onboardingPrice', {\n prefix: getPresaleConfigPrefix(),\n presaleConfigValue: JSON.stringify(\n getPresaleOfferConfig(presaleOfferConfig),\n ),\n }),\n );\n }, []);\n\n useEffect(() => {\n const selectedProduct = products.get(selectedProductCode);\n\n if (!selectedProduct) return;\n\n dispatch(setPresaleProduct(selectedProductCode));\n\n const previousSelectedProductCode =\n presaleProductCode || defaultSelectedProductCode;\n if (selectedProductCode !== previousSelectedProductCode) {\n appAnalytics.trackEvent(\n new SwitchPresalePlanCode(\n selectedProductCode,\n previousSelectedProductCode,\n ),\n );\n }\n }, [selectedProductCode]);\n\n const onSetProductCodeHandler = (code: string) => {\n setSelectedProductCode(code);\n\n setTimeout(() => {\n onClickContinueHandler(undefined, code);\n }, 500);\n };\n\n const onClickContinueHandler = (\n event?: SyntheticEvent,\n productCode?: string,\n ) => {\n const selectedProduct = products.get(productCode || selectedProductCode);\n\n if (!selectedProduct) return;\n\n appAnalytics.trackEvent(\n new ProductSelected(\n selectedProduct.code,\n selectedProduct.code === defaultSelectedProductCode,\n defaultSelectedProductCode,\n ),\n );\n onSuccess(selectedProduct);\n };\n\n return {\n selectedProductCode,\n productCodeWithMaxFee,\n presaleProducts: getPresaleOfferProducts(presaleOfferConfig),\n currencyCode: currency,\n productWithMinFee: products.get(productCodeWithMinFee),\n productWithMaxFee: products.get(productCodeWithMaxFee),\n onSetProductCodeHandler,\n onClickContinueHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__6bjra\",\"button\":\"styles_button__cwOMW\",\"pulseEffect\":\"styles_pulseEffect__tcMtK\",\"pulse\":\"styles_pulse__qpGun\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport Spacer from 'components/spacer/Spacer';\nimport { PresaleInfo } from '../presaleinfo/PresaleInfo';\nimport { PricesContainer } from '../pricescontainer/PricesContainer';\nimport { usePresaleLogic } from 'subscription/presale/Presale.hook';\nimport { useTranslation } from 'react-i18next';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport styles from './styles.module.scss';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n products: Map;\n onSuccess: (product: Product) => void;\n};\n\nexport const PresalePlanPicker = ({ products, onSuccess }: Props) => {\n const { t } = useTranslation();\n\n const { isPresalePulsingButtonFlow } = useFeatures();\n\n const {\n productWithMaxFee,\n productWithMinFee,\n presaleProducts,\n selectedProductCode,\n currencyCode,\n onClickContinueHandler,\n onSetProductCodeHandler,\n } = usePresaleLogic({\n products,\n onSuccess,\n });\n\n return (\n
\n \n \n \n \n \n {t('Continue')}\n \n \n
\n );\n};\n","import React from 'react';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { pushWithSearchQuery } from 'utils';\nimport {\n WithDefaultProduct,\n withDefaultProduct,\n} from 'subscription/withDefaultProduct/withDefaultProduct';\nimport { PresalePlanPicker } from './components/planpicker/PresalePlanPicker';\n\ninterface Props extends WithDefaultProduct {\n onSubmit?: () => void;\n}\n\nexport const PresalePage = withDefaultProduct(\n ({ onSubmit, products }: Props) => {\n const dispatch = useAppDispatch();\n\n const handlePresaleProductPicked = () => {\n dispatch(pushWithSearchQuery('/subscription'));\n onSubmit?.();\n };\n\n return (\n \n );\n },\n);\n","import React from 'react';\nimport { useModalLogic } from './hooks/useModalLogic';\nimport './styles.scss';\n\ntype ModalProps = {\n children: JSX.Element[] | JSX.Element;\n className?: string;\n visible: boolean;\n};\n\nconst Modal = ({ children, className, visible }: ModalProps) => {\n useModalLogic({ visible });\n\n return (\n
\n
{children}
\n
\n );\n};\n\nexport default Modal;\n","import { useEffect } from 'react';\n\ninterface Props {\n visible: boolean;\n}\n\nexport const useModalLogic = ({ visible }: Props) => {\n useEffect(() => {\n return () => {\n document.body.classList.remove('modal-open');\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n document.body.classList.add('modal-open');\n } else {\n document.body.classList.remove('modal-open');\n }\n }, [visible]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"styles_modal__AgCv9\",\"contentWrapper\":\"styles_contentWrapper__DzdWl\",\"discountBackground\":\"styles_discountBackground__U8-o-\",\"offer\":\"styles_offer__69JEH\",\"accent\":\"styles_accent__1xwiY\"};","import React, { useEffect } from 'react';\nimport Modal from 'components/modal/Modal';\nimport { ReactComponent as Discount } from 'assets/discount.svg';\nimport styles from './styles.module.scss';\nimport { ViewSkipTrialPopup } from 'analytics/AllEvents';\nimport { appAnalytics } from 'analytics';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n discountPercent?: number;\n handleContinueClick: () => void;\n};\n\nexport const DiscountPopup = ({\n handleContinueClick,\n discountPercent,\n}: Props) => {\n const { t } = useTranslation();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewSkipTrialPopup());\n }, []);\n\n return (\n \n
\n
\n \n
\n
\n

{t('discountPopupLine1')}

\n

{t('discountPopupLine2')}

\n

\n {t('discountPopupLine3')}\n \n {' '}\n {t('discountPopupLine4', { discountPercent })}\n \n

\n
\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"note\":\"styles_note__GTEhS\",\"st_v3\":\"styles_st_v3__e8t-d\",\"title\":\"styles_title__b+P0f\",\"noteWithoutRefund\":\"styles_noteWithoutRefund__2gyWF\",\"ebookNote\":\"styles_ebookNote__WNnEG\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Divider from 'components/divider/Divider';\nimport styles from './styles.module.scss';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n totalPrice: string;\n term: string;\n isDiscountApplied: boolean | undefined;\n defaultProductPrice: string;\n};\n\nexport const Note = ({ totalPrice, defaultProductPrice, term }: Props) => {\n const { t } = useTranslation();\n\n const { isSkipTrialV3, isSkipTrialWithoutRefund } = useFeatures();\n\n return (\n \n {isSkipTrialV3 && (\n <>\n

How skip trial works?

\n \n \n )}\n {isSkipTrialWithoutRefund ? (\n <>\n When you click Skip trial and start plan the amount of your initial\n payment will be applied as coupon and your payment method will be\n charged {totalPrice}. Your payment method will then be charged{' '}\n {defaultProductPrice} every {term} until you cancel. You can cancel\n any time before the first day of your next subscription period to\n avoid automatic renewal.\n \n ) : (\n
    \n
  1. \n {t('skipTrialNoteLine1', { totalPrice })}\n
  2. \n
  3. \n {t('skipTrialNoteLine2', { totalPrice, term })}\n
  4. \n
  5. \n {t('skipTrialNoteLine3')}\n
  6. \n
\n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"infoContainer\":\"styles_infoContainer__jjjZl\",\"accent\":\"styles_accent__GOXMA\",\"title\":\"styles_title__DS-NQ\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n improvementPercent: number;\n};\n\nexport const TrialOfferInfo = ({ improvementPercent }: Props) => {\n const { t } = useTranslation();\n\n return (\n <>\n
\n {t('skipTrialInfoTitle', { percent: improvementPercent })}\n
\n
\n

{t('skipTrialInfoLine1')}

\n

{t('skipTrialInfoLine2')}

\n

\n {t('skipTrialInfoLine3', { percent: improvementPercent })}\n

\n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"graphsContainer\":\"styles_graphsContainer__bfqj7\",\"graph\":\"styles_graph__RftBJ\",\"trialGraph\":\"styles_trialGraph__2NwzA\",\"skipTrialGraph\":\"styles_skipTrialGraph__dNY4G\",\"percent\":\"styles_percent__vZaQh\",\"caption\":\"styles_caption__aFVU7\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n improvementPercent: number;\n};\n\nexport const GraphsContainer = ({ improvementPercent }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
\n {t('graphCaption1')}\n
\n\n
\n
\n +{improvementPercent}%\n
\n {t('graphCaption2')}\n
\n
\n );\n};\n","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { ContinueBoardingSkipTrial, ScreenOpened } from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { getSkipTrialProductCode } from 'bootstrap/data/product/Product.utils';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport {\n changeSkipTrialSubscriptionPlan,\n changeSubscriptionWithCreditPlan,\n goToNextPage,\n refundSkipTrialSubscriptionPlan,\n setTrialOfferDiscountApplied,\n setTrialOfferShown,\n skipTrialWithCreditSubscriptionPlan,\n} from 'bootstrap/user/actions';\nimport { useTranslation } from 'react-i18next';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n defaultProduct: Product;\n isTrialOfferVisible?: boolean;\n};\n\nexport const useTrialOfferLogic = ({\n defaultProduct,\n isTrialOfferVisible,\n}: Props) => {\n const { t } = useTranslation();\n\n const { isSkipTrialWithoutRefund, isGadTest } = useFeatures();\n\n const dispatch = useAppDispatch();\n const { products } = useAppSelector((state) => state.product);\n const {\n isTrialOfferDiscountApplied: isDiscountApplied,\n currency,\n planType,\n } = useAppSelector((state) => state.user);\n\n const discountPercent = 20;\n\n const promoProduct =\n products?.get && products?.get(getSkipTrialProductCode(planType));\n\n const [isDiscountPopupShown, setDiscountPopupShown] = useState(false);\n const [totalPrice, setTotalPrice] = useState('');\n\n const [term, setTerm] = useState('');\n const [isLoading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [isErrorVisible, setIsErrorVisible] = useState(false);\n\n useEffect(() => {\n return () => {\n document.body.classList.remove('scroll-hidden');\n };\n }, []);\n\n useEffect(() => {\n if (isTrialOfferVisible) {\n document.body.classList.add('scroll-hidden');\n appAnalytics.trackEvent(\n new ScreenOpened('skipTrial', { discount: 'regular' }),\n );\n } else {\n document.body.classList.remove('scroll-hidden');\n }\n }, [isTrialOfferVisible]);\n\n useEffect(() => {\n if (!isDiscountApplied) {\n setTotalPrice(\n isSkipTrialWithoutRefund\n ? defaultProduct.getPriceWithoutTrial(currency)\n : defaultProduct.getFormattedPrice(currency),\n );\n }\n }, [defaultProduct]);\n\n useEffect(() => {\n if (isDiscountApplied && promoProduct) {\n if (isSkipTrialWithoutRefund) {\n setTotalPrice(\n defaultProduct.getPriceWithTotalSavings(discountPercent, currency),\n );\n } else {\n setTotalPrice(promoProduct.getFormattedPrice(currency));\n }\n setTerm(promoProduct.getTerm(t));\n }\n }, [promoProduct, isDiscountApplied, defaultProduct]);\n\n const handleSkipTrialClick = () => {\n setLoading(true);\n\n const action = isDiscountApplied\n ? changeSkipTrialSubscriptionPlan(promoProduct?.code)\n : refundSkipTrialSubscriptionPlan();\n\n const actionV2 = isDiscountApplied\n ? changeSubscriptionWithCreditPlan(promoProduct?.code)\n : skipTrialWithCreditSubscriptionPlan();\n\n const onSuccess = () => {\n dispatch(goToNextPage(isGadTest));\n dispatch(setTrialOfferShown(false));\n };\n\n const onFailure = ({ message }: { message: string }) => {\n setErrorMessage(message);\n setIsErrorVisible(true);\n };\n\n dispatch(isSkipTrialWithoutRefund ? actionV2 : action)\n .then(onSuccess)\n .catch(onFailure)\n .finally(() => {\n setLoading(false);\n });\n\n appAnalytics.trackEvent(new ContinueBoardingSkipTrial('skipTrial'));\n };\n\n const handleContinueWithTrialClick = (e: SyntheticEvent) => {\n e.preventDefault();\n\n if (!isDiscountApplied) {\n setDiscountPopupShown(true);\n } else {\n dispatch(setTrialOfferShown(false));\n dispatch(goToNextPage(isGadTest));\n }\n appAnalytics.trackEvent(new ContinueBoardingSkipTrial('continueWithTrial'));\n };\n\n const handleContinueClick = () => {\n setDiscountPopupShown(false);\n dispatch(setTrialOfferDiscountApplied(true));\n appAnalytics.trackEvent(\n new ScreenOpened('skipTrial', { discount: '20off' }),\n );\n };\n\n const handleErrorVisible = () => {\n setIsErrorVisible(false);\n };\n\n return {\n isLoading,\n errorMessage,\n isErrorVisible,\n term,\n discountPercent,\n isDiscountPopupShown,\n isDiscountApplied,\n totalPrice,\n duration: defaultProduct.getTerm(t, true),\n totalSavings: defaultProduct.getTotalSavings(discountPercent, currency),\n discountAmount: defaultProduct.getDiscountAmount(discountPercent, currency),\n defaultProductPrice: defaultProduct.getFormattedPrice(currency),\n priceWithTrial: defaultProduct.getPriceWithTrial(currency),\n priceWithoutTrial: defaultProduct.getPriceWithoutTrial(currency),\n trialFee: defaultProduct.getFormattedInvoicePrice(currency),\n handleErrorVisible,\n handleContinueWithTrialClick,\n handleContinueClick,\n handleSkipTrialClick,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"planContent\":\"styles_planContent__GMyqO\",\"priceOld\":\"styles_priceOld__nJhRi\",\"priceNew\":\"styles_priceNew__4p+7w\",\"st_v3\":\"styles_st_v3__ccLRb\",\"field\":\"styles_field__0oTw5\",\"totalSave\":\"styles_totalSave__vep9p\",\"label\":\"styles_label__37Ejb\",\"discount\":\"styles_discount__VkNzo\",\"purpleBadge\":\"styles_purpleBadge__Ta8WH\",\"skipTrial\":\"styles_skipTrial__VD5Y2\",\"accent\":\"styles_accent__mS6Z6\",\"prices\":\"styles_prices__6O-dq\",\"price\":\"styles_price__Fro1s\",\"green\":\"styles_green__uKEBl\",\"priceLabel\":\"styles_priceLabel__CGwCZ\",\"title\":\"styles_title__m9CE-\",\"normal\":\"styles_normal__6ujyX\",\"total\":\"styles_total__3AhwU\"};","import Divider from 'components/divider/Divider';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n totalPrice: string;\n totalSavings: string;\n priceWithTrial: string;\n priceWithoutTrial: string;\n defaultProductPrice: string;\n duration: string;\n trialFee: string;\n discountAmount: string;\n discountPercent: number;\n isDiscountApplied: boolean | undefined;\n};\n\nexport const PlanContent = ({\n discountAmount,\n discountPercent,\n totalPrice,\n totalSavings,\n priceWithTrial,\n defaultProductPrice,\n duration,\n trialFee,\n isDiscountApplied,\n}: Props) => {\n const { t } = useTranslation();\n\n const { isSkipTrialV3, isSkipTrialWithoutRefund } = useFeatures();\n\n return (\n \n
\n {t('skipTrialTitle')}\n\n {isSkipTrialV3 && !isDiscountApplied && (\n {t('paymentTotalPriceWithoutColon')}\n )}\n
\n\n \n\n
\n \n {t('skipTrialLabel1', {\n duration: duration.replace(' ', '-'),\n })}\n
\n \n {isSkipTrialWithoutRefund ? defaultProductPrice : priceWithTrial}\n \n
\n\n {isDiscountApplied && }\n\n \n
{t('skipTrialLabel2')}
\n\n
\n \n -{trialFee}\n \n {isSkipTrialV3 && !isDiscountApplied && (\n {totalPrice}\n )}\n
\n \n\n {isDiscountApplied && (\n <>\n
\n {discountPercent}% OFF\n -{discountAmount}\n
\n\n
\n
{t('skipTrialLabel3')}
\n {totalSavings}\n
\n \n )}\n\n {(!isSkipTrialV3 || isDiscountApplied) && (\n <>\n \n
\n
{t('paymentTotalPrice')}
\n {totalPrice}\n
\n \n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"loadingButton\":\"styles_loadingButton__JBjtV\",\"secondary\":\"styles_secondary__d-Jvz\",\"st_v3\":\"styles_st_v3__xf-TH\"};","import React, { SyntheticEvent } from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { useTranslation } from 'react-i18next';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n isLoading: boolean;\n handleSkipTrialClick: () => void;\n handleContinueWithTrialClick: (e: SyntheticEvent) => void;\n};\n\nexport const FooterButtonsContainer = ({\n isLoading,\n handleSkipTrialClick,\n handleContinueWithTrialClick,\n}: Props) => {\n const { t } = useTranslation();\n\n const { isSkipTrialV3 } = useFeatures();\n\n return (\n <>\n \n\n \n {t('trialOfferContinueButton')}\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"trialOffer\":\"styles_trialOffer__AKeTW\",\"hidden\":\"styles_hidden__V55aS\",\"container\":\"styles_container__QynFS\",\"logo\":\"styles_logo__p2JKx\"};","import React from 'react';\nimport { ReactComponent as Logo } from 'assets/logo_loona.svg';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { DiscountPopup } from './components/popup/DiscountPopup';\nimport Alert from 'components/error/Error';\nimport { Note } from './components/note/Note';\nimport { TrialOfferInfo } from './components/trialofferinfo/TrialOfferInfo';\nimport { GraphsContainer } from './components/graphs/GraphsContainer';\nimport { useTrialOfferLogic } from './TrialOffer.hook';\nimport { PlanContent } from './components/plancontent/PlanContent';\nimport { FooterButtonsContainer } from './components/footercontainer/ButtonsContainer';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n defaultProduct: Product;\n isTrialOfferVisible: boolean;\n};\n\nconst improvementPercent = 79;\n\nexport const TrialOffer = ({ defaultProduct, isTrialOfferVisible }: Props) => {\n const {\n isLoading,\n isErrorVisible,\n errorMessage,\n totalPrice,\n term,\n trialFee,\n totalSavings,\n priceWithTrial,\n defaultProductPrice,\n priceWithoutTrial,\n discountPercent,\n discountAmount,\n duration,\n isDiscountPopupShown,\n isDiscountApplied,\n handleContinueClick,\n handleContinueWithTrialClick,\n handleSkipTrialClick,\n handleErrorVisible,\n } = useTrialOfferLogic({\n defaultProduct,\n isTrialOfferVisible,\n });\n\n const { isSkipTrialV3 } = useFeatures();\n\n return (\n \n \n
\n \n\n \n\n \n\n \n\n {isSkipTrialV3 && (\n \n )}\n\n \n\n {!isSkipTrialV3 && (\n \n )}\n\n {isDiscountPopupShown && (\n \n )}\n
\n \n );\n};\n","import React, { useRef } from 'react';\nimport { useStickyHeader } from 'hooks/useStickyHeader';\nimport { useTranslation } from 'react-i18next';\nimport './styles.scss';\n\ntype StickyHeaderProps = {\n startDate: number;\n trialLength: number;\n};\n\nexport const StickyHeader = ({ startDate }: StickyHeaderProps) => {\n const { t } = useTranslation();\n const timerBox = useRef(null);\n const { isSticky, time } = useStickyHeader({\n timerBox,\n startDate,\n });\n\n if (!time) {\n return null;\n }\n\n return (\n <>\n
\n
\n
{t('stickyHeaderLine1', { time })}
\n
\n
\n\n {isSticky && (\n
\n
{t('stickyHeaderLine2', { time })}
\n
\n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"checkbox\":\"styles_checkbox__dvzdr\",\"radioBtn\":\"styles_radioBtn__YpPaU\",\"price\":\"styles_price__HNAz8\",\"accent\":\"styles_accent__NHhmL\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport styles from './styles.module.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype RadioButtonProps = {\n name: string;\n checked: boolean;\n product: Product;\n description: string;\n currencyCode?: string;\n onChange: (value: string) => void;\n};\n\nexport const RadioButton = ({\n product,\n name,\n checked,\n description,\n currencyCode,\n onChange,\n}: RadioButtonProps) => {\n const { t } = useTranslation();\n\n const handleChange = () => {\n if (!checked) {\n onChange(product.id);\n }\n };\n return (\n
\n \n \n \n {product.getFormattedInvoicePrice(currencyCode)}\n \n
\n );\n};\n\nexport default RadioButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"total\":\"styles_total__LTEYD\",\"bottom9\":\"styles_bottom9__vFyA5\",\"top0\":\"styles_top0__wwSLF\",\"purpleBadge\":\"styles_purpleBadge__zZYJc\",\"accent\":\"styles_accent__0oflo\",\"light\":\"styles_light__Pc1k6\",\"grey\":\"styles_grey__-3mc3\",\"bold\":\"styles_bold__500Km\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { Products } from 'bootstrap/data/product/Product.types';\nimport Divider from 'components/divider/Divider';\nimport { useTranslation } from 'react-i18next';\nimport RadioButton from 'subscription/components/radiobutton/RadioButton';\nimport styles from './styles.module.scss';\n\ntype Props = {\n products: Products;\n product: Product;\n expanded: boolean;\n currencyCode?: string;\n handleChange: (type: string) => void;\n scrollToPaymentForm: () => void;\n};\n\nexport const PaymentFormTemplate = ({\n products,\n product,\n currencyCode,\n handleChange,\n scrollToPaymentForm,\n expanded,\n}: Props) => {\n const { t } = useTranslation();\n const productPrice = product.getFormattedPrice(currencyCode);\n const productInvoicePrice = product.getFormattedInvoicePrice(currencyCode);\n const productWeeklyPrice = product.getFormattedWeeklyPrice(currencyCode);\n\n return (\n
\n handleChange('extended_trial')}\n />\n handleChange('standard_trial')}\n />\n\n \n\n
\n {t('paymentTotalPriceWithoutColon')}\n \n {productInvoicePrice}\n \n
\n\n \n\n
\n {t('paymentAfterTrialPrice')}\n
\n\n
\n {t('paymentPlanDuration', { duration: product.getTerm(t) })}\n \n {t('paymentDuration', { price: productWeeklyPrice })}\n \n
\n\n
\n \n {product.discount?.value || 30}% OFF\n \n \n {t('paymentBilledAt')} {productPrice}\n \n
\n\n \n\n {!expanded && (\n \n )}\n
\n );\n};\n","var _rect, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEarthGlobeNotification(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n opacity: 0.4,\n width: 12,\n height: 12,\n fill: \"url(#pattern0)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern0\",\n patternContentUnits: \"objectBoundingBox\",\n width: 1,\n height: 1\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#image0_8005_1921\",\n transform: \"translate(-0.5 -0.5) scale(0.00390625)\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n id: \"image0_8005_1921\",\n width: 512,\n height: 512,\n xlinkHref: \"data:image/png;base64,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\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEarthGlobeNotification);\nexport default __webpack_public_path__ + \"static/media/earth_globe_notification.fbd49c065769865f1399a89ba275c5b4.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgReviewStar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n fill: \"url(#pattern0)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern0\",\n patternContentUnits: \"objectBoundingBox\",\n width: 1,\n height: 1\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#image0_8012_847\",\n transform: \"scale(0.03125)\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n id: \"image0_8012_847\",\n width: 32,\n height: 32,\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAACNklEQVRYw72WsW/aQBTGPx9uYlpUWfUQpEZyl0pM0LEb/0AqeeyCRJcof0Kmrq3UhWzZoMpcyRIS6lZnY2wyIWUBCRQzWEHEio0x5y6YGLDqszF+k7GO9/vuu/eej+uf1EUAKoAqso1rAArvwwuShMNCIRPyzDRhGkYVgEr8nSeBk+Micu/fxf5fgFUlu+xEqCkQTj/v5EZiAUQSQd4WweWFRC7sLCBXLq2e+UopewEvPn54FlDOWIBvvx/cGxHkuJhIAB+14NWPc3B5ITLRy/OzrXeeZePpawOeZSd3YHHbS2wvHer/hTM5YF+p4G96OKwpTE74O3c6GuZ/uunUgHvbg/X9Eou7fvSuRzqsixYTPFYRUmMC66IVuc5qtECH+n66gKXd4s6EeAIYkufKexSwmdzpaJj9+r1W6Xy5xFysTF0QlpiOdNhX6uqsF3d9CDVlNZz4Sgnz7t90HeAkEQAw17pbhUaHOp6+XcLpaKvJyJy3f1L3AECS5ejFeSFysBBJBDUmkbmMwSB+DUTB/XbN5GuYVpDgPS2rCLL45e20ahoGTMN4Pm9C8ProCPzBQbjVrgvr8REz04RHaeKbMQGgLEWsnzelmI7H4d8Gx8Hk/h72dLoTHIDCeZ639nbw6YsIQANQCesO13EwHY998DWAhtxuqklVbAkIiHjYFLAB/ym3m/XUijAYcrs5CbM9bTjTKKauC7qsh7ThTAIeRqPgz1ThcQdR6vA4AvYCjxJws284APwDSFn6uedpwS4AAAAASUVORK5CYII=\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReviewStar);\nexport default __webpack_public_path__ + \"static/media/review_star.fb62f306ac461ce40b7138d1b312fc67.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 12,\n viewBox: \"0 0 14 12\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 1L4.75 11L1 6.45455\",\n stroke: \"#090110\",\n strokeOpacity: 0.64,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheck);\nexport default __webpack_public_path__ + \"static/media/check.f3b9df237e57c70f1103172be75a4ca8.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport GlobeNotification from 'assets/earth_globe_notification.svg';\nimport Star from 'assets/review_star.svg';\nimport './styles.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n text: string;\n author: string;\n avatar: string;\n};\n\nconst FacebookReview = ({ text, author, avatar }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n \"\"\n
\n
\n {author}\n \"\"\n
\n
\n \"\"\n {t('reviewRecommends')} Loóna\n
\n
\n
\n
{text}
\n
\n );\n};\n\nexport default FacebookReview;\n","import React from 'react';\n\nimport Emma from 'assets/avatars/emma.jpeg';\nimport Amelia from 'assets/avatars/amelia.jpeg';\nimport Zoey from 'assets/avatars/zoey.jpeg';\nimport FacebookReview from 'subscription/components/facebookreview/Review';\nimport { useTranslation } from 'react-i18next';\n\nexport const FacebookReviews = () => {\n const { t } = useTranslation();\n\n return (\n <>\n

{t('reviewsTitle')}

\n
\n \n \n \n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"listAccent\":\"styles_listAccent__81zvY\",\"paymentCheckList\":\"styles_paymentCheckList__m-j7R\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useTranslation } from 'react-i18next';\nimport { Products } from 'bootstrap/data/product/Product.types';\nimport styles from './styles.module.scss';\n\ntype Props = {\n products: Products;\n product: Product;\n currencyCode?: string;\n};\n\nexport const PaymentChecklist = ({\n products,\n product,\n currencyCode,\n}: Props) => {\n const { t } = useTranslation();\n\n return (\n
    \n {product === products.default.extended_trial ? (\n
  • \n {t('paymentChecklistLine1', { trialLength: product.trialLength })}{' '}\n {product.getFormattedInvoicePrice(currencyCode)}\n
  • \n ) : (\n
  • \n {t('paymentChecklistLine3', { trialLength: product.trialLength })}\n
  • \n )}\n
  • {t('paymentChecklistLine2')}
  • \n
\n );\n};\n","import React, { useRef } from 'react';\nimport { useAlertLogic } from './Alert.hook';\nimport './styles.scss';\n\ntype AlertProps = {\n children: JSX.Element[] | JSX.Element;\n className?: string;\n visible: boolean;\n onSuccess: () => void;\n};\n\nconst Alert = ({ children, className, visible, onSuccess }: AlertProps) => {\n const alert = useRef(null);\n const { close } = useAlertLogic({ alert, visible, onSuccess });\n\n return (\n \n
\n {children}\n
\n \n );\n};\n\nexport default Alert;\n","import { RefObject, SyntheticEvent, useEffect } from 'react';\n\ntype Props = {\n alert: RefObject;\n visible: boolean;\n onSuccess: () => void;\n};\n\nexport const useAlertLogic = ({ alert, visible, onSuccess }: Props) => {\n useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n }, [visible]);\n\n const close = (e: SyntheticEvent) => {\n e.preventDefault();\n // eslint-disable-next-line\n if (e.target != alert.current) {\n onSuccess();\n }\n };\n\n return {\n close,\n };\n};\n","import { appAnalytics } from 'analytics';\nimport { SwitchPlan } from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { Products } from 'bootstrap/data/product/Product.types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Alert from 'subscription/components/alert/Alert';\n\ntype Props = {\n products: Products;\n isShownPromoAlert: boolean;\n showPromoAlert: (shown: boolean) => void;\n setNewProduct: (product: Product) => void;\n};\n\nconst PromoAlert = ({\n products,\n isShownPromoAlert,\n showPromoAlert,\n setNewProduct,\n}: Props) => {\n const { t } = useTranslation();\n return (\n showPromoAlert(false)}>\n

{t('promoAlertTitle')}

\n

\n {t('promoAlertQuestionLine1')}\n
\n {t('promoAlertQuestionLine2')}\n

\n {\n showPromoAlert(false);\n }}\n >\n {t('promoAlertContinueButton')}\n \n {\n const newProduct = products.default.standard_trial;\n setNewProduct(newProduct);\n appAnalytics.trackEvent(new SwitchPlan(false, newProduct.id));\n showPromoAlert(false);\n }}\n >\n {t('promoAlertSwitchButton')}\n \n
\n );\n};\n\nexport default PromoAlert;\n","// extracted by mini-css-extract-plugin\nexport default {\"reasonTemplate\":\"styles_reasonTemplate__XG+Gk\",\"paymentContainer\":\"styles_paymentContainer__gYKeK\",\"bottom90\":\"styles_bottom90__tsZNv\",\"title\":\"styles_title__K1KzL\",\"leftTitle\":\"styles_leftTitle__1nF+W\",\"total\":\"styles_total__7FeDx\",\"bottom9\":\"styles_bottom9__9uYu0\",\"top0\":\"styles_top0__0esq+\",\"purpleBadge\":\"styles_purpleBadge__6DDdn\",\"accent\":\"styles_accent__iz5jV\",\"light\":\"styles_light__lssFZ\",\"grey\":\"styles_grey__mfiWO\",\"bold\":\"styles_bold__7i1w3\",\"promocode\":\"styles_promocode__Q6jdH\",\"promocode-btn\":\"styles_promocode-btn__2HlNW\",\"promo-button-applied\":\"styles_promo-button-applied__n5yIc\",\"promo-status-text\":\"styles_promo-status-text__Gv4Xt\",\"applied\":\"styles_applied__lROJv\",\"invalid\":\"styles_invalid__wapfT\",\"payment-check-list\":\"styles_payment-check-list__sklN5\",\"payment\":\"styles_payment__xK+mW\",\"review-container\":\"styles_review-container__GyKbK\",\"footer\":\"styles_footer__m+WQu\"};","import React, { useRef } from 'react';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { Footer } from 'components/footer/Footer';\nimport { pushWithSearchQuery } from 'utils';\nimport { Information } from 'components/information/Information';\nimport { Recurly } from 'subscription/recurly/Recurly';\nimport { TrialOffer } from 'subscription/recurly/components/trialoffer/TrialOffer';\nimport { StickyHeader } from 'subscription/components/stickyheader/StickyHeader';\nimport { Products } from 'bootstrap/data/product/Product.types';\nimport { ReasonToUseTemplate } from 'subscription/components/reasontemplate/ReasonToUseTemplate';\nimport { Header } from 'subscription/components/header/Header';\nimport Divider from 'components/divider/Divider';\nimport { PaymentFormTemplate } from './components/paymentformtemplate/PaymentFormTemplate';\nimport { usePaymentLogic } from './Payment.hook';\nimport { Reviews } from 'subscription/components/reviews/Reviews';\nimport { FacebookReviews } from 'subscription/components/reviews/FacebookReviews';\nimport { PaymentChecklist } from './components/paymentchecklist/PaymentChecklist';\nimport PromoAlert from './components/promoalert/PromoAlert';\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype PaymentProps = {\n products: Products;\n};\n\nexport const Payment = ({ products }: PaymentProps) => {\n const dispatch = useAppDispatch();\n const startDate = Date.now();\n const paymentFormRef = useRef(null);\n\n const { isFacebookReviews } = useFeatures();\n\n const {\n authToken,\n product,\n expanded,\n isTrialOfferShown,\n isShownPromoAlert,\n currencyCode,\n showPromoAlert,\n setNewProduct,\n handleChange,\n scrollToPaymentForm,\n } = usePaymentLogic({ products, paymentFormRef });\n\n if (!authToken) {\n dispatch(pushWithSearchQuery('/create-account'));\n return null;\n }\n\n if (isTrialOfferShown) {\n return ;\n }\n\n return (\n \n
\n \n\n \n\n \n
\n\n \n\n \n\n \n\n {!expanded && }\n\n {isFacebookReviews ? : }\n\n {!isFacebookReviews && !expanded && }\n\n {expanded && (\n
\n {!isFacebookReviews && }\n\n \n\n \n\n \n
\n )}\n \n
\n
\n \n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport {\n ScreenOpened,\n SwitchPlan,\n UnfoldPayment,\n ViewSwitchPlanPrompt,\n} from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { Products } from 'bootstrap/data/product/Product.types';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { RefObject, useEffect, useState } from 'react';\n\ntype Props = {\n products: Products;\n paymentFormRef: RefObject;\n};\n\nexport const usePaymentLogic = ({ products, paymentFormRef }: Props) => {\n const { authToken, hasSubscription, isTrialOfferShown, currency } =\n useAppSelector((state) => state.user);\n\n const [product, setProduct] = useState(\n products.default.extended_trial,\n );\n\n const [expanded, setExpanded] = useState(false);\n const [isShownPromoAlert, setShownPromoAlert] = useState(false);\n\n const showPromoAlert = (shown: boolean) => setShownPromoAlert(shown);\n const expandForm = () => setExpanded(true);\n const setNewProduct = (product: Product) => setProduct(product);\n\n useEffect(() => {\n appAnalytics.trackEvent(new ScreenOpened('onboardingPayment'));\n }, []);\n\n const isExtendedTrial = (selectedProduct: Product): boolean =>\n selectedProduct === products.promo.extended_trial ||\n selectedProduct === products.default.extended_trial;\n\n const handleChange = (type: string) => {\n if (type === 'standard_trial') {\n appAnalytics.trackEvent(new ViewSwitchPlanPrompt());\n showPromoAlert(true);\n } else {\n const newProduct = products.default.extended_trial;\n setNewProduct(newProduct);\n appAnalytics.trackEvent(new SwitchPlan(true, newProduct.id));\n }\n };\n\n const scrollToPaymentForm = () => {\n appAnalytics.trackEvent(new UnfoldPayment(isExtendedTrial(product)));\n expandForm();\n setTimeout(() => {\n if (paymentFormRef.current) {\n window.scroll({\n top: paymentFormRef.current?.offsetTop - 100,\n behavior: 'smooth',\n });\n }\n }, 1);\n };\n\n return {\n authToken,\n hasSubscription,\n isTrialOfferShown,\n isShownPromoAlert,\n expanded,\n product,\n currencyCode: currency,\n isExtendedTrial,\n scrollToPaymentForm,\n handleChange,\n showPromoAlert,\n expandForm,\n setNewProduct,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPurpleCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 12,\n viewBox: \"0 0 14 12\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 1L4.75 11L1 6.45455\",\n stroke: \"#802DF6\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPurpleCheck);\nexport default __webpack_public_path__ + \"static/media/purple_check.1bd2dde8493cd006765ff03bf4fbb783.svg\";\nexport { ForwardRef as ReactComponent };","var _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDot(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 4,\n height: 4,\n viewBox: \"0 0 4 4\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 2,\n cy: 2,\n r: 2,\n fill: \"#090110\",\n fillOpacity: 0.64\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDot);\nexport default __webpack_public_path__ + \"static/media/dot.f38f1e2100e94fe7dd390bc00c3fb981.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInfinity(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22,\n height: 10,\n viewBox: \"0 0 22 10\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.2695 10C16.6438 10 16.0682 9.9018 15.5176 9.70522C14.9669 9.50864 14.4414 9.26305 13.9658 8.94359C13.4903 8.62414 12.9897 8.25564 12.5391 7.838C12.0636 7.42033 11.6381 7.00267 11.2376 6.56032L11.0623 6.36374L10.887 6.53581C10.4866 6.92897 10.0361 7.37114 9.58553 7.78883C9.16007 8.18199 8.68451 8.57515 8.18399 8.89443C7.68347 9.21389 7.15778 9.48415 6.60716 9.68075C6.05653 9.87733 5.45576 9.97554 4.83006 9.97554C4.07916 9.97554 3.40335 9.85265 2.82774 9.60706C2.25214 9.36129 1.75161 9.01734 1.32595 8.57513C0.925459 8.13296 0.60022 7.6169 0.374831 7.00266C0.125003 6.43742 0 5.74951 0 5.03685C0 4.3489 0.100037 3.68547 0.325422 3.07122C0.550637 2.45698 0.851107 1.91644 1.25143 1.47427C1.65192 1.0321 2.15245 0.663468 2.70307 0.393156C3.27868 0.122879 3.9295 0 4.68022 0C5.33091 0 5.93164 0.0982049 6.48226 0.319461C7.05787 0.540549 7.58355 0.810812 8.08408 1.15479C8.5846 1.49877 9.06018 1.89193 9.51078 2.30957C9.9612 2.75174 10.4118 3.19409 10.8373 3.63625L11.0126 3.83284L11.1879 3.63625C11.5883 3.19409 12.0138 2.75174 12.4643 2.30957C12.8897 1.89191 13.3653 1.49877 13.8658 1.15479C14.3663 0.810812 14.892 0.540545 15.4426 0.319461C15.9932 0.0983716 16.5689 0 17.1946 0C17.9203 0 18.5712 0.122884 19.1717 0.368477C19.7473 0.614245 20.273 0.982722 20.6735 1.42489C21.099 1.86706 21.4244 2.4076 21.6496 2.99736C21.8748 3.61161 22 4.27503 22 4.96299C22 5.67543 21.9 6.33886 21.6746 6.9531C21.4494 7.56735 21.1489 8.0834 20.7235 8.52557C20.323 8.96774 19.7975 9.33637 19.2217 9.58198C18.671 9.87711 17.9952 9.99999 17.2695 9.99999L17.2695 10ZM17.2194 1.99024C16.7438 1.99024 16.2683 2.08844 15.8178 2.3097C15.3674 2.50628 14.9418 2.75187 14.5163 3.04684C14.1158 3.34162 13.7153 3.66108 13.34 4.00506C12.9896 4.34903 12.6642 4.66849 12.3889 4.93876L12.2136 5.11083L12.4138 5.2829C12.7393 5.57769 13.0896 5.89715 13.44 6.2166C13.7904 6.53605 14.1909 6.83084 14.5914 7.10111C14.9919 7.37138 15.4174 7.59247 15.8678 7.76454C16.3183 7.93662 16.819 8.03482 17.3195 8.03482C18.2205 8.03482 18.9213 7.74003 19.4218 7.17479C19.8974 6.60973 20.1476 5.89711 20.1476 5.08626C20.1476 4.22623 19.8972 3.48931 19.3967 2.89955C18.8963 2.28495 18.1705 1.99016 17.2194 1.99016L17.2194 1.99024ZM4.70521 1.99024C3.82913 1.99024 3.12838 2.3097 2.62786 2.94846C2.12734 3.56271 1.90213 4.27514 1.90213 5.03698C1.90213 5.89702 2.17745 6.63394 2.67796 7.17452C3.20365 7.73958 3.92938 8.00985 4.80546 8.00985C5.25588 8.00985 5.73146 7.91164 6.207 7.73957C6.65742 7.5675 7.08309 7.3219 7.50852 7.05161C7.90902 6.75683 8.30952 6.46189 8.65992 6.1671C9.0103 5.84764 9.36071 5.55285 9.63602 5.2334L9.8113 5.06133L9.63602 4.88926C9.33573 4.61898 8.98533 4.29954 8.63498 3.95556C8.25962 3.61159 7.85914 3.29213 7.43366 2.99734C7.00818 2.70254 6.55758 2.4568 6.13214 2.2849C5.63144 2.08849 5.15586 1.99029 4.70526 1.99029L4.70521 1.99024Z\",\n fill: \"#802DF6\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfinity);\nexport default __webpack_public_path__ + \"static/media/infinity.92e8d873056a978992173dacd28a4803.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\",\n fill: \"#090110\",\n fillOpacity: 0.08\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 14L12 10L8 14\",\n stroke: \"#090110\",\n strokeOpacity: 0.64,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowUp);\nexport default __webpack_public_path__ + \"static/media/arrow_up.c183725655b766864b2f8825d7fafed6.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__P64J0\",\"title\":\"styles_title__h1xjY\",\"tableContainer\":\"styles_tableContainer__3hOlQ\",\"table\":\"styles_table__x6c+M\",\"coach\":\"styles_coach__kb8g9\",\"loona\":\"styles_loona__o-ZZ1\",\"label\":\"styles_label__btxGG\",\"smallText\":\"styles_smallText__xhX40\"};","import { Product } from 'bootstrap/data/product/Product';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { buildFreePaidTableSampleData } from './data/bodyData';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n};\n\nexport const FreePaidTable = ({ product }: Props) => {\n const { t } = useTranslation();\n const { currency } = useAppSelector((state) => state.user);\n\n const bodyData = useMemo(\n () => buildFreePaidTableSampleData(product, t, currency),\n [product, currency],\n );\n\n return (\n
\n
{t('freePaidTableTitle')}
\n
\n \n \n \n \n \n \n \n \n \n {bodyData.map(({ id, title, coach, loona }) => (\n \n \n \n \n \n ))}\n \n
COACH\n LOÓNA\n
{t(title)}{coach}{loona}
\n
\n
\n );\n};\n","import React, { ReactElement } from 'react';\nimport { ReactComponent as Check } from 'assets/freepaidsection/check.svg';\nimport { ReactComponent as PurpleCheck } from 'assets/freepaidsection/purple_check.svg';\nimport { ReactComponent as Dot } from 'assets/freepaidsection/dot.svg';\nimport { ReactComponent as Infinity } from 'assets/freepaidsection/infinity.svg';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { formatPrice } from 'utils';\nimport styles from '../styles.module.scss';\n\nexport interface RowItem {\n id: number;\n title: string;\n coach: string | React.ReactSVGElement | ReactElement;\n loona: React.ReactSVGElement | ReactElement;\n}\n\nexport const buildFreePaidTableSampleData = (\n product: Product,\n t?: any,\n currency?: string,\n): RowItem[] => [\n {\n id: 1,\n title: 'freePaidTableSubtitle1',\n coach: ,\n loona: ,\n },\n {\n id: 2,\n title: 'freePaidTableSubtitle2',\n coach: ,\n loona: ,\n },\n {\n id: 3,\n title: 'freePaidTableSubtitle3',\n coach: ,\n loona: ,\n },\n {\n id: 4,\n title: 'freePaidTableSubtitle4',\n coach: ,\n loona: ,\n },\n {\n id: 5,\n title: 'freePaidTableSubtitle5',\n coach: '45min',\n loona: ,\n },\n {\n id: 6,\n title: 'freePaidTableSubtitle6',\n coach: (\n \n {formatPrice(200, currency || 'USD', 0)}\n
\n session\n
\n ),\n loona: (\n
\n {product.getFormattedPrice(currency)}
\n \n {product.getRenewPeriodName(t)}\n \n
\n ),\n },\n];\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__tNiu9\",\"title\":\"styles_title__qzLmu\"};","type FaqListItem = {\n id: string;\n question: string;\n answer: string;\n};\n\nexport const faqListData: FaqListItem[] = [\n {\n id: 'loona',\n question: 'faqListQuestion1',\n answer: 'faqListAnswer1',\n },\n {\n id: 'plan',\n question: 'faqListQuestion2',\n answer: 'faqListAnswer2',\n },\n {\n id: 'escape',\n question: 'faqListQuestion3',\n answer: 'faqListAnswer3',\n },\n {\n id: 'includedPlan',\n question: 'faqListQuestion4',\n answer: 'faqListAnswer4',\n },\n {\n id: 'trialWork',\n question: 'faqListQuestion5',\n answer: 'faqListAnswer5',\n },\n {\n id: 'isForMe',\n question: 'faqListQuestion6',\n answer: 'faqListAnswer6',\n },\n];\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\",\n fill: \"#090110\",\n fillOpacity: 0.08\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 10L12 14L16 10\",\n stroke: \"#090110\",\n strokeOpacity: 0.64,\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDown);\nexport default __webpack_public_path__ + \"static/media/arrow_down.c5c00e49a08cef47d5e6fa876dd76362.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"styles_item__c7FBC\",\"questionContent\":\"styles_questionContent__M7ryU\",\"question\":\"styles_question__HzQiz\",\"answer\":\"styles_answer__a1jcm\"};","import React, { useState, useRef, useEffect } from 'react';\nimport { ReactComponent as ArrowUpCircle } from 'assets/arrow_up.svg';\nimport { ReactComponent as ArrowDownCircle } from 'assets/arrow_down.svg';\nimport { appAnalytics } from 'analytics';\nimport { UnfoldFaq } from 'analytics/AllEvents';\nimport styles from './styles.module.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n id: string;\n question: string;\n answer: string;\n};\n\nexport const ListItem = ({ id, question, answer }: Props) => {\n const { t } = useTranslation();\n const [active, setActive] = useState(false);\n const [maxHeight, setMaxHeight] = useState(0);\n const contentRef = useRef(null);\n\n useEffect(() => {\n if (!contentRef || !contentRef.current) return;\n\n if (active) {\n setMaxHeight(contentRef.current.scrollHeight);\n } else {\n setMaxHeight(0);\n }\n }, [contentRef, active]);\n\n const toggleAccordionItem = (event: any) => {\n if (event?.target instanceof HTMLAnchorElement) return;\n\n if (!active) {\n appAnalytics.trackEvent(new UnfoldFaq(id));\n }\n setActive(!active);\n };\n\n return (\n
\n
\n
{t(question)}
\n {active ? : }\n
\n
\n

{t(answer)}

\n
\n
\n );\n};\n","import React from 'react';\nimport style from './styles.module.scss';\nimport { faqListData } from './data/FaqListData';\nimport { ListItem } from './listitem/ListItem';\n\nexport const FaqAccordion = () => {\n return (\n
\n
FAQ
\n {faqListData.map((props) => {\n return ;\n })}\n
\n );\n};\n","import { PlanSelectType } from 'subscription/singleproduct/components/plansection/PlanSection.constants';\nimport { UserActionTypes } from './userActions.types';\n\nexport const SET_PLAN_SELECT_TYPE = 'SET_PLAN_SELECT_TYPE';\n\nexport function setPlanType(planType: PlanSelectType): UserActionTypes {\n return {\n type: SET_PLAN_SELECT_TYPE,\n payload: {\n planType,\n },\n };\n}\n","import { appAnalytics } from 'analytics';\nimport { ContinueUnfoldPayment, ScreenOpened } from 'analytics/AllEvents';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { RefObject, useEffect, useMemo, useState } from 'react';\nimport { isApplePayAvailable } from 'subscription/components/Payments/Payments.utlls';\nimport {\n getMonthDirectProductCode,\n getQuarterDirectProductCode,\n getWeekDirectProductCode,\n} from 'bootstrap/data/product/Product.utils';\nimport { setPlanType } from 'bootstrap/user/actions/setPlanType';\nimport { PlanSelectType } from './components/plansection/PlanSection.constants';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n defaultProduct: Product;\n products: Map;\n paymentFormRef: RefObject;\n};\n\nexport const useSingleProductLogic = ({\n defaultProduct,\n products,\n paymentFormRef,\n}: Props) => {\n const dispatch = useAppDispatch();\n\n const { isFaq } = useFeatures();\n\n const {\n authToken,\n hasSubscription,\n isTrialOfferShown,\n currency,\n isPreventBackPaymentOfferConfirmed,\n planType,\n } = useAppSelector((state) => state.user);\n\n const [expanded, setExpanded] = useState(true);\n const [product, setProduct] = useState(defaultProduct);\n\n const weekProductCode = useMemo(() => getWeekDirectProductCode(), [product]);\n\n const monthProductCode = useMemo(\n () => getMonthDirectProductCode(),\n [product],\n );\n\n const quarterProductCode = useMemo(\n () => getQuarterDirectProductCode(),\n [product],\n );\n\n useEffect(() => {\n if (planType === undefined) {\n dispatch(setPlanType(PlanSelectType.MONTH));\n }\n }, [planType]);\n\n useEffect(() => {\n let productCode = '';\n\n switch (planType) {\n case PlanSelectType.QUARTER:\n productCode = quarterProductCode;\n break;\n case PlanSelectType.MONTH:\n productCode = monthProductCode;\n break;\n case PlanSelectType.WEEK:\n productCode = weekProductCode;\n break;\n default:\n if (isPreventBackPaymentOfferConfirmed) {\n productCode = 'co-loona-web-ar-q-t7-59';\n } else {\n productCode = defaultProduct.code;\n }\n break;\n }\n\n if (productCode && products?.get(productCode)) {\n setProduct(products?.get(productCode) as Product);\n } else {\n setProduct(products?.get(defaultProduct.code) as Product);\n }\n }, [\n isPreventBackPaymentOfferConfirmed,\n planType,\n quarterProductCode,\n monthProductCode,\n products,\n product,\n ]);\n\n useEffect(() => {\n appAnalytics.trackEvent(\n new ScreenOpened('onboardingPayment', {\n isApplePayAvailable: isApplePayAvailable() || {\n reason: {\n paymentRequest: !!window.PaymentRequest,\n applePaySession: !!window.ApplePaySession,\n canMakePayments: !!window.ApplePaySession?.canMakePayments,\n },\n },\n }),\n );\n }, []);\n\n const scrollToPaymentForm = () => {\n setExpanded(true);\n setTimeout(() => {\n const contentHeightBeforePaymentForm = isFaq ? 70 : 100;\n const paymentFormOffsetTop = paymentFormRef.current?.offsetTop || 0;\n const topPosition = +(\n paymentFormOffsetTop - contentHeightBeforePaymentForm\n );\n\n if (paymentFormRef.current) {\n window.scroll({\n top: topPosition,\n behavior: 'smooth',\n });\n }\n }, 1);\n };\n\n const handleGetPlanClick = () => {\n appAnalytics.trackEvent(new ContinueUnfoldPayment(''));\n scrollToPaymentForm();\n };\n\n return {\n product,\n isTrialOfferShown,\n weekProduct: products?.get(weekProductCode) || defaultProduct,\n monthProduct: products?.get(monthProductCode) || defaultProduct,\n quarterProduct: products?.get(quarterProductCode) || defaultProduct,\n planType,\n hasSubscription,\n authToken,\n expanded,\n currencyCode: currency,\n handleGetPlanClick,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgForbes(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 87,\n height: 24,\n viewBox: \"0 0 87 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.5016 0.695663C49.4903 2.96808 49.479 5.23963 49.4694 7.51117C49.4668 8.01099 49.4755 8.02237 49.9158 7.81141C51.1581 7.21442 52.4779 7.07261 53.8151 7.23368C55.1835 7.39825 56.3102 8.09328 57.2045 9.14195C58.2033 10.3132 58.7662 11.6805 58.9463 13.2097C59.0585 14.1682 59.0924 15.132 58.9802 16.0896C58.6905 18.5625 57.7613 20.694 55.6499 22.1576C54.5632 22.9104 53.3505 23.3358 52.0446 23.5039C51.9881 23.5117 51.8993 23.4776 51.8932 23.587C51.5748 23.587 51.2555 23.587 50.9354 23.587C50.9215 23.552 50.9067 23.5573 50.8928 23.587C50.1237 23.587 49.3546 23.587 48.5873 23.587C48.5855 23.4724 48.4924 23.5135 48.4394 23.5074C47.291 23.3621 46.1522 23.1607 45.0186 22.9253C44.8333 22.8859 44.842 22.7835 44.8437 22.6469C44.8985 19.2637 44.942 15.8804 44.9472 12.4963C44.9507 10.3604 44.9333 8.22371 44.8785 6.08872C44.8602 5.36393 44.8742 4.63388 44.6349 3.92659C44.4331 3.3261 44.0746 2.93745 43.4361 2.84378C43.336 2.82803 43.2386 2.79914 43.1403 2.7755C42.7714 2.68359 42.6444 2.44112 42.7557 2.06734C42.7888 1.95617 42.8775 1.9483 42.9567 1.93254C43.6936 1.78198 44.4296 1.63142 45.1682 1.49049C46.3818 1.25764 47.5981 1.03443 48.8117 0.797205C48.8952 0.780574 49.031 0.853227 49.0658 0.696538C49.1093 0.696538 49.1536 0.696538 49.1954 0.696538C49.1858 0.715796 49.1902 0.733304 49.2128 0.730678C49.2232 0.729803 49.2311 0.708793 49.2398 0.696538C49.3276 0.695663 49.4146 0.695663 49.5016 0.695663ZM49.4573 15.553C49.4755 15.553 49.4929 15.5522 49.5103 15.5522C49.5103 17.0184 49.5025 18.4846 49.5138 19.9491C49.519 20.6257 49.5634 21.3041 49.5852 21.9816C49.5904 22.1681 49.6774 22.2617 49.8618 22.2731C49.9332 22.2775 50.0054 22.2898 50.0776 22.2976C51.0346 22.4079 51.8306 22.1059 52.4561 21.3636C52.8789 20.8638 53.1826 20.294 53.4166 19.6856C54.2527 17.5103 54.3605 15.2572 54.0534 12.976C53.9334 12.0866 53.6593 11.2279 53.173 10.4611C52.5988 9.55687 51.8454 8.94237 50.6979 9.02378C50.3568 9.04741 50.0262 9.11131 49.6974 9.20497C49.5321 9.25137 49.4895 9.3284 49.486 9.49209C49.4364 11.5133 49.4634 13.5336 49.4573 15.553ZM0 2.18376C0.511555 2.2144 1.01876 2.27043 1.5103 2.42536C2.26285 2.66521 2.583 3.27096 2.78049 3.96774C3.0006 4.74505 3.05193 5.54775 3.08238 6.34782C3.2094 9.7083 3.1833 13.0705 3.12327 16.4328C3.10413 17.5173 3.06759 18.6045 2.91099 19.6821C2.85357 20.0777 2.77353 20.4699 2.61258 20.8393C2.34724 21.4485 1.90876 21.8425 1.24757 21.9659C0.96308 22.0193 0.682073 22.0911 0.395846 22.1331C0.250558 22.1532 0.145289 22.2661 0 22.2731C0 22.3309 0 22.3895 0 22.4473C0.00521995 22.4578 0.0113099 22.4675 0.0147899 22.4788C0.0156598 22.4815 0.00521995 22.4876 0 22.492C0 22.6819 0 22.8719 0 23.0609C0.0852591 23.1887 0.217498 23.1765 0.344517 23.1774C1.81567 23.1844 3.2877 23.194 4.75972 23.194C6.87641 23.194 8.9931 23.1861 11.1098 23.1844C11.2968 23.1844 11.4282 23.1555 11.4447 22.9235C11.4821 22.4114 11.4273 22.2302 11.1759 22.1786C10.8645 22.1156 10.5521 22.0429 10.2363 22.0105C9.32979 21.9186 8.79735 21.3995 8.54245 20.5496C8.4859 20.3614 8.43544 20.1714 8.39716 19.9797C8.23708 19.177 8.20837 18.3603 8.16313 17.5462C8.07874 16.045 8.06656 14.5429 8.06308 13.0408C8.06308 12.8928 8.11615 12.8569 8.25361 12.8622C9.05748 12.8893 9.86135 12.9138 10.6617 12.9979C11.1794 13.053 11.5961 13.2824 11.9154 13.6982C12.0946 13.9293 12.2399 14.1796 12.3608 14.4457C12.5557 14.872 12.6627 15.3246 12.7671 15.778C12.795 15.8979 12.8428 15.9487 12.9681 15.9478C13.156 15.9469 13.3448 15.968 13.5327 15.9697C13.8642 15.9732 13.8276 16.0143 13.8276 15.687C13.8285 13.3603 13.8285 11.0336 13.8285 8.70602C13.8285 8.66226 13.825 8.61761 13.8285 8.5756C13.8381 8.47143 13.7911 8.43204 13.6893 8.43554C13.4936 8.44254 13.2969 8.45392 13.1021 8.44254C12.8837 8.42679 12.7863 8.50907 12.7384 8.73141C12.6123 9.31527 12.4504 9.89038 12.1268 10.4016C11.7701 10.9644 11.2881 11.3452 10.6078 11.4144C9.85004 11.4923 9.08967 11.5054 8.32843 11.5159C8.12311 11.5194 8.06047 11.4704 8.06047 11.2542C8.05438 8.81019 8.10832 6.36796 8.18575 3.92484C8.19619 3.61234 8.23447 3.30071 8.25187 2.98821C8.25883 2.86654 8.30929 2.8324 8.42674 2.83328C9.55772 2.84116 10.6887 2.84115 11.8197 2.84816C12.9916 2.85604 13.9973 3.2692 14.8142 4.12355C15.2553 4.58311 15.5868 5.12233 15.8765 5.68781C16.1514 6.22615 16.3567 6.79425 16.5838 7.35273C16.7143 7.67486 16.7839 7.70462 17.1145 7.61883C17.3033 7.56894 17.4877 7.50329 17.6774 7.45865C17.7983 7.42976 17.8383 7.37111 17.834 7.24681C17.7783 5.28602 17.7965 3.32348 17.7095 1.36268C17.7017 1.17273 17.6452 1.10095 17.4398 1.10095C12.1912 1.10095 6.94253 1.09395 1.69387 1.09132C1.12925 1.09132 0.562884 1.07119 0 1.13334C0 1.48348 0 1.83362 0 2.18376ZM21.7063 23.5862C21.695 23.4636 21.5958 23.5118 21.534 23.5012C19.9846 23.2474 18.6457 22.59 17.5616 21.431C16.6212 20.4253 16.0766 19.2173 15.7773 17.8894C15.3493 15.9916 15.3371 14.0851 15.9504 12.2354C16.8796 9.43344 18.7857 7.66523 21.7028 7.10063C23.267 6.79688 24.8226 6.89667 26.3251 7.45164C28.3687 8.20882 29.6563 9.7048 30.3592 11.7435C30.8586 13.1922 30.9543 14.6847 30.8525 16.2069C30.7577 17.6329 30.3549 18.9547 29.6041 20.1609C28.4818 21.9659 26.8445 23.0242 24.7878 23.4531C24.6747 23.4767 24.559 23.4872 24.4459 23.5109C24.4085 23.5188 24.3363 23.5012 24.3598 23.5862C24.0988 23.5862 23.8378 23.5862 23.5768 23.5862C23.562 23.5503 23.5472 23.5555 23.5333 23.5862C22.9243 23.5862 22.3144 23.5862 21.7063 23.5862ZM26.0501 15.532C26.0667 15.0051 26.0328 14.4807 26.0049 13.9573C25.9501 12.9226 25.8309 11.8967 25.5342 10.8997C25.2819 10.0506 24.9113 9.2715 24.251 8.65613C23.7873 8.22458 23.2479 8.09853 22.6415 8.21845C22.0308 8.33838 21.6367 8.74366 21.3418 9.25837C20.7528 10.286 20.5683 11.4301 20.45 12.5847C20.3404 13.6588 20.3482 14.7398 20.3587 15.8191C20.3717 17.1357 20.4996 18.4365 20.8798 19.7031C21.1069 20.4611 21.3948 21.1912 21.9508 21.7759C22.7259 22.59 23.8125 22.6023 24.6147 21.8223C25.2089 21.2437 25.4681 20.4988 25.6587 19.7223C25.9979 18.3454 26.0232 16.937 26.0501 15.532ZM66.7275 23.5862C66.7579 23.4855 66.6727 23.5109 66.6318 23.5039C63.2684 22.9944 60.8863 20.4918 60.3609 17.0665C60.0146 14.8037 60.2547 12.5856 61.4553 10.5609C62.6124 8.60973 64.3202 7.4674 66.5378 7.07699C67.6383 6.88354 68.7328 6.89929 69.8125 7.18641C71.2784 7.57769 72.3868 8.45655 73.1341 9.78008C73.9467 11.2165 74.2303 12.7852 74.2207 14.4212C74.2198 14.5901 74.1581 14.6217 74.0041 14.6217C71.0687 14.6304 68.1334 14.6453 65.1989 14.6523C65.0049 14.6532 64.9422 14.6917 64.9501 14.9009C64.9953 16.1194 65.1458 17.3178 65.7104 18.4137C66.5021 19.9456 67.7053 20.9216 69.4636 21.0958C70.404 21.1886 71.3288 21.1422 72.218 20.7833C72.6034 20.6275 72.947 20.3955 73.3002 20.1828C73.4682 20.0821 73.6126 20.0235 73.7727 20.2169C74.0006 20.4918 74.045 20.6327 73.8901 20.8516C73.5795 21.2884 73.1802 21.6376 72.7687 21.9746C71.7308 22.822 70.5311 23.2903 69.2226 23.5047C69.18 23.5118 69.0973 23.4864 69.1208 23.5853C68.5553 23.5853 67.9898 23.5853 67.4252 23.5853C67.4095 23.5459 67.3965 23.5669 67.3808 23.5853C67.2799 23.5853 67.179 23.5853 67.0763 23.5853C67.0624 23.5748 67.0494 23.566 67.0354 23.5555C67.0337 23.566 67.0337 23.5748 67.032 23.5853C66.9319 23.5862 66.8292 23.5862 66.7275 23.5862ZM67.2286 13.2675C67.2286 13.2491 67.2286 13.2307 67.2286 13.2123C67.9089 13.2123 68.5892 13.2036 69.2704 13.2167C69.4801 13.2211 69.5332 13.1476 69.5088 12.9541C69.4853 12.7589 69.4784 12.5628 69.4679 12.3659C69.4288 11.543 69.3374 10.7263 69.1165 9.93152C68.9964 9.5026 68.8407 9.0868 68.5692 8.72703C68.1186 8.12742 67.4583 8.00924 66.8232 8.41015C66.5482 8.5826 66.3264 8.81282 66.1524 9.08418C65.359 10.3202 65.0928 11.7102 64.9857 13.1467C64.9753 13.292 65.0414 13.3121 65.165 13.3095C65.8522 13.2902 66.5413 13.313 67.2286 13.2675ZM81.8662 23.5862C81.8992 23.4584 82.008 23.5153 82.0819 23.5021C83.6958 23.2159 85.1286 22.6031 86.1196 21.2113C86.5154 20.6546 86.7686 20.0313 86.9139 19.3652C86.9252 19.3153 86.9217 19.2628 86.9687 19.2295C86.9704 19.2278 86.9791 19.2339 86.9843 19.2383C86.9896 19.2427 86.9948 19.2488 87 19.254C87 18.6413 87 18.0294 87 17.4149C86.9869 17.4062 86.9661 17.3992 86.9643 17.3895C86.9626 17.3676 86.98 17.3624 87 17.372C87 17.3274 87 17.2836 87 17.2407C86.9304 17.1873 86.9321 17.1873 86.9121 17.1007C86.7738 16.4625 86.4998 15.8909 86.0682 15.4007C85.4297 14.6733 84.5971 14.2321 83.7393 13.8321C82.8936 13.4382 82.0158 13.1143 81.2015 12.6495C80.7256 12.3781 80.2793 12.0709 79.9313 11.6376C79.532 11.1413 79.5259 10.5705 79.6033 9.97704C79.7225 9.05967 80.5751 8.27973 81.4947 8.26922C82.5691 8.25697 83.4252 8.70515 84.0855 9.54461C84.5814 10.1757 84.8929 10.904 85.1748 11.6472C85.4097 12.2643 85.441 12.2722 86.0569 12.0429C86.1839 11.9956 86.2188 11.9335 86.2153 11.8056C86.1805 10.5521 86.1457 9.29864 86.1239 8.04426C86.1204 7.84292 86.0413 7.75714 85.8603 7.68624C84.8938 7.30896 83.8854 7.13827 82.8615 7.02535C81.6852 6.89579 80.5203 6.92468 79.3676 7.2188C77.1465 7.78515 75.5361 9.60326 75.4039 11.6621C75.289 13.4566 75.8954 14.8878 77.4336 15.8673C78.0982 16.2901 78.8369 16.5536 79.5607 16.8486C80.2985 17.1497 81.0371 17.4482 81.6983 17.9042C82.0445 18.1423 82.3421 18.4277 82.5074 18.826C83.0137 20.062 82.2864 21.579 80.9901 21.8713C79.6207 22.1812 78.4428 21.7882 77.518 20.701C76.8872 19.9596 76.474 19.0965 76.1138 18.2027C75.9146 17.709 75.8693 17.688 75.3543 17.8535C75.3195 17.8648 75.2864 17.8815 75.2525 17.8911C75.1307 17.927 75.0863 18.0014 75.0889 18.1327C75.1298 19.5254 75.162 20.9181 75.2003 22.3099C75.2099 22.6732 75.2151 22.6784 75.5648 22.8027C76.5653 23.1581 77.6041 23.3446 78.649 23.503C78.7116 23.5126 78.809 23.468 78.8221 23.5879C79.8356 23.5862 80.8518 23.5862 81.8662 23.5862ZM49.1971 0.695663C49.1876 0.714921 49.1919 0.73243 49.2145 0.729804C49.225 0.728928 49.2328 0.707918 49.2415 0.695663C49.2267 0.695663 49.2119 0.695663 49.1971 0.695663ZM86.9991 17.3711C86.9791 17.3606 86.9617 17.3659 86.9635 17.3887C86.9652 17.3992 86.9861 17.4062 86.9991 17.414C86.9991 17.4009 86.9991 17.3852 86.9991 17.3711ZM0 22.492C0.00521995 22.4876 0.0156598 22.4815 0.0147899 22.4788C0.0113099 22.4683 0.00434996 22.4578 0 22.4473C0 22.4631 0 22.4771 0 22.492ZM23.5768 23.5862C23.562 23.5503 23.5472 23.5555 23.5333 23.5862C23.5472 23.5862 23.562 23.5862 23.5768 23.5862ZM50.9371 23.5862C50.9232 23.5511 50.9084 23.5564 50.8945 23.5862C50.9084 23.5862 50.9232 23.5862 50.9371 23.5862ZM67.0763 23.5862C67.0624 23.5757 67.0494 23.5669 67.0354 23.5564C67.0337 23.5669 67.0337 23.5757 67.032 23.5862C67.0468 23.5862 67.0615 23.5862 67.0763 23.5862ZM67.4243 23.5862C67.4087 23.5468 67.3956 23.5678 67.38 23.5862C67.3956 23.5862 67.4087 23.5862 67.4243 23.5862ZM37.5993 10.1801C37.6358 9.20498 37.6715 8.22896 37.708 7.25381C37.7185 6.97545 37.7019 6.95707 37.4409 7.00609C35.3869 7.38774 33.3398 7.80791 31.2953 8.23333C30.8412 8.32699 30.8229 8.36026 30.8421 8.82857C30.8429 8.84345 30.8429 8.85746 30.8429 8.87234C30.8455 9.01064 30.9117 9.0798 31.0517 9.10256C31.2797 9.13845 31.505 9.19622 31.7329 9.23036C32.321 9.32052 32.6482 9.68554 32.803 10.237C32.957 10.7824 32.9866 11.3443 33.0057 11.9028C33.0692 13.798 33.0753 15.694 33.0336 17.59C33.0118 18.6098 33.0075 19.6304 32.8874 20.6458C32.7943 21.431 32.3872 21.9221 31.6512 22.084C31.4467 22.1296 31.2379 22.1585 31.0335 22.2022C30.9613 22.2171 30.8751 22.2206 30.8751 22.3397C30.8751 22.5287 30.8551 22.7178 30.8525 22.9069C30.8508 23.0714 30.903 23.1861 31.1057 23.166C31.2196 23.1546 31.3371 23.1774 31.4528 23.1774C33.4459 23.1826 35.4391 23.1879 37.4322 23.1896C38.3022 23.1905 39.1722 23.1809 40.0414 23.1852C40.2032 23.1861 40.2623 23.1371 40.2589 22.9769C40.2545 22.7878 40.2684 22.5979 40.2745 22.4088C40.278 22.2705 40.2249 22.2013 40.0735 22.19C39.7708 22.1698 39.4689 22.1304 39.167 22.0946C38.7494 22.0464 38.3492 21.9597 38.0908 21.5728C37.9429 21.3523 37.8568 21.1072 37.8037 20.8481C37.6428 20.0664 37.628 19.2698 37.5975 18.4785C37.5158 16.3794 37.5279 14.2794 37.5845 12.1794C37.5949 11.796 37.7585 11.5518 38.0891 11.389C38.8451 11.0143 39.6359 10.9312 40.4572 11.0905C41.0018 11.1964 41.4968 11.4415 41.9962 11.6726C42.1754 11.7566 42.2755 11.7382 42.3564 11.5352C42.8575 10.272 43.3421 9.00189 43.7849 7.71687C43.8841 7.42888 43.8519 7.35535 43.5857 7.21792C43.5283 7.18816 43.4691 7.1584 43.4073 7.13739C42.473 6.84415 41.5403 6.82401 40.6216 7.19254C39.4993 7.64247 38.6894 8.45217 38.0673 9.47283C37.9221 9.7118 37.7855 9.9569 37.6445 10.1994C37.628 10.1915 37.6132 10.1854 37.5993 10.1801Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForbes);\nexport default __webpack_public_path__ + \"static/media/forbes.2de915757f461c4a0fc36dc809eecd3f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCnn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 53,\n height: 26,\n viewBox: \"0 0 53 26\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M38.8356 13.9423C38.8356 13.9975 38.8356 14.0528 38.8356 14.1076C38.8356 16.2572 38.8345 18.4068 38.8356 20.5565C38.8356 21.2233 38.7663 21.8803 38.5173 22.5047C37.9235 24.002 36.8052 24.8826 35.1766 25.0675C33.4064 25.2684 31.9597 24.6017 30.7743 23.3404C30.4004 22.9427 30.1255 22.4778 29.8416 22.0187C28.1882 19.3484 26.5337 16.6792 24.8793 14.0089C24.8613 13.98 24.8422 13.9516 24.8158 13.9103C24.7798 13.9681 24.7936 14.0192 24.7936 14.0657C24.7915 16.1245 24.7989 18.1837 24.7862 20.2425C24.7804 21.1231 24.5937 21.9701 24.1459 22.7449C23.5368 23.7995 22.5908 24.408 21.4011 24.6812C20.929 24.7902 20.4489 24.8284 19.9651 24.8284C17.6719 24.8294 15.3787 24.8325 13.0855 24.8274C11.3872 24.8237 9.7216 24.5965 8.11843 24.034C4.49597 22.7629 2.02671 20.3499 0.724403 16.8119C0.182435 15.3394 -0.0470425 13.8116 0.00794739 12.2497C0.100478 9.60787 0.913166 7.2067 2.58771 5.11129C3.92651 3.43682 5.64018 2.25664 7.67111 1.51134C9.32609 0.903943 11.0472 0.650345 12.809 0.638982C14.0975 0.630718 15.3856 0.633301 16.6741 0.62607C16.7915 0.625554 16.8111 0.666357 16.8105 0.767589C16.8074 1.69728 16.8068 2.62748 16.8111 3.55717C16.8116 3.66615 16.7788 3.69404 16.6694 3.69404C15.1725 3.69197 13.6761 3.67906 12.1798 3.6992C10.5242 3.72089 8.95121 4.07882 7.50667 4.89436C5.71368 5.90669 4.4891 7.39006 3.74991 9.26544C3.25129 10.5293 3.03979 11.8438 3.11435 13.1944C3.24125 15.5005 4.06874 17.5226 5.75122 19.1738C6.81083 20.213 8.08723 20.8994 9.52437 21.3075C10.5819 21.6081 11.6637 21.7289 12.763 21.7274C15.154 21.7238 17.5455 21.7263 19.936 21.7263C20.8898 21.7263 21.6285 21.0177 21.646 20.0849C21.6497 19.8732 21.6465 19.6609 21.6465 19.4491C21.6465 14.7904 21.6465 10.1326 21.647 5.47387C21.647 5.32305 21.6417 5.1712 21.6824 5.02245C21.812 4.54986 22.3397 4.40473 22.704 4.742C22.7685 4.80191 22.8224 4.87009 22.8695 4.94446C25.8125 9.61097 28.7883 14.2573 31.7562 18.9094C32.2035 19.6098 32.6503 20.3106 33.0987 21.01C33.3382 21.3839 33.6607 21.6571 34.1128 21.7485C34.7584 21.8787 35.3427 21.5079 35.5774 20.8333C35.6589 20.5968 35.6816 20.353 35.6816 20.1051C35.6816 16.2252 35.6816 12.3453 35.6816 8.46539C35.6816 7.44016 35.6816 6.41543 35.6816 5.3902C35.6805 5.26004 35.689 5.13143 35.7302 5.00593C35.8735 4.57414 36.3716 4.43727 36.7227 4.7358C36.8062 4.80708 36.8734 4.89281 36.9321 4.98527C40.3071 10.3315 43.7223 15.6529 47.1237 20.9826C47.2549 21.1871 47.4066 21.3684 47.6091 21.5063C48.333 21.9996 49.2509 21.7444 49.6025 20.9542C49.7252 20.6784 49.7521 20.3876 49.7521 20.0916C49.7521 16.6053 49.7521 13.1195 49.7521 9.63267C49.7521 6.69589 49.7521 3.7586 49.7521 0.821821C49.7521 0.630718 49.7521 0.630719 49.942 0.630719C50.8726 0.630719 51.8021 0.632268 52.7322 0.628653C52.8374 0.628137 52.8749 0.650345 52.8749 0.762424C52.8718 7.44067 52.8749 14.1189 52.8675 20.7977C52.8665 21.7739 52.6174 22.6917 52.0205 23.4933C51.3305 24.4188 50.3866 24.9523 49.2313 25.067C47.166 25.2715 45.5713 24.4307 44.388 22.8208C43.7974 22.0171 43.3231 21.137 42.7986 20.291C41.5068 18.2049 40.2188 16.1167 38.9302 14.0296C38.9096 13.997 38.8879 13.966 38.8663 13.9345C38.8552 13.9371 38.8451 13.9397 38.8356 13.9423ZM31.6488 11.8794C30.3693 9.7215 29.0929 7.56153 27.808 5.40672C27.34 4.62217 26.9065 3.81851 26.3841 3.0665C25.7596 2.16728 24.9871 1.41527 23.9582 0.97057C22.2693 0.24025 20.6773 0.419989 19.2602 1.59656C18.2392 2.44464 17.7744 3.57679 17.7274 4.87112C17.7041 5.48885 17.721 6.10812 17.721 6.72636C17.721 10.1734 17.7216 13.621 17.721 17.0676C17.721 17.6063 17.3853 17.9332 16.8359 17.9332C15.5738 17.9337 14.3122 17.9358 13.0501 17.9327C12.0772 17.9306 11.1265 17.801 10.2192 17.4415C9.18915 17.0335 8.34896 16.3951 7.76205 15.4639C7.06886 14.3637 6.85736 13.1665 7.07151 11.9006C7.292 10.5975 7.91116 9.50406 8.96707 8.66682C9.98016 7.86316 11.1619 7.51298 12.4531 7.50317C13.8564 7.49232 15.2602 7.498 16.6635 7.50214C16.7867 7.50214 16.8179 7.46856 16.8174 7.3508C16.8127 6.43816 16.8121 5.52552 16.8179 4.61288C16.8185 4.4915 16.782 4.46413 16.6625 4.46464C15.2634 4.46826 13.8643 4.46929 12.4653 4.46619C11.7324 4.46464 11.0059 4.52249 10.29 4.67589C8.08723 5.14641 6.3376 6.27805 5.1844 8.17926C3.72029 10.5918 3.50827 13.1598 4.45896 15.7924C5.21084 17.8754 6.66702 19.3541 8.7487 20.2321C9.94949 20.7388 11.2132 20.9495 12.5118 20.9624C13.9241 20.9764 15.3369 20.9671 16.7497 20.9676C17.8125 20.9676 18.8753 20.9686 19.9376 20.9671C20.3558 20.9666 20.6905 20.7316 20.8174 20.3592C20.8602 20.2337 20.8602 20.1051 20.8602 19.9749C20.8597 15.1436 20.8602 10.3124 20.8592 5.48058C20.8592 5.26366 20.875 5.04879 20.9369 4.8391C21.1352 4.16869 21.7009 3.7462 22.3545 3.79785C22.9102 3.84175 23.3046 4.1346 23.5912 4.58963C26.9631 9.93688 30.3703 15.2635 33.767 20.5968C33.8114 20.666 33.8601 20.7336 33.9166 20.7936C34.0694 20.9578 34.2577 21.0477 34.4866 20.9867C34.7087 20.9278 34.8049 20.7543 34.8583 20.5513C34.9006 20.3897 34.8953 20.2254 34.8953 20.0612C34.8964 15.2082 34.8964 10.3552 34.8953 5.50279C34.8953 5.28586 34.9059 5.071 34.9657 4.85976C35.1544 4.18832 35.7123 3.7586 36.3669 3.7963C36.9268 3.82884 37.3281 4.12944 37.6121 4.57517C38.7193 6.31007 39.8148 8.05272 40.9189 9.78916C43.2105 13.3907 45.5042 16.9906 47.7968 20.5916C47.8629 20.6949 47.9332 20.7936 48.0311 20.871C48.3441 21.1184 48.7406 21.0131 48.8818 20.6453C48.9426 20.4883 48.9458 20.3241 48.9458 20.1598C48.9458 13.7016 48.9447 7.24441 48.949 0.7867C48.949 0.656027 48.9046 0.631752 48.7829 0.632785C47.8576 0.637433 46.9313 0.63485 46.006 0.635367C45.8024 0.635367 45.8283 0.621422 45.8283 0.808908C45.8283 4.49408 45.8283 8.17926 45.8283 11.8644C45.8283 11.9135 45.8283 11.962 45.8283 12.023C45.7643 11.9848 45.7511 11.9367 45.7273 11.897C44.0861 9.14975 42.4454 6.40201 40.8052 3.65427C40.3748 2.93221 39.8635 2.27265 39.2078 1.7293C38.3692 1.03513 37.4148 0.594564 36.3071 0.557377C34.825 0.50831 33.6189 1.0749 32.7079 2.21532C32.0306 3.06288 31.7567 4.04628 31.7567 5.11077C31.7567 7.35132 31.7567 9.59186 31.7556 11.8319C31.7556 11.8861 31.7699 11.9429 31.7329 12.0152C31.6985 11.96 31.6726 11.9197 31.6488 11.8794Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCnn);\nexport default __webpack_public_path__ + \"static/media/cnn.597531634f7fa52ce3ec014d2961ea05.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVogue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 89,\n height: 24,\n viewBox: \"0 0 89 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.8593 0.217633C20.6917 0.255655 16.4648 6.1664 16.4648 11.3219C16.4648 16.7473 19.5633 23.3653 25.8593 23.3438C32.1552 23.3224 35.423 16.1975 35.423 11.3219C35.423 5.93652 31.0268 0.179611 25.8593 0.217633ZM25.8593 0.41985C30.1843 0.41985 31.3512 5.33576 31.3512 11.3219C31.3512 19.2206 29.9436 23.1174 25.8593 23.1099C21.7749 23.1025 20.4462 19.9132 20.4462 11.3219C20.4462 5.94021 21.5343 0.41985 25.8593 0.41985Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.129 11.4674C37.1058 5.60122 41.6679 0.404905 45.5297 0.147091C46.9246 0.0453848 48.7177 0.702796 49.7645 1.17111C50.5247 1.51118 52.0764 1.01894 52.3519 0.115883H52.5022V8.10674H52.3519C52.3519 7.76609 50.914 0.347994 45.5297 0.347994C41.5526 0.347994 41.1684 7.54491 41.1684 11.4674C41.1684 15.3899 41.2843 23.1551 45.9253 23.1551C48.1736 23.1551 49.8377 22.1428 50.2691 20.0949V13.868H48.382V13.6027H55.6968V13.868H53.8926V22.9717H53.7457C53.7457 22.9717 53.4524 21.6582 51.9641 21.6625C50.0618 21.6681 48.2678 23.369 46.081 23.3483C40.2975 23.2935 37.1522 17.3336 37.129 11.4674Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.2776 1.00501H0V0.741531H7.97855V1.00501H5.97692L11.6778 16.9381C13.4605 11.2898 14.8415 7.11452 16.7 1.00501H14.7201V0.741531H18.9328V1.00501H17.0144L10.0856 23.2347L2.2776 1.00501Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.8153 17.7919L56.7793 0.979056H54.6113V0.727211H62.5984V0.979056H60.4318L60.4799 19.4134C60.9595 21.5243 61.8123 23.126 64.7257 23.1499C67.6392 23.1737 69.6199 21.3762 70.3559 18.9196V0.979056H67.8759L67.8759 0.73463H88.1744L88.2167 8.80548H88.0216C87.6451 3.59443 85.6913 1.62503 82.2744 1.05049C81.0987 0.852785 79.8652 0.999345 78.3058 0.98687V11.2874C79.6637 11.3954 81.1101 11.307 82.0848 10.4454C82.9712 9.66195 83.2218 7.85175 83.2869 7.11634H83.4585V16.0849H83.2728C83.2192 16.0849 83.1479 13.8343 82.0848 12.7665C81.0149 11.6917 79.6523 11.4275 78.3058 11.6835V22.6868C80.2078 22.6868 81.7239 22.8526 83.0405 22.4811C87.0427 21.3519 88.4516 17.877 88.4408 14.3918H88.6634V22.9473H72.7417V22.6868H74.5419V0.979056H70.6523V18.9196C70.2115 20.6361 68.6002 23.476 64.4709 23.4566C60.6315 23.4386 56.8236 21.6572 56.8153 17.7919Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVogue);\nexport default __webpack_public_path__ + \"static/media/vogue.cd7d8c55d75fb38f21af23147b22d9c2.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBazaar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 80,\n height: 21,\n viewBox: \"0 0 80 21\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.90627 10.5718H4.33422L4.33366 20.1204H6.19004C8.11156 20.1204 9.21611 18.3526 9.25029 15.5473C9.29053 12.2432 7.95864 10.5718 5.90627 10.5718ZM5.44777 1.66481L4.33422 1.65889V10.2714H6.10267C7.63125 10.2714 8.88282 8.70142 8.87423 5.9619C8.86439 2.90362 7.47832 1.66481 5.44777 1.66481ZM6.73591 20.2966H0.0328156C-0.0109385 20.2966 -0.0109385 20.1204 0.0328156 20.1204H1.94983L1.9542 1.66151L0.0328156 1.66481V1.47626H5.77529C8.22074 1.47626 11.2737 1.94021 11.3826 5.85509C11.4901 9.71506 8.1525 10.4241 6.62406 10.4241C9.06951 10.4241 12.0586 12.2097 12.0586 15.3871C12.0586 17.9236 9.90196 20.2966 6.73591 20.2966Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.0826 5.05022L14.4868 14.5302H19.4315L17.0826 5.05022ZM18.9867 20.2692V20.1345L21.0915 20.1356L19.5484 14.7339H14.4887L13.4129 18.6139C13.1727 19.5751 13.0631 20.1345 13.0631 20.1345H15.1117V20.2692H10.9238V20.1345H12.8491C12.8491 20.1345 12.9549 19.6552 13.2169 18.6139L18.0642 0.854984L23.6384 20.1365L25.5747 20.1384V20.2692H18.9867Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.9551 20.2691L35.1832 1.52877H31.2051C28.2802 1.57226 27.4559 5.0715 27.406 8.78021C27.3992 9.27623 27.3586 9.93108 27.3351 10.6651C27.3351 10.6651 27.2021 10.6725 27.2021 10.652L27.2113 1.33884H37.6686L29.5599 20.1369L33.1829 20.1413C36.6792 20.0298 37.3733 17.5558 37.4973 10.6663H37.6572V20.2649L26.9551 20.2691Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M72.15 1.52865H70.7288L70.7307 10.3287H72.4995C74.4864 10.3287 75.4441 9.11426 75.5825 6.07759C75.7342 2.74337 74.0278 1.52865 72.15 1.52865ZM79.2723 20.4829C78.9371 20.6457 78.5343 20.7093 78.0624 20.7093C76.0859 20.7096 75.4089 19.2902 75.4888 15.5295V13.794C75.4888 11.4443 74.3336 10.6287 72.4995 10.6287H70.7307L70.7359 20.1497H73.0149L73.0163 20.2554H66.4296L66.4238 20.1552L68.3607 20.1522L68.3508 1.51159L66.4296 1.51489V1.32496H72.6306C75.6436 1.32496 78.135 2.12954 78.1388 5.97079C78.1425 9.21762 75.4501 10.4581 73.3537 10.4581C76.4545 10.4581 78.293 11.7292 77.9344 15.5829L77.864 17.9859C77.864 19.3476 78.0451 20.3535 78.8411 20.3494C79.0942 20.348 79.3393 20.2897 79.5064 20.1088C79.6855 19.915 79.7881 19.6154 79.8112 19.4244C79.8233 19.3252 79.8669 19.0924 79.8409 18.8348C79.8409 18.8348 79.8518 16.0607 79.8406 16.0474C79.8493 16.058 79.9945 16.0474 79.9945 16.0474L79.9908 17.7763C80.009 19.3246 80.0076 19.5139 79.8743 19.8228C79.787 20.0253 79.6034 20.3224 79.2723 20.4829Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.6998 5.05428L42.1038 14.5342H47.0486L44.6998 5.05428ZM46.6037 20.2734V20.144L48.7088 20.1451L47.1656 14.7379H42.1058L41.0301 18.618C40.7899 19.5792 40.6802 20.1385 40.6802 20.1385H42.7287V20.2734H38.541V20.1385H40.4662C40.4662 20.1385 40.572 19.6593 40.8341 18.618L45.6812 0.859045L51.2554 20.1432L53.1919 20.1454V20.2734H46.6037Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M58.2935 5.05952L55.6976 14.5395H60.6423L58.2935 5.05952ZM60.1975 20.2786V20.1436L62.3026 20.1447L60.7594 14.743H55.6995L54.6238 18.6232C54.3837 19.5844 54.2739 20.1436 54.2739 20.1436H56.3225V20.2786H52.1348V20.1465L54.0599 20.1436C54.0599 20.1436 54.1657 19.6645 54.4278 18.6232L59.275 0.86429L64.8492 20.1457L66.7856 20.1479V20.2786H60.1975Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBazaar);\nexport default __webpack_public_path__ + \"static/media/bazaar.c9c4eba5fe540f18fb1b24c751457198.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTheguardian(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 100,\n height: 34,\n viewBox: \"0 0 100 34\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7141 18.1085C23.0531 17.9384 23.4261 17.7332 23.7651 17.5632C23.9011 17.4958 24.3751 17.3247 24.4431 17.1879C24.4771 17.1195 24.4431 16.9152 24.4431 16.8126V15.9936V10.1612V4.46563V3.71507C24.4431 3.68086 24.4771 3.44241 24.4431 3.40821C24.4091 3.374 24.1381 3.40821 24.1041 3.40821H23.3581C23.0871 3.40821 23.1211 3.44241 22.9511 3.64665C22.3071 4.49983 21.6621 5.35201 21.0181 6.2394C20.7131 6.64888 20.4081 7.02416 20.1371 7.43365C19.9341 7.70631 19.9341 7.74051 19.5611 7.74051L19.6631 5.48884C19.6971 4.94353 19.6971 4.39822 19.7311 3.8519C19.7311 3.64665 19.7651 3.44241 19.7651 3.23817C19.7651 3.16976 19.7311 2.96551 19.7651 2.93131C19.8331 2.82868 20.4431 2.8971 20.6131 2.8971H33.2922C33.3592 2.8971 33.6652 2.8629 33.7322 2.8971C33.8002 2.93131 33.7662 3.13555 33.7662 3.23817C33.8002 3.68086 33.8002 4.15876 33.8342 4.60246C33.8682 5.59146 33.9012 6.54727 33.9692 7.53627V7.74152C33.8002 7.74152 33.6642 7.77573 33.5282 7.6731C33.3932 7.57048 33.2912 7.36624 33.1892 7.22941C32.7822 6.6841 32.3762 6.10357 31.9352 5.55826L30.7142 3.92132C30.6462 3.8187 30.5452 3.58025 30.4092 3.51184C30.3072 3.44443 30.1042 3.47763 29.9682 3.47763H29.4261C29.3581 3.47763 29.0871 3.44342 29.0191 3.47763C28.9851 3.51184 29.0191 3.51183 28.9851 3.58025C28.9171 3.8529 28.9851 4.19398 28.9851 4.46764V16.3367C28.9851 16.5752 28.9171 16.9162 28.9851 17.1547C29.0531 17.3931 29.5951 17.5642 29.8331 17.6668C30.0702 17.8026 30.4772 17.9052 30.6802 18.1095C30.7482 18.1769 30.8162 18.519 30.7482 18.6206C30.7142 18.6548 30.5452 18.6206 30.5112 18.6206H23.0531C22.9851 18.6206 22.7481 18.6548 22.7141 18.6206C22.6801 18.4838 22.7141 18.2101 22.7141 18.1085ZM35.2912 17.4947V12.5145V4.362V3.03192C35.2912 2.82768 35.3592 2.52081 35.2912 2.31557C35.2232 2.07712 34.8162 2.04292 34.5792 1.94029C34.4432 1.90608 34.0032 1.80346 33.9352 1.66764V1.39498H34.0372C34.1732 1.32657 34.4442 1.32656 34.6132 1.29236C34.9182 1.22495 35.2232 1.18974 35.4952 1.12233C36.1732 0.986501 36.8852 0.849669 37.5632 0.747046C37.9702 0.679636 38.3762 0.577014 38.7832 0.508598C38.8852 0.508598 39.2922 0.440183 39.3252 0.508598C39.3592 0.542806 39.3252 0.67863 39.3252 0.712838V7.77372C40.6142 6.47785 42.8512 5.7615 44.6482 6.20418C46.2072 6.57946 46.7162 8.04637 46.7162 9.54748C46.7502 11.4571 46.7162 13.3335 46.7162 15.2431V16.7774C46.7162 16.9484 46.6482 17.3579 46.7162 17.5279C46.7502 17.5964 46.8852 17.6306 46.9532 17.698C47.1902 17.8348 47.4612 17.9706 47.6992 18.1075C47.7332 18.1417 47.8352 18.1749 47.8352 18.2101C47.8692 18.2443 47.8692 18.5512 47.8352 18.5854C47.8012 18.6528 47.8012 18.6186 47.6992 18.6186C47.3262 18.687 46.9192 18.6186 46.5802 18.6186H41.6982C41.6642 18.6186 41.4942 18.6528 41.4612 18.6186C41.4272 18.5854 41.4272 18.2101 41.4612 18.1759C41.5632 18.039 41.9702 17.9032 42.1052 17.8006C42.2072 17.7322 42.5122 17.6306 42.5802 17.5279C42.6482 17.4253 42.5802 17.05 42.5802 16.9484V15.5499C42.5802 13.5719 42.6142 11.5597 42.5802 9.58069C42.5802 9.00117 42.4782 8.31903 41.9022 8.01116C41.5972 7.84113 41.1902 7.80692 40.8512 7.80692C40.5802 7.80692 40.3092 7.87533 40.0722 7.94274C39.8682 8.01116 39.4952 8.14799 39.3602 8.31802C39.2582 8.45485 39.3262 8.65909 39.3262 8.82912V16.879C39.3262 17.049 39.2582 17.3901 39.3262 17.5269C39.3602 17.5954 39.4952 17.6638 39.5972 17.697C39.8342 17.8338 40.1392 17.9696 40.3762 18.1065C40.4102 18.1407 40.4782 18.1407 40.4782 18.1739C40.5122 18.2081 40.5122 18.5159 40.4782 18.5491C40.4442 18.5834 40.4102 18.5834 40.3422 18.5834C39.9692 18.6166 39.5622 18.5834 39.1892 18.5834H34.3082C34.2742 18.5834 34.1042 18.6166 34.0702 18.5834C34.0362 18.5491 34.0702 18.2081 34.1042 18.1407C34.2062 18.0038 34.5792 17.868 34.7142 17.7996C34.9522 17.699 35.1222 17.5964 35.2912 17.4947ZM51.3943 12.7872C51.4623 14.2883 51.9373 15.9594 53.2923 16.7774C54.0053 17.1869 54.8863 17.3237 55.6993 17.2553C56.6823 17.1527 57.4963 16.6748 58.3443 16.2321C58.3443 16.3679 58.3783 16.6074 58.3443 16.7432C58.2773 16.88 58.1073 17.05 58.0053 17.1527C57.8693 17.2895 57.6993 17.4595 57.5303 17.5964C56.9543 18.0733 56.3093 18.4143 55.6323 18.6528C54.3443 19.0955 52.8523 19.0623 51.5293 18.7202C50.4783 18.4475 49.5293 17.9364 48.8172 17.1185C48.1052 16.2995 47.6982 15.2421 47.5292 14.1514C47.1562 11.7982 47.5972 9.10278 49.5292 7.53426C51.2243 6.16998 53.9363 5.89732 55.9363 6.71629C58.3773 7.7053 58.7843 10.5023 58.7843 12.8214H52.3103C52.0043 12.7872 51.6993 12.7872 51.3943 12.7872ZM51.3263 12.2076C52.0043 12.1734 52.6823 12.1392 53.3943 12.0708C53.8003 12.0366 54.2423 12.0366 54.6483 12.0024C54.7153 12.0024 54.8853 12.0024 54.9543 11.9682C55.0563 11.8998 54.9873 11.2176 54.9873 11.0818C54.9543 9.85334 54.9203 8.35323 54.2083 7.29581C53.6993 6.54525 52.9203 6.68209 52.4453 7.36423C51.4623 8.69431 51.3263 10.6723 51.3263 12.2076ZM0 24.6562C0 22.7466 0.373002 20.7676 1.42401 19.1649C2.44101 17.5964 4.06802 16.5731 5.83103 16.062C7.96704 15.4483 10.3401 15.5167 12.5431 15.9252C13.0181 16.0278 13.4921 16.1295 13.9331 16.2663C14.0011 16.3005 14.3061 16.3689 14.3401 16.4363V16.5389C14.4421 16.9484 14.3741 17.4595 14.3741 17.869C14.4081 18.9264 14.4081 20.0181 14.4421 21.0755C14.3061 21.0755 14.0691 21.1097 13.9671 21.0755C13.8991 21.0413 13.8311 20.8702 13.7981 20.8028C13.5271 20.3944 13.2561 19.9849 13.0181 19.5412C12.4421 18.6196 11.8311 17.699 11.2551 16.7784C10.9501 16.2673 10.1031 16.2673 9.56005 16.2673C8.95005 16.2673 8.33904 16.3699 7.83104 16.6768C6.67903 17.3931 6.13603 18.7916 5.83103 20.0533C5.35603 22.0645 5.39003 24.1803 5.49203 26.2268C5.59403 27.7953 5.72903 29.4675 6.34003 30.9002C6.71303 31.7865 7.35704 32.5713 8.34004 32.7755C8.64504 32.844 8.95004 32.844 9.28905 32.8097C9.49305 32.7755 10.2051 32.7413 10.3061 32.5371C10.3401 32.4687 10.3061 32.2986 10.3061 32.2292V31.6507V28.0347V26.6353C10.3061 26.3968 10.3741 26.2942 10.1711 26.1574C9.93405 26.0215 9.66205 25.8847 9.42505 25.7147C9.25605 25.612 8.91704 25.5104 8.81504 25.3736C8.74804 25.3052 8.71304 24.9309 8.78104 24.8615C8.81504 24.7941 8.81504 24.8283 8.91704 24.8283C9.22205 24.7599 9.62905 24.8283 9.93405 24.8283H15.1881C15.5271 24.8283 15.9001 24.7941 16.2391 24.8283H16.3751C16.4091 24.8615 16.4091 25.3394 16.3751 25.4068C16.3071 25.5104 15.9681 25.6462 15.8331 25.7147C15.5961 25.8515 15.3251 25.9873 15.0871 26.1574C14.8161 26.2942 14.8501 26.2942 14.8501 26.6V32.1598C14.8501 32.2272 14.8841 32.3982 14.8501 32.4667C14.7821 32.6377 14.0701 32.7393 13.8671 32.8087C13.2911 32.9788 12.6801 33.1156 12.0711 33.2172C10.8841 33.4215 9.69805 33.4899 8.51104 33.4557C6.61303 33.3883 4.61202 32.9778 3.05302 31.8187C1.69701 30.8297 0.816004 29.3286 0.409002 27.6907C0.102001 26.7369 0 25.6794 0 24.6562ZM15.6281 21.5524C15.6281 21.484 15.5941 21.2113 15.6281 21.1771C15.6621 21.1429 15.6961 21.1771 15.7301 21.1429C15.9341 21.0403 16.2051 21.0403 16.4421 21.0061C17.2221 20.8692 18.0021 20.7334 18.8151 20.5976C19.4251 20.495 20.0361 20.3591 20.6121 20.2897C20.7811 20.2565 20.9851 20.2565 21.1541 20.3239C21.3231 20.3581 21.2561 20.3239 21.2901 20.4608C21.3571 20.8692 21.2901 21.3481 21.2901 21.7566V28.8849C21.2901 29.7381 21.0531 31.3066 21.8661 31.8187C22.2731 32.0914 22.8491 32.0914 23.3241 31.9898C23.6971 31.9214 24.4091 31.6487 24.5451 31.2392C24.5791 31.1366 24.5451 31.0008 24.5451 30.8981V30.1818V25.441V23.2577V22.5424C24.5451 22.474 24.5791 22.2697 24.5451 22.2003C24.4431 22.0977 24.1041 21.9961 24.0031 21.9619C23.7991 21.8945 23.6301 21.7918 23.4271 21.7234C23.3591 21.6902 23.1221 21.656 23.0881 21.5876C23.0541 21.5534 23.0541 21.2465 23.0881 21.2123C23.1221 21.1781 23.1221 21.2123 23.1561 21.1781C23.3251 21.0755 23.6311 21.1107 23.8001 21.0755C25.1901 20.837 26.6141 20.5292 28.0381 20.3249C28.2071 20.2907 28.3771 20.2907 28.5471 20.3249C28.7161 20.3591 28.6491 20.2907 28.6821 20.4618C28.7501 20.8028 28.6821 21.2797 28.6821 21.656V31.4797C28.6821 31.5823 28.6481 31.7523 28.6821 31.8881C28.7161 31.9918 28.6821 31.9566 28.8511 32.025C29.1901 32.1618 29.5631 32.3328 29.9021 32.4677C30.0042 32.5019 30.0371 32.5019 30.0711 32.5713C30.1052 32.6387 30.1052 32.8782 30.0711 32.8782C30.0031 32.9466 29.6641 32.9124 29.5961 32.9466C28.8501 33.0492 28.1041 33.1166 27.3251 33.2192C26.6471 33.2877 25.9691 33.3903 25.3251 33.4577C25.1891 33.4919 25.0541 33.4919 24.9181 33.4577C24.8511 33.4577 24.6471 33.4577 24.6131 33.4235C24.5791 33.3561 24.6131 33.0824 24.6131 33.015V32.4335C24.6131 32.3308 24.6811 32.0582 24.6131 31.9556C24.5451 31.8529 24.4091 31.9898 24.3081 32.0582C24.0371 32.2966 23.7311 32.5361 23.4271 32.7071C22.3081 33.3893 20.9181 33.6951 19.6301 33.4225C18.6811 33.2182 17.8671 32.6729 17.4611 31.7523C17.1561 31.1034 17.0881 30.388 17.0881 29.7059V25.6473V23.3272V22.5434C17.0881 22.475 17.1221 22.2707 17.0881 22.2013C17.0211 22.0987 16.6131 21.9971 16.5121 21.9287C16.1711 21.7918 15.8991 21.6892 15.6281 21.5524ZM47.5972 20.2565C47.6652 20.2565 47.9702 20.2565 48.0042 20.3239C48.0382 20.3581 48.0042 20.5966 48.0042 20.6308V23.633C48.0042 23.7356 47.9702 23.9057 48.0042 24.0073V24.0757C48.1402 24.2115 48.1732 23.7678 48.2082 23.7346C48.5132 22.472 49.0892 21.0051 50.3773 20.494C50.6143 20.3913 50.8523 20.3571 51.0893 20.3229C51.2923 20.3229 51.8693 20.2555 51.9713 20.4255C52.0043 20.494 51.9713 20.664 51.9713 20.7334V24.2115C51.1573 24.0415 50.2423 24.0757 49.4622 24.2457C49.0892 24.3142 48.7512 24.4168 48.4112 24.5878C48.2422 24.6552 48.2082 24.621 48.1742 24.7578C48.1402 24.8947 48.1742 25.1331 48.1742 25.27V31.8529C48.1742 31.9203 48.1402 32.023 48.1742 32.0914C48.2422 32.194 48.4792 32.2614 48.5812 32.2956C48.7512 32.3982 48.9542 32.4999 49.1232 32.6025C49.1912 32.6367 49.2922 32.6709 49.3272 32.7393C49.3612 32.7735 49.3612 33.183 49.3272 33.2172C49.2932 33.2514 49.0902 33.2172 49.0222 33.2172H43.3952C43.2252 33.2172 42.9202 33.2856 42.7852 33.2172H42.6832C42.6492 33.184 42.6832 32.8087 42.6832 32.7745C42.7512 32.5703 43.1922 32.4335 43.3952 32.3318C43.5302 32.2634 43.8022 32.1608 43.8702 32.024C43.9042 31.9566 43.8702 31.7513 43.8702 31.6829V30.9666V22.2003C43.8702 22.1671 43.9042 21.9961 43.8702 21.9619C43.8362 21.9287 43.6662 21.8945 43.5992 21.8945C43.3962 21.826 43.1922 21.7576 42.9892 21.7234C42.7852 21.656 42.2772 21.6208 42.4472 21.2807C42.4812 21.1781 42.6162 21.2133 42.7522 21.1781C44.2442 20.9055 45.7022 20.6318 47.1932 20.3601C47.3262 20.2907 47.4612 20.2907 47.5972 20.2565ZM60.3783 20.5634V17.8358V17.0511C60.3783 16.9484 60.4113 16.7442 60.3783 16.6416C60.3443 16.5732 60.2083 16.5389 60.1073 16.5047C59.8363 16.4021 59.5653 16.2995 59.2593 16.1979C59.0563 16.1295 58.9543 16.1637 58.9543 15.9252C58.9543 15.72 58.9203 15.7884 59.0903 15.7542C59.4633 15.6184 59.9033 15.6183 60.2773 15.5499C61.3953 15.3457 62.4803 15.1404 63.5993 14.9362C63.8363 14.902 64.0743 14.8336 64.3113 14.8688C64.5823 14.903 64.6163 14.8346 64.6163 15.073C64.6503 15.6184 64.6163 16.1989 64.6163 16.7442V31.6829C64.6163 31.8197 64.5833 31.8197 64.6843 31.8871C64.8873 32.024 65.2263 32.0924 65.4303 32.1598C65.5653 32.194 65.9383 32.2624 66.0053 32.364C66.0393 32.3983 66.0393 32.7735 66.0053 32.8077C65.9723 32.8419 65.7693 32.8419 65.7343 32.8419C65.2593 32.9094 64.8183 32.9778 64.3443 33.012C63.2923 33.1488 62.2413 33.2846 61.1563 33.4205C60.9873 33.4547 60.5803 33.5241 60.5123 33.3873C60.4443 33.2504 60.5123 32.8077 60.5123 32.6709C60.5123 32.5683 60.5793 32.1246 60.5123 32.0572C60.4443 31.9898 59.6993 32.6709 59.5973 32.7393C59.1903 33.012 58.7493 33.2172 58.2753 33.353C57.5293 33.5573 56.6813 33.5573 55.9353 33.3873C52.6813 32.6367 52.0023 28.7491 52.2743 25.9169C52.4103 24.4168 52.8843 22.9157 53.9023 21.824C54.8503 20.836 56.1393 20.3239 57.4623 20.2213C58.4793 20.1207 59.4633 20.1881 60.3783 20.5634ZM60.3783 31.4435V23.0525V21.483C60.3783 21.2787 60.3443 21.2455 60.1073 21.1087C59.6323 20.836 59.0223 20.7334 58.5143 20.9377C57.7343 21.2455 57.3613 22.1661 57.1583 22.9157C56.7513 24.2799 56.7183 25.7469 56.7513 27.1796C56.7853 28.408 56.8193 29.9081 57.4973 30.9998C58.1063 31.9556 59.4963 32.195 60.3783 31.4435ZM71.5994 20.2565C71.7694 20.2897 71.9724 20.2223 72.0404 20.3933C72.0734 20.496 72.0404 20.7344 72.0404 20.836V31.5119C72.0404 31.6487 72.0064 31.8529 72.0404 31.9898C72.0734 32.1256 72.2104 32.1598 72.3454 32.2272C72.5494 32.3308 72.7184 32.4325 72.9214 32.5351C72.9894 32.5693 73.1924 32.6377 73.2274 32.7393C73.2274 32.7735 73.2614 33.183 73.2274 33.2172H73.1254C72.9214 33.2514 72.6504 33.2172 72.4134 33.2172H67.2603C67.1243 33.2172 66.7513 33.2856 66.6503 33.2172C66.5833 33.184 66.5483 32.7745 66.6173 32.7061C66.6843 32.6025 66.9223 32.5351 67.0233 32.5009C67.2263 32.3982 67.4303 32.2624 67.6333 32.1598C67.8033 32.0572 67.7693 32.0924 67.7693 31.9556C67.8363 31.4434 67.7693 30.8639 67.7693 30.3518V27.6575V22.7456C67.7693 22.6088 67.8033 22.3704 67.7693 22.2335C67.7353 22.0967 67.5653 22.0977 67.4303 22.0303C67.1923 21.9277 66.9893 21.8592 66.7513 21.7576C66.6843 21.7234 66.4123 21.6902 66.3453 21.5876C66.3113 21.5534 66.3113 21.2123 66.3453 21.1781C66.3783 21.1439 66.4473 21.1781 66.4813 21.1439C66.7523 21.0413 67.0573 21.0413 67.3623 20.9739C67.8033 20.9055 68.2103 20.8028 68.6503 20.7354C69.4984 20.5986 70.3113 20.4276 71.1594 20.2917C71.3284 20.3249 71.4644 20.2907 71.5994 20.2565ZM72.0734 17.0853C72.0064 19.1307 69.2603 20.0181 68.0063 18.4143C67.4303 17.6648 67.3963 16.6416 67.9043 15.8568C68.4123 15.072 69.3953 14.731 70.3103 14.9352C71.3284 15.1405 72.0734 16.0278 72.0734 17.0853ZM86.9234 32.0582V23.8383V22.2687C86.9234 22.2345 86.9564 22.0635 86.9234 22.0303C86.8894 21.9619 86.6854 21.9277 86.6174 21.9277L86.0074 21.7224C85.9054 21.6892 85.6344 21.655 85.5674 21.5524C85.4994 21.484 85.5334 21.3139 85.5334 21.2113C85.5334 21.0061 85.6014 21.0403 85.8044 21.0061L88.0414 20.5976L90.2785 20.1881C90.4145 20.1549 90.5155 20.1207 90.6515 20.1207C90.7195 20.1207 91.0585 20.1207 91.1265 20.1549C91.1605 20.1881 91.1265 20.3933 91.1265 20.4618V21.1107C91.1265 21.2133 91.0595 21.5192 91.1265 21.6218C91.1945 21.7586 91.3295 21.6218 91.4315 21.5192C91.7375 21.2807 92.0425 21.0765 92.3815 20.9055C93.6015 20.2233 95.0595 19.9175 96.4495 20.1217C97.3975 20.2585 98.1785 20.7696 98.5165 21.6912C98.7535 22.3392 98.7875 23.0203 98.7875 23.7034V31.4797C98.7875 31.6165 98.7535 31.8549 98.7875 31.9918C98.8215 32.1276 98.9235 32.1618 99.0925 32.2292C99.2625 32.3328 99.4655 32.4345 99.6355 32.5371C99.7025 32.5713 99.9405 32.6397 99.9745 32.7413C100.008 32.8097 100.008 33.1508 99.9745 33.185C99.9405 33.2524 100.008 33.185 99.9065 33.2182C99.7715 33.2866 99.4665 33.2182 99.2965 33.2182H94.4485C94.2455 33.2182 93.4655 33.3209 93.3635 33.185C93.3305 33.1508 93.3305 32.7755 93.3635 32.7071C93.3975 32.6387 93.6005 32.5703 93.6695 32.5361C93.8725 32.4335 94.0425 32.3318 94.2455 32.2282C94.3125 32.195 94.5165 32.1256 94.5505 32.0582C94.5845 31.9908 94.5505 31.8539 94.5505 31.7855V31.035V28.6475V24.0425C94.5505 23.4972 94.5845 22.8835 94.2455 22.4056C93.9745 21.9961 93.4995 21.8935 93.0245 21.8593C92.6515 21.8593 92.3125 21.8935 91.9735 21.9961C91.8045 22.0635 91.2955 22.2003 91.1945 22.4056C91.1605 22.473 91.1945 22.6098 91.1945 22.6782V31.5129C91.1945 31.6155 91.1605 31.8539 91.1945 31.9556C91.2275 32.0924 91.4305 32.1256 91.5335 32.194C91.7025 32.2966 91.9065 32.3982 92.0755 32.5009C92.1435 32.5351 92.2785 32.6035 92.3125 32.6377C92.3465 32.6719 92.3465 33.0804 92.3125 33.1156C92.3125 33.1498 92.2785 33.1156 92.2455 33.1156C92.1095 33.184 91.7705 33.1156 91.6355 33.1156H85.9404C85.7704 33.1156 85.7364 33.1498 85.7034 33.0482C85.6694 32.9798 85.6694 32.6729 85.7034 32.6045C85.7364 32.5371 85.9404 32.4677 86.0084 32.4345C86.3464 32.3993 86.6174 32.2282 86.9234 32.0582ZM79.7354 25.7821C79.7354 24.8947 79.7694 23.9741 79.7014 23.0525C79.5994 22.0635 79.3294 20.9729 78.2104 20.7676C77.8714 20.7002 77.2614 20.5976 77.0234 20.8702C76.7864 21.1097 76.6164 21.4508 76.4134 21.7234L74.6844 24.0777C74.5824 24.2135 74.4804 24.4862 74.3444 24.5556C74.3114 24.5898 73.9714 24.5898 73.9714 24.5556C73.9384 24.5214 73.9714 24.283 73.9714 24.2135V21.4518C73.9714 21.3491 73.9384 21.1791 73.9714 21.0765C74.0394 20.9055 74.7854 20.8038 74.9544 20.7354C75.9034 20.497 76.8874 20.3259 77.8704 20.2575C79.2604 20.1549 80.8194 20.1891 82.1074 20.8028C83.1244 21.2807 83.7684 22.1329 83.9384 23.2245C84.0404 23.7699 84.0054 24.3836 84.0054 24.9299V31.7513C84.0054 31.8539 83.9384 32.1256 84.0054 32.194C84.0394 32.2272 84.2084 32.2614 84.2424 32.2614C84.5134 32.3298 84.7514 32.3982 85.0224 32.4657C85.1914 32.4999 85.2254 32.4999 85.2254 32.6709C85.2254 32.8419 85.2594 32.8419 85.0554 32.9094C84.8184 33.012 84.5804 33.1136 84.3434 33.182C83.0894 33.5563 81.1224 33.6599 80.2074 32.4989C80.1404 32.3962 79.9364 31.9535 79.8344 31.9193C79.6984 31.8851 79.2924 32.4315 79.1564 32.5331C78.6134 33.011 77.9024 33.2836 77.1894 33.3862C75.8684 33.5563 74.4444 33.2836 73.6294 32.1236C72.9514 31.1356 72.8164 29.6003 73.3244 28.5086C74.2394 26.428 76.9524 26.2238 78.9184 25.8827C79.1594 25.8847 79.4314 25.8163 79.7354 25.7821ZM79.7354 31.4435V26.3948C78.7174 26.4632 77.6674 26.5316 77.2954 27.6575C77.0244 28.408 77.0244 29.2944 77.1254 30.0782C77.1924 30.6245 77.3284 31.3066 77.8374 31.6487C78.3794 32.024 79.2954 31.9556 79.7354 31.4435ZM36.8162 25.7821C36.8162 24.8947 36.8502 23.9741 36.7822 23.0525C36.6802 22.0635 36.4092 20.9729 35.2902 20.7676C34.9512 20.7002 34.3412 20.5976 34.1032 20.8702C33.8662 21.1097 33.6962 21.4508 33.4932 21.7234L31.7642 24.0777C31.6622 24.2135 31.5612 24.4862 31.4252 24.5556C31.3912 24.5898 31.0522 24.5898 31.0522 24.5556C31.0182 24.5214 31.0522 24.283 31.0522 24.2135V21.485C31.0522 21.3824 31.0182 21.2123 31.0522 21.1107C31.1202 20.9397 31.8322 20.838 32.0352 20.7686C32.9842 20.5302 33.9672 20.3601 34.9162 20.2907C36.3062 20.1881 37.8662 20.2233 39.1542 20.837C40.1712 21.3149 40.8152 22.1671 40.9852 23.2577C41.0872 23.8041 41.0532 24.4178 41.0532 24.9631V31.7845C41.0532 31.8871 40.9852 32.1598 41.0532 32.2272C41.0872 32.2614 41.2572 32.2956 41.2902 32.2956C41.5612 32.363 41.7992 32.4325 42.0702 32.4999C42.2392 32.5341 42.2742 32.5341 42.2742 32.7051C42.2742 32.8751 42.3082 32.8751 42.1042 32.9436C41.8672 33.0462 41.6292 33.1478 41.3922 33.2162C40.1382 33.5915 38.1712 33.6941 37.2562 32.5341C37.1882 32.4314 36.9852 31.9888 36.8832 31.9545C36.7472 31.9203 36.3412 32.4657 36.2392 32.5683C35.6972 33.0462 34.9852 33.3178 34.2732 33.4205C32.9512 33.5915 31.5272 33.3178 30.7132 32.1588C30.0352 31.1698 29.9002 29.6345 30.4082 28.5428C31.3242 26.4632 34.0352 26.258 35.9682 25.9169C36.2402 25.8847 36.5112 25.8163 36.8162 25.7821ZM36.8162 31.4435V26.3948C35.7992 26.4632 34.7482 26.5316 34.3752 27.6575C34.1042 28.408 34.1042 29.2944 34.2062 30.0782C34.2742 30.6245 34.4102 31.3066 34.9182 31.6487C35.4602 32.024 36.3762 31.9556 36.8162 31.4435Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTheguardian);\nexport default __webpack_public_path__ + \"static/media/theguardian.eeb5da89edffe5f5411291922ca55df8.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGq(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 69,\n height: 33,\n viewBox: \"0 0 69 33\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.247 18.9118C33.2205 25.0999 27.7509 32.0883 16.9072 32.2005C7.3173 32.2998 0.0310716 25.3563 7.5166e-05 15.9517C-0.0265379 7.83411 7.01647 0.102874 16.821 0.0582072C28.6952 0.00417724 33.1887 8.20373 34.0618 11.4354C33.489 11.4354 22.8715 11.4201 22.8715 11.4201C21.4053 9.72217 20.4746 8.89508 16.8762 8.89508C13.6184 8.89508 9.50138 11.7346 9.5863 16.2796C9.66814 20.6669 13.4019 23.3687 16.8452 23.4278C21.3116 23.5044 23.0804 21.4261 23.0804 21.242H18.4893V13.6507H34.157C35.3185 5.55208 42.8448 0.120944 51.0956 0.117604C61.2478 0.11343 68.4073 7.29518 68.3944 16.4442C68.386 22.4731 64.8753 26.2936 64.8753 26.2936L68.9435 31.3153L59.6506 31.6107L58.9072 30.6851C58.3897 30.9487 55.1163 32.2941 51.0805 32.2606C42.497 32.1893 35.6091 27.2191 34.247 18.9117V18.9118ZM58.4366 18.5496C59.9795 13.9082 56.8009 8.90445 51.1219 8.88477C46.8639 8.86998 43.4537 12.0551 43.543 16.3091C43.6462 21.2325 47.9829 24.0486 52.7683 23.3348L47.8796 17.3923L57.2138 17.0968L58.4366 18.5496Z\",\n fill: \"#090110\",\n fillOpacity: 0.32\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGq);\nexport default __webpack_public_path__ + \"static/media/gq.c139a60a45467067cd6488e8387a21a0.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__DoEKT\",\"title\":\"styles_title__Vd0wm\",\"logosWrapper\":\"styles_logosWrapper__dnYJA\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ReactComponent as Forbes } from 'assets/onboarding/logos/forbes.svg';\nimport { ReactComponent as CNN } from 'assets/onboarding/logos/cnn.svg';\nimport { ReactComponent as Vogue } from 'assets/onboarding/logos/vogue.svg';\nimport { ReactComponent as Bazaar } from 'assets/onboarding/logos/bazaar.svg';\nimport { ReactComponent as TheGuardian } from 'assets/onboarding/logos/theguardian.svg';\nimport { ReactComponent as GQ } from 'assets/onboarding/logos/gq.svg';\nimport styles from './styles.module.scss';\n\nexport const FeatureSection = () => {\n const { t } = useTranslation();\n\n return (\n
\n
{t('featureInTitle')}
\n\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n );\n};\n","import { Product } from 'bootstrap/data/product/Product';\nimport { PlanSelectType } from './PlanSection.constants';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setPlanType } from 'bootstrap/user/actions/setPlanType';\n\ntype Props = {\n disabled?: boolean;\n product: Product;\n currencyCode: string | undefined;\n};\n\nexport const usePlanSectionLogic = ({\n product,\n currencyCode,\n disabled,\n}: Props) => {\n const dispatch = useAppDispatch();\n\n const currentDailyProductPrice = product.getAmountPerDay();\n\n const currentDailyRampPrice =\n product.getFirstRampIntervalAmountPerDay(currencyCode);\n\n const currentDailyFormattedProductPrice =\n product.getFormattedDailyPrice(currencyCode);\n\n const discountPercent = (\n ((currentDailyRampPrice - currentDailyProductPrice) /\n currentDailyRampPrice) *\n 100\n ).toFixed(0);\n\n const onClickHandler = (type: PlanSelectType) => {\n if (!disabled) {\n dispatch(setPlanType(type));\n }\n };\n\n return {\n currentDailyFormattedProductPrice,\n discountPercent: parseFloat(discountPercent),\n onClickHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__JyR-L\",\"title\":\"styles_title__wVboT\",\"submit\":\"styles_submit__lcVf+\",\"container\":\"styles_container__4rmBf\",\"selected\":\"styles_selected__IxBVI\",\"multiple\":\"styles_multiple__N9FV4\",\"label\":\"styles_label__32s-x\",\"content\":\"styles_content__o8tDO\",\"term\":\"styles_term__+daFW\",\"disabled\":\"styles_disabled__pAXmD\",\"discount\":\"styles_discount__WpXv4\",\"new\":\"styles_new__VGo5E\",\"old\":\"styles_old__bCuCd\",\"button\":\"styles_button__wW4HE\",\"price\":\"styles_price__ofbvz\",\"currency\":\"styles_currency__ibmFN\",\"priceLabel\":\"styles_priceLabel__2tsAl\",\"currencySymbol\":\"styles_currencySymbol__LCgKH\",\"firstSymbol\":\"styles_firstSymbol__t2qCf\",\"otherPrice\":\"styles_otherPrice__Tu0Vn\",\"otherPriceSymbols\":\"styles_otherPriceSymbols__GX8Jk\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useTranslation } from 'react-i18next';\nimport { usePlanSectionLogic } from './usePlanSection.hook';\nimport { PlanSelectType } from './PlanSection.constants';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n currencyCode?: string;\n label?: string;\n isSelected: boolean;\n type: PlanSelectType;\n disabled?: boolean;\n isRenewPriceVisible?: boolean;\n isManual?: boolean;\n onClickHandler?: () => void;\n};\n\nexport const PlanSection: React.FC = ({\n product,\n currencyCode,\n label,\n isSelected,\n type,\n disabled,\n isRenewPriceVisible,\n isManual,\n}) => {\n const { t } = useTranslation();\n const { currentDailyFormattedProductPrice, onClickHandler } =\n usePlanSectionLogic({\n disabled,\n product,\n currencyCode,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [currencySign, firstPriceSymbol, point, ...otherPriceSymbols] =\n currentDailyFormattedProductPrice?.split('') || [];\n\n const renderLabel = () =>\n label &&
{label.toUpperCase()}
;\n\n const renderDiscount = () => (\n
\n {isRenewPriceVisible && (\n \n {product.getFormattedRenewsPrice(currencyCode)}\n \n )}\n \n {isManual ? '$5.99' : product.getFormattedPrice(currencyCode)}\n \n
\n );\n\n const renderPrice = () => (\n
\n
\n {currencySign}\n
\n \n {isManual ? '0' : firstPriceSymbol}\n \n
\n \n {isManual ? '86' : otherPriceSymbols.join('')}\n \n \n PER DAY\n \n
\n
\n );\n\n const renderTerm = () => (\n
\n {isManual\n ? '1-Week Plan'\n : t('paymentPlanDuration', {\n duration: product.getPlanSectionTerm(t, false),\n })}\n {renderDiscount()}\n
\n );\n\n return (\n onClickHandler(type)}\n >\n {renderLabel()}\n
\n {renderTerm()}\n {renderPrice()}\n
\n \n );\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcGreenLike(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.2 15.8333C3.2 15.6076 3.12083 15.4123 2.9625 15.2474C2.80417 15.0825 2.61667 15 2.4 15C2.175 15 1.98542 15.0825 1.83125 15.2474C1.67708 15.4123 1.6 15.6076 1.6 15.8333C1.6 16.0677 1.67708 16.2652 1.83125 16.4258C1.98542 16.5864 2.175 16.6667 2.4 16.6667C2.61667 16.6667 2.80417 16.5864 2.9625 16.4258C3.12083 16.2652 3.2 16.0677 3.2 15.8333ZM5.2 9.16667V17.5C5.2 17.7257 5.12083 17.921 4.9625 18.0859C4.80417 18.2509 4.61667 18.3333 4.4 18.3333H0.8C0.583333 18.3333 0.395833 18.2509 0.2375 18.0859C0.0791667 17.921 0 17.7257 0 17.5V9.16667C0 8.94097 0.0791667 8.74566 0.2375 8.58073C0.395833 8.4158 0.583333 8.33333 0.8 8.33333H4.4C4.61667 8.33333 4.80417 8.4158 4.9625 8.58073C5.12083 8.74566 5.2 8.94097 5.2 9.16667ZM20 9.16667C20 9.91319 19.7708 10.5599 19.3125 11.1068C19.4375 11.4887 19.5 11.8186 19.5 12.0964C19.525 12.7561 19.3458 13.3507 18.9625 13.8802C19.1042 14.3663 19.1042 14.8741 18.9625 15.4036C18.8375 15.8984 18.6125 16.3064 18.2875 16.6276C18.3625 17.5998 18.1583 18.3854 17.675 18.9844C17.1417 19.6441 16.3208 19.9826 15.2125 20H13.6C13.05 20 12.45 19.9327 11.8 19.7982C11.15 19.6636 10.6438 19.5378 10.2812 19.4206C9.91875 19.3034 9.41667 19.1319 8.775 18.9062C7.75 18.533 7.09167 18.342 6.8 18.3333C6.58333 18.3247 6.39583 18.24 6.2375 18.0794C6.07917 17.9188 6 17.7257 6 17.5V9.15365C6 8.93663 6.075 8.74783 6.225 8.58724C6.375 8.42665 6.55417 8.33767 6.7625 8.32031C6.9625 8.30295 7.27917 8.04688 7.7125 7.55208C8.14583 7.05729 8.56667 6.53212 8.975 5.97656C9.54167 5.22135 9.9625 4.70052 10.2375 4.41406C10.3875 4.25781 10.5167 4.04948 10.625 3.78906C10.7333 3.52865 10.8063 3.31814 10.8438 3.15755C10.8813 2.99696 10.9375 2.73438 11.0125 2.36979C11.0708 2.03125 11.1229 1.76649 11.1687 1.57552C11.2146 1.38455 11.2958 1.15885 11.4125 0.898438C11.5292 0.638021 11.6708 0.421007 11.8375 0.247396C11.9958 0.0824653 12.1833 0 12.4 0C12.7833 0 13.1271 0.0455729 13.4313 0.136719C13.7354 0.227865 13.9854 0.340712 14.1813 0.47526C14.3771 0.609809 14.5437 0.78559 14.6813 1.0026C14.8188 1.21962 14.9187 1.41493 14.9812 1.58854C15.0437 1.76215 15.0938 1.97917 15.1313 2.23958C15.1687 2.5 15.1896 2.69531 15.1938 2.82552C15.1979 2.95573 15.2 3.125 15.2 3.33333C15.2 3.66319 15.1604 3.99306 15.0813 4.32292C15.0021 4.65278 14.9229 4.91319 14.8438 5.10417C14.7646 5.29514 14.65 5.53819 14.5 5.83333C14.475 5.88542 14.4333 5.96354 14.375 6.06771C14.3167 6.17188 14.2708 6.26736 14.2375 6.35417C14.2042 6.44097 14.1708 6.54514 14.1375 6.66667H17.6C18.25 6.66667 18.8125 6.91406 19.2875 7.40885C19.7625 7.90365 20 8.48958 20 9.16667Z\",\n fill: \"#6DBC81\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcGreenLike);\nexport default __webpack_public_path__ + \"static/media/ic_green_like.15db357e90d5a1647b6246961ec2ab94.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__h0fTJ\",\"descriptionWrapper\":\"styles_descriptionWrapper__ehYJj\",\"boldDescription\":\"styles_boldDescription__R0lDa\",\"addInfo\":\"styles_addInfo__0UqJf\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport GreenLikeIcon from 'assets/onboarding/ic_green_like.svg';\nimport styles from './styles.module.scss';\n\nexport const SocialProof: React.FC = () => {\n const { t } = useTranslation();\n\n return (\n
\n \"\"\n
\n
\n {t('socialProofDescriptionLine1', { percent: 92 })}\n
\n
\n {t('socialProofDescriptionLine2', { year: 2022 })}\n
\n
\n
\n );\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { StickyHeader } from 'subscription/components/stickyheader/StickyHeader';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { SocialProof } from '../socialproof/SocialProof';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n handleGetPlanClick: () => void;\n children: JSX.Element[] | JSX.Element;\n};\n\nexport const PlanSectionWrapper = ({\n product,\n children,\n handleGetPlanClick,\n}: Props) => {\n const { t } = useTranslation();\n\n const startDate = Date.now();\n\n return (\n
\n

{t('planSectionTitle')}

\n\n \n\n {children}\n\n \n \n
\n );\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconAppleNew(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.1227 16.8524C25.0787 16.8524 21.9147 14.5284 18.5827 14.6124C14.1867 14.6684 10.1547 17.1604 7.88669 21.1084C3.32269 29.0324 6.71069 40.7364 11.1627 47.1764C13.3467 50.3124 15.9227 53.8404 19.3387 53.7284C22.6147 53.5884 23.8467 51.6004 27.8227 51.6004C31.7707 51.6004 32.8907 53.7284 36.3627 53.6444C39.8907 53.5884 42.1307 50.4524 44.2867 47.2884C46.7787 43.6484 47.8147 40.1204 47.8707 39.9244C47.7867 39.8964 41.0107 37.2924 40.9267 29.4524C40.8707 22.9004 46.2747 19.7644 46.5267 19.6244C43.4467 15.1164 38.7147 14.6124 37.0627 14.5004C32.7507 14.1644 29.1387 16.8524 27.1227 16.8524ZM34.4027 10.2444C36.2227 8.06038 37.4267 5.00838 37.0907 1.98438C34.4867 2.09638 31.3507 3.72038 29.4747 5.90438C27.7947 7.83638 26.3387 10.9444 26.7307 13.9124C29.6147 14.1364 32.5827 12.4284 34.4027 10.2444Z\",\n fill: \"#090110\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconAppleNew);\nexport default __webpack_public_path__ + \"static/media/icon_apple_new.59fc41050f602573d1f4350234b13020.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconAppleWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.1227 16.8524C25.0787 16.8524 21.9147 14.5284 18.5827 14.6124C14.1867 14.6684 10.1547 17.1604 7.88669 21.1084C3.32269 29.0324 6.71069 40.7364 11.1627 47.1764C13.3467 50.3124 15.9227 53.8404 19.3387 53.7284C22.6147 53.5884 23.8467 51.6004 27.8227 51.6004C31.7707 51.6004 32.8907 53.7284 36.3627 53.6444C39.8907 53.5884 42.1307 50.4524 44.2867 47.2884C46.7787 43.6484 47.8147 40.1204 47.8707 39.9244C47.7867 39.8964 41.0107 37.2924 40.9267 29.4524C40.8707 22.9004 46.2747 19.7644 46.5267 19.6244C43.4467 15.1164 38.7147 14.6124 37.0627 14.5004C32.7507 14.1644 29.1387 16.8524 27.1227 16.8524ZM34.4027 10.2444C36.2227 8.06038 37.4267 5.00838 37.0907 1.98438C34.4867 2.09638 31.3507 3.72038 29.4747 5.90438C27.7947 7.83638 26.3387 10.9444 26.7307 13.9124C29.6147 14.1364 32.5827 12.4284 34.4027 10.2444Z\",\n fill: \"#FFFFFF\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconAppleWhite);\nexport default __webpack_public_path__ + \"static/media/icon_apple_white.d8d7fff7d4b458b807166efc2ce80e03.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconGooglePlayNew(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 52,\n height: 52,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.7604 22.1016L37.9539 17.0156L25.8883 26.0307L37.9537 35.0458L46.7902 29.9423C48.168 29.1053 48.9902 27.6426 48.9902 26.0309C48.9902 24.4193 48.1679 22.9567 46.7604 22.1016Z\",\n fill: \"#FF9100\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.9388 26.0302C28.9255 26.0472 18.2708 39.7461 18.2622 39.7572L4.38259 50.688C3.52836 49.8338 3.00989 48.6748 3.00989 47.3934V4.59127C3.00989 3.31018 3.52836 2.1509 4.38259 1.29688L18.2622 12.3031C18.2708 12.3142 28.9255 26.0132 28.9388 26.0302Z\",\n fill: \"#25D9F8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.9388 26.0309L25.8883 29.9659V22.0957L28.9388 26.0309Z\",\n fill: \"#00C0F1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.9682 17.0011L28.9387 26.0305L4.38257 1.29731C4.68751 1.02267 4.99266 0.809137 5.32821 0.595605C6.79233 -0.227916 8.53119 -0.197513 9.965 0.68722L25.8883 10.0461L37.9682 17.0011Z\",\n fill: \"#7FE881\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.9682 17.0018L28.9388 26.0313L25.8883 22.9808V10.0469L37.9682 17.0018Z\",\n fill: \"#5BC980\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.9682 35.0605L25.8883 42.0156L9.9345 51.3297C9.20239 51.7567 8.40927 52.0007 7.58555 52.0007C6.82293 52.0007 6.06032 51.7872 5.32821 51.3906C4.99266 51.1771 4.68751 50.9636 4.38257 50.6891L28.9387 26.0312L37.9682 35.0605Z\",\n fill: \"#FF637B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.9682 35.0605L25.8883 42.0156V29.0817L28.9388 26.0312L37.9682 35.0605Z\",\n fill: \"#E63950\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 52,\n height: 52,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconGooglePlayNew);\nexport default __webpack_public_path__ + \"static/media/icon_google_play_new.b599fee8aa4858ae675ea9d379083235.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"note\":\"styles_note__Kg4Uo\",\"light\":\"styles_light__Q9vPR\"};","import React from 'react';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\ntype Props = {\n product: Product;\n currencyCode?: string;\n trialLength: number;\n};\n\nexport const Note = ({ product, currencyCode, trialLength }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n {!!trialLength ? (\n <>\n {t('paymentNoteLine1', { trialLength: product.trialLength })}{' '}\n {product.getTrialEndFormattedDate()}.{' '}\n \n {t('paymentNoteLine2', {\n periodAdverb: product.getRenewPeriodAdverbName(t),\n period: product.getRenewPeriodName(t),\n price: product.getFormattedPrice(currencyCode),\n trialLength: product.trialLength,\n })}\n {' '}\n {t('paymentNoteLine3')}{' '}\n {t('paymentNoteLine4')}\n \n ) : (\n <>\n Introductory subscription price is{' '}\n {product.getFormattedPrice(currencyCode)}. Renews automatically every{' '}\n {product.getRenewPeriodName(t)} at{' '}\n {product.getFormattedRenewsPrice(currencyCode)}.{' '}\n \n You will receive an email receipt each time your subscription\n renews. You can cancel your subscription anytime in your Account\n details in the app.\n \n \n )}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__DAJ9Y\",\"dark\":\"styles_dark__eBOmA\",\"markets\":\"styles_markets__kyHJX\",\"market\":\"styles_market__RVZf3\",\"google\":\"styles_google__G5T5z\",\"apple\":\"styles_apple__1KJUc\",\"rating\":\"styles_rating__UFxIS\",\"metrics\":\"styles_metrics__hlAw+\",\"verticalDivider\":\"styles_verticalDivider__t+iXI\"};","import React from 'react';\nimport AppleLogo from 'assets/icon_apple_new.svg';\nimport AppleLogoLight from 'assets/icon_apple_white.svg';\nimport GooglePlayLogo from 'assets/icon_google_play_new.svg';\nimport { Product } from 'bootstrap/data/product/Product';\nimport Stars from 'components/stars/Stars';\nimport { Note } from '../note/Note';\nimport styles from './styles.module.scss';\n\ntype Props = {\n darkTheme?: boolean;\n currencyCode?: string;\n product: Product;\n};\n\nexport const MarketInfo = ({\n darkTheme = false,\n product,\n currencyCode,\n}: Props) => {\n return (\n
\n \n\n
\n
\n \"\"\n Google Play\n
\n
\n \"\"\n App Store\n
\n
\n
\n \n
\n
\n 4.9 out of 5\n
\n
\n
\n
\n
\n 1M+ downloads\n
\n
\n
\n 38K 5-star ratings\n
\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paymentContainer\":\"styles_paymentContainer__5-2ND\",\"bottom90\":\"styles_bottom90__5ghb5\",\"payment\":\"styles_payment__kUA4A\",\"footer\":\"styles_footer__j7sl5\"};","import React, { useRef } from 'react';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { Footer } from 'components/footer/Footer';\nimport { pushWithSearchQuery } from 'utils';\nimport { Information } from 'components/information/Information';\nimport { Recurly } from 'subscription/recurly/Recurly';\nimport { Reviews } from 'subscription/components/reviews/Reviews';\nimport { TrialOffer } from 'subscription/recurly/components/trialoffer/TrialOffer';\nimport { FacebookReviews } from 'subscription/components/reviews/FacebookReviews';\nimport { Product } from 'bootstrap/data/product/Product';\nimport { ReasonToUseTemplate } from '../components/reasontemplate/ReasonToUseTemplate';\nimport { Header } from '../components/header/Header';\nimport { FreePaidTable } from './components/freepaidtable/FreePaidTable';\nimport { FaqAccordion } from './components/faq/FaqAccordion';\nimport Divider from '../../components/divider/Divider';\nimport { useSingleProductLogic } from './SingleProductPayment.hook';\nimport { FeatureSection } from 'subscription/components/featuresection/FeatureIn';\nimport { PlanSection } from './components/plansection/PlanSection';\nimport { PlanSectionWrapper } from './components/plansection/PlanSectionWrapper';\nimport { PlanSelectType } from './components/plansection/PlanSection.constants';\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\nimport { MarketInfo } from 'subscription/recurly/components/marketinfo/MarketInfo';\nimport { useFeatures } from 'useFeatures';\nimport styles from './styles.module.scss';\n\ntype Props = {\n defaultProduct: Product;\n products: Map;\n};\n\nexport const SingleProductPayment = ({ defaultProduct, products }: Props) => {\n const dispatch = useAppDispatch();\n const paymentFormRef = useRef(null);\n\n const { isFacebookReviews, isFaq, isFreeVsPaid, isFeaturedInFlow } =\n useFeatures();\n\n const {\n authToken,\n currencyCode,\n isTrialOfferShown,\n product,\n weekProduct,\n monthProduct,\n quarterProduct,\n planType,\n handleGetPlanClick,\n } = useSingleProductLogic({\n defaultProduct,\n products,\n paymentFormRef,\n });\n\n if (!authToken) {\n dispatch(pushWithSearchQuery('/create-account'));\n return null;\n }\n\n if (isTrialOfferShown) {\n return ;\n }\n\n return (\n \n
\n \n
\n\n {isFeaturedInFlow && }\n\n \n \n \n\n \n \n\n {isFreeVsPaid ? (\n \n ) : (\n \n )}\n\n \n\n {isFacebookReviews ? : }\n\n {!isFacebookReviews && }\n\n {isFaq && }\n\n \n\n
\n \n
\n\n \n\n
\n
\n
\n \n );\n};\n","import React from 'react';\nimport { convertToProducts } from 'bootstrap/data/product/Product.utils';\nimport { Payment } from 'subscription/payment/Payment';\nimport { SingleProductPayment } from 'subscription/singleproduct/SingleProductPayment';\nimport { withDefaultProduct } from 'subscription/withDefaultProduct/withDefaultProduct';\nimport { useFeatures } from 'useFeatures';\n\nexport const Subscription = withDefaultProduct(({ product, products }) => {\n const { isPreselectProductOffer } = useFeatures();\n return (\n <>\n {isPreselectProductOffer ? (\n \n ) : (\n \n )}\n \n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"plus\":\"styles_plus__7bSTZ\"};","import React from 'react';\nimport { SuccessTemplate } from 'onboarding/components/successtemplate/SuccessTemplate';\nimport { useTranslation } from 'react-i18next';\nimport { useCongratsLogic } from 'success/congrats/Congrats.hook';\nimport styles from './styles.module.scss';\n\nexport const Congrats = () => {\n const { t } = useTranslation();\n const { oldUser, handleButtonClick } = useCongratsLogic();\n\n return (\n \n {oldUser\n ? t('successTemplateDescription')\n : t('successTemplateDescription2')}\n
\n of Loóna PLUS\n \n }\n onButtonClick={handleButtonClick}\n button={\n oldUser\n ? t('successTemplateContinueButton')\n : t('successTemplateInstallButton')\n }\n />\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { Install, ViewCongrats } from 'analytics/AllEvents';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { SyntheticEvent, useEffect } from 'react';\nimport { getOneLink, isDevEnv } from 'utils';\n\nexport const useCongratsLogic = () => {\n const { authToken, oldUser, email } = useAppSelector((state) => state.user);\n\n const qrCodeLink = getOneLink({\n qr: true,\n mediaSource: 'web_payments',\n campaign: 'qr',\n deepLink: authToken,\n });\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewCongrats(!oldUser));\n }, []);\n\n const handleButtonClick = (e?: SyntheticEvent) => {\n e?.preventDefault();\n appAnalytics.trackEvent(new Install());\n window.location.href = getOneLink({\n webDp: `${process.env.REACT_APP_FRONTEND_URL}/install`,\n mediaSource: isDevEnv() ? 'web_payments_dev' : 'web_payments',\n deepLink: authToken,\n });\n };\n\n return { qrCodeLink, email, oldUser, handleButtonClick };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__PMIQb\",\"particles\":\"styles_particles__+FIz2\",\"content\":\"styles_content__8hKtY\",\"overlay\":\"styles_overlay__DZocq\",\"gradient\":\"styles_gradient__nCkMj\",\"start\":\"styles_start__PY0Qv\",\"end\":\"styles_end__mt0gO\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype BackgroundProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport const FogBackground = ({ className, children }: BackgroundProps) => {\n return (\n
\n
\n
\n
\n
\n
\n
{children}
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__GVFIp\",\"content\":\"styles_content__pVoE8\",\"overlay\":\"styles_overlay__qhxMc\",\"particles\":\"styles_particles__f8rSh\",\"logo\":\"styles_logo__UeAQf\",\"cardContainer\":\"styles_cardContainer__zBtHX\"};","import React from 'react';\nimport MonthlySubscriptionCard from 'assets/monthly_subscription.png';\nimport Logo from 'assets/logo_loona.svg';\nimport styles from './styles.module.scss';\n\ntype BackgroundProps = {\n className?: string;\n children: React.ReactNode;\n};\n\nexport const PlanImage = ({ className, children }: BackgroundProps) => {\n return (\n
\n
\n
\n \"Loóna\"\n \n
\n
{children}
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__9aPAi\",\"logo\":\"styles_logo__E7579\",\"cardContainer\":\"styles_cardContainer__ESjhv\",\"textWrapper\":\"styles_textWrapper__w940Z\"};","import React from 'react';\nimport Logo from 'assets/logo_loona.svg';\nimport { FogBackground } from '../fogbackground/FogBackground';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport MonthlySubscriptionCard from 'assets/monthly_subscription.png';\nimport { PlanImage } from '../planimage/PlanImage';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport const WelcomeTemplate = ({ children }: Props) => {\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n if (isLargeScreen) {\n return (\n \n
\n \"Loóna\"\n
\n \n {children}\n
\n
\n
\n );\n } else {\n return (\n \n
{children}
\n
\n );\n }\n};\n","import { Event } from 'analytics/Event';\nimport { Events } from 'analytics/Events';\n\nexport class ViewPIScreen extends Event {\n constructor(screenName: string) {\n super(Events.ViewPIScreen, { screenName });\n }\n}\n\nexport class ContinuePIWelcome extends Event {\n constructor() {\n super(Events.ContinuePIWelcome);\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__dRHPO\",\"accent\":\"styles_accent__zzlFE\",\"advantages\":\"styles_advantages__yzNjf\"};","import React, { useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { pushWithSearchQuery } from 'utils';\nimport { WelcomeTemplate } from 'invitepurchase/components/welcometemplate/WelcomeTemplate';\nimport { Amplitude } from 'analytics/Amplitude';\nimport { ViewPIScreen, ContinuePIWelcome } from 'invitepurchase/analytics';\nimport styles from './styles.module.scss';\n\nexport const Welcome = () => {\n const dispatch = useAppDispatch();\n const { inviteCodeId } = useParams<{ inviteCodeId: string }>();\n\n useEffect(() => {\n Amplitude.setUserProperty('invite_code', inviteCodeId);\n appAnalytics.trackEvent(new ViewPIScreen('piWelcome'));\n }, []);\n\n const onContinue = () => {\n appAnalytics.trackEvent(new ContinuePIWelcome());\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/signin`));\n };\n\n return (\n \n
\n Claim your free month\n
\n of Loóna Plus\n
\n
    \n
  • \n Art activities improve\n emotional\n
    and mental well-being\n
  • \n
  • \n \n Cognitive behavioral therapy (CBT)\n
    \n
    {' '}\n helps to overcome negative thoughts\n
  • \n
  • \n Calming music sounds are\n effective
    for stress management\n
  • \n
\n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__9TFMS\",\"title\":\"styles_title__124zF\",\"description\":\"styles_description__7Kcqx\",\"formContainer\":\"styles_formContainer__WCbkW\",\"inputContainer\":\"styles_inputContainer__F3mb7\",\"delete\":\"styles_delete__rdIu1\",\"errorLabel\":\"styles_errorLabel__46dvl\",\"legal\":\"styles_legal__8e4CY\",\"disclaimer\":\"styles_disclaimer__5YSEW\",\"bigBackgroundContainer\":\"styles_bigBackgroundContainer__2m8cC\"};","import React from 'react';\nimport Delete from 'assets/ic_delete.png';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { PasswordInput } from 'components/passwordinput/PasswordInput';\nimport Alert from 'components/error/Error';\nimport Spacer from 'components/spacer/Spacer';\nimport { useSignInLogic } from './SignIn.hook';\nimport styles from './styles.module.scss';\n\nexport const SignIn = () => {\n const {\n isLargeScreen,\n isLoading,\n emailState,\n passwordState,\n errorState,\n setEmailState,\n onPasswordChange,\n onEmailChange,\n setErrorState,\n handleSubmit,\n } = useSignInLogic();\n\n const content = (\n
\n
Sign in
\n
\n Create your Loóna account to claim a free month of Loóna Plus.\n
\n\n
\n
\n \n {emailState.value && (\n setEmailState({ ...emailState, value: '' })}\n />\n )}\n
\n
{emailState.error}
\n\n {passwordState.isVisible && (\n <>\n \n
{passwordState.error}
\n \n )}\n\n \n\n \n By continuing, you agree to Loóna's\n
\n Terms of Use &{' '}\n Privacy Policy\n
\n\n \n\n

\n Your information is 100% secure. Loóna does not share any personal\n information. By submitting your email address, you may also receive\n emails from Loóna about new offers, features and updates. You may\n unsubscribe at any time.\n

\n \n
\n );\n\n return (\n <>\n setErrorState({ ...errorState, isVisible: false })}\n />\n {isLargeScreen ? (\n
{content}
\n ) : (\n content\n )}\n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { emailLogin, registerNoPassword } from 'bootstrap/user/actions';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport { ViewPIScreen } from 'invitepurchase/analytics';\nimport { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { pushWithSearchQuery, validateEmail } from 'utils';\nimport {\n EMAIL_VALIDATION_ERROR,\n PASSWORD_VALIDATION_ERROR,\n} from 'utils/utils.constants';\n\nexport const useSignInLogic = () => {\n const dispatch = useAppDispatch();\n const { inviteCodeId } = useParams<{ inviteCodeId: string }>();\n\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n const [emailState, setEmailState] = useState({\n value: '',\n error: '',\n });\n\n const [passwordState, setPasswordState] = useState({\n value: '',\n error: '',\n isVisible: false,\n });\n\n const [errorState, setErrorState] = useState({\n error: '',\n isVisible: false,\n });\n\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewPIScreen('piAccount'));\n }, []);\n\n const handleSubmit = async (): Promise => {\n setErrorState({ ...errorState, isVisible: false });\n\n if (!isLoading && validateForm()) {\n setIsLoading(true);\n let action;\n if (passwordState.value !== '') {\n action = emailLogin(emailState.value, passwordState.value, 'pi');\n } else {\n action = registerNoPassword(emailState.value, '');\n }\n\n dispatch(action)\n .then(() => {\n setIsLoading(false);\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/payment`));\n })\n .catch((message) => {\n setIsLoading(false);\n if (message?.email) {\n setEmailState({ ...emailState, error: EMAIL_VALIDATION_ERROR });\n } else if (message?.password || message === 'WRONG_PASSWORD') {\n setPasswordState({\n ...passwordState,\n error: PASSWORD_VALIDATION_ERROR,\n });\n } else if (message === 'DATA_EXIST') {\n setPasswordState({\n ...passwordState,\n isVisible: true,\n });\n } else {\n setErrorState({\n ...errorState,\n error: message,\n isVisible: true,\n });\n }\n });\n }\n };\n\n const validateForm = (): boolean => {\n const isEmailValid = validateEmail(emailState.value);\n const isPasswordValid = passwordState.value !== '';\n\n if (!isEmailValid) {\n setEmailState({\n ...emailState,\n error: EMAIL_VALIDATION_ERROR,\n });\n return false;\n } else if (passwordState.isVisible && !isPasswordValid) {\n setPasswordState({\n ...passwordState,\n error: PASSWORD_VALIDATION_ERROR,\n });\n return false;\n } else return true;\n };\n\n const onEmailChange = (event: React.ChangeEvent) => {\n const isValid = validateEmail(event.target.value);\n\n setEmailState({\n ...emailState,\n error: isValid ? '' : 'Please enter a valid email',\n value: event.target.value,\n });\n\n setErrorState({ ...errorState, isVisible: false });\n };\n\n const onPasswordChange = (event: React.ChangeEvent) => {\n setPasswordState({\n ...passwordState,\n error:\n event.target.value.length < 8\n ? 'Password should be at least 8 characters'\n : '',\n value: event.target.value,\n });\n\n setErrorState({ ...errorState, isVisible: false });\n };\n\n return {\n isLargeScreen,\n isLoading,\n emailState,\n passwordState,\n errorState,\n setEmailState,\n onPasswordChange,\n onEmailChange,\n setErrorState,\n handleSubmit,\n };\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcLock(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 17,\n viewBox: \"0 0 14 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.40835 4.19064C4.26304 4.20786 4.14153 4.07502 4.19333 3.93816C4.62212 2.80539 5.71701 2 7 2C8.283 2 9.37788 2.80539 9.80667 3.93817C9.85847 4.07503 9.73697 4.20786 9.59165 4.19064C9.51374 4.18141 9.43526 4.17395 9.35624 4.1683L7.71247 4.05089C7.23809 4.01701 6.76191 4.01701 6.28753 4.05089L4.64376 4.1683C4.56474 4.17395 4.48626 4.18141 4.40835 4.19064ZM1.91992 5.21656C1.97116 5.17644 2.00087 5.11472 2.00024 5.04965C2.00008 5.03312 2 5.01657 2 5C2 2.23858 4.23858 0 7 0C9.76142 0 12 2.23858 12 5C12 5.01657 11.9999 5.03312 11.9998 5.04965C11.9991 5.11472 12.0288 5.17644 12.0801 5.21656C13.2528 6.13478 14 7.56299 14 9.1556V11.8444C14 14.4676 11.9728 16.6448 9.35624 16.8317L7.71247 16.9491C7.23809 16.983 6.76191 16.983 6.28753 16.9491L4.64376 16.8317C2.02724 16.6448 0 14.4676 0 11.8444V9.1556C0 7.56299 0.747238 6.13478 1.91992 5.21656Z\",\n fill: \"#EEA230\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcLock);\nexport default __webpack_public_path__ + \"static/media/ic_lock.fe4c796e1635e5b8f5f719b7cd83cbec.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport Lock from 'assets/ic_lock.svg';\nimport './styles.scss';\n\nexport const SecureServer = () => {\n return (\n
\n \"\"\n
Secure Server
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__u-Cfv\",\"title\":\"styles_title__JGFPr\",\"description\":\"styles_description__OhrNU\",\"header\":\"styles_header__DVd2W\",\"recurlyPowered\":\"styles_recurlyPowered__kjZzP\",\"note\":\"styles_note__PbX9b\"};","import { Elements, RecurlyProvider } from '@recurly/react-recurly';\nimport React from 'react';\nimport PoweredByRecurly from 'assets/ic_powered_by_recurly.png';\nimport { LoadingScreen } from 'components/loadingscreen/LoadingScreen';\nimport { SecureServer } from 'components/secureserver/SecureServer';\nimport { Error } from 'subscription/components/error/Error';\nimport { DefaultCardForm } from 'subscription/recurly/components/cardform/defaultcardform/DefaultCardForm';\nimport { PaymentsPicker } from 'subscription/recurly/components/paymentpicker/PaymentsPicker';\nimport Divider from 'components/divider/Divider';\nimport { usePaymentLogic } from './Payment.hook';\nimport { RECURLY_KEY } from 'utils/utils.constants';\nimport styles from './styles.module.scss';\n\nexport const Payment = () => {\n const {\n error,\n product,\n handleCardError,\n handlePayPalError,\n handleCardSuccess,\n handlePayPalSuccess,\n handleRetry,\n } = usePaymentLogic();\n\n return error ? (\n \n ) : (\n
\n \n Please do not click or refresh the page.\n
\n It may take a few seconds...\n \n }\n />\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n {product && (\n <>\n
Free 1 Month Membership
\n
\n You will not be charged now. No commitment. Cancel anytime\n
\n \n
\n Payment information\n \n
\n \n \n \n \n
\n
\n After {product.trialLength} {product.trialUnit} your free\n membership will automatically upgrade to regular{' '}\n {product.getRenewPeriodName()} membership at{' '}\n {product.getFormattedPrice()}{' '}\n {product.getRenewPeriodAdverbName()} unless cancelled\n
\n
\n \n )}\n
\n
\n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { SubscriptionError, SubscriptionSuccess } from 'analytics/AllEvents';\nimport { remoteConfig } from 'analytics/Firebase';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { loadProducts } from 'bootstrap/product/actions';\nimport { setCountryCode, setSubscriptionActive } from 'bootstrap/user/actions';\nimport { getString } from 'firebase/remote-config';\nimport { ViewPIScreen } from 'invitepurchase/analytics';\nimport { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { SuccessPaymentProps } from 'subscription/recurly/Recurly.types';\nimport { pushWithSearchQuery } from 'utils';\n\nexport const usePaymentLogic = () => {\n const dispatch = useAppDispatch();\n\n const productCode = getString(remoteConfig, 'premium_invite_product_code');\n const { inviteCodeId } = useParams<{ inviteCodeId: string }>();\n\n const { authToken, hasSubscription, countryCode } = useAppSelector(\n (state) => state.user,\n );\n const { email } = useAppSelector((state) => state.user);\n const { product } = useAppSelector((state) => {\n const products = state.product.products;\n return {\n product: products.size > 0 && products.get(productCode),\n };\n });\n\n const [error, setError] = useState(false);\n\n useEffect(() => {\n dispatch(setCountryCode(countryCode || ''));\n\n if (!authToken) {\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/signin`));\n } else if (hasSubscription) {\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/done`));\n } else if (!product) {\n dispatch(loadProducts())\n .catch((_) => {\n setError(true);\n })\n .finally(() => {\n setError(false);\n });\n }\n appAnalytics.trackEvent(new ViewPIScreen('piPayment'));\n }, []);\n\n useEffect(() => {\n if (product) {\n setError(false);\n }\n }, [product]);\n\n const handlePayPalSuccess = ({\n orderId,\n productBought,\n }: SuccessPaymentProps) => {\n dispatch(setSubscriptionActive(false));\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n productBought.currency,\n productBought.code,\n {\n eventId: orderId,\n email: email,\n onboardingType: 'pi',\n },\n ),\n );\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/done`));\n };\n\n const handlePayPalError = (message: string) => {\n appAnalytics.trackEvent(new SubscriptionError(message));\n };\n\n const handleCardSuccess = ({\n orderId,\n productBought,\n zip,\n firstName,\n lastName,\n }: SuccessPaymentProps) => {\n dispatch(setSubscriptionActive(false));\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n productBought.trialLength\n ? productBought.setupFee\n : productBought.amount,\n productBought.currency,\n productBought.code,\n {\n eventId: orderId,\n email,\n zip,\n firstName,\n lastName,\n onboardingType: 'pi',\n },\n ),\n );\n dispatch(pushWithSearchQuery(`/invite/${inviteCodeId}/done`));\n };\n\n const handleCardError = (message: string) => {\n appAnalytics.trackEvent(new SubscriptionError(message));\n };\n\n const handleRetry = () => loadProducts();\n\n return {\n error,\n product,\n handleCardError,\n handlePayPalError,\n handleCardSuccess,\n handlePayPalSuccess,\n handleRetry,\n };\n};\n","import React from 'react';\nimport { SuccessTemplate } from 'onboarding/components/successtemplate/SuccessTemplate';\nimport { useSuccessLogic } from './Success.hook';\n\nexport const Success = () => {\n const { oldUser, handleButtonClick } = useSuccessLogic();\n\n return (\n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { Install } from 'analytics/AllEvents';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { ViewPIScreen } from 'invitepurchase/analytics';\nimport { useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { getOneLink } from 'utils';\n\nexport const useSuccessLogic = () => {\n const { oldUser, authToken } = useAppSelector((state) => state.user);\n const { inviteCodeId } = useParams<{ inviteCodeId: string }>();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewPIScreen('piCongratsScreen'));\n }, []);\n\n const handleButtonClick = () => {\n appAnalytics.trackEvent(new Install());\n window.location.href = getOneLink({\n webDp: `${process.env.REACT_APP_FRONTEND_URL}/install`,\n mediaSource: 'premium_invites',\n deepLink: authToken,\n campaignId: inviteCodeId,\n });\n };\n\n return {\n oldUser,\n handleButtonClick,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"dark\":\"styles_dark__PDzNU\",\"bodyBackground\":\"styles_bodyBackground__7T03N\"};","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport { Welcome } from './pages/welcome/Welcome';\nimport { SignIn } from './pages/signin/SignIn';\nimport { Payment } from './pages/payment/Payment';\nimport { Success } from './pages/success/Success';\nimport styles from './styles.module.scss';\n\nexport const InvitePurchase = () => {\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconExclamation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 23,\n viewBox: \"0 0 6 23\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.09012 3.05122C1.01095 1.94281 1.88882 1 3.00006 1C4.11129 1 4.98916 1.94281 4.90999 3.05122L4.10154 14.3696C4.06026 14.9474 3.57941 15.3952 3.00006 15.3952C2.4207 15.3952 1.93985 14.9474 1.89857 14.3696L1.09012 3.05122Z\",\n fill: \"#E34646\",\n stroke: \"#E34646\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.62904 18.1371C0.871875 18.8943 0.871875 20.1219 1.62904 20.879C2.3862 21.6362 3.61381 21.6362 4.37098 20.879C5.12814 20.1219 5.12814 18.8943 4.37098 18.1371C3.61381 17.3799 2.3862 17.3799 1.62904 18.1371Z\",\n fill: \"#E34646\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconExclamation);\nexport default __webpack_public_path__ + \"static/media/icon_exclamation.b3a2c24cfd21e368363cdc9d4c3b63c9.svg\";\nexport { ForwardRef as ReactComponent };","export enum Errors {\n NoLinkError = `There's an error downloading the gift card. Please use the link we've sent to your email.`,\n DownloadError = `There's an error downloading the gift card. Please retry download or use the link we've sent to your email.`,\n NoError = '',\n}\n","import React, { SyntheticEvent, useEffect, useRef } from 'react';\nimport Exclamation from 'assets/giftcards/icon_exclamation.svg';\nimport './styles.scss';\n\ntype Props = {\n visible: boolean;\n error: string;\n onClose: () => void;\n};\n\nexport const ErrorPopup = ({ visible, error, onClose }: Props) => {\n const alert = useRef(null);\n\n useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n });\n\n const close = (e: SyntheticEvent) => {\n e.preventDefault();\n // eslint-disable-next-line\n if (e.target == alert.current) {\n onClose();\n }\n };\n\n return (\n \n
\n \"\"\n
\n

{error}

\n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { GiftScreenOpened } from 'giftcards/analytics';\nimport { useEffect, useState } from 'react';\nimport { Errors } from './Success.constants';\n\nexport const useSuccessLogic = () => {\n const { link, giftCardType } = useAppSelector((state) => state.purchase);\n const [isLoading, setLoading] = useState(false);\n const [error, setError] = useState(Errors.NoError);\n\n useEffect(() => {\n appAnalytics.trackEvent(new GiftScreenOpened('giftCongratsScreen'));\n }, []);\n\n const checkLink = async (url: string) => (await fetch(url)).ok;\n\n const setErrorHandler = (error: Errors) => {\n setError(error);\n };\n\n const handleDownloadDoc = () => {\n if (!link) {\n setError(Errors.NoLinkError);\n return;\n }\n setLoading(true);\n checkingUrl(link);\n };\n\n const checkingUrl = (url: string, retryCount = 0) => {\n if (retryCount > 9) {\n setError(Errors.DownloadError);\n setLoading(false);\n } else {\n checkLink(url)\n .then((isLinkCorrect) => {\n if (isLinkCorrect) {\n setLoading(false);\n const linkElement = document.createElement('a');\n linkElement.href = url;\n linkElement.setAttribute('download', 'Loona Gift Card.pdf');\n document.body.appendChild(linkElement);\n linkElement.click();\n linkElement.parentNode?.removeChild(linkElement);\n } else {\n setTimeout(() => checkingUrl(url, retryCount + 1), 1000);\n }\n })\n .catch((_) => {\n setTimeout(() => checkingUrl(url, retryCount + 1), 1000);\n });\n }\n };\n\n return {\n giftCardType,\n error,\n isLoading,\n setErrorHandler,\n handleDownloadDoc,\n };\n};\n","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcChecked(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22Z\",\n fill: \"#B350FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.55014 11.3228C6.37115 11.1438 6.37115 10.8536 6.55014 10.6746C6.72913 10.4957 7.01933 10.4957 7.19832 10.6746L9.62423 13.1006L14.8001 7.92465C14.9791 7.74566 15.2693 7.74566 15.4483 7.92465C15.6273 8.10364 15.6273 8.39384 15.4483 8.57283L9.94832 14.0728C9.76933 14.2518 9.47913 14.2518 9.30014 14.0728L6.55014 11.3228Z\",\n fill: \"#9A40FB\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.4466 7.57109C14.8208 7.19684 15.4276 7.19684 15.8019 7.57109C16.1761 7.94535 16.1761 8.55213 15.8019 8.92638L10.3019 14.4264C9.92762 14.8006 9.32084 14.8006 8.94658 14.4264L6.19658 11.6764C5.82233 11.3021 5.82233 10.6953 6.19658 10.3211C6.57084 9.94684 7.17762 9.94684 7.55187 10.3211L9.62423 12.3935L14.4466 7.57109Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcChecked);\nexport default __webpack_public_path__ + \"static/media/ic_checked.4e7afcd3b2ef3868bbcdea08df479ac4.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"loadingButton\":\"styles_loadingButton__lV-LH\"};","import React from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { ErrorPopup } from '../../../components/errorpopup/ErrorPopup';\nimport { useSuccessLogic } from './Success.hook';\nimport { Errors } from './Success.constants';\nimport { SuccessTemplate } from 'onboarding/components/successtemplate/SuccessTemplate';\nimport styles from './styles.module.scss';\n\nexport const Success = () => {\n const { giftCardType, error, isLoading, setErrorHandler, handleDownloadDoc } =\n useSuccessLogic();\n\n return (\n <>\n setErrorHandler(Errors.NoError)}\n />\n \n Download the Gift Card and share it\n
\n with the one you care about\n \n }\n button={\n \n }\n />\n \n );\n};\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcMinus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 3,\n viewBox: \"0 0 12 3\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.9078 2.19477H1C0.447715 2.19477 0 1.74706 0 1.19477V1C0 0.447715 0.447715 0 0.999999 0H4.9078H7.12057H11C11.5523 0 12 0.447715 12 1V1.19477C12 1.74706 11.5523 2.19477 11 2.19477H7.12057H4.9078Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcMinus);\nexport default __webpack_public_path__ + \"static/media/ic_minus.1da5087e448385c55e278a537534583f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 12,\n viewBox: \"0 0 13 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 6.09739C0.5 6.64967 0.947715 7.09739 1.5 7.09739H5.4078V11C5.4078 11.5523 5.85552 12 6.4078 12H6.62057C7.17285 12 7.62057 11.5523 7.62057 11V7.09739H11.5C12.0523 7.09739 12.5 6.64967 12.5 6.09739V5.90261C12.5 5.35033 12.0523 4.90261 11.5 4.90261H7.62057V0.999999C7.62057 0.447714 7.17285 0 6.62057 0H6.4078C5.85552 0 5.4078 0.447715 5.4078 1V4.90261H1.5C0.947715 4.90261 0.5 5.35033 0.5 5.90261V6.09739Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcPlus);\nexport default __webpack_public_path__ + \"static/media/ic_plus.bc8176f6419c3b267f9964a8c2e66326.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__mMWYY\",\"containerBackground\":\"styles_containerBackground__5dE7S\",\"yearly\":\"styles_yearly__8NgR5\",\"lifetime\":\"styles_lifetime__-Gl42\",\"content\":\"styles_content__tbSJu\",\"logo\":\"styles_logo__9-dFp\",\"overlay\":\"styles_overlay__MrjUt\",\"cardContainer\":\"styles_cardContainer__1b6L4\"};","import React from 'react';\nimport Logo from 'assets/logo_loona.svg';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport styles from './styles.module.scss';\n\ntype Props = {\n giftCardType: GiftCardTypes;\n};\n\nexport const PlanImage = ({ giftCardType }: Props) => {\n let overlayStyle;\n\n switch (giftCardType) {\n case GiftCardTypes.Yearly: {\n overlayStyle = styles.yearly;\n break;\n }\n case GiftCardTypes.Lifetime: {\n overlayStyle = styles.lifetime;\n break;\n }\n }\n\n return (\n
\n
\n
\n \"Loóna\"\n
\n
\n
\n
\n );\n};\n","export const YEARLY_CARD_IMAGE = `${process.env.REACT_APP_CLOUD_FRONT_URL}/gift/yearly.png`;\nexport const LIFETIME_CARD_IMAGE = `${process.env.REACT_APP_CLOUD_FRONT_URL}/gift/lifetime.png`;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__8Aqux\",\"particles\":\"styles_particles__RU6jH\",\"yearly\":\"styles_yearly__qoIi2\",\"lifetime\":\"styles_lifetime__xLUFx\",\"content\":\"styles_content__f6Z+d\",\"overlay\":\"styles_overlay__2uLvL\",\"gradient\":\"styles_gradient__lshbm\",\"start\":\"styles_start__sqTOJ\",\"end\":\"styles_end__p9vTf\"};","import React from 'react';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport styles from './styles.module.scss';\n\ntype BackgroundProps = {\n className?: string;\n children: React.ReactNode;\n giftCardType: GiftCardTypes;\n};\n\nexport const FogBackground = ({\n className,\n children,\n giftCardType,\n}: BackgroundProps) => {\n return (\n
\n
\n
\n \n
\n
\n
{children}
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__IMEWr\",\"textWrapper\":\"styles_textWrapper__bFP05\",\"cardContainer\":\"styles_cardContainer__UcYC+\",\"logo\":\"styles_logo__tEbRf\"};","import React from 'react';\nimport Logo from 'assets/logo_loona.svg';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport { PlanImage } from '../planimage/PlanImage';\nimport {\n LIFETIME_CARD_IMAGE,\n YEARLY_CARD_IMAGE,\n} from './GiftTemplate.constants';\nimport { usePreloadImages } from 'hooks/usePreloadImages';\nimport { FogBackground } from '../fogbackground/FogBacakground';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element | JSX.Element[];\n bottomSection?: JSX.Element | JSX.Element[];\n giftCardType: GiftCardTypes;\n};\n\nexport const GiftTemplate = ({\n children,\n giftCardType,\n bottomSection,\n}: Props) => {\n usePreloadImages([LIFETIME_CARD_IMAGE, YEARLY_CARD_IMAGE]);\n\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n if (isLargeScreen) {\n return (\n \n
\n \"Loóna\"\n
\n \n {children}\n
\n {bottomSection ||
}\n
\n \n );\n } else {\n return (\n
\n \n
\n {children}\n {bottomSection || null}\n
\n
\n );\n }\n};\n","import { PurchaseActionTypes } from './types';\n\nexport const SET_EMAIL = 'SET_EMAIL';\n\nexport interface SetEmail {\n type: typeof SET_EMAIL;\n payload: {\n email: string;\n };\n}\n\nexport function setEmail(email: string): PurchaseActionTypes {\n return {\n type: SET_EMAIL,\n payload: {\n email: email,\n },\n };\n}\n","import { PurchaseActionTypes } from './types';\n\nexport const SET_QUANTITY = 'SET_QUANTITY';\n\nexport interface SetQuantity {\n type: typeof SET_QUANTITY;\n payload: {\n quantity: number;\n };\n}\n\nexport function setQuantity(quantity: number): PurchaseActionTypes {\n return {\n type: SET_QUANTITY,\n payload: {\n quantity: quantity,\n },\n };\n}\n","import { GiftCardTypes } from '../bootstrap/data/giftproduct/GiftCard.types';\n\nexport const getGiftCardLabel = (giftCardType: GiftCardTypes): string => {\n let giftCardLabel;\n\n switch (giftCardType) {\n case GiftCardTypes.Yearly: {\n giftCardLabel = 'Yearly';\n break;\n }\n case GiftCardTypes.Lifetime: {\n giftCardLabel = 'Lifetime';\n break;\n }\n }\n return giftCardLabel;\n};\n\nexport const isGiftFlow = (): boolean => {\n return window.location.pathname.split('/').includes('gift');\n};\n","import { appAnalytics } from 'analytics';\nimport { setEmail } from 'bootstrap/giftpurchase/actions/setEmail';\nimport { setQuantity as saveQuantity } from 'bootstrap/giftpurchase/actions/setQuantity';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { GiftAmountSelected, GiftScreenOpened } from 'giftcards/analytics';\nimport {\n getFormattedPrice,\n GiftCardProduct,\n} from 'bootstrap/data/giftproduct/GiftCardProduct';\nimport { getGiftCardLabel } from 'giftcards/utils';\nimport { useEffect, useRef, useState } from 'react';\nimport { pushWithSearchQuery, validateEmail } from 'utils';\nimport { MAX_QUANTITY } from './PlanSetup.constants';\n\nexport const usePlanSetupLogic = () => {\n const dispatch = useAppDispatch();\n const { currency } = useAppSelector((state) => state.user);\n const { giftCardType, products } = useAppSelector((state) => state.purchase);\n\n const emailRef = useRef(null);\n const giftCardLabel = getGiftCardLabel(giftCardType);\n\n const [quantity, setQuantity] = useState(1);\n const [totalPrice, setTotalPrice] = useState();\n const [isEmailValid, setEmailValid] = useState(false);\n\n useEffect(() => {\n appAnalytics.trackEvent(new GiftScreenOpened('GiftPlanSettings'));\n }, []);\n\n useEffect(() => {\n if (products) {\n setTotalPrice(getTotalPrice(products[giftCardType], quantity));\n }\n }, [products, quantity, giftCardType]);\n\n const getTotalPrice = (product: GiftCardProduct, q: number) => {\n return getFormattedPrice(product, currency || product.currency, q);\n };\n\n const onContinue = () => {\n if (emailRef.current) {\n dispatch(setEmail(emailRef.current.value));\n }\n dispatch(saveQuantity(quantity));\n appAnalytics.trackEvent(new GiftAmountSelected(quantity));\n dispatch(pushWithSearchQuery('/gift/purchase'));\n };\n\n const increaseQuantity = () => {\n if (quantity < MAX_QUANTITY) {\n setQuantity(quantity + 1);\n }\n };\n\n const decreaseQuantity = () => {\n if (quantity > 1) {\n setQuantity(quantity - 1);\n }\n };\n\n const onEmailValidHandler = (event: React.ChangeEvent) => {\n event.preventDefault();\n setEmailValid(validateEmail(event.target.value));\n };\n\n return {\n quantity,\n products,\n totalPrice,\n giftCardLabel,\n isEmailValid,\n emailRef,\n giftCardType,\n onContinue,\n increaseQuantity,\n decreaseQuantity,\n onEmailValidHandler,\n };\n};\n","export const MAX_QUANTITY = 5;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"styles_card__DM3K4\",\"title\":\"styles_title__U6WvV\",\"yearly\":\"styles_yearly__fFBdJ\",\"lifetime\":\"styles_lifetime__fGPyX\",\"description\":\"styles_description__xrCfq\",\"planCards\":\"styles_planCards__0XPyL\",\"inputContainer\":\"styles_inputContainer__GIznF\",\"input\":\"styles_input__vwofj\",\"emailDescription\":\"styles_emailDescription__i4xhV\",\"quantityContainer\":\"styles_quantityContainer__qEcqr\",\"quantityTitle\":\"styles_quantityTitle__r+nvY\",\"quantityAmount\":\"styles_quantityAmount__HDY9c\",\"quantityButton\":\"styles_quantityButton__hp4WF\",\"divider\":\"styles_divider__pc0He\",\"totalContainer\":\"styles_totalContainer__ymQyy\",\"totalTitle\":\"styles_totalTitle__3S+Ju\",\"totalAmount\":\"styles_totalAmount__Bz-GO\",\"submitButton\":\"styles_submitButton__1O56L\",\"faq\":\"styles_faq__iHwzb\"};","import React from 'react';\nimport { ReactComponent as CheckedMark } from 'assets/ic_checked.svg';\nimport MinusSign from 'assets/ic_minus.svg';\nimport PlusSign from 'assets/ic_plus.svg';\nimport { GiftTemplate } from '../../components/gifttemplate/GiftTemplate';\nimport { usePlanSetupLogic } from './PlansSetup.hook';\nimport styles from './styles.module.scss';\n\nexport const PlansSetup = () => {\n const {\n quantity,\n products,\n totalPrice,\n giftCardLabel,\n isEmailValid,\n emailRef,\n giftCardType,\n onContinue,\n increaseQuantity,\n decreaseQuantity,\n onEmailValidHandler,\n } = usePlanSetupLogic();\n\n if (!products) return null;\n\n return (\n \n

\n Gift {giftCardLabel}{' '}\n membership\n

\n
\n \n\n {isEmailValid && }\n
\n
\n Gift Card will be sent to your email\n
\n
\n
Quantity
\n \n
{quantity}
\n \n
\n
\n
\n
Total
\n
{totalPrice}
\n
\n \n Continue\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paymentContainer\":\"styles_paymentContainer__oc-lF\",\"header\":\"styles_header__sISSp\",\"paymentFormContainer\":\"styles_paymentFormContainer__bYakA\",\"logo\":\"styles_logo__FDMAi\",\"title\":\"styles_title__8+DV9\",\"recurlyPowered\":\"styles_recurlyPowered__lSVWY\",\"container\":\"styles_container__bcNhc\"};","import React from 'react';\nimport { Elements, RecurlyProvider } from '@recurly/react-recurly';\nimport { FogBackground } from 'giftcards/components/fogbackground/FogBacakground';\nimport { PaymentsPicker } from 'subscription/recurly/components/paymentpicker/PaymentsPicker';\nimport { GiftCardTypes } from '../../../bootstrap/data/giftproduct/GiftCard.types';\nimport { usePurchaseLogic } from './Purchase.hook';\nimport { Logo } from 'components/logo/Logo';\nimport { RECURLY_KEY } from 'utils/utils.constants';\nimport { DefaultCardForm } from 'subscription/recurly/components/cardform/defaultcardform/DefaultCardForm';\nimport PoweredByRecurly from 'assets/ic_powered_by_recurly.png';\nimport Divider from 'components/divider/Divider';\nimport { Information } from 'components/information/Information';\nimport { SecureServer } from 'components/secureserver/SecureServer';\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\nimport styles from './styles.module.scss';\n\nexport const Purchase = () => {\n const { giftCardType, product, isLargeScreen, onSuccess, onError } =\n usePurchaseLogic();\n\n if (!product) return null;\n\n const Wrapper = isLargeScreen ? LargeScreenWrapper : SmallScreenWrapper;\n\n return (\n \n \n
\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n \n \n
Choose your payment method
\n \n
\n Payment Information\n \n
\n \n \n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\ntype WrapperProps = {\n children: JSX.Element | JSX.Element[];\n giftCardType: GiftCardTypes;\n};\n\nconst LargeScreenWrapper = ({ children, giftCardType }: WrapperProps) => (\n \n {children}\n \n);\n\nconst SmallScreenWrapper = ({ children }: WrapperProps) => (\n
{children}
\n);\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { GiftScreenOpened } from 'giftcards/analytics';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport { useEffect } from 'react';\nimport { pushWithSearchQuery } from 'utils';\n\nexport const usePurchaseLogic = () => {\n const dispatch = useAppDispatch();\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n const { products, giftCardType } = useAppSelector((state) => state.purchase);\n\n useEffect(() => {\n appAnalytics.trackEvent(new GiftScreenOpened('GiftPayment'));\n }, []);\n\n const onSuccess = () => {\n dispatch(pushWithSearchQuery('/gift/done'));\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const onError = () => {\n // TODO\n };\n\n const product = products && products[giftCardType];\n\n return {\n giftCardType,\n product,\n isLargeScreen,\n onSuccess,\n onError,\n };\n};\n","import { getGiftCardProducts } from 'bootstrap/net/giftcards';\nimport { RootState } from 'bootstrap/types';\nimport { GiftCardProducts } from 'bootstrap/data/giftproduct/GiftCardProducts';\nimport { AnyAction } from 'redux';\nimport { ThunkAction } from 'redux-thunk';\nimport { PurchaseActionTypes } from './types';\n\nexport const SET_PRODUCTS = 'SET_PRODUCTS';\n\nexport interface SetProducts {\n type: typeof SET_PRODUCTS;\n payload: {\n products: GiftCardProducts;\n };\n}\n\nexport function setProducts(products: GiftCardProducts): PurchaseActionTypes {\n return {\n type: SET_PRODUCTS,\n payload: {\n products: products,\n },\n };\n}\n\nexport const loadProducts =\n (\n currency?: string,\n ): ThunkAction, RootState, unknown, AnyAction> =>\n async (dispatch) => {\n return getGiftCardProducts(currency)\n .then((products: GiftCardProducts) => {\n dispatch(setProducts(products));\n return Promise.resolve();\n })\n .catch((error: any) => {\n return Promise.reject(error);\n });\n };\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcCheckSmall(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.99984 17.3337C13.6022 17.3337 17.3332 13.6027 17.3332 9.00033C17.3332 4.39795 13.6022 0.666992 8.99984 0.666992C4.39746 0.666992 0.666504 4.39795 0.666504 9.00033C0.666504 13.6027 4.39746 17.3337 8.99984 17.3337ZM13.1185 6.05816C13.4439 6.3836 13.4439 6.91124 13.1185 7.23668L8.41257 11.9426C8.25629 12.0988 8.04433 12.1866 7.82332 12.1866C7.60231 12.1866 7.39034 12.0988 7.23406 11.9426L4.88112 9.58962C4.55569 9.26418 4.55569 8.73654 4.88112 8.41111C5.20656 8.08567 5.7342 8.08567 6.05963 8.41111L7.82332 10.1748L11.9399 6.05816C12.2654 5.73273 12.793 5.73273 13.1185 6.05816Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcCheckSmall);\nexport default __webpack_public_path__ + \"static/media/ic_check_small.0f4f835943c468cf35c0957044c8415c.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"planCard\":\"styles_planCard__Ch+2K\",\"title\":\"styles_title__QVANE\",\"price\":\"styles_price__76gj6\",\"selected\":\"styles_selected__Br3gL\"};","import React from 'react';\nimport { ReactComponent as CheckedMark } from 'assets/ic_check_small.svg';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport styles from './styles.module.scss';\n\ntype Props = {\n label: string;\n price: string;\n selected: boolean;\n giftCardType: GiftCardTypes;\n onSelect: () => void;\n};\n\nexport const PlanCard = ({\n label,\n price,\n selected,\n giftCardType,\n onSelect,\n}: Props) => (\n \n {selected && }\n

{label}

\n

{price}

\n
\n);\n","import { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport { PurchaseActionTypes } from './types';\n\nexport const SET_GIFT_CARD_TYPE = 'SET_GIFT_CARD_TYPE';\n\nexport interface SetGiftCardType {\n type: typeof SET_GIFT_CARD_TYPE;\n payload: {\n type: GiftCardTypes;\n };\n}\n\nexport function setGiftCardType(type: GiftCardTypes): PurchaseActionTypes {\n return {\n type: SET_GIFT_CARD_TYPE,\n payload: {\n type: type,\n },\n };\n}\n","import { useEffect } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { GiftProductSelected, GiftScreenOpened } from 'giftcards/analytics';\nimport { getGiftCardLabel } from 'giftcards/utils';\nimport { pushWithSearchQuery } from 'utils';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport { setGiftCardType } from 'bootstrap/giftpurchase/actions/giftCardType';\nimport { GiftCardProducts } from 'bootstrap/data/giftproduct/GiftCardProducts';\nimport { setCountryCode, setCountryCurrency } from 'bootstrap/user/actions';\nimport { useFeatures } from 'useFeatures';\n\ntype Props = {\n products: GiftCardProducts;\n giftCardType: GiftCardTypes;\n};\n\nexport const usePlanContentLogic = ({ products, giftCardType }: Props) => {\n const dispatch = useAppDispatch();\n const { isLocalCurrencyEnabled } = useFeatures();\n\n const { countryCode, currency } = useAppSelector((state) => state.user);\n const giftCardLabel = getGiftCardLabel(giftCardType);\n\n useEffect(() => {\n appAnalytics.trackEvent(new GiftScreenOpened('giftWelcome'));\n\n dispatch(setCountryCode(countryCode || ''));\n\n if (isLocalCurrencyEnabled) {\n dispatch(setCountryCurrency(currency || ''));\n }\n }, []);\n\n const onContinue = () => {\n appAnalytics.trackEvent(\n new GiftProductSelected(products[giftCardType].code),\n );\n dispatch(pushWithSearchQuery('/gift/setup'));\n };\n\n const onCardSelect = (type: GiftCardTypes) => {\n dispatch(setGiftCardType(type));\n };\n\n return {\n giftCardLabel,\n onContinue,\n onCardSelect,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__XFEvi\",\"yearly\":\"styles_yearly__eYjrj\",\"lifetime\":\"styles_lifetime__WTZgv\",\"description\":\"styles_description__e9jPV\",\"planCards\":\"styles_planCards__mwKN+\",\"faq\":\"styles_faq__-TTUD\"};","import React from 'react';\nimport { GiftTemplate } from 'giftcards/components/gifttemplate/GiftTemplate';\nimport { getFormattedPrice } from 'bootstrap/data/giftproduct/GiftCardProduct';\nimport { GiftCardProducts } from 'bootstrap/data/giftproduct/GiftCardProducts';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport { PlanCard } from '../plancard/PlanCard';\nimport { ZENDESK_GUIDE_LINK } from '../Plans.constants';\nimport { usePlanContentLogic } from './PlansContent.hook';\nimport styles from './styles.module.scss';\n\ntype Props = {\n giftCardType: GiftCardTypes;\n products: GiftCardProducts;\n currency?: string;\n};\n\nexport const PlansContent = ({ giftCardType, products, currency }: Props) => {\n const { giftCardLabel, onContinue, onCardSelect } = usePlanContentLogic({\n products,\n giftCardType,\n });\n\n const faq = (\n
\n Check our FAQ for more details.\n
\n );\n\n return (\n \n
\n Gift {giftCardLabel}\n {'\\n'}\n membership\n
\n
\n Help someone you care about stress
\n less, feel better and fall asleep faster\n
\n
\n onCardSelect(GiftCardTypes.Yearly)}\n />\n onCardSelect(GiftCardTypes.Lifetime)}\n />\n
\n \n
\n );\n};\n","export const ZENDESK_GUIDE_LINK =\n 'https://loonainc.zendesk.com/hc/en-us/articles/4405702514962-How-to-gift-Loona-to-a-friend-';\n","import React, { useEffect } from 'react';\nimport { useAppDispatch, useAppSelector } from '../../../bootstrap/hooks';\nimport { loadProducts } from '../../../bootstrap/giftpurchase/actions/loadProducts';\nimport { LoadingScreen } from 'components/loadingscreen/LoadingScreen';\nimport { PlansContent } from './planscontent/PlansContent';\n\nexport const Plans = () => {\n const dispatch = useAppDispatch();\n const { currency } = useAppSelector((state) => state.user);\n const { products, giftCardType } = useAppSelector((state) => state.purchase);\n\n const isProductsLoaded = products && Object.keys(products).length !== 0;\n\n useEffect(() => {\n if (!isProductsLoaded) {\n dispatch(loadProducts(currency));\n }\n }, [dispatch, products]);\n\n return (\n <>\n \n {isProductsLoaded && (\n \n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyBackground\":\"styles_bodyBackground__H2GSU\",\"dark\":\"styles_dark__p6Tl3\"};","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport { Success } from './pages/success/Success';\nimport { PlansSetup } from './pages/planssetup/PlansSetup';\nimport { Purchase } from './pages/purchase/Purchase';\nimport { Plans } from './pages/plans/Plans';\nimport styles from './styles.module.scss';\n\nexport const GiftCards = () => {\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n }, []);\n\n return (\n \n \n \n \n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__ELhEh\",\"logo\":\"styles_logo__mnbEI\",\"background\":\"styles_background__OYAl2\",\"backgroundImage\":\"styles_backgroundImage__ZABM4\",\"gradient\":\"styles_gradient__gs62X\",\"textWrapper\":\"styles_textWrapper__S7Sq8\",\"title\":\"styles_title__XtwFp\",\"accent\":\"styles_accent__ctmAZ\",\"disclaimer\":\"styles_disclaimer__o54Xr\",\"bigBackgroundContainer\":\"styles_bigBackgroundContainer__iQvf+\",\"topGradient\":\"styles_topGradient__Dn98e\",\"bottomGradient\":\"styles_bottomGradient__OIpqm\",\"overlayContainer\":\"styles_overlayContainer__dUUl1\"};","import React from 'react';\nimport { Logo } from 'components/logo/Logo';\nimport CardsBackground from 'assets/bg_cards_small.png';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: JSX.Element[] | JSX.Element;\n};\n\nexport const RedeemTemplate = ({ children }: Props) => {\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n if (isLargeScreen) {\n return (\n
\n \n
\n
\n
\n
{children}
\n
\n
\n
\n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
{children}
\n
\n );\n }\n};\n","import { Event } from 'analytics/Event';\nimport { Events } from 'analytics/Events';\n\nexport class RedeemScreenOpened extends Event {\n constructor(screenName: string) {\n super(Events.RedeemScreenOpened, { screenName });\n }\n}\n\nexport class RedeemWelcomeContinue extends Event {\n constructor() {\n super(Events.RedeemWelcomeContinue);\n }\n}\n\nexport class RedeemSignUp extends Event {\n constructor(accountType: 'email' | 'facebook' | 'google') {\n super(Events.RedeemSignUp, { accountType });\n }\n}\n\nexport class RedeemGiftCodeActivated extends Event {\n constructor(giftCode: string) {\n super(Events.RedeemGiftCodeActivated, { giftCode });\n }\n}\n\nexport class RedeemAppContinue extends Event {\n constructor() {\n super(Events.RedeemAppContinue);\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__39sWn\",\"accent\":\"styles_accent__YxtcG\",\"disclaimer\":\"styles_disclaimer__lhnj7\",\"button\":\"styles_button__c1BFC\"};","import React from 'react';\nimport { RedeemTemplate } from './components/redeemtemplate/RedeemTemplate';\nimport { useStartRedeemLogic } from './StartRedeem.hook';\nimport styles from './styles.module.scss';\n\nexport const StartRedeem = () => {\n const { onRedeemClick } = useStartRedeemLogic();\n\n return (\n \n
\n Redeem your\n
\n gift code\n
\n \n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { useEffect } from 'react';\nimport { RedeemScreenOpened, RedeemWelcomeContinue } from 'redeem/analytics';\nimport { pushWithSearchQuery } from 'utils';\n\nexport const useStartRedeemLogic = () => {\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemWelcome'));\n }, []);\n\n const onRedeemClick = () => {\n appAnalytics.trackEvent(new RedeemWelcomeContinue());\n dispatch(pushWithSearchQuery('/redeem/account'));\n };\n\n return {\n onRedeemClick,\n };\n};\n","var _circle, _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIcDelete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.1,\n cx: 13,\n cy: 13,\n r: 13,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 10L10 15.9999\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 16L10 10.0001\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcDelete);\nexport default __webpack_public_path__ + \"static/media/ic_delete.c97d120f413af4d3579ef960d48fa938.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"contentContainer\":\"styles_contentContainer__MJGI-\",\"title\":\"styles_title__5vJjt\",\"description\":\"styles_description__k+LGp\",\"formContainer\":\"styles_formContainer__s26Yy\",\"inputContainer\":\"styles_inputContainer__9vIcd\",\"delete\":\"styles_delete__ukEoi\",\"errorLabel\":\"styles_errorLabel__LbRJJ\",\"legal\":\"styles_legal__BOOCK\",\"disclaimer\":\"styles_disclaimer__QJRr0\",\"bigBackgroundContainer\":\"styles_bigBackgroundContainer__cQikc\",\"socialLoginButton\":\"styles_socialLoginButton__3ilcQ\"};","import React from 'react';\nimport Delete from 'assets/ic_delete.svg';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { PasswordInput } from 'components/passwordinput/PasswordInput';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport { FacebookLoginButton } from 'components/facebookbutton/FacebookLoginButton';\nimport { useRedeemAccountLogic } from './RedeemAccount.hook';\nimport styles from './styles.module.scss';\n\nexport const RedeemAccount = () => {\n const {\n isLoading,\n isLargeScreen,\n errorState,\n passwordState,\n emailState,\n setErrorState,\n setEmailState,\n navigateNext,\n handleSubmit,\n onSocialError,\n onEmailChange,\n onPasswordChange,\n } = useRedeemAccountLogic();\n\n const content = (\n
\n
Sign up
\n
\n Create a free account or sign in with your existing account to redeem\n your Loóna gift code\n
\n \n
\n
\n \n {emailState.value && (\n setEmailState({ ...emailState, value: '' })}\n />\n )}\n
\n\n
{emailState.error}
\n\n \n\n
{passwordState.error}
\n\n \n By continuing, you agree to Loóna's\n
\n Terms of Use &{' '}\n Privacy Policy\n
\n\n \n\n

\n Your information is 100% secure. Loóna does not share any personal\n information. By submitting your email address, you may also receive\n emails from Loóna about new offers, features and updates. You may\n unsubscribe at any time.\n

\n \n
\n );\n\n return (\n <>\n setErrorState({ ...errorState, isVisible: false })}\n />\n {isLargeScreen ? (\n
{content}
\n ) : (\n content\n )}\n \n );\n};\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { emailRegister } from 'bootstrap/user/actions';\nimport { MOBILE_QUERY, useMediaQuery } from 'hooks/useMediaQuery';\nimport { useEffect, useState } from 'react';\nimport { RedeemScreenOpened } from 'redeem/analytics';\nimport { pushWithSearchQuery, validateEmail } from 'utils';\nimport {\n EMAIL_VALIDATION_ERROR,\n PASSWORD_VALIDATION_ERROR,\n} from 'utils/utils.constants';\n\nexport const useRedeemAccountLogic = () => {\n const dispatch = useAppDispatch();\n const isLargeScreen = useMediaQuery(MOBILE_QUERY);\n\n const [emailState, setEmailState] = useState({\n value: '',\n error: '',\n });\n\n const [passwordState, setPasswordState] = useState({\n value: '',\n error: '',\n });\n\n const [errorState, setErrorState] = useState({\n error: '',\n isVisible: false,\n });\n\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemAccount'));\n }, []);\n\n const handleSubmit = async (): Promise => {\n setErrorState({ ...errorState, isVisible: false });\n\n if (!isLoading && validateForm()) {\n setIsLoading(true);\n dispatch(emailRegister(emailState.value, passwordState.value, 'redeem'))\n .then((hasSubscription) => {\n setIsLoading(false);\n navigateNext(hasSubscription);\n })\n .catch((message) => {\n setIsLoading(false);\n if (message.email) {\n setEmailState({ ...emailState, error: EMAIL_VALIDATION_ERROR });\n } else if (message.password) {\n setPasswordState({\n ...passwordState,\n error: PASSWORD_VALIDATION_ERROR,\n });\n } else {\n setErrorState({ ...errorState, error: message, isVisible: true });\n }\n });\n }\n };\n\n const navigateNext = (hasSubscription: boolean) => {\n if (hasSubscription) {\n dispatch(pushWithSearchQuery('/redeem/done'));\n } else {\n dispatch(pushWithSearchQuery('/redeem/code'));\n }\n };\n\n const validateForm = (): boolean => {\n const isEmailValid = validateEmail(emailState.value);\n const isPasswordValid = passwordState.value !== '';\n if (!isEmailValid) {\n setEmailState({ ...emailState, error: EMAIL_VALIDATION_ERROR });\n return false;\n } else if (!isPasswordValid) {\n setPasswordState({\n ...passwordState,\n error: PASSWORD_VALIDATION_ERROR,\n });\n return false;\n } else return true;\n };\n\n const onSocialError = (type: 'facebook', error: string | any) => {\n setErrorState({\n ...errorState,\n error:\n typeof error.message?.email === 'string'\n ? error.message.email\n : error.message,\n isVisible: true,\n });\n };\n\n const onEmailChange = (event: React.ChangeEvent) => {\n const isValid = validateEmail(event.target.value);\n setEmailState({\n error: isValid ? '' : EMAIL_VALIDATION_ERROR,\n value: event.target.value,\n });\n setErrorState({\n ...errorState,\n isVisible: false,\n });\n };\n\n const onPasswordChange = (event: React.ChangeEvent) => {\n setPasswordState({\n ...passwordState,\n error:\n event.target.value.length < 8\n ? 'Password should be at least 8 characters'\n : '',\n value: event.target.value,\n });\n setErrorState({\n ...errorState,\n isVisible: false,\n });\n };\n\n return {\n isLoading,\n isLargeScreen,\n errorState,\n passwordState,\n emailState,\n setErrorState,\n setEmailState,\n navigateNext,\n handleSubmit,\n onSocialError,\n onEmailChange,\n onPasswordChange,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__EjpDB\",\"inputContainer\":\"styles_inputContainer__2a52c\",\"codeInput\":\"styles_codeInput__T+uDO\",\"invalid\":\"styles_invalid__Ggp-t\",\"applyButton\":\"styles_applyButton__8ed6H\",\"deleteButton\":\"styles_deleteButton__0L2ow\",\"checkMark\":\"styles_checkMark__eAnJt\",\"error\":\"styles_error__kr1E2\"};","import React, { ChangeEvent } from 'react';\nimport CheckedMark from 'assets/ic_checked.svg';\nimport Delete from 'assets/ic_delete.svg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n placeholder: string;\n value: string;\n applied: boolean;\n error: string;\n onChange: (value: string) => void;\n onButtonClick: () => void;\n};\n\nexport const InputWithButton = ({\n placeholder,\n value,\n applied,\n error,\n onChange,\n onButtonClick,\n}: Props) => {\n const onInputChange = ({ target }: ChangeEvent) => {\n onChange(target.value);\n };\n\n const onClear = () => {\n onChange('');\n };\n\n let button;\n\n if (error) {\n button = (\n \n );\n } else if (applied) {\n button = \"\";\n } else {\n button = (\n \n APPLY\n \n );\n }\n\n return (\n
\n
\n \n {button}\n
\n
{error}
\n
\n );\n};\n","import { fetchServer, toResultPromise } from '../commonnet';\nimport { ENDPOINTS } from '../endpoints';\nimport { PaymentInfoResponse } from '../subscription/subscription.types';\n\nexport async function activateGiftCode(code: string): Promise {\n const result = await fetchServer({\n url: ENDPOINTS.ACTIVATE_GIFT_CARD,\n method: 'POST',\n body: {\n gift_code: code,\n },\n });\n\n return toResultPromise(result, result.response.purchase?.is_active || false);\n}\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { activateGiftCode } from 'bootstrap/net/redeem';\nimport { push } from 'connected-react-router';\nimport { useEffect, useState } from 'react';\nimport { RedeemGiftCodeActivated, RedeemScreenOpened } from 'redeem/analytics';\nimport { getQueryVariable, pushWithSearchQuery } from 'utils';\n\nexport const useRedeemCodeLogic = () => {\n const dispatch = useAppDispatch();\n const [giftCode, setGiftCode] = useState(getQueryVariable('c') || '');\n const [giftCodeApplied, setGiftCodeApplied] = useState(false);\n const [error, setError] = useState('');\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemGiftCode'));\n\n if (giftCode) {\n onRedeem();\n }\n }, []);\n\n const onRedeem = () => {\n const code = giftCode;\n activateGiftCode(code)\n .then((_) => {\n setGiftCodeApplied(true);\n })\n .catch((error) => {\n if (error.code === 409) {\n dispatch(push(`/redeem/done?code=${code}`));\n } else {\n setError(error.debug_text);\n }\n });\n };\n\n const onGiftCodeChange = (newGiftCode: string) => {\n setError('');\n setGiftCode(newGiftCode.trim());\n };\n\n const onContinue = () => {\n appAnalytics.trackEvent(new RedeemGiftCodeActivated(giftCode));\n dispatch(pushWithSearchQuery('/redeem/done'));\n };\n\n return {\n giftCode,\n giftCodeApplied,\n error,\n onRedeem,\n onGiftCodeChange,\n onContinue,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__jlJgl\",\"accent\":\"styles_accent__Gdkwm\",\"submitButton\":\"styles_submitButton__3syPH\",\"helpSection\":\"styles_helpSection__RDTPE\"};","import React from 'react';\nimport { RedeemTemplate } from 'redeem/pages/start/components/redeemtemplate/RedeemTemplate';\nimport { InputWithButton } from './components/inputwithbutton/InputWithButton';\nimport { useRedeemCodeLogic } from './RedeemCode.hook';\nimport styles from './styles.module.scss';\n\nexport const RedeemCode = () => {\n const {\n giftCodeApplied,\n giftCode,\n error,\n onGiftCodeChange,\n onContinue,\n onRedeem,\n } = useRedeemCodeLogic();\n\n return (\n \n
\n Redeem your gift code\n
\n \n \n Continue\n \n
\n Receiving an error message?\n
\n Click here for help\n
\n
\n );\n};\n","import { appAnalytics } from 'analytics';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { useEffect } from 'react';\nimport { RedeemAppContinue, RedeemScreenOpened } from 'redeem/analytics';\nimport { getOneLink, getQueryVariable, isDevEnv, isTouchDevice } from 'utils';\n\nexport const useRedeemDoneLogic = () => {\n const { authToken } = useAppSelector((state) => state.user);\n const giftCode = getQueryVariable('code');\n\n useEffect(() => {\n appAnalytics.trackEvent(new RedeemScreenOpened('redeemCongratsScreen'));\n }, []);\n\n const handleAppLink = () => {\n appAnalytics.trackEvent(new RedeemAppContinue());\n\n window.location.href = getOneLink(\n giftCode\n ? {\n mediaSource: isDevEnv() ? 'web_payments_dev' : 'web_payments',\n webDp: 'https%3A%2F%2Floona.app%2F',\n }\n : {\n mediaSource: isDevEnv() ? 'web_payments_dev' : 'web_payments',\n webDp: 'https%3A%2F%2Floona.app%2F',\n deepLink: authToken,\n },\n !isTouchDevice() ? `${process.env.REACT_APP_FRONTEND_URL}/install` : '',\n );\n };\n\n return { giftCode, handleAppLink };\n};\n","import React from 'react';\nimport { SuccessTemplate } from 'onboarding/components/successtemplate/SuccessTemplate';\nimport { useRedeemDoneLogic } from './RedeemDone.hook';\n\nexport const RedeemDone = () => {\n const { giftCode, handleAppLink } = useRedeemDoneLogic();\n\n return (\n \n All {giftCode} codes have been used,
\n but worry not, you can still enjoy Loóna for free for 7 days.\n \n ) : (\n <>\n Install the Loóna app now and\n
\n complete your first escape!\n \n )\n }\n button=\"Continue in the app\"\n onButtonClick={handleAppLink}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"bodyBackground\":\"styles_bodyBackground__GpTv+\"};","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport { StartRedeem } from './pages/start/StartRedeem';\nimport { RedeemAccount } from './pages/account/RedeemAccount';\nimport { RedeemCode } from './pages/code/RedeemCode';\nimport { RedeemDone } from './pages/done/RedeemDone';\nimport styles from './styles.module.scss';\n\nexport const Redeem = () => {\n useEffect(() => {\n document.body.classList.add(styles.bodyBackground);\n return () => {\n document.body.classList.remove(styles.bodyBackground);\n };\n }, []);\n\n return (\n \n \n \n \n \n \n );\n};\n","import { UserActionTypes } from './userActions.types';\n\nexport const SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED =\n 'SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED';\n\nexport function setPreventBackPaymentOfferConfirmed(\n shown: boolean,\n): UserActionTypes {\n return {\n type: SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED,\n payload: {\n isPreventBackPaymentOfferConfirmed: shown,\n },\n };\n}\n","import { appAnalytics } from 'analytics';\nimport { ClickPreventGoBack, ViewPopup } from 'analytics/AllEvents';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setPreventBackPaymentOfferConfirmed } from 'bootstrap/user/actions/setPreventPaymentBack';\nimport { Action, Location } from 'history';\nimport { history } from 'index';\nimport { useEffect, useState } from 'react';\nimport {\n isQuickPurchaseFlow,\n isInviteFlow,\n isGiftFlow,\n isRedeemFlow,\n isSubscriptionCancelFlow,\n useFeatures,\n} from 'useFeatures';\n\nexport const useRouterPromptLogic = () => {\n const dispatch = useAppDispatch();\n const { isPreventBackPaymentOfferConfirmed, isTrialOfferShown } =\n useAppSelector((state) => state.user);\n\n const { isPaymentPreventBack } = useFeatures();\n\n const [isModalVisible, setModalVisible] = useState(false);\n const [isPaymentPrompt, setIsPaymentPrompt] = useState(false);\n const [confirmedNavigation, setConfirmedNavigation] =\n useState(false);\n\n useEffect(() => {\n if (isModalVisible) {\n appAnalytics.trackEvent(\n new ViewPopup(\n isPaymentPrompt ? 'preventGoBackPayment' : 'preventGoBack',\n ),\n );\n }\n }, [isModalVisible]);\n\n useEffect(() => {\n if (confirmedNavigation) {\n history.goBack();\n }\n }, [confirmedNavigation]);\n\n const closeModal = () => {\n setModalVisible(false);\n appAnalytics.trackEvent(new ClickPreventGoBack('no'));\n };\n\n const handleBlockNavigation = (\n nextLocation: Location,\n action: Action,\n ): boolean => {\n setConfirmedNavigation(false);\n\n const noPreventBackFlows = [\n isQuickPurchaseFlow(),\n isInviteFlow(),\n isGiftFlow(),\n isRedeemFlow(),\n isSubscriptionCancelFlow(),\n ];\n\n if (noPreventBackFlows.some((flow) => flow)) {\n return true;\n }\n\n if (!confirmedNavigation && action === 'POP') {\n if (history.location.pathname.includes('subscription')) {\n setIsPaymentPrompt(true);\n\n const shouldShowModal =\n isPaymentPreventBack &&\n !isPreventBackPaymentOfferConfirmed &&\n !isTrialOfferShown;\n\n if (shouldShowModal) {\n setModalVisible(true);\n return false;\n }\n return true;\n } else {\n setIsPaymentPrompt(false);\n setModalVisible(true);\n }\n\n return false;\n }\n\n return true;\n };\n\n const handleConfirm = () => {\n if (isPaymentPrompt) {\n dispatch(setPreventBackPaymentOfferConfirmed(true));\n setTimeout(() => {\n window.scroll({\n top: 1070,\n behavior: 'smooth',\n });\n }, 1000);\n } else {\n setConfirmedNavigation(true);\n appAnalytics.trackEvent(new ClickPreventGoBack('yes'));\n }\n setModalVisible(false);\n };\n\n return {\n isPaymentPrompt,\n isModalVisible,\n closeModal,\n handleBlockNavigation,\n handleConfirm,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"styles_modal__cn8GR\",\"prompt\":\"styles_prompt__b1zKO\",\"title\":\"styles_title__ZOnrt\",\"description\":\"styles_description__-DvOU\",\"accent\":\"styles_accent__BA7L0\"};","import React from 'react';\nimport Cards from 'assets/payments/cards.png';\nimport styles from './styles.module.scss';\nimport Modal from 'components/modal/Modal';\n\ntype Props = {\n isModalVisible: boolean;\n handleConfirm: () => void;\n};\n\nconst PaymentPromptModal = ({ isModalVisible, handleConfirm }: Props) => {\n return (\n \n
\n \"\"\n
Not ready to commit yet?
\n
\n Because we're so confident you'll notice the difference once you\n start, we are going to{' '}\n \n let you try Loóna for 7 days free!\n \n
\n \n
\n
\n );\n};\nexport default PaymentPromptModal;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"styles_modal__Oww6Q\",\"prompt\":\"styles_prompt__gaqCU\",\"title\":\"styles_title__hUEJ3\",\"description\":\"styles_description__jYS8L\",\"buttonContainer\":\"styles_buttonContainer__xZz5g\",\"outlined\":\"styles_outlined__a4N1D\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from 'components/modal/Modal';\nimport styles from './styles.module.scss';\n\ntype Props = {\n isModalVisible: boolean;\n handleConfirm: () => void;\n closeModal: () => void;\n};\n\nconst DefaultPromptModal = ({\n isModalVisible,\n handleConfirm,\n closeModal,\n}: Props) => {\n const { t } = useTranslation();\n\n return (\n \n
\n
{t('routerPromptTitle')}
\n
{t('routerPromptDescription')}
\n
\n \n \n
\n
\n
\n );\n};\nexport default DefaultPromptModal;\n","import React from 'react';\nimport { Prompt } from 'react-router-dom';\nimport { useRouterPromptLogic } from './hooks/useRouterPromptLogic';\nimport PaymentPromptModal from './components/paymentprompt/PaymentPrompt';\nimport DefaultPromptModal from './components/defaultprompt/DefaultPrompt';\n\nconst RouterPrompt = () => {\n const {\n isModalVisible,\n isPaymentPrompt,\n handleBlockNavigation,\n handleConfirm,\n closeModal,\n } = useRouterPromptLogic();\n\n return (\n <>\n \n {isPaymentPrompt ? (\n \n ) : (\n \n )}\n \n );\n};\nexport default RouterPrompt;\n","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 155,\n height: 52,\n viewBox: \"0 0 155 52\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_5964_811)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.9226 26.3023C31.9365 25.2296 32.2222 24.1778 32.7532 23.2448C33.2843 22.3118 34.0433 21.5279 34.9598 20.966C34.3776 20.1369 33.6095 19.4545 32.7166 18.9731C31.8237 18.4917 30.8305 18.2246 29.8159 18.193C27.6517 17.9664 25.5535 19.4844 24.4507 19.4844C23.3265 19.4844 21.6285 18.2155 19.8 18.253C18.6173 18.2911 17.4646 18.634 16.4543 19.2484C15.4441 19.8629 14.6106 20.7277 14.0352 21.7589C11.5426 26.0623 13.4019 32.3869 15.7895 35.8654C16.9841 37.5688 18.3803 39.4715 20.2071 39.404C21.9948 39.3301 22.6625 38.2673 24.8203 38.2673C26.9582 38.2673 27.5846 39.404 29.4485 39.3611C31.3667 39.3301 32.5753 37.6502 33.728 35.9307C34.5863 34.717 35.2468 33.3756 35.685 31.9562C34.5705 31.4861 33.6195 30.6994 32.9504 29.6939C32.2814 28.6885 31.9239 27.509 31.9226 26.3023Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.402 15.9053C29.4479 14.6532 29.9632 13.0439 29.8384 11.4191C28.2405 11.5864 26.7645 12.348 25.7044 13.552C25.1861 14.1402 24.7892 14.8245 24.5363 15.5658C24.2833 16.307 24.1794 17.0908 24.2304 17.8721C25.0296 17.8803 25.8203 17.7076 26.5429 17.3669C27.2655 17.0262 27.9012 16.5264 28.402 15.9053Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.5201 35.0918H48.4196L46.9545 39.4055H44.3706L50.1489 23.4458H52.8335L58.6118 39.4055H55.9838L54.5201 35.0918ZM49.0514 33.1012H53.887L51.5032 26.1003H51.4365L49.0514 33.1012Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.0911 33.5882C71.0911 37.2042 69.1503 39.5273 66.2215 39.5273C65.4796 39.566 64.7418 39.3956 64.0925 39.0356C63.4432 38.6755 62.9087 38.1404 62.5502 37.4915H62.4947V43.2549H60.0996V27.7696H62.418V29.705H62.4621C62.8371 29.0592 63.3806 28.5269 64.0348 28.1647C64.6891 27.8024 65.4296 27.6238 66.1775 27.6479C69.1389 27.6479 71.0911 29.9824 71.0911 33.5882ZM68.6293 33.5882C68.6293 31.2325 67.4084 29.6837 65.5457 29.6837C63.7156 29.6837 62.4847 31.2651 62.4847 33.5882C62.4847 35.9328 63.7156 37.5029 65.5457 37.5029C67.4084 37.5029 68.6293 35.9654 68.6293 33.5882Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.9336 33.5884C83.9336 37.2043 81.9929 39.5274 79.0641 39.5274C78.3222 39.5661 77.5843 39.3957 76.935 39.0357C76.2857 38.6756 75.7512 38.1405 75.3927 37.4917H75.3373V43.255H72.9421V27.7698H75.2605V29.7051H75.3045C75.6795 29.0593 76.2231 28.527 76.8773 28.1648C77.5316 27.8026 78.272 27.624 79.02 27.648C81.9815 27.648 83.9336 29.9825 83.9336 33.5884ZM81.4718 33.5884C81.4718 31.2326 80.2509 29.6838 78.3882 29.6838C76.5582 29.6838 75.3272 31.2652 75.3272 33.5884C75.3272 35.9329 76.5582 37.503 78.3882 37.503C80.2509 37.503 81.4718 35.9655 81.4718 33.5884H81.4718Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.422 34.9589C92.5995 36.5416 94.1413 37.5807 96.2482 37.5807C98.267 37.5807 99.7195 36.5415 99.7195 35.1145C99.7195 33.8757 98.8435 33.1339 96.7693 32.6256L94.6951 32.1273C91.7562 31.4195 90.3919 30.0489 90.3919 27.8249C90.3919 25.0712 92.7984 23.1798 96.2155 23.1798C99.5974 23.1798 101.916 25.0712 101.994 27.8249H99.576C99.4312 26.2322 98.1109 25.2708 96.1815 25.2708C94.252 25.2708 92.9317 26.2435 92.9317 27.6592C92.9317 28.7876 93.775 29.4515 95.8379 29.9598L97.6012 30.3915C100.885 31.1659 102.249 32.4813 102.249 34.8157C102.249 37.8015 99.8642 39.6716 96.0707 39.6716C92.5214 39.6716 90.125 37.8455 89.9702 34.9588L92.422 34.9589Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.418 25.0159V27.7695H109.637V29.661H107.418V36.0757C107.418 37.0723 107.863 37.5366 108.838 37.5366C109.101 37.5321 109.364 37.5136 109.626 37.4814V39.3615C109.187 39.4432 108.742 39.4802 108.296 39.4719C105.933 39.4719 105.012 38.5871 105.012 36.3305V29.661H103.315V27.7695H105.012V25.0159H107.418Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.922 33.5881C110.922 29.927 113.084 27.6265 116.456 27.6265C119.839 27.6265 121.992 29.927 121.992 33.5881C121.992 37.2593 119.851 39.5498 116.456 39.5498C113.063 39.5498 110.922 37.2593 110.922 33.5881ZM119.551 33.5881C119.551 31.0767 118.397 29.5944 116.456 29.5944C114.515 29.5944 113.363 31.088 113.363 33.5881C113.363 36.1096 114.515 37.5806 116.456 37.5806C118.397 37.5806 119.551 36.1096 119.551 33.5881H119.551Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.967 27.7697H126.251V29.7502H126.306C126.461 29.1316 126.824 28.585 127.335 28.2021C127.847 27.8193 128.474 27.6236 129.113 27.6479C129.389 27.6469 129.664 27.6768 129.934 27.737V29.9711C129.585 29.8649 129.222 29.8161 128.858 29.8267C128.51 29.8127 128.163 29.8738 127.841 30.0061C127.519 30.1383 127.229 30.3385 126.992 30.5928C126.755 30.8471 126.576 31.1496 126.467 31.4795C126.358 31.8094 126.322 32.1588 126.362 32.5038V39.4056H123.967L123.967 27.7697Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140.976 35.9879C140.654 38.1002 138.591 39.5498 135.952 39.5498C132.558 39.5498 130.451 37.2819 130.451 33.6434C130.451 29.9936 132.569 27.6265 135.851 27.6265C139.08 27.6265 141.11 29.8379 141.11 33.366V34.1843H132.868V34.3286C132.83 34.7569 132.884 35.1883 133.026 35.5942C133.168 36.0001 133.395 36.3713 133.692 36.683C133.989 36.9947 134.349 37.2399 134.748 37.4022C135.147 37.5645 135.577 37.6403 136.007 37.6245C136.573 37.6774 137.141 37.5467 137.627 37.2518C138.112 36.9569 138.49 36.5136 138.702 35.9879L140.976 35.9879ZM132.88 32.515H138.713C138.735 32.13 138.676 31.7447 138.542 31.3833C138.407 31.0218 138.198 30.6921 137.929 30.4148C137.661 30.1375 137.337 29.9186 136.98 29.7718C136.622 29.625 136.238 29.5535 135.851 29.5618C135.461 29.5595 135.075 29.6342 134.714 29.7817C134.353 29.9292 134.025 30.1464 133.749 30.421C133.472 30.6956 133.253 31.022 133.104 31.3814C132.955 31.7408 132.879 32.1261 132.88 32.515V32.515Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.7511 11.4327C49.2533 11.3967 49.7572 11.4724 50.2264 11.6541C50.6957 11.8359 51.1187 12.1193 51.4648 12.4838C51.811 12.8483 52.0717 13.2849 52.2282 13.7621C52.3846 14.2392 52.433 14.7451 52.3697 15.2431C52.3697 17.693 51.0418 19.1013 48.7511 19.1013H45.9734V11.4327H48.7511ZM47.1678 18.0168H48.6177C48.9765 18.0382 49.3356 17.9795 49.6688 17.8451C50.002 17.7106 50.301 17.5038 50.5439 17.2396C50.7869 16.9754 50.9677 16.6605 51.0732 16.3178C51.1787 15.9752 51.2062 15.6133 51.1538 15.2587C51.2024 14.9055 51.1721 14.5459 51.0649 14.2058C50.9578 13.8656 50.7766 13.5533 50.5342 13.2912C50.2918 13.0291 49.9943 12.8238 49.663 12.6898C49.3316 12.5558 48.9747 12.4966 48.6177 12.5164H47.1678V18.0168Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.7188 16.2054C53.6823 15.8251 53.7259 15.4413 53.8468 15.0788C53.9678 14.7163 54.1634 14.383 54.4211 14.1003C54.6788 13.8175 54.9929 13.5916 55.3432 13.4371C55.6936 13.2825 56.0725 13.2026 56.4556 13.2026C56.8387 13.2026 57.2176 13.2825 57.568 13.4371C57.9184 13.5916 58.2325 13.8175 58.4902 14.1003C58.7478 14.383 58.9434 14.7163 59.0644 15.0788C59.1853 15.4413 59.2289 15.8251 59.1925 16.2054C59.2296 16.5861 59.1865 16.9703 59.0659 17.3334C58.9453 17.6965 58.7498 18.0305 58.4921 18.3137C58.2343 18.597 57.92 18.8234 57.5692 18.9783C57.2185 19.1332 56.8392 19.2132 56.4556 19.2132C56.072 19.2132 55.6927 19.1332 55.342 18.9783C54.9912 18.8234 54.6769 18.597 54.4192 18.3137C54.1614 18.0305 53.9659 17.6965 53.8453 17.3334C53.7247 16.9703 53.6816 16.5861 53.7188 16.2054ZM58.0144 16.2054C58.0144 14.9509 57.4493 14.2173 56.4575 14.2173C55.4619 14.2173 54.9019 14.9509 54.9019 16.2054C54.9019 17.4699 55.462 18.1978 56.4575 18.1978C57.4493 18.1978 58.0144 17.4649 58.0144 16.2054H58.0144Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.4689 19.1014H65.2808L64.0813 14.8391H63.9907L62.7963 19.1014H61.6195L60.0198 13.3142H61.1815L62.2211 17.7302H62.3067L63.4998 13.3142H64.5986L65.7918 17.7302H65.8824L66.917 13.3142H68.0623L66.4689 19.1014Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.4075 13.3142H70.51V14.2335H70.5956C70.7408 13.9033 70.9857 13.6265 71.2961 13.4417C71.6066 13.2569 71.9671 13.1733 72.3275 13.2025C72.6098 13.1813 72.8934 13.2238 73.1571 13.3267C73.4208 13.4296 73.6578 13.5904 73.8508 13.7971C74.0437 14.0039 74.1875 14.2512 74.2715 14.5209C74.3555 14.7905 74.3776 15.0756 74.3362 15.3549V19.1013H73.1909V15.6418C73.1909 14.7117 72.7856 14.2492 71.9385 14.2492C71.7468 14.2403 71.5554 14.2729 71.3775 14.3446C71.1996 14.4164 71.0393 14.5256 70.9077 14.6649C70.7761 14.8042 70.6762 14.9703 70.615 15.1516C70.5537 15.333 70.5325 15.5255 70.5528 15.7158V19.1014H69.4075L69.4075 13.3142Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.1611 11.0549H77.3065V19.1013H76.1611V11.0549Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.8984 16.2052C78.862 15.8249 78.9056 15.4412 79.0266 15.0786C79.1476 14.7161 79.3432 14.3828 79.6009 14.1C79.8586 13.8173 80.1727 13.5914 80.5231 13.4368C80.8735 13.2822 81.2524 13.2024 81.6356 13.2024C82.0187 13.2024 82.3977 13.2822 82.748 13.4368C83.0984 13.5914 83.4126 13.8173 83.6703 14.1C83.928 14.3828 84.1236 14.7161 84.2446 15.0786C84.3655 15.4412 84.4092 15.8249 84.3727 16.2052C84.4099 16.586 84.3667 16.9702 84.2461 17.3333C84.1254 17.6964 83.9299 18.0303 83.6721 18.3136C83.4143 18.5969 83.1 18.8232 82.7493 18.9781C82.3985 19.1331 82.0192 19.2131 81.6356 19.2131C81.252 19.2131 80.8726 19.1331 80.5219 18.9781C80.1712 18.8232 79.8568 18.5969 79.599 18.3136C79.3413 18.0303 79.1458 17.6964 79.0251 17.3333C78.9044 16.9702 78.8613 16.586 78.8984 16.2052ZM83.194 16.2052C83.194 14.9508 82.6289 14.2172 81.6372 14.2172C80.6416 14.2172 80.0816 14.9508 80.0816 16.2053C80.0816 17.4698 80.6416 18.1977 81.6372 18.1977C82.6289 18.1977 83.1941 17.4647 83.1941 16.2052H83.194Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.5786 17.4647C85.5786 16.4229 86.3564 15.8224 87.7371 15.737L89.3091 15.6467V15.1471C89.3091 14.5359 88.9039 14.1908 88.121 14.1908C87.4816 14.1908 87.0386 14.4248 86.9115 14.834H85.8026C85.9197 13.84 86.8574 13.2024 88.1739 13.2024C89.6288 13.2024 90.4495 13.9247 90.4495 15.1471V19.1013H89.3469V18.288H89.2563C89.0723 18.5797 88.8141 18.8176 88.5078 18.9772C88.2016 19.1368 87.8583 19.2126 87.5131 19.1967C87.2695 19.2219 87.0232 19.196 86.7903 19.1206C86.5573 19.0451 86.3428 18.9218 86.1605 18.7587C85.9782 18.5955 85.8323 18.396 85.7321 18.1731C85.6319 17.9503 85.5796 17.7089 85.5786 17.4647ZM89.3091 16.9702V16.4863L87.8919 16.5767C87.0927 16.63 86.7302 16.9011 86.7302 17.4113C86.7302 17.9322 87.1833 18.2353 87.8064 18.2353C87.989 18.2537 88.1734 18.2353 88.3486 18.1812C88.5239 18.1271 88.6865 18.0384 88.8267 17.9204C88.9669 17.8024 89.0819 17.6574 89.1648 17.4942C89.2476 17.3309 89.2967 17.1527 89.3091 16.9702Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.9548 16.2052C91.9548 14.3765 92.8975 13.2181 94.3638 13.2181C94.7265 13.2014 95.0865 13.2881 95.4016 13.4679C95.7168 13.6476 95.9741 13.9132 96.1435 14.2334H96.2291V11.0549H97.3744V19.1013H96.2769V18.187H96.1863C96.0038 18.505 95.7375 18.7673 95.4163 18.9453C95.095 19.1232 94.7311 19.2102 94.3638 19.1967C92.8875 19.1967 91.9548 18.0383 91.9548 16.2052ZM93.138 16.2052C93.138 17.4327 93.7182 18.1713 94.6886 18.1713C95.6539 18.1713 96.2505 17.422 96.2505 16.2102C96.2505 15.0041 95.6476 14.2441 94.6886 14.2441C93.7244 14.2441 93.1379 14.9878 93.1379 16.2052H93.138Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.113 16.2054C102.077 15.8251 102.12 15.4413 102.241 15.0788C102.362 14.7163 102.558 14.383 102.816 14.1003C103.073 13.8175 103.387 13.5916 103.738 13.4371C104.088 13.2825 104.467 13.2026 104.85 13.2026C105.233 13.2026 105.612 13.2825 105.963 13.4371C106.313 13.5916 106.627 13.8175 106.885 14.1003C107.142 14.383 107.338 14.7163 107.459 15.0788C107.58 15.4413 107.623 15.8251 107.587 16.2054C107.624 16.5861 107.581 16.9703 107.46 17.3334C107.34 17.6965 107.144 18.0305 106.887 18.3137C106.629 18.597 106.314 18.8234 105.964 18.9783C105.613 19.1332 105.234 19.2132 104.85 19.2132C104.467 19.2132 104.087 19.1332 103.736 18.9783C103.386 18.8234 103.071 18.597 102.814 18.3137C102.556 18.0305 102.36 17.6965 102.24 17.3334C102.119 16.9703 102.076 16.5861 102.113 16.2054ZM106.409 16.2054C106.409 14.9509 105.844 14.2173 104.852 14.2173C103.856 14.2173 103.296 14.9509 103.296 16.2054C103.296 17.4699 103.857 18.1978 104.852 18.1978C105.844 18.1978 106.409 17.4649 106.409 16.2054Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.124 13.3142H110.226V14.2335H110.312C110.457 13.9033 110.702 13.6265 111.012 13.4417C111.323 13.2569 111.683 13.1733 112.044 13.2025C112.326 13.1813 112.609 13.2238 112.873 13.3267C113.137 13.4296 113.374 13.5904 113.567 13.7971C113.76 14.0039 113.904 14.2512 113.988 14.5209C114.072 14.7905 114.094 15.0756 114.052 15.3549V19.1013H112.907V15.6418C112.907 14.7117 112.502 14.2492 111.655 14.2492C111.463 14.2403 111.272 14.2729 111.094 14.3446C110.916 14.4164 110.755 14.5256 110.624 14.6649C110.492 14.8042 110.392 14.9703 110.331 15.1516C110.27 15.333 110.249 15.5255 110.269 15.7158V19.1014H109.124V13.3142Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.524 11.8734V13.3406H121.782V14.3026H120.524V17.2785C120.524 17.8847 120.775 18.1501 121.345 18.1501C121.491 18.1496 121.637 18.1408 121.782 18.1238V19.0751C121.576 19.1118 121.367 19.1313 121.159 19.1335C119.885 19.1335 119.378 18.6866 119.378 17.5709V14.3026H118.456V13.3406H119.378V11.8734H120.524Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.346 11.0549H124.481V14.2441H124.572C124.724 13.9108 124.976 13.6325 125.292 13.447C125.609 13.2614 125.975 13.1778 126.341 13.2074C126.622 13.1922 126.903 13.2389 127.164 13.3444C127.425 13.4498 127.659 13.6113 127.85 13.8174C128.04 14.0235 128.183 14.269 128.268 14.5365C128.353 14.804 128.378 15.0869 128.34 15.3649V19.1013H127.194V15.6467C127.194 14.7223 126.762 14.2541 125.953 14.2541C125.756 14.238 125.558 14.265 125.372 14.3332C125.187 14.4014 125.019 14.5091 124.88 14.6489C124.741 14.7886 124.634 14.957 124.567 15.1423C124.5 15.3275 124.474 15.5252 124.491 15.7213V19.1013H123.346L123.346 11.0549Z\",\n fill: \"#090110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.018 17.5387C134.863 18.0676 134.525 18.5251 134.066 18.8312C133.606 19.1373 133.053 19.2724 132.503 19.213C132.121 19.223 131.741 19.15 131.39 18.999C131.039 18.8479 130.725 18.6225 130.47 18.3383C130.215 18.054 130.025 17.7179 129.913 17.3531C129.801 16.9884 129.77 16.6037 129.823 16.2259C129.772 15.8469 129.803 15.4614 129.914 15.0955C130.026 14.7297 130.215 14.392 130.469 14.1053C130.722 13.8186 131.035 13.5896 131.385 13.4338C131.735 13.278 132.115 13.1991 132.498 13.2024C134.113 13.2024 135.087 14.3025 135.087 16.1198V16.5183H130.989V16.5823C130.971 16.7947 130.998 17.0085 131.068 17.2099C131.138 17.4114 131.249 17.5961 131.394 17.7522C131.54 17.9083 131.717 18.0323 131.913 18.1164C132.109 18.2004 132.321 18.2426 132.535 18.2403C132.809 18.2731 133.086 18.2239 133.332 18.0989C133.578 17.974 133.781 17.779 133.916 17.5387L135.018 17.5387ZM130.989 15.6736H133.921C133.935 15.4794 133.909 15.2843 133.843 15.1009C133.777 14.9175 133.674 14.7498 133.539 14.6086C133.405 14.4674 133.242 14.3558 133.062 14.2811C132.881 14.2063 132.687 14.17 132.492 14.1744C132.294 14.172 132.097 14.209 131.914 14.2835C131.73 14.358 131.564 14.4683 131.424 14.6081C131.284 14.7478 131.173 14.914 131.098 15.097C131.024 15.2801 130.987 15.4761 130.989 15.6736H130.989Z\",\n fill: \"#090110\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_5964_811\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 154.225,\n height: 51.4084,\n fill: \"white\",\n transform: \"translate(0 0.21167)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppStore);\nexport default __webpack_public_path__ + \"static/media/app_store.feaa98bd328c5b6c4b5a34d1e75b7867.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { appAnalytics } from 'analytics';\nimport { InstallQR } from 'analytics/AllEvents';\nimport AppStore from 'assets/app_store.svg';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { getOneLink, isDevEnv } from 'utils';\n\nexport const AppStoreButton = () => {\n const { authToken } = useAppSelector((state) => state.user);\n\n const handleClick = () => {\n window.location.href = getOneLink({\n mediaSource: isDevEnv() ? 'web_payments_dev' : 'web_payments',\n webDp:\n 'https://apps.apple.com/us/app/loóna-calm-relax-and-sleep/id1465238901',\n deepLink: authToken,\n campaign: 'onboarding-ios',\n retargeting: 'true',\n androidUrl:\n 'https://apps.apple.com/us/app/loóna-calm-relax-and-sleep/id1465238901',\n });\n appAnalytics.trackEvent(new InstallQR('ios', authToken || false));\n };\n return (\n \n \"Download\n \n );\n};\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGooglePlay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 171,\n height: 51,\n viewBox: \"0 0 171 51\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.4261 13.0046C60.4261 14.0144 60.1737 14.898 59.5425 15.5291C58.7852 16.2865 57.9016 16.6651 56.7655 16.6651C55.6295 16.6651 54.7459 16.2865 53.9886 15.5291C53.2312 14.7717 52.8525 13.8882 52.8525 12.7521C52.8525 11.6161 53.2312 10.7325 53.9886 9.97515C54.7459 9.21779 55.6295 8.83911 56.7655 8.83911C57.2705 8.83911 57.7754 8.96534 58.2803 9.21779C58.7852 9.47024 59.1638 9.72269 59.4163 10.1014L58.7852 10.7325C58.2803 10.1014 57.6491 9.84892 56.7655 9.84892C56.0082 9.84892 55.2508 10.1014 54.7459 10.7325C54.1148 11.2374 53.8623 11.9948 53.8623 12.8783C53.8623 13.7619 54.1148 14.5193 54.7459 15.0242C55.3771 15.5291 56.0082 15.9078 56.7655 15.9078C57.6491 15.9078 58.2803 15.6553 58.9114 15.0242C59.2901 14.6455 59.5425 14.1406 59.5425 13.5095H56.7655V12.6259H60.4261C60.4261 12.6259 60.4261 12.8783 60.4261 13.0046Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.2324 9.84904H62.8243V12.2473H65.9799V13.1309H62.8243V15.5292H66.2324V16.539H61.8145V8.96545H66.2324V9.84904Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.3981 16.539H69.3883V9.84904H67.2424V8.96545H72.5439V9.84904H70.3981V16.539Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.2043 16.539V8.96545H77.2141V16.539H76.2043Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.5057 16.539H80.4959V9.84904H78.3501V8.96545H83.5254V9.84904H81.3795V16.539H81.5057Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.4973 15.5291C92.74 16.2865 91.8564 16.6651 90.7204 16.6651C89.5843 16.6651 88.7008 16.2865 87.9434 15.5291C87.186 14.7717 86.8074 13.8882 86.8074 12.7521C86.8074 11.6161 87.186 10.7325 87.9434 9.97515C88.7008 9.21779 89.5843 8.83911 90.7204 8.83911C91.8564 8.83911 92.74 9.21779 93.4973 9.97515C94.2547 10.7325 94.6334 11.6161 94.6334 12.7521C94.6334 13.8882 94.2547 14.7717 93.4973 15.5291ZM88.7008 14.898C89.2057 15.4029 89.963 15.7815 90.7204 15.7815C91.4777 15.7815 92.2351 15.5291 92.74 14.898C93.2449 14.3931 93.6236 13.6357 93.6236 12.7521C93.6236 11.8685 93.3711 11.1112 92.74 10.6063C92.2351 10.1014 91.4777 9.72269 90.7204 9.72269C89.963 9.72269 89.2057 9.97515 88.7008 10.6063C88.1959 11.1112 87.8172 11.8685 87.8172 12.7521C87.8172 13.6357 88.0696 14.3931 88.7008 14.898Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.0217 16.539V8.96545H97.1578L100.818 14.8981V13.3834V8.96545H101.828V16.539H100.818L96.9053 10.3539V11.8687V16.539H96.0217Z\",\n fill: \"#090110\",\n stroke: \"#090110\",\n strokeWidth: 0.252452,\n strokeMiterlimit: 10\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.5549 27.647C83.5255 27.647 81.1272 29.919 81.1272 33.0747C81.1272 36.1041 83.5255 38.5024 86.5549 38.5024C89.5843 38.5024 91.9826 36.2304 91.9826 33.0747C91.9826 29.7928 89.5843 27.647 86.5549 27.647ZM86.5549 36.2304C84.914 36.2304 83.5255 34.8419 83.5255 32.9485C83.5255 31.0551 84.914 29.6666 86.5549 29.6666C88.1959 29.6666 89.5844 30.9289 89.5844 32.9485C89.5844 34.8419 88.1959 36.2304 86.5549 36.2304ZM74.8159 27.647C71.7865 27.647 69.3882 29.919 69.3882 33.0747C69.3882 36.1041 71.7865 38.5024 74.8159 38.5024C77.8453 38.5024 80.2436 36.2304 80.2436 33.0747C80.2436 29.7928 77.8453 27.647 74.8159 27.647ZM74.8159 36.2304C73.175 36.2304 71.7865 34.8419 71.7865 32.9485C71.7865 31.0551 73.175 29.6666 74.8159 29.6666C76.4568 29.6666 77.8453 30.9289 77.8453 32.9485C77.8453 34.8419 76.4568 36.2304 74.8159 36.2304ZM60.8048 29.2879V31.56H66.2325C66.1063 32.8223 65.6014 33.8321 64.9703 34.4632C64.2129 35.2205 62.9506 36.1041 60.8048 36.1041C57.3967 36.1041 54.8722 33.4534 54.8722 30.0453C54.8722 26.6372 57.5229 23.9864 60.8048 23.9864C62.572 23.9864 63.9605 24.7438 64.9703 25.6274L66.6112 23.9864C65.2227 22.7242 63.4555 21.7144 60.931 21.7144C56.3869 21.7144 52.4739 25.5011 52.4739 30.0453C52.4739 34.5894 56.3869 38.3762 60.931 38.3762C63.4555 38.3762 65.2227 37.6188 66.7374 35.9779C68.2521 34.4632 68.757 32.3173 68.757 30.6764C68.757 30.1715 68.757 29.6666 68.6308 29.2879H60.8048ZM118.111 31.0551C117.607 29.7928 116.344 27.647 113.567 27.647C110.79 27.647 108.518 29.7928 108.518 33.0747C108.518 36.1041 110.79 38.5024 113.82 38.5024C116.218 38.5024 117.733 36.9877 118.238 36.1041L116.471 34.8419C115.839 35.7254 115.082 36.3566 113.82 36.3566C112.557 36.3566 111.8 35.8517 111.169 34.7156L118.364 31.6862L118.111 31.0551ZM110.79 32.8223C110.79 30.8026 112.431 29.6666 113.567 29.6666C114.451 29.6666 115.334 30.1715 115.587 30.8026L110.79 32.8223ZM104.858 37.9975H107.256V22.2193H104.858V37.9975ZM101.071 28.783C100.44 28.1519 99.43 27.5208 98.1677 27.5208C95.517 27.5208 92.9925 29.9191 92.9925 32.9485C92.9925 35.9779 95.3908 38.25 98.1677 38.25C99.43 38.25 100.44 37.6188 100.945 36.9877H101.071V37.7451C101.071 39.7647 99.9349 40.9007 98.1677 40.9007C96.7792 40.9007 95.7694 39.8909 95.517 39.0073L93.4974 39.8909C94.1285 41.2794 95.6432 43.0466 98.294 43.0466C101.071 43.0466 103.343 41.4056 103.343 37.4926V27.8994H101.071V28.783ZM98.294 36.2304C96.653 36.2304 95.2645 34.8419 95.2645 32.9485C95.2645 31.0551 96.653 29.6666 98.294 29.6666C99.9349 29.6666 101.197 31.0551 101.197 32.9485C101.197 34.8419 99.9349 36.2304 98.294 36.2304ZM129.093 22.2193H123.413V37.9975H125.811V32.0649H129.093C131.744 32.0649 134.268 30.1715 134.268 27.1421C134.268 24.1126 131.744 22.2193 129.093 22.2193ZM129.219 29.7928H125.811V24.3651H129.219C130.987 24.3651 131.996 25.8798 131.996 27.0158C131.87 28.4043 130.86 29.7928 129.219 29.7928ZM143.735 27.5208C141.968 27.5208 140.201 28.2781 139.57 29.919L141.716 30.8026C142.221 29.919 142.978 29.6666 143.862 29.6666C145.124 29.6666 146.26 30.424 146.386 31.6862V31.8124C146.007 31.56 144.998 31.1813 143.988 31.1813C141.716 31.1813 139.444 32.4436 139.444 34.7156C139.444 36.8615 141.337 38.25 143.357 38.25C144.998 38.25 145.755 37.4926 146.386 36.7353H146.512V37.9975H148.784V31.9387C148.532 29.1617 146.386 27.5208 143.735 27.5208ZM143.483 36.2304C142.726 36.2304 141.589 35.8517 141.589 34.8419C141.589 33.5796 142.978 33.2009 144.114 33.2009C145.124 33.2009 145.629 33.4534 146.26 33.7058C146.007 35.2205 144.745 36.2304 143.483 36.2304ZM156.737 27.8994L154.086 34.7156H153.96L151.183 27.8994H148.658L152.824 37.4926L150.425 42.7941H152.824L159.261 27.8994H156.737ZM135.531 37.9975H137.929V22.2193H135.531V37.9975Z\",\n fill: \"#090110\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.7227 9.59656C13.344 9.97524 13.0916 10.6064 13.0916 11.3637V39.2597C13.0916 40.017 13.344 40.6482 13.7227 41.0268L13.8489 41.1531L29.5009 25.501V25.3748V25.2486L13.7227 9.59656Z\",\n fill: \"url(#paint0_linear_5964_846)\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.676 30.8028L29.5007 25.6276V25.3751V25.2489L34.676 20.0736L34.8022 20.1998L40.9873 23.7342C42.7545 24.744 42.7545 26.3849 40.9873 27.3947L34.676 30.8028Z\",\n fill: \"url(#paint1_linear_5964_846)\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.8022 30.6765L29.5007 25.375L13.7224 41.1533C14.3535 41.7844 15.2371 41.7844 16.3732 41.2795L34.8022 30.6765Z\",\n fill: \"url(#paint2_linear_5964_846)\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.8022 20.0732L16.3732 9.59646C15.2371 8.96533 14.3535 9.09155 13.7224 9.72268L29.5007 25.3747L34.8022 20.0732Z\",\n fill: \"url(#paint3_linear_5964_846)\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M34.6759 30.5499L16.3732 40.9005C15.3634 41.5316 14.4798 41.4054 13.8486 40.9005L13.7224 41.0267L13.8486 41.1529C14.4798 41.6578 15.3634 41.784 16.3732 41.1529L34.6759 30.5499Z\",\n fill: \"black\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M13.7224 40.9006C13.3438 40.522 13.2175 39.8908 13.2175 39.1335V39.2597C13.2175 40.0171 13.47 40.6482 13.8487 41.0269V40.9006H13.7224Z\",\n fill: \"black\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M40.9871 27.0159L34.6758 30.5503L34.802 30.6765L40.9871 27.1422C41.8707 26.6373 42.2493 26.0061 42.2493 25.375C42.2493 26.0061 41.7444 26.511 40.9871 27.0159Z\",\n fill: \"black\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.25,\n d: \"M16.3732 9.72292L40.9873 23.734C41.7446 24.2389 42.2495 24.7438 42.2495 25.375C42.2495 24.7438 41.8708 24.1127 40.9873 23.6078L16.3732 9.5967C14.606 8.58689 13.2175 9.47047 13.2175 11.4901V11.6163C13.2175 9.5967 14.606 8.71312 16.3732 9.72292Z\",\n fill: \"#090110\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_5964_846\",\n x1: 28.1121,\n y1: 11.1235,\n x2: 6.92831,\n y2: 32.3073,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#00A0FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.00657445,\n stopColor: \"#00A1FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2601,\n stopColor: \"#00BEFF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5122,\n stopColor: \"#00D2FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7604,\n stopColor: \"#00DFFF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00E3FF\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_5964_846\",\n x1: 43.3028,\n y1: 25.3769,\n x2: 12.76,\n y2: 25.3769,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FFE000\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4087,\n stopColor: \"#FFBD00\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7754,\n stopColor: \"#FFA500\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FF9C00\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_5964_846\",\n x1: 31.933,\n y1: 28.2733,\n x2: 3.20614,\n y2: 57.0002,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF3A44\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#C31162\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_5964_846\",\n x1: 9.806,\n y1: 0.35191,\n x2: 22.6338,\n y2: 13.1796,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#32A071\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0685,\n stopColor: \"#2DA771\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4762,\n stopColor: \"#15CF74\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8009,\n stopColor: \"#06E775\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00F076\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGooglePlay);\nexport default __webpack_public_path__ + \"static/media/google_play.efac10bc4fe6eb9557c5c232e47dabd6.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { appAnalytics } from 'analytics';\nimport { InstallQR } from 'analytics/AllEvents';\nimport GooglePlay from 'assets/google_play.svg';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { getOneLink, isDevEnv } from 'utils';\n\nexport const GooglePlayButton = () => {\n const { authToken } = useAppSelector((state) => state.user);\n\n const handleClick = () => {\n window.location.href = getOneLink({\n mediaSource: isDevEnv() ? 'web_payments_dev' : 'web_payments',\n webDp:\n 'https://play.google.com/store/apps/details?id=co.loona&hl=en&gl=US',\n campaign: 'onboarding-android',\n retargeting: 'true',\n deepLink: authToken,\n iosUrl:\n 'https://play.google.com/store/apps/details?id=co.loona&hl=en&gl=US',\n });\n appAnalytics.trackEvent(new InstallQR('android', authToken || false));\n };\n return (\n \n \"Download\n \n );\n};\n","import React from 'react';\nimport QRCode from 'react-qr-code';\n\ntype Props = {\n value: string;\n size?: number;\n bgColor?: string;\n fgColor?: string;\n level?: 'L' | 'M' | 'Q' | 'H';\n};\n\nconst QrCode = (props: Props) => {\n return ;\n};\n\nexport default QrCode;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__avwLR\",\"logo\":\"styles_logo__fyS2N\",\"content\":\"styles_content__U6RCZ\",\"title\":\"styles_title__vTdu5\",\"description\":\"styles_description__prM7k\",\"note\":\"styles_note__c+iXK\",\"markets\":\"styles_markets__JWhsZ\"};","import React, { useEffect } from 'react';\nimport { ReactComponent as Logo } from 'assets/logo_loona.svg';\nimport { AppStoreButton } from 'install/components/AppStoreButton';\nimport { GooglePlayButton } from 'install/components/GooglePlayButton';\nimport { appAnalytics } from 'analytics';\nimport { ViewInstallQRScreen } from 'analytics/AllEvents';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport QrCode from 'components/qrcode/QrCode';\nimport { getOneLink } from 'utils';\nimport styles from './styles.module.scss';\n\nconst Install = () => {\n const { authToken } = useAppSelector((state) => state.user);\n const qrCodeLink = getOneLink({\n qr: true,\n mediaSource: 'web_payments',\n campaign: 'qr',\n deepLink: authToken,\n });\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewInstallQRScreen());\n }, []);\n\n return (\n
\n \n
\n \n
Install Loóna
\n
\n You need an iPhone or Android smartphone to access your personal\n escape plan.\n
\n
\n Scan the qr code above or use {'\\n'} the links below:\n
\n
\n \n \n
\n
\n
\n );\n};\n\nexport default Install;\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 21,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.1774 10.4853L10.6921 15.9892L2.20686 10.4853\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconArrow);\nexport default __webpack_public_path__ + \"static/media/icon_arrow.f5774087d998fe860436c28323c1a7a4.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from 'react';\nimport { isCookiesAccepted } from 'utils';\n\nexport const useCookieConsentLogic = () => {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n if (!isCookiesAccepted()) {\n setIsVisible(true);\n }\n }, []);\n\n const onClose = () => {\n setIsVisible(false);\n localStorage.setItem('cookies-accepted', 'true');\n };\n\n return {\n isVisible,\n onClose,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"cookieConsent\":\"styles_cookieConsent__UJWhy\",\"hidden\":\"styles_hidden__yuOJm\",\"textWrapper\":\"styles_textWrapper__7HrlO\",\"accent\":\"styles_accent__dRxmZ\",\"bold\":\"styles_bold__UYtCL\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useCookieConsentLogic } from './hooks/useCookieConsent';\nimport styles from './styles.module.scss';\n\nexport const CookieConsent = () => {\n const { t } = useTranslation();\n const { isVisible, onClose } = useCookieConsentLogic();\n\n return (\n \n
\n {t('cookieConsentTitleLine1')}{' '}\n \n \n {t('cookieConsentTitleLine2')}\n \n \n
\n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__ILhoO\",\"gradient\":\"styles_gradient__aQ5QZ\",\"content\":\"styles_content__4G6o4\",\"logo\":\"styles_logo__gepXR\"};","import React, { ReactNode } from 'react';\nimport Logo from 'assets/logo_loona.svg';\nimport styles from './styles.module.scss';\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const Background = ({ children }: Props) => {\n return (\n
\n
\n
\n \"\"\n {children}\n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"styles_title__uH1Az\",\"arrowTitle\":\"styles_arrowTitle__RWXvg\",\"buttons\":\"styles_buttons__KLlgW\",\"footer\":\"styles_footer__6C9sq\",\"links\":\"styles_links__fBkWk\",\"copyright\":\"styles_copyright__gFH8C\",\"arrow\":\"styles_arrow__cLjZT\",\"sliding\":\"styles_sliding__VRgBG\"};","import React from 'react';\nimport ArrowIcon from 'assets/icon_arrow.svg';\nimport { CookieConsent } from 'onboarding/components/cookieconsent/CookieConsent';\nimport { Background } from 'welcome/components/background/Background';\nimport { useTranslation } from 'react-i18next';\nimport { useDefaultWelcomeLogic } from './hooks/useDefaultWelcome';\nimport styles from './styles.module.scss';\n\nconst DefaultWelcome = () => {\n const { t } = useTranslation();\n const { handleReduceStress, handleSleepBetter } = useDefaultWelcomeLogic();\n\n return (\n \n

{t('welcomeTitle')}

\n\n

{t('welcomeArrowTitle')}

\n\n \"\"\n\n
\n \n\n \n
\n\n
\n \n \n © {new Date().getFullYear()}\n {t('rightsReserved')}\n \n
\n \n
\n );\n};\n\nexport default DefaultWelcome;\n","import { appAnalytics } from 'analytics';\nimport { ContinueWelcome, ScreenOpened } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { SyntheticEvent, useEffect } from 'react';\nimport { useFeatures } from 'useFeatures';\n\nexport const useDefaultWelcomeLogic = () => {\n const dispatch = useAppDispatch();\n\n const features = useFeatures();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ScreenOpened('onboardingWelcome'));\n }, []);\n\n const handleReduceStress = (e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new ContinueWelcome('reduceStress'));\n dispatch(setAnswer(QuestionIds.Welcome, 'stress', features));\n };\n\n const handleSleepBetter = (e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new ContinueWelcome('sleepBetter'));\n dispatch(setAnswer(QuestionIds.Welcome, 'sleep', features));\n };\n\n return {\n handleReduceStress,\n handleSleepBetter,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"styles_footer__nm0Tf\",\"links\":\"styles_links__u1vws\",\"copyright\":\"styles_copyright__8MAav\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\n\nexport const Footer = () => {\n const { t } = useTranslation();\n\n return (\n
\n \n \n © {new Date().getFullYear()} {t('rightsReserved')}\n \n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__ct9xa\",\"image\":\"styles_image__dZCV5\",\"content\":\"styles_content__RoWSJ\",\"title\":\"styles_title__++MyJ\",\"accent\":\"styles_accent__N9opX\",\"subtitle\":\"styles_subtitle__MY3li\",\"button\":\"styles_button__GzeeM\"};","import React from 'react';\nimport { CookieConsent } from 'onboarding/components/cookieconsent/CookieConsent';\nimport WelcomeGadImage from 'assets/welcome/welcome_gad.png';\nimport { Footer } from 'welcome/components/footer/Footer';\nimport { useTranslation } from 'react-i18next';\nimport { useGadWelcomeLogic } from './GadWelcome.hook';\nimport styles from './styles.module.scss';\n\nconst GadWelcome = () => {\n const { t } = useTranslation();\n const { handleTakeTest } = useGadWelcomeLogic();\n\n return (\n
\n \"\"\n
\n
\n {t('welcomeGadTitleLine1')}\n {t('welcomeGadTitleLine2')}\n
\n\n
{t('welcomeAdhdSubtitle')}
\n\n \n\n
\n
\n \n
\n );\n};\n\nexport default GadWelcome;\n","import { appAnalytics } from 'analytics';\nimport { ContinueWelcome, ScreenOpened } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { SyntheticEvent, useEffect } from 'react';\nimport { useFeatures } from 'useFeatures';\n\nexport const useGadWelcomeLogic = () => {\n const dispatch = useAppDispatch();\n const features = useFeatures();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ScreenOpened('onboardingWelcome'));\n }, []);\n\n const handleTakeTest = (e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new ContinueWelcome('gad'));\n dispatch(setAnswer(QuestionIds.Welcome, '', features));\n };\n\n return {\n handleTakeTest,\n };\n};\n","var _g, _g2, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgWelcomeRmeq(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 2000,\n height: 1912,\n viewBox: \"0 0 2000 1912\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.12,\n filter: \"url(#filter0_f_11251_2601)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1292.04,\n cy: 754.484,\n rx: 607.964,\n ry: 622.031,\n fill: \"#47B3FE\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.12,\n filter: \"url(#filter1_f_11251_2601)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 707.964,\n cy: 722.031,\n rx: 607.964,\n ry: 622.031,\n fill: \"#D295FF\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M336.187 1674.77C312.388 1682.12 320.295 1648.5 329.124 1614.02C337.953 1579.54 325.938 1539.11 325.938 1539.11L333.615 1582.98C333.615 1582.98 296.727 1556.98 252.507 1448.84C224.877 1379.48 204.871 1307.22 192.855 1233.38L195.811 1252.93C195.811 1252.93 124.759 1229.47 139.077 1186.47C145.718 1166.41 201.3 1155.19 234.12 1165.12C250.587 1170.05 303.905 1108.31 536.406 1048.18C768.907 988.056 853.356 983.09 853.356 983.09L830.823 1003.81C830.823 1003.81 903.948 943.799 917.383 933.439C930.818 923.078 983.444 916.627 981.947 970.032C980.425 1003.58 970.501 1036.18 953.119 1064.72L968.474 1034.11C968.474 1034.11 1004.86 1093.61 1019.53 1227.63C1034.19 1361.66 1057.91 1448.72 1057.91 1448.72L1059.6 1450.56C1059.6 1450.56 1118.91 1455.84 1104.63 1499.04C1097.99 1519.09 1042.4 1530.31 1009.58 1520.38C541.243 1722.51 360.024 1667.46 336.187 1674.77Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M226.476 1041.42C204.673 1029.26 233.769 1011.47 264.094 993.725C294.418 975.976 314.379 938.991 314.379 938.991L288.929 975.194C288.929 975.194 281.252 930.156 326.125 822.29C355.388 753.626 392.027 688.474 435.37 628.023L423.662 643.935C423.662 643.935 390.305 575.869 430.61 556.008C449.304 546.782 495.865 579.466 512.103 610.156C520.202 625.599 600.773 621.103 805.752 748.008C1010.73 874.913 1073.34 932.853 1073.34 932.853L1043.01 930.977C1043.01 930.977 1136.33 942.119 1152.91 944.621C1169.49 947.123 1210.95 980.863 1172.49 1017.18C1147.9 1039.57 1118.11 1055.18 1085.93 1062.53L1118.1 1052.17C1118.1 1052.17 1101.9 1120.32 1018.29 1224.82C934.689 1329.32 890.315 1407.67 890.315 1407.67V1410.17C890.315 1410.17 928.164 1457.09 887.859 1476.87C869.165 1486.1 822.603 1453.41 806.366 1422.72C336.642 1223.92 248.317 1053.62 226.476 1041.42Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1767.51 1543.1C1771.16 1566.56 1741.99 1555.18 1712.2 1542.67C1682.41 1530.16 1644.68 1536.84 1644.68 1536.84L1684.91 1534.85C1684.91 1534.85 1657.08 1567.07 1554.7 1596.54C1489.26 1614.72 1422 1625.28 1354.22 1628.02L1372.22 1627.51C1372.22 1627.51 1342.47 1692.68 1305.5 1673.87C1288.35 1665.16 1285.28 1610.7 1298.13 1580.47C1304.58 1565.31 1255.91 1507.01 1230.65 1277.52C1205.39 1048.03 1211.46 966.709 1211.46 966.709L1227.27 990.714C1227.27 990.714 1182.52 913.656 1174.92 899.621C1167.32 885.585 1168.01 834.448 1215.68 842.189C1245.64 847.682 1273.67 861.066 1296.98 881.011L1271.42 862.792C1271.42 862.792 1329.23 835.034 1451.14 836.872C1573.05 838.709 1654.01 826.238 1654.01 826.238L1655.85 824.83C1655.85 824.83 1667.9 768.728 1704.87 787.533C1722.03 796.251 1725.1 850.712 1712.24 880.933C1835.61 1352.62 1763.9 1519.45 1767.51 1543.1Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M658.168 889.181C634.062 882.925 657.861 858.334 682.927 833.43C707.993 808.526 718.165 767.593 718.165 767.593L702.388 809.112C702.388 809.112 683.963 767.475 700.891 651.595C712.381 577.669 731.872 505.265 759.007 435.708L751.56 454.083C751.56 454.083 702.542 396.69 736.705 367.173C752.558 353.489 805.799 373.233 828.83 398.88C840.346 411.742 917.386 386.916 1147.01 457.523C1376.63 528.131 1451.44 568.399 1451.44 568.399L1421.62 574.303C1421.62 574.303 1514.7 561.323 1531.4 559.564C1548.1 557.804 1596.66 579.893 1568.17 624.854C1549.86 652.796 1524.83 675.501 1495.47 690.808L1524.07 672.59C1524.07 672.59 1525.11 742.689 1469.75 865.176C1414.4 987.663 1390.68 1074.77 1390.68 1074.77L1391.22 1077.23C1391.22 1077.23 1439.35 1112.93 1405.19 1142.44C1389.34 1156.13 1336.1 1136.38 1313.06 1110.74C809.599 1037.82 682.274 895.397 658.168 889.181Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1095.23 1055.1C1070.89 1049.83 1081.56 1082.47 1093.15 1116.25C1104.75 1150.03 1096.15 1191.16 1096.15 1191.16L1099.99 1146.82C1099.99 1146.82 1065.44 1175.87 1030.16 1287.57C1008.32 1359.04 994.313 1432.75 988.4 1507.36L989.743 1487.5C989.743 1487.5 920.841 1516.86 938.652 1558.74C946.905 1578.28 1003.22 1584.46 1035.11 1571.91C1051.12 1565.62 1109.31 1622.74 1346.04 1662.69C1582.76 1702.65 1667.21 1700.58 1667.21 1700.58L1643.03 1681.85C1643.03 1681.85 1720.83 1735.45 1735.15 1744.4C1749.47 1753.36 1802.37 1755.54 1796.57 1702.45C1792.3 1669.14 1779.73 1637.5 1760.06 1610.54L1777.8 1639.74C1777.8 1639.74 1809.2 1577.19 1812.81 1442.54C1816.41 1307.9 1833.04 1218.95 1833.04 1218.95L1834.57 1217C1834.57 1217 1893.26 1206.72 1875.45 1164.85C1867.2 1145.3 1810.89 1139.12 1778.99 1151.67C1295.64 990.087 1119.56 1060.38 1095.23 1055.1Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M637.398 1846.99C612.524 1846.99 629.721 1817.2 647.647 1786.7C665.573 1756.21 665.573 1713.98 665.573 1713.98L660.506 1758.2C660.506 1758.2 632.446 1722.58 620.316 1606.08C613.265 1531.58 614.334 1456.51 623.502 1382.25L620.815 1401.8C620.815 1401.8 559.399 1358.8 585.078 1321.46C597.055 1304.18 653.443 1309.73 682.117 1328.62C696.55 1338.12 764.915 1294.45 1004.56 1304.38C1244.2 1314.31 1326.53 1334.09 1326.53 1334.09L1299.13 1347.42C1299.13 1347.42 1386.03 1311.14 1401.77 1305.16C1417.51 1299.18 1469.79 1308.25 1453.44 1358.99C1442.58 1390.71 1423.93 1419.06 1399.27 1441.37L1422.31 1416.46C1422.31 1416.46 1440.54 1484.06 1417.05 1616.75C1393.55 1749.44 1392.02 1839.83 1392.02 1839.83L1393.13 1842.06C1393.13 1842.06 1448.52 1864.35 1422.69 1901.6C1410.71 1918.88 1354.32 1913.33 1325.65 1894.45C820.651 1952.31 662.31 1846.87 637.398 1846.99Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1214.56 1023.87H892.118V1362.71H1214.56V1023.87Z\",\n fill: \"white\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M997.034 1511.28H377.76V1897.03H997.034V1511.28Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1698.22 1625.94H1293.9V1844.88H1698.22V1625.94Z\",\n fill: \"white\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M604.919 510.216C604.919 510.216 554.45 495.175 563.68 464.454C567.963 450.203 606.876 441.291 630.134 447.533C641.838 450.654 678.129 406.17 840.573 359.168C1003.02 312.165 1062.35 306.901 1062.35 306.901\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1046.87 321.942C1046.87 321.942 1097.34 278.361 1106.42 270.84C1115.5 263.32 1152.57 257.679 1152.57 295.282C1152.15 318.93 1145.79 342.075 1134.11 362.514\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1144.27 340.745C1144.27 340.745 1171.18 381.769 1183.96 475.774C1196.73 569.78 1179.34 631.823 1179.34 631.823\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M785.238 782.232C774.162 778.472 740.935 789.752 724.321 795.393C707.708 801.033 700.324 785.992 705.862 761.551C711.4 737.109 702.17 708.907 702.17 708.907\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M602.625 496.456C612.511 548.173 627.988 598.616 648.774 646.864C682.001 722.069 708.472 739.629 708.472 739.629\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M689.246 515.254C709.552 541.575 772.314 558.496 772.314 558.496\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M761.385 816.071C761.385 816.071 794.612 785.99 809.38 718.306C824.147 650.622 829.057 633.062 829.057 633.062\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M831.526 552.859L827.834 543.458C827.834 543.458 781.316 541.503 793.388 507.097C805.683 472.014 845.703 508.977 845.703 508.977C845.703 508.977 851.868 502.096 901.709 494.575C951.55 487.055 982.931 507.736 982.931 507.736L963.844 498.336C963.844 498.336 974.919 461.373 1004.45 474.533C1033.99 487.694 999.544 520.897 999.544 520.897L1003.24 535.938\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1016.13 616.781C1016.13 616.781 1036.43 665.664 1047.51 684.465C1053.94 694.505 1062.16 703.239 1071.73 710.223\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M818.458 622.42C834.228 633.017 853.387 637.055 871.991 633.701C903.372 628.06 907.064 596.099 925.523 596.099C943.983 596.099 951.367 622.42 973.518 626.18C995.67 629.941 1029.52 612.38 1029.52 601.1C1029.52 589.819 1021.51 549.096 1015.97 541.575C1010.44 534.055 980.976 551.277 960.596 556.616C917.512 567.897 875.055 561.617 862.133 559.737C849.212 557.857 824.144 545.336 816.76 577.298C809.376 609.259 818.458 622.42 818.458 622.42Z\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M910.132 643.104C923.054 649.985 935.348 650.624 947.679 643.743\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M528.789 966.479C528.789 966.479 582.322 975.879 634.009 1045.44C685.695 1115.01 787.223 1145.09 862.907 1075.53C938.591 1005.96 933.053 949.558 855.523 876.233C777.993 802.909 652.468 789.748 567.554 868.713C482.641 947.678 493.716 987.16 493.716 987.16\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M482.496 1086.81C482.496 1086.81 491.726 1156.37 536.029 1212.78C573.28 1260.23 606.655 1266.44 616.291 1267.19\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M700.318 1536.15C694.795 1487.86 685.537 1440.08 672.629 1393.26C643.094 1287.34 597.572 1240.34 512.659 1125.65C433.283 1018.45 427.117 1007.84 427.117 1007.84C427.117 1007.84 453.182 999.832 493.571 986.784C508.339 982.047 524.694 976.632 542.526 970.691\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M836.545 860.293C859.545 850.19 881.868 838.559 903.369 825.473C1012.28 755.909 1200.57 616.781 1200.57 616.781C1200.57 616.781 1237.49 618.661 1237.49 703.266C1237.49 787.871 1261.48 930.76 1274.41 977.762C1287.33 1024.77 1335.32 1052.97 1335.32 1052.97\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1331.01 1210.26C1342.08 1208.38 1363.61 1196.46 1372.84 1155.1C1382.06 1113.73 1355.59 1049.81 1314.98 1047.93C1274.37 1046.05 1191.3 1105.57 1191.3 1105.57\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M716.568 1106.66C684.928 1124.94 665.25 1133.81 665.25 1133.81\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M913.675 959.602C1048.5 833.333 1145.34 690.107 1145.34 690.107\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M713.395 1357.54C718.933 1406.42 702.319 1564.35 682.014 1618.88C669.638 1652.69 662.176 1688.16 659.862 1724.16C672.784 1731.68 781.695 1773.05 947.831 1617C1113.97 1460.95 1288.7 1213.41 1334.85 1183.93\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1119.5 1588.8C1119.75 1588.96 1120.02 1589.09 1120.31 1589.18C1123 1590.27 1133.67 1593.61 1171.18 1598.2C1199.46 1600.98 1227.98 1599.72 1255.91 1594.44C1258.77 1593.93 1261.46 1592.68 1263.71 1590.81C1265.96 1588.94 1267.7 1586.51 1268.76 1583.76C1270.86 1578.27 1273.85 1570.49 1277.44 1561.2C1286.85 1537.51 1336.69 1433.35 1339.09 1358.98C1342.97 1309.19 1334.84 1232.41 1328.24 1193.53\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1025.03 1539.73C1055.87 1544.96 1087.47 1543.1 1117.51 1534.27C1182.12 1515.47 1254.11 1457.19 1254.11 1457.19\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1427.62 1289.86C1432.6 1305.66 1435.09 1322.15 1435.01 1338.74C1435.01 1366.94 1433.16 1415.83 1403.63 1425.23C1374.09 1434.63 1366.71 1413.95 1359.32 1400.79C1355.3 1393.6 1346.29 1374.46 1338.94 1358.86\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1259.79 908.234C1269.32 918.875 1284.27 933.954 1307.78 955.199C1376.09 1017.24 1427.77 1013.48 1501.61 1113.13C1575.45 1212.77 1575.45 1289.86 1571.76 1351.9C1568.06 1413.95 1530.52 1462.83 1485 1460.95C1444.39 1459.26 1418.54 1418.35 1418.54 1418.35\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1183.33 1662.76C1183.33 1662.76 1217.19 1667.12 1235.65 1665.24C1243.88 1664.42 1251.86 1665.24 1259.72 1661.48L1260.57 1661.07C1270.02 1656.14 1279.29 1644.26 1288.55 1614.56C1298.45 1582.97 1285.53 1567.48 1277.48 1561.16\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1105.8 1699.72C1123.02 1713.24 1142.99 1722.65 1164.24 1727.29C1199.32 1734.81 1222.1 1723.53 1244.25 1689.05C1266.4 1654.56 1259.64 1661.48 1259.64 1661.48\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M888.461 1666.48C892.153 1677.77 899.094 1690.96 913.234 1695.96C921.018 1698.41 929.217 1699.16 937.305 1698.18C952.583 1696.33 967.511 1692.2 981.608 1685.93\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M959.977 1605.72C972.898 1608.84 1001.22 1598.84 1039.35 1577.51C1059.86 1566.37 1079.6 1553.8 1098.42 1539.91C1108.02 1546.69 1115.33 1556.31 1119.36 1567.47C1124.27 1583.16 1122.42 1594.44 1103.96 1607.6C1095.32 1614.03 1086.28 1619.9 1076.9 1625.16\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1115.03 1598.2C1119.09 1614.37 1119.94 1631.21 1117.5 1647.72C1113.81 1677.8 1118.72 1707.89 1053.52 1734.21C988.324 1760.53 959.38 1739.21 952.587 1730.45C947.307 1723.6 940.182 1705.74 937.302 1698.18\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1327.94 353.567C1327.94 353.567 1334.1 408.09 1313.17 475.774C1296.3 530.41 1271.93 560.379 1271.93 560.379\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1360.55 628.063C1360.55 628.063 1356.49 646.112 1322.41 693.867C1292.88 735.229 1276.89 748.39 1276.89 748.39\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M489.879 748.388C512.658 773.469 562.499 826.112 609.238 838.633\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1082.58 1021.6C1077.67 1049.17 1016.13 1229.66 939.815 1367.55C863.504 1505.43 816.764 1550.56 816.764 1550.56\",\n stroke: \"#B575FF\",\n strokeWidth: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_f_11251_2601\",\n x: 584.071,\n y: 32.4526,\n width: 1415.93,\n height: 1444.06,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"BackgroundImageFix\",\n result: \"shape\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 50,\n result: \"effect1_foregroundBlur_11251_2601\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_f_11251_2601\",\n x: 0,\n y: 0,\n width: 1415.93,\n height: 1444.06,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"BackgroundImageFix\",\n result: \"shape\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 50,\n result: \"effect1_foregroundBlur_11251_2601\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWelcomeRmeq);\nexport default __webpack_public_path__ + \"static/media/welcome_rmeq.08e06f70c3736b19f70ae037757463f6.svg\";\nexport { ForwardRef as ReactComponent };","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { appAnalytics } from 'analytics';\nimport { ContinueWelcome, ScreenOpened } from 'analytics/AllEvents';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { useProgress } from 'hooks/useProgress';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { getQueryVariable } from 'utils';\nimport WelcomeRmeqImage from 'assets/welcome/welcome_rmeq.svg';\nimport { useFeatures } from 'useFeatures';\n\nconst DURATION = 10000;\nconst DELAY = 0;\nconst STEPS = [0.34, 0.69, 0.91, 1];\n\nexport const useRmeqWelcomeLogic = () => {\n const dispatch = useAppDispatch();\n\n const progress = useProgress(DURATION, DELAY, STEPS);\n const [imageUrl, setImageUrl] = useState('');\n\n const title = getQueryVariable('uat');\n const subtitle = getQueryVariable('uam');\n const imageName = getQueryVariable('uai');\n\n const features = useFeatures();\n\n const fetchImage = async (imageName: string) => {\n const cloudImageUrl = `${process.env.REACT_APP_CLOUD_FRONT_URL}/web-onboarding/${imageName}`;\n\n try {\n const response = await fetch(cloudImageUrl, {\n mode: 'no-cors',\n });\n return response.status === 0 ? cloudImageUrl : WelcomeRmeqImage;\n } catch (error) {\n return WelcomeRmeqImage;\n }\n };\n\n useEffect(() => {\n const loadImage = async () => {\n const imageUrl = imageName\n ? await fetchImage(imageName)\n : WelcomeRmeqImage;\n setImageUrl(imageUrl);\n };\n\n loadImage();\n }, []);\n\n useEffect(() => {\n appAnalytics.trackEvent(\n new ScreenOpened('onboardingWelcome', {\n uat: title || 'default',\n uam: subtitle || 'default',\n uai: imageName || 'default',\n }),\n );\n }, []);\n\n const handleTakeTest = (e?: SyntheticEvent) => {\n e?.preventDefault();\n appAnalytics.trackEvent(new ContinueWelcome('rmeq'));\n dispatch(setAnswer(QuestionIds.Welcome, '', features));\n };\n\n return {\n title: title && title?.length <= 70 ? title : '',\n subtitle:\n subtitle && subtitle?.trim().length <= 140 ? subtitle?.trim() : '',\n imageUrl,\n progress,\n handleTakeTest,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__uEa1L\",\"progressText\":\"styles_progressText__h5V7l\",\"progressButton\":\"styles_progressButton__UWe9W\",\"image\":\"styles_image__x+Jqc\",\"content\":\"styles_content__dfPwz\",\"title\":\"styles_title__-2Pwo\",\"accent\":\"styles_accent__uUk6u\",\"subtitle\":\"styles_subtitle__N6ErQ\",\"button\":\"styles_button__AKjn2\"};","import React from 'react';\nimport { CookieConsent } from 'onboarding/components/cookieconsent/CookieConsent';\nimport { useTranslation } from 'react-i18next';\nimport { Footer } from 'welcome/components/footer/Footer';\nimport { useRmeqWelcomeLogic } from './WelcomeRmeq.hook';\nimport { useFeatures } from 'useFeatures';\nimport { ProgressButton } from '../../onboarding/components/progressbutton/ProgressButton';\nimport styles from './styles.module.scss';\n\nconst RmeqWelcome = () => {\n const { t } = useTranslation();\n\n const { isWelcomeLoaderFlow } = useFeatures();\n\n const { progress, title, subtitle, imageUrl, handleTakeTest } =\n useRmeqWelcomeLogic();\n\n return (\n
\n {imageUrl && (\n \"\"\n )}\n\n
\n

\n {title ? (\n title\n ) : (\n <>\n {t('welcomeRmeqTitleLine1')}\n \n {t('welcomeRmeqTitleLine2')}\n \n \n )}\n

\n\n

\n {subtitle ? (\n subtitle\n ) : (\n <>\n {t('welcomeRmeqSubtitleLine1')}\n \n {t('welcomeRmeqSubtitleLine2')}\n \n {t('welcomeRmeqSubtitleLine3')}\n \n {t('welcomeRmeqSubtitleLine4')}\n \n {t('welcomeRmeqSubtitleLine5')}\n \n )}\n

\n\n {isWelcomeLoaderFlow ? (\n \n ) : (\n \n )}\n\n
\n
\n \n
\n );\n};\n\nexport default RmeqWelcome;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__O2fkG\",\"image\":\"styles_image__W6je2\",\"content\":\"styles_content__F1OZ7\",\"title\":\"styles_title__aBt19\",\"accent\":\"styles_accent__DMWTQ\",\"subtitle\":\"styles_subtitle__nsUwF\",\"button\":\"styles_button__WafT2\"};","import React, { SyntheticEvent, useEffect } from 'react';\nimport { CookieConsent } from 'onboarding/components/cookieconsent/CookieConsent';\nimport WelcomeGadImage from 'assets/welcome/welcome_gad.png';\nimport { Footer } from 'welcome/components/footer/Footer';\nimport { useTranslation } from 'react-i18next';\nimport styles from './styles.module.scss';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { appAnalytics } from 'analytics';\nimport { ContinueWelcome, ScreenOpened } from 'analytics/AllEvents';\nimport { setAnswer } from 'bootstrap/onboarding/actions';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { useFeatures } from 'useFeatures';\n\nexport const AdhdWelcome = () => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n\n const features = useFeatures();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ScreenOpened('onboardingWelcome'));\n }, []);\n\n const handleTakeTest = (e: SyntheticEvent) => {\n e.preventDefault();\n appAnalytics.trackEvent(new ContinueWelcome('adhd'));\n dispatch(setAnswer(QuestionIds.Welcome, '', features, true));\n };\n\n return (\n
\n \"\"\n
\n
\n {t('welcomeAdhdTitleLine1')}{' '}\n {t('welcomeAdhdTitleLine2')}\n
\n\n
{t('welcomeAdhdSubtitle')}
\n\n \n\n
\n
\n \n
\n );\n};\n","import React from 'react';\nimport DefaultWelcome from './defaultwelcome/Welcome';\nimport GadWelcome from './gadwelcome/GadWelcome';\nimport RmeqWelcome from './rmeqwelcome/WelcomeRmeq';\nimport { AdhdWelcome } from './adhdwelcome/AdhdWelcome';\nimport { useFeatures } from 'useFeatures';\n\nconst Welcome = () => {\n const { isAdhdTest, isDefaultOnboarding, isGadTest } = useFeatures();\n\n if (isGadTest) {\n return ;\n }\n if (isDefaultOnboarding) {\n return ;\n }\n if (isAdhdTest) {\n return ;\n }\n return ;\n};\n\nexport default Welcome;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__bW-LP\",\"smooth-appear\":\"styles_smooth-appear__-NAOb\",\"person\":\"styles_person__l+bOB\",\"activities\":\"styles_activities__nprD5\",\"narrative_preferences\":\"styles_narrative_preferences__8foNh\",\"color_preferences\":\"styles_color_preferences__wlpXn\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n iconSrc: string;\n title: string;\n children: JSX.Element | JSX.Element[];\n className: string;\n};\n\nexport const AdvantageBox = ({\n iconSrc,\n title,\n children,\n className,\n}: Props) => {\n return (\n
\n \"\"\n

{title}

\n {children}\n
\n );\n};\n","var _g, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPerson(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.24\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n fill: \"white\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.333 8.20833C14.333 9.497 13.2884 10.5417 11.9997 10.5417C10.7111 10.5417 9.66638 9.497 9.66638 8.20833C9.66638 6.91967 10.7111 5.875 11.9997 5.875C13.2884 5.875 14.333 6.91967 14.333 8.20833ZM10.95 11.7095C8.6304 11.7095 6.75 13.5899 6.75 15.9095C6.75 16.4894 7.2201 16.9595 7.8 16.9595H16.2C16.7799 16.9595 17.25 16.4894 17.25 15.9095C17.25 13.5899 15.3696 11.7095 13.05 11.7095H10.95Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPerson);\nexport default __webpack_public_path__ + \"static/media/person.23c566026eb8ff7a2e65014ef173f3dd.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgActivities(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.24\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n fill: \"white\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0666 7.75032C12.7434 7.07768 13.5243 6.71243 14.3951 6.67178L14.5594 6.66797C16.4537 6.66797 18 8.29849 18 10.309C18 12.1933 17.3788 13.1282 14.6561 15.4429L14.0962 15.914L12.6777 17.0874C12.2793 17.417 11.7207 17.417 11.3223 17.0874L9.70945 15.7515C6.6764 13.2077 6 12.2753 6 10.309C6 8.29849 7.54629 6.66797 9.44063 6.66797C10.3648 6.66797 11.1975 7.03483 11.9234 7.74745L11.9964 7.82259L12.0666 7.75032Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgActivities);\nexport default __webpack_public_path__ + \"static/media/activities.1cdf0cfe5df735ea36f89d5d7c613c78.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgColorPreferences(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.24\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n fill: \"white\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.7652 6C12.2577 6 11.8463 6.39182 11.8463 6.87516C11.8463 7.35849 12.2577 7.75032 12.7652 7.75032C13.2727 7.75032 13.6842 7.35849 13.6842 6.87516C13.6842 6.39182 13.2727 6 12.7652 6ZM8.93108 8.28348C8.15876 8.28348 7.53266 8.87973 7.53266 9.61524C7.53266 10.3508 8.15876 10.947 8.93108 10.947C9.7034 10.947 10.3295 10.3508 10.3295 9.61524C10.3295 8.87973 9.7034 8.28348 8.93108 8.28348ZM14.7238 13.9522C14.7238 13.0906 15.4573 12.3922 16.362 12.3922C17.2667 12.3922 18.0001 13.0906 18.0001 13.9522C18.0001 14.8138 17.2667 15.5123 16.362 15.5123C15.4573 15.5123 14.7238 14.8138 14.7238 13.9522ZM17.2913 8.2948C17.3302 8.49615 17.2445 8.70083 17.0709 8.82143L17.0679 8.82358C17.0642 8.8263 17.0571 8.83143 17.0472 8.83894C17.0274 8.85397 16.9962 8.87835 16.9568 8.91167C16.8777 8.97858 16.7674 9.07991 16.6496 9.2122C16.4114 9.47984 16.1604 9.85425 16.0558 10.3109C15.8728 11.1096 15.3212 11.5768 14.8813 11.8277C14.2467 12.1896 13.5567 11.925 13.1703 11.544L12.6803 11.0607C12.3145 10.7 12.0913 10.1232 12.3514 9.55923C12.5427 9.14449 12.8984 8.57684 13.533 8.1399C14.1886 7.6884 15.0844 7.65926 15.7029 7.69903C16.0306 7.7201 16.3228 7.76382 16.5327 7.80202C16.6381 7.82121 16.724 7.83923 16.7846 7.85273L16.8274 7.86244L16.8563 7.86926L16.8767 7.87424L16.8829 7.87579L16.885 7.87631L16.8863 7.87666C17.0947 7.92997 17.2523 8.09269 17.2913 8.2948ZM11.7023 11.2378C11.5971 11.1376 11.4544 11.0815 11.3056 11.0818C11.1569 11.0821 11.0144 11.1388 10.9096 11.2394L6.44145 15.5295C5.85114 16.0963 5.8531 17.0109 6.44585 17.5754C7.03858 18.1399 7.99899 18.1418 8.59416 17.5796L13.0991 13.3245C13.2047 13.2247 13.2642 13.089 13.2645 12.9473C13.2649 12.8057 13.2059 12.6698 13.1007 12.5696L11.7023 11.2378Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgColorPreferences);\nexport default __webpack_public_path__ + \"static/media/color_preferences.7f55d94adf4aafb897b66c232a57728d.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNarrativePreferences(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.24\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n fill: \"white\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.25 13.75L17.25 10.25\",\n stroke: \"white\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.625 15.5V8.5\",\n stroke: \"white\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.375 16.375L9.375 7.625\",\n stroke: \"white\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 10.25L12 13.75\",\n stroke: \"white\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.75 10.25L6.75 13.75\",\n stroke: \"white\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNarrativePreferences);\nexport default __webpack_public_path__ + \"static/media/narrative_preferences.81cb7e60b1663e7bd35e7bf2cdead1c2.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 12,\n viewBox: \"0 0 16 12\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.4253 0.454149C14.0143 -0.151383 14.9693 -0.151383 15.5583 0.454149C16.1472 1.05968 16.1472 2.04144 15.5583 2.64697L6.90252 11.5459C6.31353 12.1514 5.3586 12.1514 4.76961 11.5459L0.441741 7.09641C-0.147247 6.49088 -0.147247 5.50912 0.441741 4.90359C1.03073 4.29806 1.98567 4.29806 2.57465 4.90359L5.83607 8.25661L13.4253 0.454149Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheck);\nexport default __webpack_public_path__ + \"static/media/check.f37439fa8e3ec273a57b5cfef92a2015.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"colorBox\":\"styles_colorBox__pZ8wm\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\ntype Props = {\n bgColor?: string;\n leftPos: number;\n};\n\nexport const ColorBox = ({ bgColor, leftPos }: Props) => {\n return (\n \n );\n};\n","export const PersonalizationBgColorsMap: Record = {\n sky_blue: '#7986CB',\n loona_lavender: '#7E57C2',\n venice_rose: '#F088AB',\n coral_red: '#EF5350',\n navy_blue: '#49599A',\n spring_green: '#64BB6A',\n tangerine: '#EC8847',\n sunflower_yellow: '#FFD863',\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"advantagesWrapper\":\"styles_advantagesWrapper__YQYoM\",\"colorsWrapper\":\"styles_colorsWrapper__y1zO0\"};","import React from 'react';\nimport { AdvantageBox } from './components/box/AdvantageBox';\nimport Person from 'assets/preplan/person.svg';\nimport Activities from 'assets/preplan/activities.svg';\nimport ColorPreferences from 'assets/preplan/color_preferences.svg';\nimport NarrativePreferences from 'assets/preplan/narrative_preferences.svg';\nimport { useAdvantagesLogic } from './Advantages.hook';\nimport { ColorBox } from '../color/ColorBox';\nimport { useTranslation } from 'react-i18next';\nimport { PersonalizationBgColorsMap } from './Advantages.constants';\nimport styles from './styles.module.scss';\n\nexport const Advantages = () => {\n const { t } = useTranslation();\n\n const { personalization, narrativePreferences, colorPreferences } =\n useAdvantagesLogic();\n\n return (\n
\n {!!personalization.length && (\n \n
    \n {personalization.map((item, index) => {\n return
  • {item && t(item)}
  • ;\n })}\n
\n
\n )}\n \n
    \n
  • Guided sessions
  • \n
  • Breathing exercises
  • \n
  • Gentle alarm
  • \n
\n \n {!!narrativePreferences.length && (\n \n
    \n {narrativePreferences.slice(0, 3).map((item, index) => {\n return (\n
  • \n {item &&\n `${t(item)} ${\n index === 2 && narrativePreferences.length > 3\n ? ` & ${narrativePreferences.length - 3} more`\n : ''\n }`}\n
  • \n );\n })}\n
\n \n )}\n {!!colorPreferences.length && (\n \n
\n {colorPreferences.map((item, index) => {\n return (\n \n );\n })}\n
\n \n )}\n
\n );\n};\n","import { useAppSelector } from 'bootstrap/hooks';\nimport { hasAllRmeqTestAnswers } from 'bootstrap/onboarding/actions';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport {\n getCircadianType,\n getRmeqTestResult,\n} from 'onboarding/question/meqresults/MeqResults.hook';\n\nexport const useAdvantagesLogic = () => {\n const { answers } = useAppSelector((state) => state.onboarding);\n\n return {\n personalization: [\n answers[QuestionIds.AboutYouGender],\n answers[QuestionIds.AboutYouAge],\n answers[QuestionIds.AboutYouActivity],\n hasAllRmeqTestAnswers(answers)\n ? getCircadianType(getRmeqTestResult(answers))\n : '',\n ]\n .filter(Boolean)\n .filter((item) => item !== 'none'),\n narrativePreferences: answers[QuestionIds.PersonalizationNarrative]\n ? [\n ...(answers[\n QuestionIds.PersonalizationNarrative\n ] as Array),\n ].filter(Boolean)\n : [],\n colorPreferences: [\n answers[QuestionIds.PersonalizationColors1],\n answers[QuestionIds.PersonalizationColors2],\n answers[QuestionIds.PersonalizationColors3],\n answers[QuestionIds.PersonalizationColors4],\n ].filter(Boolean),\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__rW2WR\",\"smooth-appear-v1\":\"styles_smooth-appear-v1__Y-xQb\",\"description\":\"styles_description__PZYeK\",\"smooth-appear-v2\":\"styles_smooth-appear-v2__iuOKt\",\"button\":\"styles_button__gzSyS\",\"stickyContainer\":\"styles_stickyContainer__6aGfV\",\"smooth-appear-v3\":\"styles_smooth-appear-v3__jQZRU\"};","import React from 'react';\nimport Spacer from 'components/spacer/Spacer';\nimport { Advantages } from './components/advantages/Advantages';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { pushWithSearchQuery } from 'utils';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\n\nimport styles from './styles.module.scss';\n\nexport const Preplan = () => {\n const dispatch = useAppDispatch();\n\n const onContinueClickHandler = () => {\n dispatch(pushWithSearchQuery('/subscription'));\n };\n\n return (\n
\n

\n Your personalised\n
12 weeks plan\n

\n
\n Based on your answers we designed a plan to help you improve your sleep\n and build healthy habits\n
\n \n \n \n \n \n
\n );\n};\n","import { Answers } from 'bootstrap/subscriptioncancel/state';\nimport { QuestionIds } from './QuestionsIds';\n\nexport enum SubscriptionCancelFlow {\n ExtendTrial = 'ExtendTrial',\n Expensive = 'Expensive',\n Other = 'Other',\n}\n\nexport const getSubscriptionCancelFlow = (\n answers: Answers,\n subscriptionStatus?: string,\n): SubscriptionCancelFlow => {\n if (\n answers[QuestionIds.Reason]?.includes('mind') &&\n subscriptionStatus === 'trial'\n ) {\n return SubscriptionCancelFlow.ExtendTrial;\n }\n if (answers[QuestionIds.Reason]?.includes('expensive')) {\n return SubscriptionCancelFlow.Expensive;\n }\n return SubscriptionCancelFlow.Other;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__jwks7\",\"check\":\"styles_check__6VHJW\",\"content\":\"styles_content__FWqSJ\",\"titleWrapper\":\"styles_titleWrapper__Qqvi8\",\"title\":\"styles_title__HrOIh\",\"price\":\"styles_price__dSEbz\",\"subtitle\":\"styles_subtitle__1bsGI\",\"label\":\"styles_label__2zSuT\"};","import React from 'react';\nimport Ebook from 'assets/onboarding/ebook_v2.png';\nimport { ReactComponent as Checked } from 'assets/stepper/check.svg';\nimport styles from './styles.module.scss';\n\ninterface EbookOfferBoxProps {\n items: string[];\n showPrice?: boolean;\n}\n\nexport const EbookOfferBox: React.FC = ({\n items,\n showPrice,\n}) => {\n return (\n
\n \"\"\n
\n
\n
One-time price
\n {showPrice &&
$9.99
}\n
\n
    \n {items.map((item, index) => (\n
  • \n {item}\n
  • \n ))}\n
\n
\n
\n );\n};\n","import { Event } from 'analytics/Event';\nimport { Events } from 'analytics/Events';\n\nexport class SubscriptionCancelScreenOpened extends Event {\n constructor(screenName: string) {\n super(Events.SubscriptionCancelScreenOpened, { screenName });\n }\n}\n\nexport class ContinueSubscriptionCancel extends Event {\n constructor() {\n super(Events.ContinueSubscriptionCancel);\n }\n}\nexport class ContinueSubscriptionCancelReason extends Event {\n constructor(reply: string) {\n super(Events.ContinueSubscriptionCancelReason, { reply });\n }\n}\n\nexport class ContinueSubscriptionCancelHowLikely extends Event {\n constructor(reply: string) {\n super(Events.ContinueSubscriptionCancelHowLikely, { reply });\n }\n}\n\nexport class SubscriptionProlongSuccess extends Event {\n constructor(duration: number) {\n super(Events.SubscriptionProlongSuccess, { duration });\n }\n}\n\nexport class BuyAddonPlan extends Event {\n constructor(productCode: string) {\n super(Events.BuyAddonPlan, { productCode });\n }\n}\n\nexport class SubscriptionSwitchSuccess extends Event {\n constructor(planCode: string) {\n super(Events.SubscriptionSwitchSuccess, { planCode });\n }\n}\n","import { appAnalytics } from 'analytics';\nimport { ScreenOpened, SubscriptionSuccess } from 'analytics/AllEvents';\nimport { ServerProduct } from 'bootstrap/data/product/Product.types';\nimport {\n convertToProduct,\n getAddonsPlansConfig,\n} from 'bootstrap/data/product/Product.utils';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { buyAddon } from 'bootstrap/net/subscription/subscription';\nimport { BuyAddonPlan } from 'cancelsubscription/analytics';\n\nimport { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { PlanSelectType } from 'subscription/singleproduct/components/plansection/PlanSection.constants';\nimport { useFeatures } from 'useFeatures';\nimport { pushWithSearchQuery } from 'utils';\n\ninterface useAddonsLogicProps {\n planCode?: string;\n isDiscountApplied?: boolean;\n setDiscountPopupShown?: (isDiscountApplied: boolean) => void;\n}\n\nexport const useAddonsLogic = ({\n planCode,\n isDiscountApplied,\n setDiscountPopupShown,\n}: useAddonsLogicProps) => {\n const dispatch = useAppDispatch();\n const location = useLocation();\n\n const addonsPlans = getAddonsPlansConfig();\n\n const { email } = useAppSelector((state) => state.user);\n\n const workbookProductCode = 'co-loona-web-nc-workbook';\n\n const workbookProduct: ServerProduct =\n // @ts-ignore\n addonsPlans?.items?.[workbookProductCode];\n\n const convertedWorkbookProduct = convertToProduct(workbookProduct);\n\n const { currency, planType } = useAppSelector((state) => state.user);\n\n const { upsellFlow } = useFeatures();\n\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState('');\n\n useEffect(() => {\n appAnalytics.trackEvent(\n new ScreenOpened(\n `${location.pathname}${isDiscountApplied ? '-withDiscount' : ''}`,\n ),\n );\n }, []);\n\n const goToNextPage = () => {\n dispatch(pushWithSearchQuery('/done'));\n };\n\n const onAddonBuyClickHandler = async () => {\n setIsLoading(true);\n\n try {\n const result = await buyAddon({\n planCode: planCode || 'co-loona-web-nc-workbook',\n currency,\n });\n\n appAnalytics.trackEvent(\n new SubscriptionSuccess(\n convertedWorkbookProduct.amount,\n convertedWorkbookProduct.currency,\n convertedWorkbookProduct.code,\n {\n eventId: result?.purchase?.order_id,\n email: email,\n onboardingType: 'pi',\n },\n ),\n );\n appAnalytics.trackEvent(new BuyAddonPlan(planCode as string));\n\n if (upsellFlow) {\n if (location.pathname.includes('quarter-upsell')) {\n goToNextPage();\n } else if (\n planType === PlanSelectType.MONTH ||\n planType === PlanSelectType.WEEK\n ) {\n dispatch(pushWithSearchQuery('/quarter-upsell'));\n } else {\n if (setDiscountPopupShown) {\n setDiscountPopupShown(true);\n }\n }\n } else {\n goToNextPage();\n }\n setIsLoading(false);\n } catch (error) {\n setError(getErrorMessage(error));\n setIsLoading(false);\n }\n };\n\n return {\n isLoading,\n error,\n planType,\n setError,\n onSkipClickHandler: goToNextPage,\n onAddonBuyClickHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Nh-wS\",\"cardContainer\":\"styles_cardContainer__XmLdz\",\"label\":\"styles_label__mNb-i\",\"time\":\"styles_time__w+wWA\",\"giftCard\":\"styles_giftCard__sicsQ\",\"totalWrapper\":\"styles_totalWrapper__wj1-S\",\"priceWrapper\":\"styles_priceWrapper__kQ8a2\",\"total\":\"styles_total__DbDGD\",\"discount\":\"styles_discount__2GixD\",\"oldPrice\":\"styles_oldPrice__KAufg\",\"newPrice\":\"styles_newPrice__JgknY\",\"ebook\":\"styles_ebook__TbYvo\",\"accent\":\"styles_accent__mcer+\",\"description\":\"styles_description__xcksu\",\"stickyContainer\":\"styles_stickyContainer__7pppW\",\"greenButton\":\"styles_greenButton__gcY-P\",\"grayButton\":\"styles_grayButton__e6h7l\",\"button\":\"styles_button__EEfp1\",\"note\":\"styles_note__popXj\"};","import React from 'react';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport Spacer from 'components/spacer/Spacer';\nimport { EbookOfferBox } from './components/ebookoffer/EbookOfferBox';\nimport { useAddonsLogic } from './Addons.hook';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport styles from './styles.module.scss';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\n\nexport const Workbook = () => {\n const {\n isLoading,\n error,\n setError,\n onSkipClickHandler,\n onAddonBuyClickHandler,\n } = useAddonsLogic({});\n\n return (\n <>\n setError('')}\n />\n
\n

\n Get extra help with
\n our Premium Workbook\n

\n
\n \n Recommended for new users like you to help improve your sleep and\n reduce anxiety.\n \n \n With Workbook you are 29% more likely to achieve better results in\n first 3 weeks.\n \n
\n \n \n \n \n \n \n
\n On click, your account will be charged one payment\n
of $9.99 for your Premium Workbook\n
\n
\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__VvBhA\",\"title\":\"styles_title__IGjO0\",\"note\":\"styles_note__uFK8z\",\"content\":\"styles_content__8kdXj\",\"stickyContainer\":\"styles_stickyContainer__34haH\",\"button\":\"styles_button__LHs3K\",\"secondary\":\"styles_secondary__r5i5l\",\"maxWidth\":\"styles_maxWidth__9lOGt\"};","import React from 'react';\nimport Spacer from 'components/spacer/Spacer';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport { useExtendTrialLogic } from './ExtendTrial.hook';\nimport styles from './styles.module.scss';\n\nconst ExtendTrial = () => {\n const {\n error,\n trialExpiredDate,\n prolongSubscription,\n cancelSubscription,\n setError,\n } = useExtendTrialLogic();\n\n return (\n <>\n setError('')}\n />\n
\n
\n We just extended your trial for another 15 days\n
\n
\n Avoid unexpected charges.

\n Retain access to your personalised plan to improve your sleep quality\n and productivity. You will not be charged until {trialExpiredDate}\n
\n\n
\n \n \n \n \n Cancel anyway\n \n \n
\n
\n \n );\n};\n\nexport default ExtendTrial;\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport {\n cancelSubscriptionPlan,\n prolongSubscriptionPlan,\n} from 'bootstrap/user/actions';\nimport {\n ContinueSubscriptionCancel,\n SubscriptionProlongSuccess,\n} from 'cancelsubscription/analytics';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { getTrialExpiredDate } from 'cancelsubscription/utils';\nimport { push } from 'connected-react-router';\nimport { useMemo, useState } from 'react';\n\nexport const useExtendTrialLogic = () => {\n const dispatch = useAppDispatch();\n\n const { subscriptonExpiredDate } = useAppSelector((state) => state.user);\n const [error, setError] = useState('');\n\n const trialExpiredDate = useMemo(\n () => getTrialExpiredDate(subscriptonExpiredDate, 15),\n [subscriptonExpiredDate],\n );\n\n const cancelSubscription = () => {\n dispatch(cancelSubscriptionPlan())\n .then(() => {\n appAnalytics.trackEvent(new ContinueSubscriptionCancel());\n dispatch(push(QuestionIds.FinishUserLost));\n })\n .catch((error) => setError(error));\n };\n\n const prolongSubscription = () => {\n const duration = 15;\n\n dispatch(prolongSubscriptionPlan(duration))\n .then(() => {\n appAnalytics.trackEvent(new SubscriptionProlongSuccess(duration));\n dispatch(push(QuestionIds.Loader));\n })\n .catch((error) => {\n setError(getErrorMessage(error));\n });\n };\n\n return {\n trialExpiredDate,\n error,\n setError,\n prolongSubscription,\n cancelSubscription,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__j6hyu\",\"content\":\"styles_content__4WW5k\",\"title\":\"styles_title__HhHkE\",\"description\":\"styles_description__aU0iw\",\"note\":\"styles_note__ySHyU\",\"image\":\"styles_image__vkhTg\"};","import React from 'react';\nimport BearImage from 'assets/welcome/welcome_rmeq.jpg';\nimport { usePreloadImages } from 'hooks/usePreloadImages';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport Spacer from 'components/spacer/Spacer';\nimport { useFinishLogic } from './Finish.hook';\nimport styles from './styles.module.scss';\n\nconst Finish = () => {\n usePreloadImages([BearImage]);\n const { title, description, onGotItHandler } = useFinishLogic();\n\n return (\n
\n \n\n
\n
{title}
\n
{description}
\n \n \n \n \n
\n Any questions? Contact support\n
\n
\n
\n );\n};\n\nexport default Finish;\n","import { useAppSelector } from 'bootstrap/hooks';\nimport {\n SubscriptionCancelFlow,\n getSubscriptionCancelFlow,\n} from 'cancelsubscription/data/constants/subscriptionCancelFlow';\nimport { getTrialExpiredDate } from 'cancelsubscription/utils';\nimport { useMemo } from 'react';\nimport { getOneLink } from 'utils';\n\nexport const useFinishLogic = () => {\n const { answers } = useAppSelector((state) => state.subscriptionCancel);\n const { subscriptionStatus, subscriptonExpiredDate } = useAppSelector(\n (state) => state.user,\n );\n\n const onGotItHandler = () => {\n window.location.href = getOneLink({\n mediaSource: 'web_cancel',\n campaign: 'retained',\n experience: 'custom',\n });\n };\n\n const title = useMemo(() => {\n const subscriptionCancelFlow = getSubscriptionCancelFlow(\n answers,\n subscriptionStatus,\n );\n\n if (subscriptionCancelFlow === SubscriptionCancelFlow.ExtendTrial) {\n return \"We've got you covered!\";\n }\n return 'Great news!';\n }, [answers]);\n\n const description = useMemo(() => {\n const trialExpiredDate = getTrialExpiredDate(subscriptonExpiredDate);\n const trialExpiredDateWithExtend = getTrialExpiredDate(\n subscriptonExpiredDate,\n 15,\n );\n\n const flow = getSubscriptionCancelFlow(answers, subscriptionStatus);\n\n switch (flow) {\n case SubscriptionCancelFlow.ExtendTrial: {\n return `Your trial has been extended until ${trialExpiredDateWithExtend} and we can't wait to see you back in the Loóna App.`;\n }\n case SubscriptionCancelFlow.Expensive: {\n return \"We're glad that you've decided to say with us and we'll work hard to make sure you're happy with your decision\";\n }\n default:\n return `We're thrilled you decided to stick with us. Your subscription will renew on ${trialExpiredDate} at $1 / per 3 months`;\n }\n }, [answers]);\n\n return { title, description, onGotItHandler };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__PnMDV\",\"content\":\"styles_content__Ia0vJ\",\"title\":\"styles_title__Ty4eH\",\"description\":\"styles_description__Qoj--\",\"image\":\"styles_image__nYPnq\"};","import React, { useMemo } from 'react';\nimport BearImage from 'assets/bear_v2.png';\nimport { usePreloadImages } from 'hooks/usePreloadImages';\nimport Spacer from 'components/spacer/Spacer';\nimport styles from './styles.module.scss';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { getTrialExpiredDate } from 'cancelsubscription/utils';\n\nconst FinishUserLost = () => {\n usePreloadImages([BearImage]);\n const { subscriptonExpiredDate } = useAppSelector((state) => state.user);\n\n const trialExpiredDate = useMemo(\n () => getTrialExpiredDate(subscriptonExpiredDate),\n [subscriptonExpiredDate],\n );\n\n return (\n
\n \n \n
\n
Sorry to see you go!
\n
\n We've gone ahead and canceled your subscription, so you won't be\n charged again.

\n Don't worry, you'll still be able to use Loóna until your subscription\n ends on {trialExpiredDate}.\n
\n
\n
\n );\n};\n\nexport default FinishUserLost;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__BNFWx\",\"discountBackground\":\"styles_discountBackground__G8FGX\",\"note\":\"styles_note__w0Jev\",\"accent\":\"styles_accent__H1aJU\",\"title\":\"styles_title__zRVsU\",\"stickyContainer\":\"styles_stickyContainer__3ZiPT\",\"button\":\"styles_button__dTnBk\",\"secondary\":\"styles_secondary__+Qkdj\"};","import React from 'react';\nimport { ReactComponent as Discount } from 'assets/discount.svg';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport Spacer from 'components/spacer/Spacer';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport { useOfferLogic } from './Offer.hook';\nimport styles from './styles.module.scss';\n\nconst Offer = () => {\n const { error, setError, cancelSubscription, changeSubscription } =\n useOfferLogic();\n return (\n <>\n setError('')}\n />\n
\n
\n \n
\n
\n ONE TIME OFFER\n
NOW $1 FOR 3 MONTHS\n
\n
\n Loóna Plus: only{' '}\n $1 for 3 months
\n
\n Yes, you read that right.\n
Our best offer yet!
\n
\n Retain access to your personalised plan to improve your sleep quality\n and productivity. Invest in your health today for just $1..\n
\n \n \n \n \n Cancel Loóna Plus\n \n \n
\n \n );\n};\n\nexport default Offer;\n","import { appAnalytics } from 'analytics';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport {\n cancelSubscriptionPlan,\n changeSubscriptionPlan,\n} from 'bootstrap/user/actions';\nimport {\n ContinueSubscriptionCancel,\n SubscriptionSwitchSuccess,\n} from 'cancelsubscription/analytics';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { push } from 'connected-react-router';\nimport { useState } from 'react';\n\nexport const useOfferLogic = () => {\n const dispatch = useAppDispatch();\n const [error, setError] = useState('');\n\n const cancelSubscription = () => {\n dispatch(cancelSubscriptionPlan())\n .then(() => {\n appAnalytics.trackEvent(new ContinueSubscriptionCancel());\n dispatch(push(QuestionIds.FinishUserLost));\n })\n .catch((error) => setError(error));\n };\n\n const changeSubscription = () => {\n const planCode = 'co-loona-web-ar-q-t0-1-c99-59';\n\n dispatch(changeSubscriptionPlan(planCode))\n .then(() => {\n appAnalytics.trackEvent(new SubscriptionSwitchSuccess(planCode));\n dispatch(push(QuestionIds.Loader));\n })\n .catch((error) => setError(getErrorMessage(error)));\n };\n\n return {\n error,\n setError,\n changeSubscription,\n cancelSubscription,\n };\n};\n","import React from 'react';\nimport { useAppSelector } from 'bootstrap/hooks';\nimport { getQuestionComponent } from 'cancelsubscription/utils';\nimport { OptionalQuestion } from './OptionQuestion';\nimport { QuestionComponentProps } from '../Question.types';\n\ntype Props = QuestionComponentProps;\n\nexport const OptionalComponent: React.FC = ({ question }: Props) => {\n const { answers } = useAppSelector((state) => state.subscriptionCancel);\n const answer = answers[question.sourceQuestionId];\n const finalQuestion =\n question.options[answer as string] ?? Object.values(question.options)[0];\n\n const Component = getQuestionComponent(finalQuestion);\n return ;\n};\n","import { QuestionIds } from './QuestionsIds';\n\nexport const QuestionsOrder: QuestionIds[] = [\n QuestionIds.Welcome,\n QuestionIds.Reason,\n QuestionIds.HowLikely,\n QuestionIds.Offer,\n QuestionIds.FinishWinBack,\n];\n","import { pushWithSearchQuery } from 'utils';\nimport { AppThunk } from 'bootstrap/types';\nimport { Answers } from '../state';\nimport { SubscriptionCancelActionTypes } from './types';\nimport { AppDispatch } from 'index';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { OptionalQuestion } from 'cancelsubscription/components/question/options/OptionQuestion';\nimport { QuestionsOrder } from 'cancelsubscription/data/constants/QuestionOrder';\nimport { QUESTIONS_META } from 'cancelsubscription/data/meta';\nimport { QuestionTypes } from 'cancelsubscription/components/question/Question';\nimport { Features } from 'useFeatures';\nimport { getQuestionsOrder } from 'onboarding/data/QuestionsOrder/QuestionsOrder';\n\nexport const SET_ANSWER = 'SET_SUBSCRIPTION_CANCEL_ANSWER';\nexport const SET_CURRENT_QUESTION = 'SET_SUBSCRIPTION_CANCEL_CURRENT_QUESTION';\n\nexport const setAnswer =\n (\n question: QuestionIds,\n answer: string | string[],\n features: Features,\n navigateNext = true,\n ): AppThunk =>\n (dispatch: AppDispatch, _) => {\n dispatch({\n type: SET_ANSWER,\n payload: {\n question,\n answer,\n },\n });\n navigateNext && dispatch(goToNextQuestion(features));\n };\n\nexport const hasOption = (\n answers: Answers,\n question: OptionalQuestion,\n): boolean => {\n const answer = answers[question.sourceQuestionId]?.[0];\n return typeof answer === 'string' && !!question.options[answer];\n};\n\nexport const goToNextQuestion =\n (features: Features): AppThunk =>\n (dispatch: AppDispatch, getState) => {\n const currentQuestionId = window.location.pathname.replace(\n '/subscription-cancel/',\n '',\n );\n let currentQuestionIndex = QuestionsOrder.indexOf(\n currentQuestionId as QuestionIds,\n );\n const { answers } = getState().subscriptionCancel;\n\n const questionsOrder = getQuestionsOrder(features);\n\n const nextQuestionMeta =\n // @ts-ignore\n QUESTIONS_META[questionsOrder[currentQuestionIndex + 1]];\n if (nextQuestionMeta && nextQuestionMeta.type === QuestionTypes.Optional) {\n if (!hasOption(answers, nextQuestionMeta as OptionalQuestion)) {\n currentQuestionIndex += 1;\n }\n }\n\n if (QuestionsOrder.length - 1 > currentQuestionIndex) {\n const nextQuestion = questionsOrder[currentQuestionIndex + 1];\n\n dispatch({\n type: SET_CURRENT_QUESTION,\n question: QuestionsOrder[currentQuestionIndex + 1],\n });\n dispatch(pushWithSearchQuery(`/subscription-cancel/${nextQuestion}`));\n } else {\n dispatch(pushWithSearchQuery('/subscription-cancel/Welcome'));\n }\n };\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__h4NiC\",\"speed\":\"styles_speed__tkXHs\",\"enter\":\"styles_enter__dDtD+\",\"leave\":\"styles_leave__MaDyt\",\"title\":\"styles_title__bgtlP\",\"titleWithMargin\":\"styles_titleWithMargin__Mb9WW\",\"description\":\"styles_description__hyQxI\",\"option\":\"styles_option__2hOAg\",\"withSubText\":\"styles_withSubText__AH2o2\",\"text\":\"styles_text__MtiI0\",\"subtext\":\"styles_subtext__1M2+x\",\"multiple\":\"styles_multiple__sekvE\",\"active\":\"styles_active__wBcI3\",\"button\":\"styles_button__u-wQa\"};","import React from 'react';\nimport { OptionQuestion } from './OptionQuestion';\nimport Spacer from 'components/spacer/Spacer';\nimport { useOptionQuestionLogic } from './OptionQuestions.hook';\nimport { QuestionComponentProps } from '../Question.types';\nimport styles from './styles.module.scss';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\n\ntype Props = QuestionComponentProps;\n\nexport const OptionQuestionComponent: React.FC = ({\n question,\n}: Props) => {\n const {\n title,\n activeOptions,\n containerStyle,\n error,\n setError,\n optionHandler,\n } = useOptionQuestionLogic(question);\n\n return (\n <>\n setError('')}\n />\n \n

{title}

\n {question.description && (\n
{question.description}
\n )}\n {question.options.map((option) => (\n \n {option.text}\n \n ))}\n \n
\n \n );\n};\n","import { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { setAnswer } from 'bootstrap/subscriptioncancel/actions/answer';\nimport { SyntheticEvent, useEffect, useState } from 'react';\nimport { OptionQuestion } from './OptionQuestion';\nimport { TextOption } from './TextOption';\nimport {\n cancelSubscriptionPlan,\n changeSubscriptionPlan,\n} from 'bootstrap/user/actions';\nimport { push } from 'connected-react-router';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { appAnalytics } from 'analytics';\nimport {\n ContinueSubscriptionCancel,\n ContinueSubscriptionCancelHowLikely,\n ContinueSubscriptionCancelReason,\n SubscriptionSwitchSuccess,\n} from 'cancelsubscription/analytics';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { useFeatures } from 'useFeatures';\n\nexport const useOptionQuestionLogic = (question: OptionQuestion) => {\n const dispatch = useAppDispatch();\n const { answers } = useAppSelector((state) => state.subscriptionCancel);\n const features = useFeatures();\n\n const [error, setError] = useState('');\n const [activeOptions, setActiveOptions] = useState([]);\n const [containerStyle, setContainerStyle] = useState('');\n\n const [title, setTitle] = useState(question.title);\n const [isLeaving, setLeaving] = useState(false);\n\n const trackEvents = (option: TextOption) => {\n switch (question.id) {\n case QuestionIds.Reason: {\n appAnalytics.trackEvent(\n new ContinueSubscriptionCancelReason(option.id),\n );\n break;\n }\n case QuestionIds.HowLikely: {\n appAnalytics.trackEvent(\n new ContinueSubscriptionCancelHowLikely(option.id),\n );\n break;\n }\n default:\n break;\n }\n };\n\n useEffect(() => {\n setTitle(question.title);\n const currentAnswer = answers[question.id];\n setContainerStyle('enter');\n setLeaving(false);\n if (currentAnswer) {\n if (\n typeof currentAnswer === 'string' &&\n question.hasOptionId(currentAnswer)\n ) {\n setActiveOptions([currentAnswer]);\n } else if (Array.isArray(currentAnswer)) {\n setActiveOptions(\n (currentAnswer as string[]).filter((it) => question.hasOptionId(it)),\n );\n } else {\n setActiveOptions([]);\n }\n } else {\n setActiveOptions([]);\n }\n }, [question]);\n\n const optionHandler = (option: TextOption) => async (e: SyntheticEvent) => {\n e.preventDefault();\n if (isLeaving) {\n return;\n }\n\n setActiveOptions([option.id]);\n\n const handleOption = async () => {\n switch (option.id) {\n case 'yes_change_subscription':\n const planCode = 'co-loona-web-ar-q-t0-14-c75-59';\n\n dispatch(changeSubscriptionPlan(planCode))\n .then(() => {\n appAnalytics.trackEvent(new SubscriptionSwitchSuccess(planCode));\n dispatch(setAnswer(question.id, [option.id], features));\n\n setContainerStyle('leave');\n setLeaving(true);\n dispatch(push(QuestionIds.Loader));\n })\n .catch((error) => {\n setError(getErrorMessage(error));\n });\n break;\n case 'no_change_subscription':\n dispatch(cancelSubscriptionPlan())\n .then(() => {\n appAnalytics.trackEvent(new ContinueSubscriptionCancel());\n dispatch(push(QuestionIds.FinishUserLost));\n })\n .catch((error) => setError(error));\n break;\n default:\n dispatch(setAnswer(question.id, [option.id], features));\n setContainerStyle('leave');\n setLeaving(true);\n break;\n }\n };\n\n trackEvents(option);\n setTimeout(handleOption, 200);\n };\n\n return {\n containerStyle,\n title,\n activeOptions,\n error,\n setError,\n optionHandler,\n };\n};\n","import { appAnalytics } from 'analytics';\nimport { Amplitude } from 'analytics/Amplitude';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { goToNextQuestion } from 'bootstrap/subscriptioncancel/actions/answer';\nimport {\n cancelSubscriptionPlan,\n setSubscriptionExpiredDate,\n setSubscriptionStatus,\n} from 'bootstrap/user/actions';\nimport { ContinueSubscriptionCancel } from 'cancelsubscription/analytics';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { push } from 'connected-react-router';\nimport { isShortWebCancelFlow, useFeatures } from 'useFeatures';\nimport { useEffect, useState } from 'react';\nimport { getOneLink, getQueryVariable } from 'utils';\n\nexport const useWelcomeLogic = () => {\n const dispatch = useAppDispatch();\n const { subscriptionEventStatus } = useAppSelector((state) => state.user);\n\n const features = useFeatures();\n\n const [error, setError] = useState('');\n\n useEffect(() => {\n const idx = getQueryVariable('idx');\n\n if (idx) {\n Amplitude.setUserId(idx);\n }\n\n dispatch(setSubscriptionExpiredDate());\n dispatch(setSubscriptionStatus());\n }, []);\n\n const onKeepBenefitsHandler = () => {\n window.location.href = getOneLink({\n mediaSource: 'web_cancel',\n campaign: 'benefints',\n experience: 'custom',\n });\n };\n\n const onCancelSubscriptionHandler = () => {\n if (\n isShortWebCancelFlow() ||\n subscriptionEventStatus === 'CANCELLED_TRIAL' ||\n subscriptionEventStatus === 'CANCELED_SUBSCRIPTION_NOTIFICATION'\n ) {\n dispatch(cancelSubscriptionPlan())\n .then(() => {\n appAnalytics.trackEvent(new ContinueSubscriptionCancel());\n dispatch(push(QuestionIds.FinishUserLost));\n })\n .catch((error) => setError(error));\n } else {\n dispatch(goToNextQuestion(features));\n }\n };\n\n return {\n error,\n setError,\n onKeepBenefitsHandler,\n onCancelSubscriptionHandler,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__AwkW3\",\"title\":\"styles_title__evvNN\",\"subtitle\":\"styles_subtitle__GH+-Q\",\"accent\":\"styles_accent__N8kwT\",\"note\":\"styles_note__5odcz\",\"content\":\"styles_content__Kw64W\",\"stickyContainer\":\"styles_stickyContainer__dfTRi\",\"button\":\"styles_button__2BFbV\",\"secondary\":\"styles_secondary__VWs9q\",\"maxWidth\":\"styles_maxWidth__jb4rh\"};","import React from 'react';\nimport BingeWatchingGraph from 'assets/onboarding/graphs/bingewatching_graph.svg';\nimport Spacer from 'components/spacer/Spacer';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport { useWelcomeLogic } from './Welcome.hook';\nimport styles from './styles.module.scss';\n\nconst WelcomeCancel = () => {\n const {\n error,\n onCancelSubscriptionHandler,\n onKeepBenefitsHandler,\n setError,\n } = useWelcomeLogic();\n\n return (\n <>\n setError('')}\n />\n
\n
\n You’re more likely to reclaim\n
your sleep with Loóna\n
\n
\n Don’t lose personalised escape\n plan and access to ever growing collection of escapes, immersive\n stories, music and ambiances\n
\n\n \n
\n Loóna is here to help - if you’ll let us
\n Don’t let a good thing go\n
\n \n\n
\n \n \n \n Cancel Loóna Plus\n \n \n
\n
\n \n );\n};\n\nexport default WelcomeCancel;\n","// extracted by mini-css-extract-plugin\nexport default {\"spinner\":\"styles_spinner__Dp26W\",\"donut-spin\":\"styles_donut-spin__Owodl\"};","import styles from './styles.module.scss';\n\nexport const Spinner = () => {\n return
;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"styles_wrapper__Tgjnk\",\"title\":\"styles_title__U9vuu\",\"subtitle\":\"styles_subtitle__Kuhjz\"};","import React, { useEffect } from 'react';\nimport { Spinner } from './components/Spinner';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { push } from 'connected-react-router';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport styles from './styles.module.scss';\n\nexport const LoadingScreen = () => {\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n setTimeout(() => dispatch(push(QuestionIds.FinishWinBack)), 1000);\n }, []);\n\n return (\n
\n \n

Updating your subscription

\n

\n Please don't hit \"back\" or refresh the page\n

\n
\n );\n};\n","import { useAppSelector } from 'bootstrap/hooks';\nimport { QuestionIds } from './data/constants/QuestionsIds';\nimport ExtendTrial from './pages/extendtrial/ExtendTrial';\nimport Finish from './pages/finish/Finish';\nimport FinishUserLost from './pages/finishuserlost/FinishUserLost';\nimport Offer from './pages/offer/Offer';\nimport { OptionalComponent } from './components/question/options/OptionalComponent';\nimport { OptionQuestionComponent } from './components/question/options/OptionQuestionComponent';\nimport {\n CustomQuestion,\n Question,\n QuestionTypes,\n} from './components/question/Question';\nimport { QuestionComponentProps } from './components/question/Question.types';\nimport WelcomeCancel from './pages/welcome/Welcome';\nimport { LoadingScreen } from './pages/loadingscreen/LoadingScreen';\n\nexport const getQuestionComponent = (\n question: Question,\n): React.FC> => {\n const { subscriptionStatus } = useAppSelector((state) => state.user);\n\n switch (question.type) {\n case QuestionTypes.Optional:\n return OptionalComponent;\n case QuestionTypes.Option:\n return OptionQuestionComponent;\n case QuestionTypes.Custom:\n switch ((question as CustomQuestion).variationId) {\n case QuestionIds.Welcome:\n return WelcomeCancel;\n case QuestionIds.FinishWinBack:\n return Finish;\n case QuestionIds.Offer:\n return Offer;\n case QuestionIds.Extend:\n return subscriptionStatus === 'trial' ? ExtendTrial : Offer;\n case QuestionIds.FinishUserLost:\n return FinishUserLost;\n case QuestionIds.Loader:\n return LoadingScreen;\n default:\n return WelcomeCancel;\n }\n }\n};\n\nexport const getTrialExpiredDate = (\n subscriptonExpiredDate?: string,\n extendedTrialDays?: number,\n) => {\n if (!subscriptonExpiredDate) return '';\n const date = new Date(subscriptonExpiredDate);\n const trialEndDate = date.setDate(date.getDate() + (extendedTrialDays || 0));\n\n const trialEndFormattedDate = Intl.DateTimeFormat('en', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(trialEndDate);\n\n return trialEndFormattedDate;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__E8XtC\"};","import React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useParams } from 'react-router-dom';\nimport { pushWithSearchQuery } from 'utils';\nimport { QuestionIds } from './data/constants/QuestionsIds';\nimport { getQuestionComponent } from './utils';\nimport { Question } from './components/question/Question';\nimport { appAnalytics } from 'analytics';\nimport { SubscriptionCancelScreenOpened } from './analytics';\nimport styles from './styles.module.scss';\n\ntype Params = {\n questionId: QuestionIds;\n};\n\nexport const SubscriptionCancel = () => {\n const dispatch = useDispatch();\n\n const { questionId } = useParams();\n\n useEffect(() => {\n if (QuestionIds[questionId]) {\n appAnalytics.trackEvent(\n new SubscriptionCancelScreenOpened(\n // @ts-ignore\n `cancel${questionsMeta[questionId].id}`,\n ),\n );\n }\n }, [questionId]);\n\n if (!QuestionIds[questionId]) {\n dispatch(\n pushWithSearchQuery(`/subscription-cancel/${QuestionIds.Welcome}`),\n );\n }\n\n // @ts-ignore\n const question: Question = questionsMeta[questionId];\n const QuestionComponent = getQuestionComponent(question);\n\n return (\n <>\n
\n {QuestionComponent && }\n
\n \n );\n};\n","export const validAttributeName = /^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/;\nconst nullController: MutationController = {\n revert: () => {},\n};\n\nconst elements: Map = new Map();\nconst mutations: Set = new Set();\n\nfunction getObserverInit(attr: string): MutationObserverInit {\n return attr === 'html'\n ? {\n childList: true,\n subtree: true,\n attributes: true,\n characterData: true,\n }\n : {\n childList: false,\n subtree: false,\n attributes: true,\n attributeFilter: [attr],\n };\n}\n\nfunction getElementRecord(element: Element): ElementRecord {\n let record = elements.get(element);\n\n if (!record) {\n record = { element, attributes: {} };\n elements.set(element, record);\n }\n\n return record;\n}\n\nfunction createElementPropertyRecord(\n el: Element,\n attr: string,\n getCurrentValue: (el: Element) => any,\n setValue: (el: Element, val: any) => void,\n mutationRunner: (record: ElementPropertyRecord) => void\n) {\n const currentValue = getCurrentValue(el);\n const record: ElementPropertyRecord = {\n isDirty: false,\n originalValue: currentValue,\n virtualValue: currentValue,\n mutations: [],\n el,\n _positionTimeout: null,\n observer: new MutationObserver(() => {\n // enact a 1 second timeout that blocks subsequent firing of the\n // observer until the timeout is complete. This will prevent multiple\n // mutations from firing in quick succession, which can cause the\n // mutation to be reverted before the DOM has a chance to update.\n if (attr === 'position' && record._positionTimeout) return;\n else if (attr === 'position')\n record._positionTimeout = setTimeout(() => {\n record._positionTimeout = null;\n }, 1000);\n\n const currentValue = getCurrentValue(el);\n if (\n attr === 'position' &&\n currentValue.parentNode === record.virtualValue.parentNode &&\n currentValue.insertBeforeNode === record.virtualValue.insertBeforeNode\n )\n return;\n if (currentValue === record.virtualValue) return;\n record.originalValue = currentValue;\n mutationRunner(record);\n }),\n mutationRunner,\n setValue,\n getCurrentValue,\n };\n if (attr === 'position' && el.parentNode) {\n record.observer.observe(el.parentNode, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n } else {\n record.observer.observe(el, getObserverInit(attr));\n }\n return record;\n}\n\nfunction queueIfNeeded(\n val: string | null | ElementPositionWithDomNode,\n record: ElementPropertyRecord\n) {\n const currentVal = record.getCurrentValue(record.el);\n record.virtualValue = val;\n if (val && typeof val !== 'string') {\n if (\n !currentVal ||\n val.parentNode !== currentVal.parentNode ||\n val.insertBeforeNode !== currentVal.insertBeforeNode\n ) {\n record.isDirty = true;\n runDOMUpdates();\n }\n } else if (val !== currentVal) {\n record.isDirty = true;\n runDOMUpdates();\n }\n}\n\nfunction htmlMutationRunner(record: HTMLRecord) {\n let val = record.originalValue;\n record.mutations.forEach(m => (val = m.mutate(val)));\n queueIfNeeded(getTransformedHTML(val), record);\n}\nfunction classMutationRunner(record: ClassnameRecord) {\n const val = new Set(record.originalValue.split(/\\s+/).filter(Boolean));\n record.mutations.forEach(m => m.mutate(val));\n queueIfNeeded(\n Array.from(val)\n .filter(Boolean)\n .join(' '),\n record\n );\n}\n\nfunction attrMutationRunner(record: AttributeRecord) {\n let val: string | null = record.originalValue;\n record.mutations.forEach(m => (val = m.mutate(val)));\n queueIfNeeded(val, record);\n}\n\nfunction _loadDOMNodes({\n parentSelector,\n insertBeforeSelector,\n}: ElementPosition): ElementPositionWithDomNode | null {\n const parentNode = document.querySelector(parentSelector);\n if (!parentNode) return null;\n const insertBeforeNode = insertBeforeSelector\n ? document.querySelector(insertBeforeSelector)\n : null;\n if (insertBeforeSelector && !insertBeforeNode) return null;\n return {\n parentNode,\n insertBeforeNode,\n };\n}\n\nfunction positionMutationRunner(record: PositionRecord) {\n let val = record.originalValue;\n record.mutations.forEach(m => {\n const selectors = m.mutate();\n const newNodes = _loadDOMNodes(selectors);\n val = newNodes || val;\n });\n queueIfNeeded(val, record);\n}\n\nconst getHTMLValue = (el: Element) => el.innerHTML;\nconst setHTMLValue = (el: Element, value: string) => (el.innerHTML = value);\nfunction getElementHTMLRecord(element: Element): HTMLRecord {\n const elementRecord = getElementRecord(element);\n if (!elementRecord.html) {\n elementRecord.html = createElementPropertyRecord(\n element,\n 'html',\n getHTMLValue,\n setHTMLValue,\n htmlMutationRunner\n );\n }\n return elementRecord.html;\n}\n\nconst getElementPosition = (el: Element): ElementPositionWithDomNode => {\n return {\n parentNode: el.parentElement as HTMLElement,\n insertBeforeNode: el.nextElementSibling as HTMLElement | null,\n };\n};\nconst setElementPosition = (el: Element, value: ElementPositionWithDomNode) => {\n if (\n value.insertBeforeNode &&\n !value.parentNode.contains(value.insertBeforeNode)\n ) {\n // skip position mutation - insertBeforeNode not a child of parent. happens\n // when mutation observer for indvidual element fires out of order\n return;\n }\n value.parentNode.insertBefore(el, value.insertBeforeNode);\n};\nfunction getElementPositionRecord(element: Element): PositionRecord {\n const elementRecord = getElementRecord(element);\n if (!elementRecord.position) {\n elementRecord.position = createElementPropertyRecord(\n element,\n 'position',\n getElementPosition,\n setElementPosition,\n positionMutationRunner\n );\n }\n return elementRecord.position;\n}\n\nconst setClassValue = (el: Element, val: string) =>\n val ? (el.className = val) : el.removeAttribute('class');\nconst getClassValue = (el: Element) => el.className;\nfunction getElementClassRecord(el: Element): ClassnameRecord {\n const elementRecord = getElementRecord(el);\n if (!elementRecord.classes) {\n elementRecord.classes = createElementPropertyRecord(\n el,\n 'class',\n getClassValue,\n setClassValue,\n classMutationRunner\n );\n }\n return elementRecord.classes;\n}\n\nconst getAttrValue = (attrName: string) => (el: Element) =>\n el.getAttribute(attrName) ?? null;\nconst setAttrValue = (attrName: string) => (el: Element, val: string | null) =>\n val !== null ? el.setAttribute(attrName, val) : el.removeAttribute(attrName);\nfunction getElementAttributeRecord(el: Element, attr: string): AttributeRecord {\n const elementRecord = getElementRecord(el);\n if (!elementRecord.attributes[attr]) {\n elementRecord.attributes[attr] = createElementPropertyRecord(\n el,\n attr,\n getAttrValue(attr),\n setAttrValue(attr),\n attrMutationRunner\n );\n }\n return elementRecord.attributes[attr];\n}\n\nfunction deleteElementPropertyRecord(el: Element, attr: string) {\n const element = elements.get(el);\n if (!element) return;\n if (attr === 'html') {\n element.html?.observer?.disconnect();\n delete element.html;\n } else if (attr === 'class') {\n element.classes?.observer?.disconnect();\n delete element.classes;\n } else if (attr === 'position') {\n element.position?.observer?.disconnect();\n delete element.position;\n } else {\n element.attributes?.[attr]?.observer?.disconnect();\n delete element.attributes[attr];\n }\n}\n\nlet transformContainer: HTMLDivElement;\nfunction getTransformedHTML(html: string) {\n if (!transformContainer) {\n transformContainer = document.createElement('div');\n }\n transformContainer.innerHTML = html;\n return transformContainer.innerHTML;\n}\n\nfunction setPropertyValue>(\n el: Element,\n attr: string,\n m: T\n) {\n if (!m.isDirty) return;\n m.isDirty = false;\n const val = m.virtualValue;\n if (!m.mutations.length) {\n deleteElementPropertyRecord(el, attr);\n }\n m.setValue(el, val);\n}\n\nfunction setValue(m: ElementRecord, el: Element) {\n m.html && setPropertyValue(el, 'html', m.html);\n m.classes && setPropertyValue(el, 'class', m.classes);\n m.position && setPropertyValue(el, 'position', m.position);\n Object.keys(m.attributes).forEach(attr => {\n setPropertyValue(el, attr, m.attributes[attr]);\n });\n}\n\nfunction runDOMUpdates() {\n elements.forEach(setValue);\n}\n\n// find or create ElementPropertyRecord, add mutation to it, then run\nfunction startMutating(mutation: Mutation, element: Element) {\n let record: ElementPropertyRecord | null = null;\n if (mutation.kind === 'html') {\n record = getElementHTMLRecord(element);\n } else if (mutation.kind === 'class') {\n record = getElementClassRecord(element);\n } else if (mutation.kind === 'attribute') {\n record = getElementAttributeRecord(element, mutation.attribute);\n } else if (mutation.kind === 'position') {\n record = getElementPositionRecord(element);\n }\n if (!record) return;\n record.mutations.push(mutation);\n record.mutationRunner(record);\n}\n\n// get (existing) ElementPropertyRecord, remove mutation from it, then run\nfunction stopMutating(mutation: Mutation, el: Element) {\n let record: ElementPropertyRecord | null = null;\n if (mutation.kind === 'html') {\n record = getElementHTMLRecord(el);\n } else if (mutation.kind === 'class') {\n record = getElementClassRecord(el);\n } else if (mutation.kind === 'attribute') {\n record = getElementAttributeRecord(el, mutation.attribute);\n } else if (mutation.kind === 'position') {\n record = getElementPositionRecord(el);\n }\n if (!record) return;\n const index = record.mutations.indexOf(mutation);\n if (index !== -1) record.mutations.splice(index, 1);\n record.mutationRunner(record);\n}\n\n// maintain list of elements associated with mutation\nfunction refreshElementsSet(mutation: Mutation) {\n // if a position mutation has already found an element to move, don't move\n // any more elements\n if (mutation.kind === 'position' && mutation.elements.size === 1) return;\n\n const existingElements = new Set(mutation.elements);\n const matchingElements = document.querySelectorAll(mutation.selector);\n\n matchingElements.forEach(el => {\n if (!existingElements.has(el)) {\n mutation.elements.add(el);\n startMutating(mutation, el);\n }\n });\n}\n\nfunction revertMutation(mutation: Mutation) {\n mutation.elements.forEach(el => stopMutating(mutation, el));\n mutation.elements.clear();\n mutations.delete(mutation);\n}\n\nfunction refreshAllElementSets() {\n mutations.forEach(refreshElementsSet);\n}\n\n// Observer for elements that don't exist in the DOM yet\nlet observer: MutationObserver;\nexport function disconnectGlobalObserver() {\n observer && observer.disconnect();\n}\nexport function connectGlobalObserver() {\n if (typeof document === 'undefined') return;\n\n if (!observer) {\n observer = new MutationObserver(() => {\n refreshAllElementSets();\n });\n }\n\n refreshAllElementSets();\n observer.observe(document.documentElement, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n}\n\n// run on init\nconnectGlobalObserver();\n\nfunction newMutation(m: Mutation): MutationController {\n // Not in a browser\n if (typeof document === 'undefined') return nullController;\n // add to global index of mutations\n mutations.add(m);\n // run refresh on init to establish list of elements associated w/ mutation\n refreshElementsSet(m);\n return {\n revert: () => {\n revertMutation(m);\n },\n };\n}\n\nfunction html(\n selector: HTMLMutation['selector'],\n mutate: HTMLMutation['mutate']\n) {\n return newMutation({\n kind: 'html',\n elements: new Set(),\n mutate,\n selector,\n });\n}\n\nfunction position(\n selector: PositionMutation['selector'],\n mutate: PositionMutation['mutate']\n) {\n return newMutation({\n kind: 'position',\n elements: new Set(),\n mutate,\n selector,\n });\n}\n\nfunction classes(\n selector: ClassnameMutation['selector'],\n mutate: ClassnameMutation['mutate']\n) {\n return newMutation({\n kind: 'class',\n elements: new Set(),\n mutate,\n selector,\n });\n}\n\nfunction attribute(\n selector: AttrMutation['selector'],\n attribute: AttrMutation['attribute'],\n mutate: AttrMutation['mutate']\n) {\n if (!validAttributeName.test(attribute)) return nullController;\n\n if (attribute === 'class' || attribute === 'className') {\n return classes(selector, classnames => {\n const mutatedClassnames = mutate(Array.from(classnames).join(' '));\n classnames.clear();\n if (!mutatedClassnames) return;\n mutatedClassnames\n .split(/\\s+/g)\n .filter(Boolean)\n .forEach(c => classnames.add(c));\n });\n }\n\n return newMutation({\n kind: 'attribute',\n attribute,\n elements: new Set(),\n mutate,\n selector,\n });\n}\n\nfunction declarative({\n selector,\n action,\n value,\n attribute: attr,\n parentSelector,\n insertBeforeSelector,\n}: DeclarativeMutation): MutationController {\n if (attr === 'html') {\n if (action === 'append') {\n return html(selector, val => val + (value ?? ''));\n } else if (action === 'set') {\n return html(selector, () => value ?? '');\n }\n } else if (attr === 'class') {\n if (action === 'append') {\n return classes(selector, val => {\n if (value) val.add(value);\n });\n } else if (action === 'remove') {\n return classes(selector, val => {\n if (value) val.delete(value);\n });\n } else if (action === 'set') {\n return classes(selector, val => {\n val.clear();\n if (value) val.add(value);\n });\n }\n } else if (attr === 'position') {\n if (action === 'set' && parentSelector) {\n return position(selector, () => ({\n insertBeforeSelector,\n parentSelector,\n }));\n }\n } else {\n if (action === 'append') {\n return attribute(selector, attr, val =>\n val !== null ? val + (value ?? '') : value ?? ''\n );\n } else if (action === 'set') {\n return attribute(selector, attr, () => value ?? '');\n } else if (action === 'remove') {\n return attribute(selector, attr, () => null);\n }\n }\n return nullController;\n}\n\nexport type MutationController = {\n revert: () => void;\n};\n\nexport type DeclarativeMutation = {\n selector: string;\n attribute: string;\n action: 'append' | 'set' | 'remove';\n value?: string;\n parentSelector?: string;\n insertBeforeSelector?: string;\n};\n\nexport default {\n html,\n classes,\n attribute,\n position,\n declarative,\n};\n","import {\n AutoExperiment,\n AutoExperimentChangeType,\n Polyfills,\n UrlTarget,\n UrlTargetType,\n VariationRange,\n} from \"./types/growthbook\";\n\nconst polyfills: Polyfills = {\n fetch: globalThis.fetch ? globalThis.fetch.bind(globalThis) : undefined,\n SubtleCrypto: globalThis.crypto ? globalThis.crypto.subtle : undefined,\n EventSource: globalThis.EventSource,\n};\nexport function getPolyfills(): Polyfills {\n return polyfills;\n}\n\nfunction hashFnv32a(str: string): number {\n let hval = 0x811c9dc5;\n const l = str.length;\n\n for (let i = 0; i < l; i++) {\n hval ^= str.charCodeAt(i);\n hval +=\n (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n }\n return hval >>> 0;\n}\n\nexport function hash(\n seed: string,\n value: string,\n version: number\n): number | null {\n // New unbiased hashing algorithm\n if (version === 2) {\n return (hashFnv32a(hashFnv32a(seed + value) + \"\") % 10000) / 10000;\n }\n // Original biased hashing algorithm (keep for backwards compatibility)\n if (version === 1) {\n return (hashFnv32a(value + seed) % 1000) / 1000;\n }\n\n // Unknown hash version\n return null;\n}\n\nexport function getEqualWeights(n: number): number[] {\n if (n <= 0) return [];\n return new Array(n).fill(1 / n);\n}\n\nexport function inRange(n: number, range: VariationRange): boolean {\n return n >= range[0] && n < range[1];\n}\n\nexport function inNamespace(\n hashValue: string,\n namespace: [string, number, number]\n): boolean {\n const n = hash(\"__\" + namespace[0], hashValue, 1);\n if (n === null) return false;\n return n >= namespace[1] && n < namespace[2];\n}\n\nexport function chooseVariation(n: number, ranges: VariationRange[]): number {\n for (let i = 0; i < ranges.length; i++) {\n if (inRange(n, ranges[i])) {\n return i;\n }\n }\n return -1;\n}\n\nexport function getUrlRegExp(regexString: string): RegExp | undefined {\n try {\n const escaped = regexString.replace(/([^\\\\])\\//g, \"$1\\\\/\");\n return new RegExp(escaped);\n } catch (e) {\n console.error(e);\n return undefined;\n }\n}\n\nexport function isURLTargeted(url: string, targets: UrlTarget[]) {\n if (!targets.length) return false;\n let hasIncludeRules = false;\n let isIncluded = false;\n\n for (let i = 0; i < targets.length; i++) {\n const match = _evalURLTarget(url, targets[i].type, targets[i].pattern);\n if (targets[i].include === false) {\n if (match) return false;\n } else {\n hasIncludeRules = true;\n if (match) isIncluded = true;\n }\n }\n\n return isIncluded || !hasIncludeRules;\n}\n\nfunction _evalSimpleUrlPart(\n actual: string,\n pattern: string,\n isPath: boolean\n): boolean {\n try {\n // Escape special regex characters and change wildcard `_____` to `.*`\n let escaped = pattern\n .replace(/[*.+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n .replace(/_____/g, \".*\");\n\n if (isPath) {\n // When matching pathname, make leading/trailing slashes optional\n escaped = \"\\\\/?\" + escaped.replace(/(^\\/|\\/$)/g, \"\") + \"\\\\/?\";\n }\n\n const regex = new RegExp(\"^\" + escaped + \"$\", \"i\");\n return regex.test(actual);\n } catch (e) {\n return false;\n }\n}\n\nfunction _evalSimpleUrlTarget(actual: URL, pattern: string) {\n try {\n // If a protocol is missing, but a host is specified, add `https://` to the front\n // Use \"_____\" as the wildcard since `*` is not a valid hostname in some browsers\n const expected = new URL(\n pattern.replace(/^([^:/?]*)\\./i, \"https://$1.\").replace(/\\*/g, \"_____\"),\n \"https://_____\"\n );\n\n // Compare each part of the URL separately\n const comps: Array<[string, string, boolean]> = [\n [actual.host, expected.host, false],\n [actual.pathname, expected.pathname, true],\n ];\n // We only want to compare hashes if it's explicitly being targeted\n if (expected.hash) {\n comps.push([actual.hash, expected.hash, false]);\n }\n\n expected.searchParams.forEach((v, k) => {\n comps.push([actual.searchParams.get(k) || \"\", v, false]);\n });\n\n // If any comparisons fail, the whole thing fails\n return !comps.some(\n (data) => !_evalSimpleUrlPart(data[0], data[1], data[2])\n );\n } catch (e) {\n return false;\n }\n}\n\nfunction _evalURLTarget(\n url: string,\n type: UrlTargetType,\n pattern: string\n): boolean {\n try {\n const parsed = new URL(url, \"https://_\");\n\n if (type === \"regex\") {\n const regex = getUrlRegExp(pattern);\n if (!regex) return false;\n return (\n regex.test(parsed.href) ||\n regex.test(parsed.href.substring(parsed.origin.length))\n );\n } else if (type === \"simple\") {\n return _evalSimpleUrlTarget(parsed, pattern);\n }\n\n return false;\n } catch (e) {\n return false;\n }\n}\n\nexport function getBucketRanges(\n numVariations: number,\n coverage: number | undefined,\n weights?: number[]\n): VariationRange[] {\n coverage = coverage === undefined ? 1 : coverage;\n\n // Make sure coverage is within bounds\n if (coverage < 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Experiment.coverage must be greater than or equal to 0\");\n }\n coverage = 0;\n } else if (coverage > 1) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Experiment.coverage must be less than or equal to 1\");\n }\n coverage = 1;\n }\n\n // Default to equal weights if missing or invalid\n const equal = getEqualWeights(numVariations);\n weights = weights || equal;\n if (weights.length !== numVariations) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n \"Experiment.weights array must be the same length as Experiment.variations\"\n );\n }\n weights = equal;\n }\n\n // If weights don't add up to 1 (or close to it), default to equal weights\n const totalWeight = weights.reduce((w, sum) => sum + w, 0);\n if (totalWeight < 0.99 || totalWeight > 1.01) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Experiment.weights must add up to 1\");\n }\n weights = equal;\n }\n\n // Covert weights to ranges\n let cumulative = 0;\n return weights.map((w) => {\n const start = cumulative;\n cumulative += w;\n return [start, start + (coverage as number) * w];\n }) as VariationRange[];\n}\n\nexport function getQueryStringOverride(\n id: string,\n url: string,\n numVariations: number\n) {\n if (!url) {\n return null;\n }\n\n const search = url.split(\"?\")[1];\n if (!search) {\n return null;\n }\n\n const match = search\n .replace(/#.*/, \"\") // Get rid of anchor\n .split(\"&\") // Split into key/value pairs\n .map((kv) => kv.split(\"=\", 2))\n .filter(([k]) => k === id) // Look for key that matches the experiment id\n .map(([, v]) => parseInt(v)); // Parse the value into an integer\n\n if (match.length > 0 && match[0] >= 0 && match[0] < numVariations)\n return match[0];\n\n return null;\n}\n\nexport function isIncluded(include: () => boolean) {\n try {\n return include();\n } catch (e) {\n console.error(e);\n return false;\n }\n}\n\nconst base64ToBuf = (b: string) =>\n Uint8Array.from(atob(b), (c) => c.charCodeAt(0));\n\nexport async function decrypt(\n encryptedString: string,\n decryptionKey?: string,\n subtle?: SubtleCrypto\n): Promise {\n decryptionKey = decryptionKey || \"\";\n subtle =\n subtle ||\n (globalThis.crypto && globalThis.crypto.subtle) ||\n polyfills.SubtleCrypto;\n if (!subtle) {\n throw new Error(\"No SubtleCrypto implementation found\");\n }\n try {\n const key = await subtle.importKey(\n \"raw\",\n base64ToBuf(decryptionKey),\n { name: \"AES-CBC\", length: 128 },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n const [iv, cipherText] = encryptedString.split(\".\");\n const plainTextBuffer = await subtle.decrypt(\n { name: \"AES-CBC\", iv: base64ToBuf(iv) },\n key,\n base64ToBuf(cipherText)\n );\n\n return new TextDecoder().decode(plainTextBuffer);\n } catch (e) {\n throw new Error(\"Failed to decrypt\");\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function toString(input: any): string {\n if (typeof input === \"string\") return input;\n return JSON.stringify(input);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function paddedVersionString(input: any): string {\n if (typeof input === \"number\") {\n input = input + \"\";\n }\n if (!input || typeof input !== \"string\") {\n input = \"0\";\n }\n // Remove build info and leading `v` if any\n // Split version into parts (both core version numbers and pre-release tags)\n // \"v1.2.3-rc.1+build123\" -> [\"1\",\"2\",\"3\",\"rc\",\"1\"]\n const parts = (input as string).replace(/(^v|\\+.*$)/g, \"\").split(/[-.]/);\n\n // If it's SemVer without a pre-release, add `~` to the end\n // [\"1\",\"0\",\"0\"] -> [\"1\",\"0\",\"0\",\"~\"]\n // \"~\" is the largest ASCII character, so this will make \"1.0.0\" greater than \"1.0.0-beta\" for example\n if (parts.length === 3) {\n parts.push(\"~\");\n }\n\n // Left pad each numeric part with spaces so string comparisons will work (\"9\">\"10\", but \" 9\"<\"10\")\n // Then, join back together into a single string\n return parts\n .map((v) => (v.match(/^[0-9]+$/) ? v.padStart(5, \" \") : v))\n .join(\"-\");\n}\n\nexport function loadSDKVersion(): string {\n let version: string;\n try {\n // @ts-expect-error right-hand value to be replaced by build with string literal\n version = __SDK_VERSION__;\n } catch (e) {\n version = \"\";\n }\n return version;\n}\n\nexport function mergeQueryStrings(oldUrl: string, newUrl: string): string {\n let currUrl: URL;\n let redirectUrl: URL;\n try {\n currUrl = new URL(oldUrl);\n redirectUrl = new URL(newUrl);\n } catch (e) {\n console.error(`Unable to merge query strings: ${e}`);\n return newUrl;\n }\n\n currUrl.searchParams.forEach((value, key) => {\n // skip if search param already exists in redirectUrl\n if (redirectUrl.searchParams.has(key)) {\n return;\n }\n redirectUrl.searchParams.set(key, value);\n });\n\n return redirectUrl.toString();\n}\n\nfunction isObj(x: unknown): x is Record {\n return typeof x === \"object\" && x !== null;\n}\n\nexport function getAutoExperimentChangeType(\n exp: AutoExperiment\n): AutoExperimentChangeType {\n if (\n exp.urlPatterns &&\n exp.variations.some(\n (variation) => isObj(variation) && \"urlRedirect\" in variation\n )\n ) {\n return \"redirect\";\n } else if (\n exp.variations.some(\n (variation) =>\n isObj(variation) &&\n (variation.domMutations || \"js\" in variation || \"css\" in variation)\n )\n ) {\n return \"visual\";\n }\n\n return \"unknown\";\n}\n\n// Guarantee the promise always resolves within {timeout} ms\n// Resolved value will be `null` when there's an error or it takes too long\n// Note: The promise will continue running in the background, even if the timeout is hit\nexport async function promiseTimeout(\n promise: Promise,\n timeout?: number\n): Promise {\n return new Promise((resolve) => {\n let resolved = false;\n let timer: NodeJS.Timeout | undefined;\n const finish = (data?: T) => {\n if (resolved) return;\n resolved = true;\n timer && clearTimeout(timer);\n resolve(data || null);\n };\n\n if (timeout) {\n timer = setTimeout(() => finish(), timeout);\n }\n\n promise.then((data) => finish(data)).catch(() => finish());\n });\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { SavedGroupsValues } from \"./types/growthbook\";\nimport {\n ConditionInterface,\n TestedObj,\n ConditionValue,\n Operator,\n OperatorConditionValue,\n VarType,\n} from \"./types/mongrule\";\nimport { paddedVersionString } from \"./util\";\n\nconst _regexCache: { [key: string]: RegExp } = {};\n\n// The top-level condition evaluation function\nexport function evalCondition(\n obj: TestedObj,\n condition: ConditionInterface,\n // Must be included for `condition` to correctly evaluate group Operators\n savedGroups?: SavedGroupsValues\n): boolean {\n savedGroups = savedGroups || {};\n // Condition is an object, keys are either specific operators or object paths\n // values are either arguments for operators or conditions for paths\n for (const [k, v] of Object.entries(condition)) {\n switch (k) {\n case \"$or\":\n if (!evalOr(obj, v as ConditionInterface[], savedGroups)) return false;\n break;\n case \"$nor\":\n if (evalOr(obj, v as ConditionInterface[], savedGroups)) return false;\n break;\n case \"$and\":\n if (!evalAnd(obj, v as ConditionInterface[], savedGroups)) return false;\n break;\n case \"$not\":\n if (evalCondition(obj, v as ConditionInterface, savedGroups))\n return false;\n break;\n default:\n if (!evalConditionValue(v, getPath(obj, k), savedGroups)) return false;\n }\n }\n return true;\n}\n\n// Return value at dot-separated path of an object\nfunction getPath(obj: TestedObj, path: string) {\n const parts = path.split(\".\");\n let current: any = obj;\n for (let i = 0; i < parts.length; i++) {\n if (current && typeof current === \"object\" && parts[i] in current) {\n current = current[parts[i]];\n } else {\n return null;\n }\n }\n return current;\n}\n\n// Transform a regex string into a real RegExp object\nfunction getRegex(regex: string): RegExp {\n if (!_regexCache[regex]) {\n _regexCache[regex] = new RegExp(regex.replace(/([^\\\\])\\//g, \"$1\\\\/\"));\n }\n return _regexCache[regex];\n}\n\n// Evaluate a single value against a condition\nfunction evalConditionValue(\n condition: ConditionValue,\n value: any,\n savedGroups: SavedGroupsValues\n) {\n // Simple equality comparisons\n if (typeof condition === \"string\") {\n return value + \"\" === condition;\n }\n if (typeof condition === \"number\") {\n return value * 1 === condition;\n }\n if (typeof condition === \"boolean\") {\n return !!value === condition;\n }\n\n if (condition === null) {\n return value === null;\n }\n\n if (Array.isArray(condition) || !isOperatorObject(condition)) {\n return JSON.stringify(value) === JSON.stringify(condition);\n }\n\n // This is a special operator condition and we should evaluate each one separately\n for (const op in condition) {\n if (\n !evalOperatorCondition(\n op as Operator,\n value,\n condition[op as keyof OperatorConditionValue],\n savedGroups\n )\n ) {\n return false;\n }\n }\n return true;\n}\n\n// If the object has only keys that start with '$'\nfunction isOperatorObject(obj: any): boolean {\n const keys = Object.keys(obj);\n return (\n keys.length > 0 && keys.filter((k) => k[0] === \"$\").length === keys.length\n );\n}\n\n// Return the data type of a value\nfunction getType(v: any): VarType | \"unknown\" {\n if (v === null) return \"null\";\n if (Array.isArray(v)) return \"array\";\n const t = typeof v;\n if ([\"string\", \"number\", \"boolean\", \"object\", \"undefined\"].includes(t)) {\n return t as VarType;\n }\n return \"unknown\";\n}\n\n// At least one element of actual must match the expected condition/value\nfunction elemMatch(actual: any, expected: any, savedGroups: SavedGroupsValues) {\n if (!Array.isArray(actual)) return false;\n const check = isOperatorObject(expected)\n ? (v: any) => evalConditionValue(expected, v, savedGroups)\n : (v: any) => evalCondition(v, expected, savedGroups);\n for (let i = 0; i < actual.length; i++) {\n if (actual[i] && check(actual[i])) {\n return true;\n }\n }\n return false;\n}\n\nfunction isIn(actual: any, expected: Array): boolean {\n // Do an intersection if attribute is an array\n if (Array.isArray(actual)) {\n return actual.some((el) => expected.includes(el));\n }\n return expected.includes(actual);\n}\n\n// Evaluate a single operator condition\nfunction evalOperatorCondition(\n operator: Operator,\n actual: any,\n expected: any,\n savedGroups: SavedGroupsValues\n): boolean {\n switch (operator) {\n case \"$veq\":\n return paddedVersionString(actual) === paddedVersionString(expected);\n case \"$vne\":\n return paddedVersionString(actual) !== paddedVersionString(expected);\n case \"$vgt\":\n return paddedVersionString(actual) > paddedVersionString(expected);\n case \"$vgte\":\n return paddedVersionString(actual) >= paddedVersionString(expected);\n case \"$vlt\":\n return paddedVersionString(actual) < paddedVersionString(expected);\n case \"$vlte\":\n return paddedVersionString(actual) <= paddedVersionString(expected);\n case \"$eq\":\n return actual === expected;\n case \"$ne\":\n return actual !== expected;\n case \"$lt\":\n return actual < expected;\n case \"$lte\":\n return actual <= expected;\n case \"$gt\":\n return actual > expected;\n case \"$gte\":\n return actual >= expected;\n case \"$exists\":\n // Using `!=` and `==` instead of strict checks so it also matches for undefined\n return expected ? actual != null : actual == null;\n case \"$in\":\n if (!Array.isArray(expected)) return false;\n return isIn(actual, expected);\n case \"$inGroup\":\n return isIn(actual, savedGroups[expected] || []);\n case \"$notInGroup\":\n return !isIn(actual, savedGroups[expected] || []);\n case \"$nin\":\n if (!Array.isArray(expected)) return false;\n return !isIn(actual, expected);\n case \"$not\":\n return !evalConditionValue(expected, actual, savedGroups);\n case \"$size\":\n if (!Array.isArray(actual)) return false;\n return evalConditionValue(expected, actual.length, savedGroups);\n case \"$elemMatch\":\n return elemMatch(actual, expected, savedGroups);\n case \"$all\":\n if (!Array.isArray(actual)) return false;\n for (let i = 0; i < expected.length; i++) {\n let passed = false;\n for (let j = 0; j < actual.length; j++) {\n if (evalConditionValue(expected[i], actual[j], savedGroups)) {\n passed = true;\n break;\n }\n }\n if (!passed) return false;\n }\n return true;\n case \"$regex\":\n try {\n return getRegex(expected).test(actual);\n } catch (e) {\n return false;\n }\n case \"$type\":\n return getType(actual) === expected;\n default:\n console.error(\"Unknown operator: \" + operator);\n return false;\n }\n}\n\n// Recursive $or rule\nfunction evalOr(\n obj: TestedObj,\n conditions: ConditionInterface[],\n savedGroups: SavedGroupsValues\n): boolean {\n if (!conditions.length) return true;\n for (let i = 0; i < conditions.length; i++) {\n if (evalCondition(obj, conditions[i], savedGroups)) {\n return true;\n }\n }\n return false;\n}\n\n// Recursive $and rule\nfunction evalAnd(\n obj: TestedObj,\n conditions: ConditionInterface[],\n savedGroups: SavedGroupsValues\n): boolean {\n for (let i = 0; i < conditions.length; i++) {\n if (!evalCondition(obj, conditions[i], savedGroups)) {\n return false;\n }\n }\n return true;\n}\n","import {\n Attributes,\n CacheSettings,\n FeatureApiResponse,\n FetchResponse,\n Helpers,\n Polyfills,\n} from \"./types/growthbook\";\nimport { getPolyfills, promiseTimeout } from \"./util\";\nimport type { GrowthBook } from \".\";\n\ntype CacheEntry = {\n data: FeatureApiResponse;\n sse?: boolean;\n version: string;\n staleAt: Date;\n};\ntype ScopedChannel = {\n src: EventSource | null;\n cb: (event: MessageEvent) => void;\n host: string;\n clientKey: string;\n headers?: Record;\n errors: number;\n state: \"active\" | \"idle\" | \"disabled\";\n};\n\n// Config settings\nconst cacheSettings: CacheSettings = {\n // Consider a fetch stale after 1 minute\n staleTTL: 1000 * 60,\n // Max time to keep a fetch in cache (4 hours default)\n maxAge: 1000 * 60 * 60 * 4,\n cacheKey: \"gbFeaturesCache\",\n backgroundSync: true,\n maxEntries: 10,\n disableIdleStreams: false,\n idleStreamInterval: 20000,\n disableCache: false,\n};\n\nconst polyfills = getPolyfills();\n\nexport const helpers: Helpers = {\n fetchFeaturesCall: ({ host, clientKey, headers }) => {\n return (polyfills.fetch as typeof globalThis.fetch)(\n `${host}/api/features/${clientKey}`,\n { headers }\n );\n },\n fetchRemoteEvalCall: ({ host, clientKey, payload, headers }) => {\n const options = {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", ...headers },\n body: JSON.stringify(payload),\n };\n return (polyfills.fetch as typeof globalThis.fetch)(\n `${host}/api/eval/${clientKey}`,\n options\n );\n },\n eventSourceCall: ({ host, clientKey, headers }) => {\n if (headers) {\n return new polyfills.EventSource(`${host}/sub/${clientKey}`, {\n headers,\n });\n }\n return new polyfills.EventSource(`${host}/sub/${clientKey}`);\n },\n startIdleListener: () => {\n let idleTimeout: number | undefined;\n const isBrowser =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (!isBrowser) return;\n const onVisibilityChange = () => {\n if (document.visibilityState === \"visible\") {\n window.clearTimeout(idleTimeout);\n onVisible();\n } else if (document.visibilityState === \"hidden\") {\n idleTimeout = window.setTimeout(\n onHidden,\n cacheSettings.idleStreamInterval\n );\n }\n };\n document.addEventListener(\"visibilitychange\", onVisibilityChange);\n return () =>\n document.removeEventListener(\"visibilitychange\", onVisibilityChange);\n },\n stopIdleListener: () => {\n // No-op, replaced by startIdleListener\n },\n};\n\ntry {\n if (globalThis.localStorage) {\n polyfills.localStorage = globalThis.localStorage;\n }\n} catch (e) {\n // Ignore localStorage errors\n}\n\n// Global state\nconst subscribedInstances: Map> = new Map();\nlet cacheInitialized = false;\nconst cache: Map = new Map();\nconst activeFetches: Map> = new Map();\nconst streams: Map = new Map();\nconst supportsSSE: Set = new Set();\n\n// Public functions\nexport function setPolyfills(overrides: Partial): void {\n Object.assign(polyfills, overrides);\n}\nexport function configureCache(overrides: Partial): void {\n Object.assign(cacheSettings, overrides);\n if (!cacheSettings.backgroundSync) {\n clearAutoRefresh();\n }\n}\n\nexport async function clearCache(): Promise {\n cache.clear();\n activeFetches.clear();\n clearAutoRefresh();\n cacheInitialized = false;\n await updatePersistentCache();\n}\n\n// Get or fetch features and refresh the SDK instance\nexport async function refreshFeatures({\n instance,\n timeout,\n skipCache,\n allowStale,\n backgroundSync,\n}: {\n instance: GrowthBook;\n timeout?: number;\n skipCache?: boolean;\n allowStale?: boolean;\n backgroundSync?: boolean;\n}): Promise {\n if (!backgroundSync) {\n cacheSettings.backgroundSync = false;\n }\n\n return fetchFeaturesWithCache({\n instance,\n allowStale,\n timeout,\n skipCache,\n });\n}\n\n// Subscribe a GrowthBook instance to feature changes\nexport function subscribe(instance: GrowthBook): void {\n const key = getKey(instance);\n const subs = subscribedInstances.get(key) || new Set();\n subs.add(instance);\n subscribedInstances.set(key, subs);\n}\nexport function unsubscribe(instance: GrowthBook): void {\n subscribedInstances.forEach((s) => s.delete(instance));\n}\n\nexport function onHidden() {\n streams.forEach((channel) => {\n if (!channel) return;\n channel.state = \"idle\";\n disableChannel(channel);\n });\n}\n\nexport function onVisible() {\n streams.forEach((channel) => {\n if (!channel) return;\n if (channel.state !== \"idle\") return;\n enableChannel(channel);\n });\n}\n\n// Private functions\n\nasync function updatePersistentCache() {\n try {\n if (!polyfills.localStorage) return;\n await polyfills.localStorage.setItem(\n cacheSettings.cacheKey,\n JSON.stringify(Array.from(cache.entries()))\n );\n } catch (e) {\n // Ignore localStorage errors\n }\n}\n\n// SWR wrapper for fetching features. May indirectly or directly start SSE streaming.\nasync function fetchFeaturesWithCache({\n instance,\n allowStale,\n timeout,\n skipCache,\n}: {\n instance: GrowthBook;\n allowStale?: boolean;\n timeout?: number;\n skipCache?: boolean;\n}): Promise {\n const key = getKey(instance);\n const cacheKey = getCacheKey(instance);\n const now = new Date();\n\n const minStaleAt = new Date(\n now.getTime() - cacheSettings.maxAge + cacheSettings.staleTTL\n );\n\n await initializeCache();\n const existing =\n !cacheSettings.disableCache && !skipCache ? cache.get(cacheKey) : undefined;\n if (\n existing &&\n (allowStale || existing.staleAt > now) &&\n existing.staleAt > minStaleAt\n ) {\n // Restore from cache whether SSE is supported\n if (existing.sse) supportsSSE.add(key);\n\n // Reload features in the background if stale\n if (existing.staleAt < now) {\n fetchFeatures(instance);\n }\n // Otherwise, if we don't need to refresh now, start a background sync\n else {\n startAutoRefresh(instance);\n }\n return { data: existing.data, success: true, source: \"cache\" };\n } else {\n const res = await promiseTimeout(fetchFeatures(instance), timeout);\n return (\n res || {\n data: null,\n success: false,\n source: \"timeout\",\n error: new Error(\"Timeout\"),\n }\n );\n }\n}\n\nfunction getKey(instance: GrowthBook): string {\n const [apiHost, clientKey] = instance.getApiInfo();\n return `${apiHost}||${clientKey}`;\n}\n\nfunction getCacheKey(instance: GrowthBook): string {\n const baseKey = getKey(instance);\n if (!instance.isRemoteEval()) return baseKey;\n\n const attributes = instance.getAttributes();\n const cacheKeyAttributes =\n instance.getCacheKeyAttributes() || Object.keys(instance.getAttributes());\n const ca: Attributes = {};\n cacheKeyAttributes.forEach((key) => {\n ca[key] = attributes[key];\n });\n\n const fv = instance.getForcedVariations();\n const url = instance.getUrl();\n\n return `${baseKey}||${JSON.stringify({\n ca,\n fv,\n url,\n })}`;\n}\n\n// Populate cache from localStorage (if available)\nasync function initializeCache(): Promise {\n if (cacheInitialized) return;\n cacheInitialized = true;\n try {\n if (polyfills.localStorage) {\n const value = await polyfills.localStorage.getItem(\n cacheSettings.cacheKey\n );\n if (!cacheSettings.disableCache && value) {\n const parsed: [string, CacheEntry][] = JSON.parse(value);\n if (parsed && Array.isArray(parsed)) {\n parsed.forEach(([key, data]) => {\n cache.set(key, {\n ...data,\n staleAt: new Date(data.staleAt),\n });\n });\n }\n cleanupCache();\n }\n }\n } catch (e) {\n // Ignore localStorage errors\n }\n if (!cacheSettings.disableIdleStreams) {\n const cleanupFn = helpers.startIdleListener();\n if (cleanupFn) {\n helpers.stopIdleListener = cleanupFn;\n }\n }\n}\n\n// Enforce the maxEntries limit\nfunction cleanupCache() {\n const entriesWithTimestamps = Array.from(cache.entries())\n .map(([key, value]) => ({\n key,\n staleAt: value.staleAt.getTime(),\n }))\n .sort((a, b) => a.staleAt - b.staleAt);\n\n const entriesToRemoveCount = Math.min(\n Math.max(0, cache.size - cacheSettings.maxEntries),\n cache.size\n );\n\n for (let i = 0; i < entriesToRemoveCount; i++) {\n cache.delete(entriesWithTimestamps[i].key);\n }\n}\n\n// Called whenever new features are fetched from the API\nfunction onNewFeatureData(\n key: string,\n cacheKey: string,\n data: FeatureApiResponse\n): void {\n // If contents haven't changed, ignore the update, extend the stale TTL\n const version = data.dateUpdated || \"\";\n const staleAt = new Date(Date.now() + cacheSettings.staleTTL);\n const existing = !cacheSettings.disableCache\n ? cache.get(cacheKey)\n : undefined;\n if (existing && version && existing.version === version) {\n existing.staleAt = staleAt;\n updatePersistentCache();\n return;\n }\n\n if (!cacheSettings.disableCache) {\n // Update in-memory cache\n cache.set(cacheKey, {\n data,\n version,\n staleAt,\n sse: supportsSSE.has(key),\n });\n cleanupCache();\n }\n // Update local storage (don't await this, just update asynchronously)\n updatePersistentCache();\n\n // Update features for all subscribed GrowthBook instances\n const instances = subscribedInstances.get(key);\n instances && instances.forEach((instance) => refreshInstance(instance, data));\n}\n\nasync function refreshInstance(\n instance: GrowthBook,\n data: FeatureApiResponse | null\n): Promise {\n await instance.setPayload(data || instance.getPayload());\n}\n\n// Fetch the features payload from helper function or from in-mem injected payload\nasync function fetchFeatures(instance: GrowthBook): Promise {\n const { apiHost, apiRequestHeaders } = instance.getApiHosts();\n const clientKey = instance.getClientKey();\n const remoteEval = instance.isRemoteEval();\n const key = getKey(instance);\n const cacheKey = getCacheKey(instance);\n\n let promise = activeFetches.get(cacheKey);\n if (!promise) {\n const fetcher: Promise = remoteEval\n ? helpers.fetchRemoteEvalCall({\n host: apiHost,\n clientKey,\n payload: {\n attributes: instance.getAttributes(),\n forcedVariations: instance.getForcedVariations(),\n forcedFeatures: Array.from(instance.getForcedFeatures().entries()),\n url: instance.getUrl(),\n },\n headers: apiRequestHeaders,\n })\n : helpers.fetchFeaturesCall({\n host: apiHost,\n clientKey,\n headers: apiRequestHeaders,\n });\n\n // TODO: auto-retry if status code indicates a temporary error\n promise = fetcher\n .then((res) => {\n if (!res.ok) {\n throw new Error(`HTTP error: ${res.status}`);\n }\n if (res.headers.get(\"x-sse-support\") === \"enabled\") {\n supportsSSE.add(key);\n }\n return res.json();\n })\n .then((data: FeatureApiResponse) => {\n onNewFeatureData(key, cacheKey, data);\n startAutoRefresh(instance);\n activeFetches.delete(cacheKey);\n return { data, success: true, source: \"network\" as const };\n })\n .catch((e) => {\n process.env.NODE_ENV !== \"production\" &&\n instance.log(\"Error fetching features\", {\n apiHost,\n clientKey,\n error: e ? e.message : null,\n });\n activeFetches.delete(cacheKey);\n\n return {\n data: null,\n source: \"error\" as const,\n success: false,\n error: e,\n };\n });\n activeFetches.set(cacheKey, promise);\n }\n return promise;\n}\n\n// Start SSE streaming, listens to feature payload changes and triggers a refresh or re-fetch\nexport function startAutoRefresh(\n instance: GrowthBook,\n forceSSE: boolean = false\n): void {\n const key = getKey(instance);\n const cacheKey = getCacheKey(instance);\n const { streamingHost, streamingHostRequestHeaders } = instance.getApiHosts();\n const clientKey = instance.getClientKey();\n\n if (forceSSE) {\n supportsSSE.add(key);\n }\n\n if (\n cacheSettings.backgroundSync &&\n supportsSSE.has(key) &&\n polyfills.EventSource\n ) {\n if (streams.has(key)) return;\n const channel: ScopedChannel = {\n src: null,\n host: streamingHost,\n clientKey,\n headers: streamingHostRequestHeaders,\n cb: (event: MessageEvent) => {\n try {\n if (event.type === \"features-updated\") {\n const instances = subscribedInstances.get(key);\n instances &&\n instances.forEach((instance) => {\n fetchFeatures(instance);\n });\n } else if (event.type === \"features\") {\n const json: FeatureApiResponse = JSON.parse(event.data);\n onNewFeatureData(key, cacheKey, json);\n }\n // Reset error count on success\n channel.errors = 0;\n } catch (e) {\n process.env.NODE_ENV !== \"production\" &&\n instance.log(\"SSE Error\", {\n streamingHost,\n clientKey,\n error: e ? (e as Error).message : null,\n });\n onSSEError(channel);\n }\n },\n errors: 0,\n state: \"active\",\n };\n streams.set(key, channel);\n enableChannel(channel);\n }\n}\n\nfunction onSSEError(channel: ScopedChannel) {\n if (channel.state === \"idle\") return;\n channel.errors++;\n if (channel.errors > 3 || (channel.src && channel.src.readyState === 2)) {\n // exponential backoff after 4 errors, with jitter\n const delay =\n Math.pow(3, channel.errors - 3) * (1000 + Math.random() * 1000);\n disableChannel(channel);\n setTimeout(() => {\n if ([\"idle\", \"active\"].includes(channel.state)) return;\n enableChannel(channel);\n }, Math.min(delay, 300000)); // 5 minutes max\n }\n}\n\nfunction disableChannel(channel: ScopedChannel) {\n if (!channel.src) return;\n channel.src.onopen = null;\n channel.src.onerror = null;\n channel.src.close();\n channel.src = null;\n if (channel.state === \"active\") {\n channel.state = \"disabled\";\n }\n}\n\nfunction enableChannel(channel: ScopedChannel) {\n channel.src = helpers.eventSourceCall({\n host: channel.host,\n clientKey: channel.clientKey,\n headers: channel.headers,\n }) as EventSource;\n channel.state = \"active\";\n channel.src.addEventListener(\"features\", channel.cb);\n channel.src.addEventListener(\"features-updated\", channel.cb);\n channel.src.onerror = () => onSSEError(channel);\n channel.src.onopen = () => {\n channel.errors = 0;\n };\n}\n\nfunction destroyChannel(channel: ScopedChannel, key: string) {\n disableChannel(channel);\n streams.delete(key);\n}\n\nfunction clearAutoRefresh() {\n // Clear list of which keys are auto-updated\n supportsSSE.clear();\n\n // Stop listening for any SSE events\n streams.forEach(destroyChannel);\n\n // Remove all references to GrowthBook instances\n subscribedInstances.clear();\n\n // Run the idle stream cleanup function\n helpers.stopIdleListener();\n}\n","import mutate, { DeclarativeMutation } from \"dom-mutator\";\nimport type {\n ApiHost,\n Attributes,\n AutoExperiment,\n AutoExperimentVariation,\n ClientKey,\n Context,\n Experiment,\n FeatureApiResponse,\n FeatureDefinition,\n FeatureResult,\n FeatureResultSource,\n Filter,\n LoadFeaturesOptions,\n RealtimeUsageData,\n RefreshFeaturesOptions,\n RenderFunction,\n Result,\n StickyAssignments,\n StickyAssignmentsDocument,\n StickyAttributeKey,\n StickyExperimentKey,\n SubscriptionFunction,\n TrackingCallback,\n TrackingData,\n VariationMeta,\n VariationRange,\n WidenPrimitives,\n FeatureEvalContext,\n InitOptions,\n InitResponse,\n InitSyncOptions,\n PrefetchOptions,\n} from \"./types/growthbook\";\nimport type { ConditionInterface } from \"./types/mongrule\";\nimport {\n chooseVariation,\n decrypt,\n getAutoExperimentChangeType,\n getBucketRanges,\n getQueryStringOverride,\n getUrlRegExp,\n hash,\n inNamespace,\n inRange,\n isIncluded,\n isURLTargeted,\n loadSDKVersion,\n mergeQueryStrings,\n promiseTimeout,\n toString,\n} from \"./util\";\nimport { evalCondition } from \"./mongrule\";\nimport {\n configureCache,\n refreshFeatures,\n startAutoRefresh,\n subscribe,\n unsubscribe,\n} from \"./feature-repository\";\n\nconst isBrowser =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n\nconst SDK_VERSION = loadSDKVersion();\n\nexport class GrowthBook<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AppFeatures extends Record = Record\n> {\n // context is technically private, but some tools depend on it so we can't mangle the name\n // _ctx below is a clone of this property that we use internally\n private context: Context;\n public debug: boolean;\n public ready: boolean;\n public version: string;\n\n // Properties and methods that start with \"_\" are mangled by Terser (saves ~150 bytes)\n private _ctx: Context;\n private _renderer: null | RenderFunction;\n private _redirectedUrl: string;\n private _trackedExperiments: Set;\n private _completedChangeIds: Set;\n private _trackedFeatures: Record;\n private _subscriptions: Set;\n private _rtQueue: RealtimeUsageData[];\n private _rtTimer: number;\n private _assigned: Map<\n string,\n {\n // eslint-disable-next-line\n experiment: Experiment;\n // eslint-disable-next-line\n result: Result;\n }\n >;\n // eslint-disable-next-line\n private _forcedFeatureValues: Map;\n private _attributeOverrides: Attributes;\n private _activeAutoExperiments: Map<\n AutoExperiment,\n { valueHash: string; undo: () => void }\n >;\n private _triggeredExpKeys: Set;\n private _initialized: boolean;\n private _deferredTrackingCalls: Map;\n\n private _payload: FeatureApiResponse | undefined;\n private _decryptedPayload: FeatureApiResponse | undefined;\n\n private _autoExperimentsAllowed: boolean;\n\n constructor(context?: Context) {\n context = context || {};\n // These properties are all initialized in the constructor instead of above\n // This saves ~80 bytes in the final output\n this.version = SDK_VERSION;\n this._ctx = this.context = context;\n this._renderer = context.renderer || null;\n this._trackedExperiments = new Set();\n this._completedChangeIds = new Set();\n this._trackedFeatures = {};\n this.debug = !!context.debug;\n this._subscriptions = new Set();\n this._rtQueue = [];\n this._rtTimer = 0;\n this.ready = false;\n this._assigned = new Map();\n this._forcedFeatureValues = new Map();\n this._attributeOverrides = {};\n this._activeAutoExperiments = new Map();\n this._triggeredExpKeys = new Set();\n this._initialized = false;\n this._redirectedUrl = \"\";\n this._deferredTrackingCalls = new Map();\n this._autoExperimentsAllowed = !context.disableExperimentsOnLoad;\n\n if (context.remoteEval) {\n if (context.decryptionKey) {\n throw new Error(\"Encryption is not available for remoteEval\");\n }\n if (!context.clientKey) {\n throw new Error(\"Missing clientKey\");\n }\n let isGbHost = false;\n try {\n isGbHost = !!new URL(context.apiHost || \"\").hostname.match(\n /growthbook\\.io$/i\n );\n } catch (e) {\n // ignore invalid URLs\n }\n if (isGbHost) {\n throw new Error(\"Cannot use remoteEval on GrowthBook Cloud\");\n }\n } else {\n if (context.cacheKeyAttributes) {\n throw new Error(\"cacheKeyAttributes are only used for remoteEval\");\n }\n }\n\n if (context.features) {\n this.ready = true;\n }\n\n if (isBrowser && context.enableDevMode) {\n window._growthbook = this;\n document.dispatchEvent(new Event(\"gbloaded\"));\n }\n\n if (context.experiments) {\n this.ready = true;\n this._updateAllAutoExperiments();\n }\n\n // Hydrate sticky bucket service\n if (this._ctx.stickyBucketService && this._ctx.stickyBucketAssignmentDocs) {\n for (const key in this._ctx.stickyBucketAssignmentDocs) {\n const doc = this._ctx.stickyBucketAssignmentDocs[key];\n if (doc) {\n this._ctx.stickyBucketService.saveAssignments(doc).catch(() => {\n // Ignore hydration errors\n });\n }\n }\n }\n\n // Legacy - passing in features/experiments into the constructor instead of using init\n if (this.ready) {\n this.refreshStickyBuckets(this.getPayload());\n }\n }\n\n public async setPayload(payload: FeatureApiResponse): Promise {\n this._payload = payload;\n const data = await this.decryptPayload(payload);\n this._decryptedPayload = data;\n await this.refreshStickyBuckets(data);\n if (data.features) {\n this._ctx.features = data.features;\n }\n if (data.savedGroups) {\n this._ctx.savedGroups = data.savedGroups;\n }\n if (data.experiments) {\n this._ctx.experiments = data.experiments;\n this._updateAllAutoExperiments();\n }\n this.ready = true;\n this._render();\n }\n\n public initSync(options: InitSyncOptions): GrowthBook {\n this._initialized = true;\n\n const payload = options.payload;\n\n if (payload.encryptedExperiments || payload.encryptedFeatures) {\n throw new Error(\"initSync does not support encrypted payloads\");\n }\n\n if (\n this._ctx.stickyBucketService &&\n !this._ctx.stickyBucketAssignmentDocs\n ) {\n throw new Error(\n \"initSync requires you to pass stickyBucketAssignmentDocs into the GrowthBook constructor\"\n );\n }\n\n this._payload = payload;\n this._decryptedPayload = payload;\n if (payload.features) {\n this._ctx.features = payload.features;\n }\n if (payload.experiments) {\n this._ctx.experiments = payload.experiments;\n this._updateAllAutoExperiments();\n }\n\n this.ready = true;\n\n if (options.streaming) {\n if (!this._ctx.clientKey) {\n throw new Error(\"Must specify clientKey to enable streaming\");\n }\n startAutoRefresh(this, true);\n subscribe(this);\n }\n\n return this;\n }\n\n public async init(options?: InitOptions): Promise {\n this._initialized = true;\n options = options || {};\n\n if (options.cacheSettings) {\n configureCache(options.cacheSettings);\n }\n\n if (options.payload) {\n await this.setPayload(options.payload);\n if (options.streaming) {\n if (!this._ctx.clientKey) {\n throw new Error(\"Must specify clientKey to enable streaming\");\n }\n startAutoRefresh(this, true);\n subscribe(this);\n }\n\n return {\n success: true,\n source: \"init\",\n };\n } else {\n const { data, ...res } = await this._refresh({\n ...options,\n allowStale: true,\n });\n if (options.streaming) {\n subscribe(this);\n }\n\n await this.setPayload(data || {});\n return res;\n }\n }\n\n /** @deprecated Use {@link init} */\n public async loadFeatures(options?: LoadFeaturesOptions): Promise {\n this._initialized = true;\n\n options = options || {};\n if (options.autoRefresh) {\n // interpret deprecated autoRefresh option as subscribeToChanges\n this._ctx.subscribeToChanges = true;\n }\n const { data } = await this._refresh({\n ...options,\n allowStale: true,\n });\n await this.setPayload(data || {});\n\n if (this._canSubscribe()) {\n subscribe(this);\n }\n }\n\n public async refreshFeatures(\n options?: RefreshFeaturesOptions\n ): Promise {\n const res = await this._refresh({\n ...(options || {}),\n allowStale: false,\n });\n if (res.data) {\n await this.setPayload(res.data);\n }\n }\n\n public getApiInfo(): [ApiHost, ClientKey] {\n return [this.getApiHosts().apiHost, this.getClientKey()];\n }\n public getApiHosts(): {\n apiHost: string;\n streamingHost: string;\n apiRequestHeaders?: Record;\n streamingHostRequestHeaders?: Record;\n } {\n const defaultHost = this._ctx.apiHost || \"https://cdn.growthbook.io\";\n return {\n apiHost: defaultHost.replace(/\\/*$/, \"\"),\n streamingHost: (this._ctx.streamingHost || defaultHost).replace(\n /\\/*$/,\n \"\"\n ),\n apiRequestHeaders: this._ctx.apiHostRequestHeaders,\n streamingHostRequestHeaders: this._ctx.streamingHostRequestHeaders,\n };\n }\n public getClientKey(): string {\n return this._ctx.clientKey || \"\";\n }\n public getPayload(): FeatureApiResponse {\n return (\n this._payload || {\n features: this.getFeatures(),\n experiments: this.getExperiments(),\n }\n );\n }\n public getDecryptedPayload(): FeatureApiResponse {\n return this._decryptedPayload || this.getPayload();\n }\n\n public isRemoteEval(): boolean {\n return this._ctx.remoteEval || false;\n }\n\n public getCacheKeyAttributes(): (keyof Attributes)[] | undefined {\n return this._ctx.cacheKeyAttributes;\n }\n\n private async _refresh({\n timeout,\n skipCache,\n allowStale,\n streaming,\n }: RefreshFeaturesOptions & {\n allowStale?: boolean;\n streaming?: boolean;\n }) {\n if (!this._ctx.clientKey) {\n throw new Error(\"Missing clientKey\");\n }\n // Trigger refresh in feature repository\n return refreshFeatures({\n instance: this,\n timeout,\n skipCache: skipCache || this._ctx.disableCache,\n allowStale,\n backgroundSync: streaming ?? this._ctx.backgroundSync ?? true,\n });\n }\n\n private _render() {\n if (this._renderer) {\n try {\n this._renderer();\n } catch (e) {\n console.error(\"Failed to render\", e);\n }\n }\n }\n\n /** @deprecated Use {@link setPayload} */\n public setFeatures(features: Record) {\n this._ctx.features = features;\n this.ready = true;\n this._render();\n }\n\n /** @deprecated Use {@link setPayload} */\n public async setEncryptedFeatures(\n encryptedString: string,\n decryptionKey?: string,\n subtle?: SubtleCrypto\n ): Promise {\n const featuresJSON = await decrypt(\n encryptedString,\n decryptionKey || this._ctx.decryptionKey,\n subtle\n );\n this.setFeatures(\n JSON.parse(featuresJSON) as Record\n );\n }\n\n /** @deprecated Use {@link setPayload} */\n public setExperiments(experiments: AutoExperiment[]): void {\n this._ctx.experiments = experiments;\n this.ready = true;\n this._updateAllAutoExperiments();\n }\n\n /** @deprecated Use {@link setPayload} */\n public async setEncryptedExperiments(\n encryptedString: string,\n decryptionKey?: string,\n subtle?: SubtleCrypto\n ): Promise {\n const experimentsJSON = await decrypt(\n encryptedString,\n decryptionKey || this._ctx.decryptionKey,\n subtle\n );\n this.setExperiments(JSON.parse(experimentsJSON) as AutoExperiment[]);\n }\n\n public async decryptPayload(\n data: FeatureApiResponse,\n decryptionKey?: string,\n subtle?: SubtleCrypto\n ): Promise {\n data = { ...data };\n if (data.encryptedFeatures) {\n try {\n data.features = JSON.parse(\n await decrypt(\n data.encryptedFeatures,\n decryptionKey || this._ctx.decryptionKey,\n subtle\n )\n );\n } catch (e) {\n console.error(e);\n }\n delete data.encryptedFeatures;\n }\n if (data.encryptedExperiments) {\n try {\n data.experiments = JSON.parse(\n await decrypt(\n data.encryptedExperiments,\n decryptionKey || this._ctx.decryptionKey,\n subtle\n )\n );\n } catch (e) {\n console.error(e);\n }\n delete data.encryptedExperiments;\n }\n if (data.encryptedSavedGroups) {\n try {\n data.savedGroups = JSON.parse(\n await decrypt(\n data.encryptedSavedGroups,\n decryptionKey || this._ctx.decryptionKey,\n subtle\n )\n );\n } catch (e) {\n console.error(e);\n }\n delete data.encryptedSavedGroups;\n }\n return data;\n }\n\n public async setAttributes(attributes: Attributes) {\n this._ctx.attributes = attributes;\n if (this._ctx.stickyBucketService) {\n await this.refreshStickyBuckets();\n }\n if (this._ctx.remoteEval) {\n await this._refreshForRemoteEval();\n return;\n }\n this._render();\n this._updateAllAutoExperiments();\n }\n\n public async updateAttributes(attributes: Attributes) {\n return this.setAttributes({ ...this._ctx.attributes, ...attributes });\n }\n\n public async setAttributeOverrides(overrides: Attributes) {\n this._attributeOverrides = overrides;\n if (this._ctx.stickyBucketService) {\n await this.refreshStickyBuckets();\n }\n if (this._ctx.remoteEval) {\n await this._refreshForRemoteEval();\n return;\n }\n this._render();\n this._updateAllAutoExperiments();\n }\n\n public async setForcedVariations(vars: Record) {\n this._ctx.forcedVariations = vars || {};\n if (this._ctx.remoteEval) {\n await this._refreshForRemoteEval();\n return;\n }\n this._render();\n this._updateAllAutoExperiments();\n }\n\n // eslint-disable-next-line\n public setForcedFeatures(map: Map) {\n this._forcedFeatureValues = map;\n this._render();\n }\n\n public async setURL(url: string) {\n if (url === this._ctx.url) return;\n this._ctx.url = url;\n this._redirectedUrl = \"\";\n if (this._ctx.remoteEval) {\n await this._refreshForRemoteEval();\n this._updateAllAutoExperiments(true);\n return;\n }\n this._updateAllAutoExperiments(true);\n }\n\n public getAttributes() {\n return { ...this._ctx.attributes, ...this._attributeOverrides };\n }\n\n public getForcedVariations() {\n return this._ctx.forcedVariations || {};\n }\n\n public getForcedFeatures() {\n // eslint-disable-next-line\n return this._forcedFeatureValues || new Map();\n }\n\n public getStickyBucketAssignmentDocs() {\n return this._ctx.stickyBucketAssignmentDocs || {};\n }\n\n public getUrl() {\n return this._ctx.url || \"\";\n }\n\n public getFeatures() {\n return this._ctx.features || {};\n }\n\n public getExperiments() {\n return this._ctx.experiments || [];\n }\n\n public getCompletedChangeIds(): string[] {\n return Array.from(this._completedChangeIds);\n }\n\n public subscribe(cb: SubscriptionFunction): () => void {\n this._subscriptions.add(cb);\n return () => {\n this._subscriptions.delete(cb);\n };\n }\n\n private _canSubscribe() {\n return (this._ctx.backgroundSync ?? true) && this._ctx.subscribeToChanges;\n }\n\n private async _refreshForRemoteEval() {\n if (!this._ctx.remoteEval) return;\n if (!this._initialized) return;\n const res = await this._refresh({\n allowStale: false,\n });\n if (res.data) {\n await this.setPayload(res.data);\n }\n }\n\n public getAllResults() {\n return new Map(this._assigned);\n }\n\n public destroy() {\n // Release references to save memory\n this._subscriptions.clear();\n this._assigned.clear();\n this._trackedExperiments.clear();\n this._completedChangeIds.clear();\n this._deferredTrackingCalls.clear();\n this._trackedFeatures = {};\n this._rtQueue = [];\n this._payload = undefined;\n if (this._rtTimer) {\n clearTimeout(this._rtTimer);\n }\n unsubscribe(this);\n\n if (isBrowser && window._growthbook === this) {\n delete window._growthbook;\n }\n\n // Undo any active auto experiments\n this._activeAutoExperiments.forEach((exp) => {\n exp.undo();\n });\n this._activeAutoExperiments.clear();\n this._triggeredExpKeys.clear();\n }\n\n public setRenderer(renderer: null | RenderFunction) {\n this._renderer = renderer;\n }\n\n public forceVariation(key: string, variation: number) {\n this._ctx.forcedVariations = this._ctx.forcedVariations || {};\n this._ctx.forcedVariations[key] = variation;\n if (this._ctx.remoteEval) {\n this._refreshForRemoteEval();\n return;\n }\n this._updateAllAutoExperiments();\n this._render();\n }\n\n public run(experiment: Experiment): Result {\n const { result } = this._run(experiment, null);\n this._fireSubscriptions(experiment, result);\n return result;\n }\n\n public triggerExperiment(key: string) {\n this._triggeredExpKeys.add(key);\n if (!this._ctx.experiments) return null;\n const experiments = this._ctx.experiments.filter((exp) => exp.key === key);\n return experiments\n .map((exp) => {\n return this._runAutoExperiment(exp);\n })\n .filter((res) => res !== null);\n }\n\n public triggerAutoExperiments() {\n this._autoExperimentsAllowed = true;\n this._updateAllAutoExperiments(true);\n }\n\n private _runAutoExperiment(experiment: AutoExperiment, forceRerun?: boolean) {\n const existing = this._activeAutoExperiments.get(experiment);\n\n // If this is a manual experiment and it's not already running, skip\n if (\n experiment.manual &&\n !this._triggeredExpKeys.has(experiment.key) &&\n !existing\n )\n return null;\n\n // Check if this particular experiment is blocked by context settings\n // For example, if all visualEditor experiments are disabled\n const isBlocked = this._isAutoExperimentBlockedByContext(experiment);\n if (isBlocked) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Auto experiment blocked\", { id: experiment.key });\n }\n\n let result: Result | undefined;\n let trackingCall: Promise | undefined;\n // Run the experiment (if blocked exclude)\n if (isBlocked) {\n result = this._getResult(experiment, -1, false, \"\");\n } else {\n ({ result, trackingCall } = this._run(experiment, null));\n this._fireSubscriptions(experiment, result);\n }\n\n // A hash to quickly tell if the assigned value changed\n const valueHash = JSON.stringify(result.value);\n\n // If the changes are already active, no need to re-apply them\n if (\n !forceRerun &&\n result.inExperiment &&\n existing &&\n existing.valueHash === valueHash\n ) {\n return result;\n }\n\n // Undo any existing changes\n if (existing) this._undoActiveAutoExperiment(experiment);\n\n // Apply new changes\n if (result.inExperiment) {\n const changeType = getAutoExperimentChangeType(experiment);\n\n if (\n changeType === \"redirect\" &&\n result.value.urlRedirect &&\n experiment.urlPatterns\n ) {\n const url = experiment.persistQueryString\n ? mergeQueryStrings(this._getContextUrl(), result.value.urlRedirect)\n : result.value.urlRedirect;\n\n if (isURLTargeted(url, experiment.urlPatterns)) {\n this.log(\n \"Skipping redirect because original URL matches redirect URL\",\n {\n id: experiment.key,\n }\n );\n return result;\n }\n this._redirectedUrl = url;\n const { navigate, delay } = this._getNavigateFunction();\n if (navigate) {\n if (isBrowser) {\n // Wait for the possibly-async tracking callback, bound by min and max delays\n Promise.all([\n ...(trackingCall\n ? [\n promiseTimeout(\n trackingCall,\n this._ctx.maxNavigateDelay ?? 1000\n ),\n ]\n : []),\n new Promise((resolve) =>\n window.setTimeout(resolve, this._ctx.navigateDelay ?? delay)\n ),\n ]).then(() => {\n try {\n navigate(url);\n } catch (e) {\n console.error(e);\n }\n });\n } else {\n try {\n navigate(url);\n } catch (e) {\n console.error(e);\n }\n }\n }\n } else if (changeType === \"visual\") {\n const undo = this._ctx.applyDomChangesCallback\n ? this._ctx.applyDomChangesCallback(result.value)\n : this._applyDOMChanges(result.value);\n if (undo) {\n this._activeAutoExperiments.set(experiment, {\n undo,\n valueHash,\n });\n }\n }\n }\n\n return result;\n }\n\n private _undoActiveAutoExperiment(exp: AutoExperiment) {\n const data = this._activeAutoExperiments.get(exp);\n if (data) {\n data.undo();\n this._activeAutoExperiments.delete(exp);\n }\n }\n\n private _updateAllAutoExperiments(forceRerun?: boolean) {\n if (!this._autoExperimentsAllowed) return;\n\n const experiments = this._ctx.experiments || [];\n\n // Stop any experiments that are no longer defined\n const keys = new Set(experiments);\n this._activeAutoExperiments.forEach((v, k) => {\n if (!keys.has(k)) {\n v.undo();\n this._activeAutoExperiments.delete(k);\n }\n });\n\n // Re-run all new/updated experiments\n for (const exp of experiments) {\n const result = this._runAutoExperiment(exp, forceRerun);\n\n // Once you're in a redirect experiment, break out of the loop and don't run any further experiments\n if (\n result?.inExperiment &&\n getAutoExperimentChangeType(exp) === \"redirect\"\n ) {\n break;\n }\n }\n }\n\n private _fireSubscriptions(experiment: Experiment, result: Result) {\n const key = experiment.key;\n\n // If assigned variation has changed, fire subscriptions\n const prev = this._assigned.get(key);\n // TODO: what if the experiment definition has changed?\n if (\n !prev ||\n prev.result.inExperiment !== result.inExperiment ||\n prev.result.variationId !== result.variationId\n ) {\n this._assigned.set(key, { experiment, result });\n this._subscriptions.forEach((cb) => {\n try {\n cb(experiment, result);\n } catch (e) {\n console.error(e);\n }\n });\n }\n }\n\n private _trackFeatureUsage(key: string, res: FeatureResult): void {\n // Don't track feature usage that was forced via an override\n if (res.source === \"override\") return;\n\n // Only track a feature once, unless the assigned value changed\n const stringifiedValue = JSON.stringify(res.value);\n if (this._trackedFeatures[key] === stringifiedValue) return;\n this._trackedFeatures[key] = stringifiedValue;\n\n // Fire user-supplied callback\n if (this._ctx.onFeatureUsage) {\n try {\n this._ctx.onFeatureUsage(key, res);\n } catch (e) {\n // Ignore feature usage callback errors\n }\n }\n\n // In browser environments, queue up feature usage to be tracked in batches\n if (!isBrowser || !window.fetch) return;\n this._rtQueue.push({\n key,\n on: res.on,\n });\n if (!this._rtTimer) {\n this._rtTimer = window.setTimeout(() => {\n // Reset the queue\n this._rtTimer = 0;\n const q = [...this._rtQueue];\n this._rtQueue = [];\n\n // Skip logging if a real-time usage key is not configured\n if (!this._ctx.realtimeKey) return;\n\n window\n .fetch(\n `https://rt.growthbook.io/?key=${\n this._ctx.realtimeKey\n }&events=${encodeURIComponent(JSON.stringify(q))}`,\n\n {\n cache: \"no-cache\",\n mode: \"no-cors\",\n }\n )\n .catch(() => {\n // TODO: retry in case of network errors?\n });\n }, this._ctx.realtimeInterval || 2000);\n }\n }\n\n private _getFeatureResult(\n key: string,\n value: T,\n source: FeatureResultSource,\n ruleId?: string,\n experiment?: Experiment,\n result?: Result\n ): FeatureResult {\n const ret: FeatureResult = {\n value,\n on: !!value,\n off: !value,\n source,\n ruleId: ruleId || \"\",\n };\n if (experiment) ret.experiment = experiment;\n if (result) ret.experimentResult = result;\n\n // Track the usage of this feature in real-time\n this._trackFeatureUsage(key, ret);\n\n return ret;\n }\n\n public isOn(key: K): boolean {\n return this.evalFeature(key).on;\n }\n\n public isOff(key: K): boolean {\n return this.evalFeature(key).off;\n }\n\n public getFeatureValue<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string\n >(key: K, defaultValue: V): WidenPrimitives {\n const value = this.evalFeature, K>(key).value;\n return value === null ? (defaultValue as WidenPrimitives) : value;\n }\n\n /**\n * @deprecated Use {@link evalFeature}\n * @param id\n */\n // eslint-disable-next-line\n public feature<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string\n >(id: K): FeatureResult {\n return this.evalFeature(id);\n }\n\n public evalFeature<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string\n >(id: K): FeatureResult {\n return this._evalFeature(id);\n }\n\n private _evalFeature<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string\n >(id: K, evalCtx?: FeatureEvalContext): FeatureResult {\n evalCtx = evalCtx || { evaluatedFeatures: new Set() };\n\n if (evalCtx.evaluatedFeatures.has(id)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\n `evalFeature: circular dependency detected: ${evalCtx.id} -> ${id}`,\n { from: evalCtx.id, to: id }\n );\n return this._getFeatureResult(id, null, \"cyclicPrerequisite\");\n }\n evalCtx.evaluatedFeatures.add(id);\n evalCtx.id = id;\n\n // Global override\n if (this._forcedFeatureValues.has(id)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Global override\", {\n id,\n value: this._forcedFeatureValues.get(id),\n });\n return this._getFeatureResult(\n id,\n this._forcedFeatureValues.get(id),\n \"override\"\n );\n }\n\n // Unknown feature id\n if (!this._ctx.features || !this._ctx.features[id]) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Unknown feature\", { id });\n return this._getFeatureResult(id, null, \"unknownFeature\");\n }\n\n // Get the feature\n const feature: FeatureDefinition = this._ctx.features[id];\n\n // Loop through the rules\n if (feature.rules) {\n rules: for (const rule of feature.rules) {\n // If there are prerequisite flag(s), evaluate them\n if (rule.parentConditions) {\n for (const parentCondition of rule.parentConditions) {\n const parentResult = this._evalFeature(parentCondition.id, evalCtx);\n // break out for cyclic prerequisites\n if (parentResult.source === \"cyclicPrerequisite\") {\n return this._getFeatureResult(id, null, \"cyclicPrerequisite\");\n }\n\n const evalObj = { value: parentResult.value };\n const evaled = evalCondition(\n evalObj,\n parentCondition.condition || {}\n );\n if (!evaled) {\n // blocking prerequisite eval failed: feature evaluation fails\n if (parentCondition.gate) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Feature blocked by prerequisite\", { id, rule });\n return this._getFeatureResult(id, null, \"prerequisite\");\n }\n // non-blocking prerequisite eval failed: break out of parentConditions loop, jump to the next rule\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip rule because prerequisite evaluation fails\", {\n id,\n rule,\n });\n continue rules;\n }\n }\n }\n\n // If there are filters for who is included (e.g. namespaces)\n if (rule.filters && this._isFilteredOut(rule.filters)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip rule because of filters\", {\n id,\n rule,\n });\n continue;\n }\n\n // Feature value is being forced\n if (\"force\" in rule) {\n // If it's a conditional rule, skip if the condition doesn't pass\n if (rule.condition && !this._conditionPasses(rule.condition)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip rule because of condition ff\", {\n id,\n rule,\n });\n continue;\n }\n\n // If this is a percentage rollout, skip if not included\n if (\n !this._isIncludedInRollout(\n rule.seed || id,\n rule.hashAttribute,\n this._ctx.stickyBucketService && !rule.disableStickyBucketing\n ? rule.fallbackAttribute\n : undefined,\n rule.range,\n rule.coverage,\n rule.hashVersion\n )\n ) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip rule because user not included in rollout\", {\n id,\n rule,\n });\n continue;\n }\n\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Force value from rule\", {\n id,\n rule,\n });\n\n // If this was a remotely evaluated experiment, fire the tracking callbacks\n if (rule.tracks) {\n rule.tracks.forEach((t) => {\n this._track(t.experiment, t.result);\n });\n }\n\n return this._getFeatureResult(id, rule.force as V, \"force\", rule.id);\n }\n if (!rule.variations) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip invalid rule\", {\n id,\n rule,\n });\n\n continue;\n }\n\n // For experiment rules, run an experiment\n const exp: Experiment = {\n variations: rule.variations as [V, V, ...V[]],\n key: rule.key || id,\n };\n if (\"coverage\" in rule) exp.coverage = rule.coverage;\n if (rule.weights) exp.weights = rule.weights;\n if (rule.hashAttribute) exp.hashAttribute = rule.hashAttribute;\n if (rule.fallbackAttribute)\n exp.fallbackAttribute = rule.fallbackAttribute;\n if (rule.disableStickyBucketing)\n exp.disableStickyBucketing = rule.disableStickyBucketing;\n if (rule.bucketVersion !== undefined)\n exp.bucketVersion = rule.bucketVersion;\n if (rule.minBucketVersion !== undefined)\n exp.minBucketVersion = rule.minBucketVersion;\n if (rule.namespace) exp.namespace = rule.namespace;\n if (rule.meta) exp.meta = rule.meta;\n if (rule.ranges) exp.ranges = rule.ranges;\n if (rule.name) exp.name = rule.name;\n if (rule.phase) exp.phase = rule.phase;\n if (rule.seed) exp.seed = rule.seed;\n if (rule.hashVersion) exp.hashVersion = rule.hashVersion;\n if (rule.filters) exp.filters = rule.filters;\n if (rule.condition) exp.condition = rule.condition;\n\n // Only return a value if the user is part of the experiment\n const { result } = this._run(exp, id);\n this._fireSubscriptions(exp, result);\n if (result.inExperiment && !result.passthrough) {\n return this._getFeatureResult(\n id,\n result.value,\n \"experiment\",\n rule.id,\n exp,\n result\n );\n }\n }\n }\n\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Use default value\", {\n id,\n value: feature.defaultValue,\n });\n\n // Fall back to using the default value\n return this._getFeatureResult(\n id,\n feature.defaultValue === undefined ? null : feature.defaultValue,\n \"defaultValue\"\n );\n }\n\n private _isIncludedInRollout(\n seed: string,\n hashAttribute: string | undefined,\n fallbackAttribute: string | undefined,\n range: VariationRange | undefined,\n coverage: number | undefined,\n hashVersion: number | undefined\n ): boolean {\n if (!range && coverage === undefined) return true;\n\n if (!range && coverage === 0) return false;\n\n const { hashValue } = this._getHashAttribute(\n hashAttribute,\n fallbackAttribute\n );\n if (!hashValue) {\n return false;\n }\n\n const n = hash(seed, hashValue, hashVersion || 1);\n if (n === null) return false;\n\n return range\n ? inRange(n, range)\n : coverage !== undefined\n ? n <= coverage\n : true;\n }\n\n private _conditionPasses(condition: ConditionInterface): boolean {\n return evalCondition(\n this.getAttributes(),\n condition,\n this._ctx.savedGroups || {}\n );\n }\n\n private _isFilteredOut(filters: Filter[]): boolean {\n return filters.some((filter) => {\n const { hashValue } = this._getHashAttribute(filter.attribute);\n if (!hashValue) return true;\n const n = hash(filter.seed, hashValue, filter.hashVersion || 2);\n if (n === null) return true;\n return !filter.ranges.some((r) => inRange(n, r));\n });\n }\n\n private _run(\n experiment: Experiment,\n featureId: string | null\n ): {\n result: Result;\n trackingCall?: Promise;\n } {\n const key = experiment.key;\n const numVariations = experiment.variations.length;\n\n // 1. If experiment has less than 2 variations, return immediately\n if (numVariations < 2) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Invalid experiment\", { id: key });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 2. If the context is disabled, return immediately\n if (this._ctx.enabled === false) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Context disabled\", { id: key });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 2.5. Merge in experiment overrides from the context\n experiment = this._mergeOverrides(experiment);\n\n // 2.6 New, more powerful URL targeting\n if (\n experiment.urlPatterns &&\n !isURLTargeted(this._getContextUrl(), experiment.urlPatterns)\n ) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of url targeting\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 3. If a variation is forced from a querystring, return the forced variation\n const qsOverride = getQueryStringOverride(\n key,\n this._getContextUrl(),\n numVariations\n );\n if (qsOverride !== null) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Force via querystring\", {\n id: key,\n variation: qsOverride,\n });\n return {\n result: this._getResult(experiment, qsOverride, false, featureId),\n };\n }\n\n // 4. If a variation is forced in the context, return the forced variation\n if (this._ctx.forcedVariations && key in this._ctx.forcedVariations) {\n const variation = this._ctx.forcedVariations[key];\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Force via dev tools\", {\n id: key,\n variation,\n });\n return {\n result: this._getResult(experiment, variation, false, featureId),\n };\n }\n\n // 5. Exclude if a draft experiment or not active\n if (experiment.status === \"draft\" || experiment.active === false) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because inactive\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 6. Get the hash attribute and return if empty\n const { hashAttribute, hashValue } = this._getHashAttribute(\n experiment.hashAttribute,\n this._ctx.stickyBucketService && !experiment.disableStickyBucketing\n ? experiment.fallbackAttribute\n : undefined\n );\n if (!hashValue) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because missing hashAttribute\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n let assigned = -1;\n\n let foundStickyBucket = false;\n let stickyBucketVersionIsBlocked = false;\n if (this._ctx.stickyBucketService && !experiment.disableStickyBucketing) {\n const { variation, versionIsBlocked } = this._getStickyBucketVariation({\n expKey: experiment.key,\n expBucketVersion: experiment.bucketVersion,\n expHashAttribute: experiment.hashAttribute,\n expFallbackAttribute: experiment.fallbackAttribute,\n expMinBucketVersion: experiment.minBucketVersion,\n expMeta: experiment.meta,\n });\n foundStickyBucket = variation >= 0;\n assigned = variation;\n stickyBucketVersionIsBlocked = !!versionIsBlocked;\n }\n\n // Some checks are not needed if we already have a sticky bucket\n if (!foundStickyBucket) {\n // 7. Exclude if user is filtered out (used to be called \"namespace\")\n if (experiment.filters) {\n if (this._isFilteredOut(experiment.filters)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of filters\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n } else if (\n experiment.namespace &&\n !inNamespace(hashValue, experiment.namespace)\n ) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of namespace\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 7.5. Exclude if experiment.include returns false or throws\n if (experiment.include && !isIncluded(experiment.include)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of include function\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 8. Exclude if condition is false\n if (\n experiment.condition &&\n !this._conditionPasses(experiment.condition)\n ) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of condition exp\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 8.05. Exclude if prerequisites are not met\n if (experiment.parentConditions) {\n for (const parentCondition of experiment.parentConditions) {\n const parentResult = this._evalFeature(parentCondition.id);\n // break out for cyclic prerequisites\n if (parentResult.source === \"cyclicPrerequisite\") {\n return {\n result: this._getResult(experiment, -1, false, featureId),\n };\n }\n\n const evalObj = { value: parentResult.value };\n if (!evalCondition(evalObj, parentCondition.condition || {})) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because prerequisite evaluation fails\", {\n id: key,\n });\n return {\n result: this._getResult(experiment, -1, false, featureId),\n };\n }\n }\n }\n\n // 8.1. Exclude if user is not in a required group\n if (\n experiment.groups &&\n !this._hasGroupOverlap(experiment.groups as string[])\n ) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of groups\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n }\n\n // 8.2. Old style URL targeting\n if (experiment.url && !this._urlIsValid(experiment.url as RegExp)) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of url\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 9. Get the variation from the sticky bucket or get bucket ranges and choose variation\n const n = hash(\n experiment.seed || key,\n hashValue,\n experiment.hashVersion || 1\n );\n if (n === null) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of invalid hash version\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n if (!foundStickyBucket) {\n const ranges =\n experiment.ranges ||\n getBucketRanges(\n numVariations,\n experiment.coverage === undefined ? 1 : experiment.coverage,\n experiment.weights\n );\n assigned = chooseVariation(n, ranges);\n }\n\n // 9.5 Unenroll if any prior sticky buckets are blocked by version\n if (stickyBucketVersionIsBlocked) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because sticky bucket version is blocked\", {\n id: key,\n });\n return {\n result: this._getResult(\n experiment,\n -1,\n false,\n featureId,\n undefined,\n true\n ),\n };\n }\n\n // 10. Return if not in experiment\n if (assigned < 0) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because of coverage\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 11. Experiment has a forced variation\n if (\"force\" in experiment) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Force variation\", {\n id: key,\n variation: experiment.force,\n });\n return {\n result: this._getResult(\n experiment,\n experiment.force === undefined ? -1 : experiment.force,\n false,\n featureId\n ),\n };\n }\n\n // 12. Exclude if in QA mode\n if (this._ctx.qaMode) {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because QA mode\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 12.5. Exclude if experiment is stopped\n if (experiment.status === \"stopped\") {\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"Skip because stopped\", {\n id: key,\n });\n return { result: this._getResult(experiment, -1, false, featureId) };\n }\n\n // 13. Build the result object\n const result = this._getResult(\n experiment,\n assigned,\n true,\n featureId,\n n,\n foundStickyBucket\n );\n\n // 13.5. Persist sticky bucket\n if (this._ctx.stickyBucketService && !experiment.disableStickyBucketing) {\n const {\n changed,\n key: attrKey,\n doc,\n } = this._generateStickyBucketAssignmentDoc(\n hashAttribute,\n toString(hashValue),\n {\n [this._getStickyBucketExperimentKey(\n experiment.key,\n experiment.bucketVersion\n )]: result.key,\n }\n );\n if (changed) {\n // update local docs\n this._ctx.stickyBucketAssignmentDocs =\n this._ctx.stickyBucketAssignmentDocs || {};\n this._ctx.stickyBucketAssignmentDocs[attrKey] = doc;\n // save doc\n this._ctx.stickyBucketService.saveAssignments(doc);\n }\n }\n\n // 14. Fire the tracking callback\n // Store the promise in case we're awaiting it (ex: browser url redirects)\n const trackingCall = this._track(experiment, result);\n\n // 14.1 Keep track of completed changeIds\n \"changeId\" in experiment &&\n experiment.changeId &&\n this._completedChangeIds.add(experiment.changeId as string);\n\n // 15. Return the result\n process.env.NODE_ENV !== \"production\" &&\n this.log(\"In experiment\", {\n id: key,\n variation: result.variationId,\n });\n return { result, trackingCall };\n }\n\n log(msg: string, ctx: Record) {\n if (!this.debug) return;\n if (this._ctx.log) this._ctx.log(msg, ctx);\n else console.log(msg, ctx);\n }\n\n public getDeferredTrackingCalls(): TrackingData[] {\n return Array.from(this._deferredTrackingCalls.values());\n }\n\n public setDeferredTrackingCalls(calls: TrackingData[]) {\n this._deferredTrackingCalls = new Map(\n calls\n .filter((c) => c && c.experiment && c.result)\n .map((c) => {\n return [this._getTrackKey(c.experiment, c.result), c];\n })\n );\n }\n\n public async fireDeferredTrackingCalls() {\n if (!this._ctx.trackingCallback) return;\n\n const promises: ReturnType[] = [];\n this._deferredTrackingCalls.forEach((call: TrackingData) => {\n if (!call || !call.experiment || !call.result) {\n console.error(\"Invalid deferred tracking call\", { call: call });\n } else {\n promises.push(this._track(call.experiment, call.result));\n }\n });\n this._deferredTrackingCalls.clear();\n await Promise.all(promises);\n }\n\n public setTrackingCallback(callback: TrackingCallback) {\n this._ctx.trackingCallback = callback;\n this.fireDeferredTrackingCalls();\n }\n\n private _getTrackKey(\n experiment: Experiment,\n result: Result\n ) {\n return (\n result.hashAttribute +\n result.hashValue +\n experiment.key +\n result.variationId\n );\n }\n\n private async _track(experiment: Experiment, result: Result) {\n const k = this._getTrackKey(experiment, result);\n\n if (!this._ctx.trackingCallback) {\n // Add to deferred tracking if it hasn't already been added\n if (!this._deferredTrackingCalls.has(k)) {\n this._deferredTrackingCalls.set(k, { experiment, result });\n }\n return;\n }\n\n // Make sure a tracking callback is only fired once per unique experiment\n if (this._trackedExperiments.has(k)) return;\n this._trackedExperiments.add(k);\n\n try {\n await this._ctx.trackingCallback(experiment, result);\n } catch (e) {\n console.error(e);\n }\n }\n\n private _mergeOverrides(experiment: Experiment): Experiment {\n const key = experiment.key;\n const o = this._ctx.overrides;\n if (o && o[key]) {\n experiment = Object.assign({}, experiment, o[key]);\n if (typeof experiment.url === \"string\") {\n experiment.url = getUrlRegExp(\n // eslint-disable-next-line\n experiment.url as any\n );\n }\n }\n\n return experiment;\n }\n\n private _getHashAttribute(attr?: string, fallback?: string) {\n let hashAttribute = attr || \"id\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let hashValue: any = \"\";\n\n if (this._attributeOverrides[hashAttribute]) {\n hashValue = this._attributeOverrides[hashAttribute];\n } else if (this._ctx.attributes) {\n hashValue = this._ctx.attributes[hashAttribute] || \"\";\n } else if (this._ctx.user) {\n hashValue = this._ctx.user[hashAttribute] || \"\";\n }\n\n // if no match, try fallback\n if (!hashValue && fallback) {\n if (this._attributeOverrides[fallback]) {\n hashValue = this._attributeOverrides[fallback];\n } else if (this._ctx.attributes) {\n hashValue = this._ctx.attributes[fallback] || \"\";\n } else if (this._ctx.user) {\n hashValue = this._ctx.user[fallback] || \"\";\n }\n if (hashValue) {\n hashAttribute = fallback;\n }\n }\n\n return { hashAttribute, hashValue };\n }\n\n private _getResult(\n experiment: Experiment,\n variationIndex: number,\n hashUsed: boolean,\n featureId: string | null,\n bucket?: number,\n stickyBucketUsed?: boolean\n ): Result {\n let inExperiment = true;\n // If assigned variation is not valid, use the baseline and mark the user as not in the experiment\n if (variationIndex < 0 || variationIndex >= experiment.variations.length) {\n variationIndex = 0;\n inExperiment = false;\n }\n\n const { hashAttribute, hashValue } = this._getHashAttribute(\n experiment.hashAttribute,\n this._ctx.stickyBucketService && !experiment.disableStickyBucketing\n ? experiment.fallbackAttribute\n : undefined\n );\n\n const meta: Partial = experiment.meta\n ? experiment.meta[variationIndex]\n : {};\n\n const res: Result = {\n key: meta.key || \"\" + variationIndex,\n featureId,\n inExperiment,\n hashUsed,\n variationId: variationIndex,\n value: experiment.variations[variationIndex],\n hashAttribute,\n hashValue,\n stickyBucketUsed: !!stickyBucketUsed,\n };\n\n if (meta.name) res.name = meta.name;\n if (bucket !== undefined) res.bucket = bucket;\n if (meta.passthrough) res.passthrough = meta.passthrough;\n\n return res;\n }\n\n private _getContextUrl() {\n return this._ctx.url || (isBrowser ? window.location.href : \"\");\n }\n\n private _urlIsValid(urlRegex: RegExp): boolean {\n const url = this._getContextUrl();\n if (!url) return false;\n\n const pathOnly = url.replace(/^https?:\\/\\//, \"\").replace(/^[^/]*\\//, \"/\");\n\n if (urlRegex.test(url)) return true;\n if (urlRegex.test(pathOnly)) return true;\n return false;\n }\n\n private _hasGroupOverlap(expGroups: string[]): boolean {\n const groups = this._ctx.groups || {};\n for (let i = 0; i < expGroups.length; i++) {\n if (groups[expGroups[i]]) return true;\n }\n return false;\n }\n\n private _isAutoExperimentBlockedByContext(\n experiment: AutoExperiment\n ): boolean {\n const changeType = getAutoExperimentChangeType(experiment);\n if (changeType === \"visual\") {\n if (this._ctx.disableVisualExperiments) return true;\n\n if (this._ctx.disableJsInjection) {\n if (experiment.variations.some((v) => v.js)) {\n return true;\n }\n }\n } else if (changeType === \"redirect\") {\n if (this._ctx.disableUrlRedirectExperiments) return true;\n\n // Validate URLs\n try {\n const current = new URL(this._getContextUrl());\n for (const v of experiment.variations) {\n if (!v || !v.urlRedirect) continue;\n const url = new URL(v.urlRedirect);\n\n // If we're blocking cross origin redirects, block if the protocol or host is different\n if (this._ctx.disableCrossOriginUrlRedirectExperiments) {\n if (url.protocol !== current.protocol) return true;\n if (url.host !== current.host) return true;\n }\n }\n } catch (e) {\n // Problem parsing one of the URLs\n this.log(\"Error parsing current or redirect URL\", {\n id: experiment.key,\n error: e,\n });\n return true;\n }\n } else {\n // Block any unknown changeTypes\n return true;\n }\n\n if (\n experiment.changeId &&\n (this._ctx.blockedChangeIds || []).includes(experiment.changeId)\n ) {\n return true;\n }\n\n return false;\n }\n\n public getRedirectUrl(): string {\n return this._redirectedUrl;\n }\n\n private _getNavigateFunction(): {\n navigate: null | ((url: string) => void | Promise);\n delay: number;\n } {\n if (this._ctx.navigate) {\n return {\n navigate: this._ctx.navigate,\n delay: 0,\n };\n } else if (isBrowser) {\n return {\n navigate: (url: string) => {\n window.location.replace(url);\n },\n delay: 100,\n };\n }\n return {\n navigate: null,\n delay: 0,\n };\n }\n\n private _applyDOMChanges(changes: AutoExperimentVariation) {\n if (!isBrowser) return;\n const undo: (() => void)[] = [];\n if (changes.css) {\n const s = document.createElement(\"style\");\n s.innerHTML = changes.css;\n document.head.appendChild(s);\n undo.push(() => s.remove());\n }\n if (changes.js) {\n const script = document.createElement(\"script\");\n script.innerHTML = changes.js;\n if (this._ctx.jsInjectionNonce) {\n script.nonce = this._ctx.jsInjectionNonce;\n }\n document.head.appendChild(script);\n undo.push(() => script.remove());\n }\n if (changes.domMutations) {\n changes.domMutations.forEach((mutation) => {\n undo.push(mutate.declarative(mutation as DeclarativeMutation).revert);\n });\n }\n return () => {\n undo.forEach((fn) => fn());\n };\n }\n\n private _deriveStickyBucketIdentifierAttributes(data?: FeatureApiResponse) {\n const attributes = new Set();\n const features = data && data.features ? data.features : this.getFeatures();\n const experiments =\n data && data.experiments ? data.experiments : this.getExperiments();\n Object.keys(features).forEach((id) => {\n const feature = features[id];\n if (feature.rules) {\n for (const rule of feature.rules) {\n if (rule.variations) {\n attributes.add(rule.hashAttribute || \"id\");\n if (rule.fallbackAttribute) {\n attributes.add(rule.fallbackAttribute);\n }\n }\n }\n }\n });\n experiments.map((experiment) => {\n attributes.add(experiment.hashAttribute || \"id\");\n if (experiment.fallbackAttribute) {\n attributes.add(experiment.fallbackAttribute);\n }\n });\n return Array.from(attributes);\n }\n\n public async refreshStickyBuckets(data?: FeatureApiResponse) {\n if (this._ctx.stickyBucketService) {\n const attributes = this._getStickyBucketAttributes(data);\n this._ctx.stickyBucketAssignmentDocs = await this._ctx.stickyBucketService.getAllAssignments(\n attributes\n );\n }\n }\n\n private _getStickyBucketAssignments(\n expHashAttribute: string,\n expFallbackAttribute?: string\n ): StickyAssignments {\n if (!this._ctx.stickyBucketAssignmentDocs) return {};\n const { hashAttribute, hashValue } = this._getHashAttribute(\n expHashAttribute\n );\n const hashKey = `${hashAttribute}||${toString(hashValue)}`;\n\n const {\n hashAttribute: fallbackAttribute,\n hashValue: fallbackValue,\n } = this._getHashAttribute(expFallbackAttribute);\n const fallbackKey = fallbackValue\n ? `${fallbackAttribute}||${toString(fallbackValue)}`\n : null;\n\n const assignments: StickyAssignments = {};\n if (fallbackKey && this._ctx.stickyBucketAssignmentDocs[fallbackKey]) {\n Object.assign(\n assignments,\n this._ctx.stickyBucketAssignmentDocs[fallbackKey].assignments || {}\n );\n }\n if (this._ctx.stickyBucketAssignmentDocs[hashKey]) {\n Object.assign(\n assignments,\n this._ctx.stickyBucketAssignmentDocs[hashKey].assignments || {}\n );\n }\n return assignments;\n }\n\n private _getStickyBucketVariation({\n expKey,\n expBucketVersion,\n expHashAttribute,\n expFallbackAttribute,\n expMinBucketVersion,\n expMeta,\n }: {\n expKey: string;\n expBucketVersion?: number;\n expHashAttribute?: string;\n expFallbackAttribute?: string;\n expMinBucketVersion?: number;\n expMeta?: VariationMeta[];\n }): {\n variation: number;\n versionIsBlocked?: boolean;\n } {\n expBucketVersion = expBucketVersion || 0;\n expMinBucketVersion = expMinBucketVersion || 0;\n expHashAttribute = expHashAttribute || \"id\";\n expMeta = expMeta || [];\n const id = this._getStickyBucketExperimentKey(expKey, expBucketVersion);\n const assignments = this._getStickyBucketAssignments(\n expHashAttribute,\n expFallbackAttribute\n );\n\n // users with any blocked bucket version (0 to minExperimentBucketVersion) are excluded from the test\n if (expMinBucketVersion > 0) {\n for (let i = 0; i <= expMinBucketVersion; i++) {\n const blockedKey = this._getStickyBucketExperimentKey(expKey, i);\n if (assignments[blockedKey] !== undefined) {\n return {\n variation: -1,\n versionIsBlocked: true,\n };\n }\n }\n }\n const variationKey = assignments[id];\n if (variationKey === undefined)\n // no assignment found\n return { variation: -1 };\n const variation = expMeta.findIndex((m) => m.key === variationKey);\n if (variation < 0)\n // invalid assignment, treat as \"no assignment found\"\n return { variation: -1 };\n\n return { variation };\n }\n\n private _getStickyBucketExperimentKey(\n experimentKey: string,\n experimentBucketVersion?: number\n ): StickyExperimentKey {\n experimentBucketVersion = experimentBucketVersion || 0;\n return `${experimentKey}__${experimentBucketVersion}`;\n }\n\n private _getStickyBucketAttributes(\n data?: FeatureApiResponse\n ): Record {\n const attributes: Record = {};\n this._ctx.stickyBucketIdentifierAttributes = this._deriveStickyBucketIdentifierAttributes(\n data\n );\n this._ctx.stickyBucketIdentifierAttributes.forEach((attr) => {\n const { hashValue } = this._getHashAttribute(attr);\n attributes[attr] = toString(hashValue);\n });\n return attributes;\n }\n\n private _generateStickyBucketAssignmentDoc(\n attributeName: string,\n attributeValue: string,\n assignments: StickyAssignments\n ): {\n key: StickyAttributeKey;\n doc: StickyAssignmentsDocument;\n changed: boolean;\n } {\n const key = `${attributeName}||${attributeValue}`;\n const existingAssignments =\n this._ctx.stickyBucketAssignmentDocs &&\n this._ctx.stickyBucketAssignmentDocs[key]\n ? this._ctx.stickyBucketAssignmentDocs[key].assignments || {}\n : {};\n const newAssignments = { ...existingAssignments, ...assignments };\n const changed =\n JSON.stringify(existingAssignments) !== JSON.stringify(newAssignments);\n\n return {\n key,\n doc: {\n attributeName,\n attributeValue,\n assignments: newAssignments,\n },\n changed,\n };\n }\n}\n\nexport async function prefetchPayload(options: PrefetchOptions) {\n // Create a temporary instance, just to fetch the payload\n const instance = new GrowthBook(options);\n\n await refreshFeatures({\n instance,\n skipCache: options.skipCache,\n allowStale: false,\n backgroundSync: options.streaming,\n });\n\n instance.destroy();\n}\n","import { GrowthBook } from '@growthbook/growthbook';\nimport { appAnalytics } from 'analytics';\nimport { ExperimentStarted } from 'analytics/AllEvents';\n\nconst clientKey = process.env.REACT_APP_GROWTHBOOK_CLIENT_KEY;\n\nif (!clientKey) {\n console.warn(\n 'GrowthBook client key is missing. Check your environment variables.',\n );\n}\n\nexport const growthbook = new GrowthBook({\n apiHost: 'https://cdn.growthbook.io',\n clientKey: clientKey,\n enableDevMode: true,\n trackingCallback: (experiment: any, result: any) => {\n appAnalytics.trackEvent(new ExperimentStarted(experiment.key, result.key));\n },\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"styles_modal__UeFxS\",\"image\":\"styles_image__DchYG\",\"contentWrapper\":\"styles_contentWrapper__oSbI8\",\"discountBackground\":\"styles_discountBackground__obUOT\",\"title\":\"styles_title__VuavU\",\"description\":\"styles_description__3JzOx\"};","import React, { useEffect } from 'react';\nimport Modal from 'components/modal/Modal';\nimport { ViewSkipBasicUpsellPopup } from 'analytics/AllEvents';\nimport { appAnalytics } from 'analytics';\nimport { useTranslation } from 'react-i18next';\nimport WorkbookOfferImage from 'assets/onboarding/workbook_offer.png';\nimport styles from './styles.module.scss';\n\ntype Props = {\n discountPercent?: number;\n handleContinueClick: () => void;\n};\n\nexport const DiscountPopup = ({\n discountPercent,\n handleContinueClick,\n}: Props) => {\n const { t } = useTranslation();\n\n useEffect(() => {\n appAnalytics.trackEvent(new ViewSkipBasicUpsellPopup());\n }, []);\n\n return (\n \n \n
\n
\n Your success is
our #1 priority\n
\n
\n Gran your Premium workbook now for {discountPercent}% off, a\n special offer just for you!\n
\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Csd5h\",\"cardContainer\":\"styles_cardContainer__CXgIg\",\"label\":\"styles_label__XLbY3\",\"particles\":\"styles_particles__3phPE\",\"giftCard\":\"styles_giftCard__KOB2W\",\"totalWrapper\":\"styles_totalWrapper__i139A\",\"priceWrapper\":\"styles_priceWrapper__an9Jy\",\"total\":\"styles_total__I2i7y\",\"discount\":\"styles_discount__eR8JE\",\"oldPrice\":\"styles_oldPrice__MuhAd\",\"newPrice\":\"styles_newPrice__6oqm0\",\"accent\":\"styles_accent__ssnxZ\",\"description\":\"styles_description__WCHZP\",\"stickyContainer\":\"styles_stickyContainer__G6d4N\",\"greenButton\":\"styles_greenButton__tTn7w\",\"grayButton\":\"styles_grayButton__yYIAn\",\"button\":\"styles_button__+V5WW\",\"note\":\"styles_note__f3v7N\"};","import React, { useState } from 'react';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport Spacer from 'components/spacer/Spacer';\nimport { EbookOfferBox } from 'subscription/workbook/components/ebookoffer/EbookOfferBox';\nimport { useAddonsLogic } from 'subscription/workbook/Addons.hook';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport { DiscountPopup } from 'subscription/workbook/components/discountPopup/DiscountPopup';\nimport { useAppDispatch } from 'bootstrap/hooks';\nimport { pushWithSearchQuery } from 'utils';\nimport { PlanSelectType } from 'subscription/singleproduct/components/plansection/PlanSection.constants';\nimport {\n convertToProduct,\n getAddonsPlansConfig,\n getWorkbookProductCode,\n getWorkbookWithDiscountProductCode,\n} from 'bootstrap/data/product/Product.utils';\nimport { withDefaultProduct } from 'subscription/withDefaultProduct/withDefaultProduct';\nimport { ServerProduct } from 'bootstrap/data/product/Product.types';\nimport BgImage from 'assets/bg_particles_yellow.png';\nimport styles from './styles.module.scss';\n\nconst DISCOUNT_STEP_ONE = 50;\nconst DISCOUNT_STEP_TWO = 75;\n\nexport const BasicUpsellFlow: React.FC = withDefaultProduct(() => {\n const dispatch = useAppDispatch();\n\n const [isDiscountApplied, setDiscountApplied] = useState(false);\n const [isDiscountPopupShown, setDiscountPopupShown] = useState(false);\n\n const workbookProductCode = getWorkbookProductCode();\n const workbookWithDiscountProductCode = getWorkbookWithDiscountProductCode();\n\n const { isLoading, error, planType, setError, onAddonBuyClickHandler } =\n useAddonsLogic({\n isDiscountApplied: isDiscountApplied,\n planCode: isDiscountApplied\n ? workbookWithDiscountProductCode\n : workbookProductCode,\n });\n\n const addonsPlans = getAddonsPlansConfig();\n\n const workbookProduct: ServerProduct =\n // @ts-ignore\n addonsPlans?.items?.[workbookProductCode];\n const convertedWorkbookProduct = convertToProduct(workbookProduct);\n\n const workbookWithDiscountProduct: ServerProduct =\n // @ts-ignore\n addonsPlans?.items?.[workbookWithDiscountProductCode];\n const convertedWorkbookWithDiscountProduct = convertToProduct(\n workbookWithDiscountProduct,\n );\n\n return (\n <>\n setError('')}\n />\n\n {isDiscountPopupShown && (\n {\n setDiscountApplied(true);\n setDiscountPopupShown(false);\n }}\n />\n )}\n
\n

\n Fast-Track Your Progress
with\n Premium Workbook\n

\n {isDiscountApplied && (\n
\n \"\"\n
\n Additional 25%
discount applied!\n
\n
\n )}\n
\n \n Recommended for new users like you to help improve your sleep and\n reduce anxiety.\n \n \n With Workbook you are 29% more likely to achieve better results in\n first 3 weeks.\n \n
\n \n \n
\n

Total today

\n
\n

\n {`-${isDiscountApplied ? DISCOUNT_STEP_TWO : DISCOUNT_STEP_ONE}%`}\n

\n

\n {convertedWorkbookProduct.getPriceWithoutDiscount(\n DISCOUNT_STEP_ONE,\n )}\n

\n

\n {isDiscountApplied\n ? convertedWorkbookWithDiscountProduct.getFormattedPrice()\n : convertedWorkbookProduct.getFormattedPrice()}\n

\n
\n
\n \n {\n if (\n isDiscountApplied &&\n (planType === PlanSelectType.MONTH ||\n planType === PlanSelectType.WEEK)\n ) {\n dispatch(pushWithSearchQuery('/quarter-upsell'));\n } else {\n setDiscountPopupShown(true);\n }\n }}\n >\n Skip\n \n \n \n
\n On click, your account will be charged immediately for the add-on\n services or the products selected.\n
\n
\n \n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"graphsContainer\":\"styles_graphsContainer__0InpI\",\"graph\":\"styles_graph__dEom7\",\"small\":\"styles_small__5jnmr\",\"trialGraph\":\"styles_trialGraph__oLnFk\",\"percent\":\"styles_percent__SOuYQ\",\"skipTrialGraph\":\"styles_skipTrialGraph__Czof9\",\"caption\":\"styles_caption__ipvCL\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Product } from 'bootstrap/data/product/Product';\nimport styles from './styles.module.scss';\n\ntype Props = {\n upsellProduct?: Product;\n boughtProduct?: Product;\n};\n\nexport const GraphsContainer = ({ upsellProduct, boughtProduct }: Props) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
\n \n {boughtProduct?.getTreeMonthsFormattedPrice()}\n \n
\n \n {upsellProduct?.getTerm(t, true)?.toLowerCase()} with your plan now\n \n
\n\n
\n
\n \n {upsellProduct?.getFormattedPrice()}\n \n
\n \n {upsellProduct?.getTerm(t, true)?.toLowerCase()} with limited offer\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"styles_modal__eod4i\",\"contentWrapper\":\"styles_contentWrapper__6QNkB\",\"discountBackground\":\"styles_discountBackground__p1nbw\",\"offer\":\"styles_offer__9fX+H\",\"title\":\"styles_title__Qi+gM\",\"description\":\"styles_description__kHYZm\",\"accent\":\"styles_accent__VsejI\"};","import React, { useEffect } from 'react';\nimport Modal from 'components/modal/Modal';\nimport { ReactComponent as Discount } from 'assets/discount.svg';\nimport { ViewSkipWeekMonthUpsellPopup } from 'analytics/AllEvents';\nimport { appAnalytics } from 'analytics';\nimport { Product } from 'bootstrap/data/product/Product';\nimport styles from './styles.module.scss';\n\ntype Props = {\n discount: number;\n product?: Product;\n handleContinueClick: () => void;\n};\n\nexport const DiscountPopup = ({\n product,\n discount,\n handleContinueClick,\n}: Props) => {\n useEffect(() => {\n appAnalytics.trackEvent(new ViewSkipWeekMonthUpsellPopup());\n }, []);\n\n return (\n \n
\n
\n \n
\n
\n
Are you sure?
\n

\n Building lasting habits takes time, but with our{' '}\n {product?.getTerm()} plan, you’ll have the ongoing support you need\n to create real, positive change. As a thank-you for committing to\n your wellness, we’ll take an{' '}\n extra {discount}% off your total.{' '}\n

\n
\n \n
\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__U9Z0d\",\"image\":\"styles_image__qbSEr\",\"content\":\"styles_content__ht9n3\",\"title\":\"styles_title__U3rtb\",\"accent\":\"styles_accent__h1vXG\",\"description\":\"styles_description__mcb++\",\"cardContainer\":\"styles_cardContainer__ipv-t\",\"label\":\"styles_label__Xntux\",\"particles\":\"styles_particles__OzC+k\",\"time\":\"styles_time__DX+Kr\",\"giftCard\":\"styles_giftCard__yLTV9\",\"totalWrapper\":\"styles_totalWrapper__qyoRO\",\"priceWrapper\":\"styles_priceWrapper__7QLO9\",\"total\":\"styles_total__nv9tN\",\"discount\":\"styles_discount__sYZix\",\"oldPrice\":\"styles_oldPrice__gzFgs\",\"newPrice\":\"styles_newPrice__gCelV\",\"buttonsContainer\":\"styles_buttonsContainer__peYEe\",\"button\":\"styles_button__oLjGl\",\"secondary\":\"styles_secondary__tKSzd\",\"stickyContainer\":\"styles_stickyContainer__OnqnW\",\"greenButton\":\"styles_greenButton__l8JhQ\",\"grayButton\":\"styles_grayButton__dmRtL\",\"note\":\"styles_note__XfzhF\",\"planContent\":\"styles_planContent__2XV9S\",\"field\":\"styles_field__iS9+j\",\"red\":\"styles_red__4GXop\",\"normal\":\"styles_normal__YMPLy\"};","import React, { useEffect, useMemo, useState } from 'react';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport Spacer from 'components/spacer/Spacer';\nimport Divider from 'components/divider/Divider';\nimport { GraphsContainer } from 'subscription/upsell/graphsContainer/GraphsContainer';\nimport { DiscountPopup } from 'subscription/upsell/discount/DiscountPopup';\nimport { useAppDispatch, useAppSelector } from 'bootstrap/hooks';\nimport { PlanSelectType } from 'subscription/singleproduct/components/plansection/PlanSection.constants';\nimport {\n getMonthUpsellStepOneProductCode,\n getMonthUpsellStepTwoProductCode,\n getWeekUpsellStepOneProductCode,\n getWeekUpsellStepTwoProductCode,\n} from 'bootstrap/data/product/Product.utils';\nimport { withDefaultProduct } from 'subscription/withDefaultProduct/withDefaultProduct';\nimport { useTranslation } from 'react-i18next';\nimport { formatPrice, pushWithSearchQuery } from 'utils';\nimport { changeSubscriptionPlan } from 'bootstrap/user/actions';\nimport { getErrorMessage } from 'bootstrap/net/commonnet';\nimport { ErrorPopup } from 'components/errorpopup/ErrorPopup';\nimport BgImage from 'assets/bg_particles_yellow.png';\nimport { appAnalytics } from 'analytics';\nimport { ScreenOpened } from 'analytics/AllEvents';\nimport { useLocation } from 'react-router-dom';\nimport { SubscriptionSwitchSuccess } from 'cancelsubscription/analytics';\nimport styles from './styles.module.scss';\n\nconst DISCOUNT = 25;\n\nexport const MonthWeekUpsellFlow: React.FC = withDefaultProduct(() => {\n const { t } = useTranslation();\n\n const dispatch = useAppDispatch();\n const location = useLocation();\n\n const { products } = useAppSelector((state) => state.product);\n const { planType, boughtProduct } = useAppSelector((state) => state.user);\n\n const [isDiscountPopupShown, setIsDiscountPopupShown] =\n useState(false);\n\n const [isLoading, setLoading] = useState(false);\n const [isDiscountApplied, setDiscountApplied] = useState(false);\n const [error, setError] = useState('');\n\n useEffect(() => {\n appAnalytics.trackEvent(\n new ScreenOpened(`${location.pathname}`, { planType }),\n );\n }, []);\n\n const productCode = useMemo(() => {\n if (isDiscountApplied) {\n return planType === PlanSelectType.MONTH\n ? getMonthUpsellStepTwoProductCode()\n : getWeekUpsellStepTwoProductCode();\n }\n return planType === PlanSelectType.MONTH\n ? getMonthUpsellStepOneProductCode()\n : getWeekUpsellStepOneProductCode();\n }, [isDiscountApplied]);\n\n const product = useMemo(() => products.get(productCode), [productCode]);\n\n // @ts-ignore\n const convertedBoughtProduct = products.get(boughtProduct?.code);\n\n const totalSavingsAmount =\n (convertedBoughtProduct?.amount || 0) * 3 -\n (product?.amount || 0) -\n (convertedBoughtProduct?.setupFee || 0);\n\n const totalSavings = formatPrice(totalSavingsAmount, product?.currency);\n\n return (\n <>\n setError('')}\n />\n {isDiscountPopupShown && (\n {\n setDiscountApplied(true);\n setIsDiscountPopupShown(false);\n }}\n />\n )}\n
\n
\n
\n Boost Your Wellness Journey{' '}\n
with a {product?.getTerm(t, true)} Plan!\n
\n {isDiscountApplied && (\n
\n \"\"\n
\n Additional {DISCOUNT}%
discount applied!\n
\n
\n )}\n
\n Most Loóna users continue using the app after reaching their goal of\n improving their sleep and reducing anxiety with personalized\n guidance and support\n
\n

\n You can upgrade to maintain your mental wellness and save money,\n with our {product?.getTerm(t, true)} subscription\n

\n
\n\n \n\n
\n
Price breakdown:
\n \n\n
\n
\n {product?.getTerm(t, true)?.toLowerCase()} with your plan\n
\n \n {convertedBoughtProduct?.getTreeMonthsFormattedPrice('USD')}\n \n
\n\n
\n
Discount for today
\n {totalSavings}\n
\n
\n
Credit from previous payment
\n {convertedBoughtProduct?.getFormattedInvoicePrice()}\n
\n \n
\n
Total Today:
\n {product?.getFormattedPrice()}\n
\n
\n \n
\n {\n setIsDiscountPopupShown(false);\n setLoading(true);\n\n dispatch(changeSubscriptionPlan(productCode))\n .then(() => {\n appAnalytics.trackEvent(\n new SubscriptionSwitchSuccess(productCode),\n );\n dispatch(pushWithSearchQuery('/done'));\n setLoading(false);\n })\n .catch((error) => {\n setError(getErrorMessage(error));\n setLoading(false);\n });\n }}\n />\n\n {\n if (isDiscountApplied) {\n dispatch(pushWithSearchQuery('/done'));\n } else {\n setIsDiscountPopupShown(true);\n }\n }}\n >\n Continue with current plan\n \n
\n
\n \n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"styles_container__Blc98\",\"image\":\"styles_image__JfxZA\",\"content\":\"styles_content__h3z9E\",\"title\":\"styles_title__B+oTu\",\"description\":\"styles_description__1gYBZ\",\"totalWrapper\":\"styles_totalWrapper__nXBOe\",\"priceWrapper\":\"styles_priceWrapper__zCxtC\",\"total\":\"styles_total__FmdRg\",\"discount\":\"styles_discount__GTLyP\",\"oldPrice\":\"styles_oldPrice__QAeP9\",\"newPrice\":\"styles_newPrice__yM4YR\",\"stickyContainer\":\"styles_stickyContainer__3r-R0\",\"greenButton\":\"styles_greenButton__Iukax\",\"grayButton\":\"styles_grayButton__-Acic\",\"button\":\"styles_button__Aw-7t\",\"note\":\"styles_note__f1iHL\"};","import React from 'react';\n// import { useTranslation } from 'react-i18next';\nimport RelaxionLabels from 'assets/relaxion_labels.png';\nimport { StickyContainer } from 'components/stickycontainer/StickyContainer';\nimport { LoadingButton } from 'components/loadingbutton/LoadingButton';\nimport Spacer from 'components/spacer/Spacer';\nimport { useAddonsLogic } from 'subscription/workbook/Addons.hook';\nimport {\n convertToProduct,\n getAddonsPlansConfig,\n getWebAudioProductCode,\n} from 'bootstrap/data/product/Product.utils';\nimport { withDefaultProduct } from 'subscription/withDefaultProduct/withDefaultProduct';\nimport styles from './styles.module.scss';\n\nconst DISCOUNT = 50;\n\nexport const QuarterUpsell: React.FC = withDefaultProduct(() => {\n const webAudioProductCode = getWebAudioProductCode();\n const addonsPlans = getAddonsPlansConfig();\n\n // @ts-ignore\n const webAudioProduct = addonsPlans?.items?.[webAudioProductCode];\n const convertedProduct = convertToProduct(webAudioProduct);\n\n const { isLoading, onSkipClickHandler, onAddonBuyClickHandler } =\n useAddonsLogic({ planCode: webAudioProductCode });\n\n return (\n
\n
\n
\n Unlock deep relaxation off-screen audio bundle\n
\n
\n Recommended for new users like you to achieve better results. Curated\n collection of audio meditations, along with calming Green and Pink\n noise options.\n
\n
\n \n \n
\n

Total today

\n
\n

\n -{DISCOUNT}%\n

\n

\n {convertedProduct.getPriceWithoutDiscount(DISCOUNT)}\n

\n

\n {convertedProduct.getFormattedPrice()}\n

\n
\n
\n \n \n \n \n
\n On click, your account will be charged immediately for the add-on\n services or the products selected.\n
\n
\n );\n});\n","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport { initOptimize } from './analytics/GoogleAnalytics';\nimport { Onboarding } from './onboarding/Onboarding';\nimport { QuickPurchase } from './quickpurchase/QuickPurchase';\nimport SignIn from './signin/SignIn';\nimport { PresalePage } from './subscription/presale/PresalePage';\nimport { Subscription } from './subscription/Subscription';\nimport { Congrats } from './success/congrats/Congrats';\nimport { InvitePurchase } from './invitepurchase/InvitePurchase';\nimport { GiftCards } from './giftcards/GiftCards';\nimport { Redeem } from 'redeem/Redeem';\nimport { Amplitude } from './analytics/Amplitude';\nimport RouterPrompt from './components/routerprompt/RouterPrompt';\nimport Install from './install/Install';\nimport Welcome from 'welcome/Welcome';\nimport { Preplan } from 'subscription/prepaln/Preplan';\nimport { Workbook } from 'subscription/workbook/Workbook';\nimport { SubscriptionCancel } from 'cancelsubscription/SubscriptionCancel';\nimport { GrowthBookProvider } from '@growthbook/growthbook-react';\nimport { growthbook } from 'onboarding/helpers/growthbook';\nimport { BasicUpsellFlow } from 'subscription/upsell/basicUpsellFlow/UpsellFlow';\nimport { MonthWeekUpsellFlow } from 'subscription/upsell/monthWeekUpsellFlow/UpsellFlow';\nimport { QuarterUpsell } from 'subscription/upsell/quarterUpsell/QuarterUpsell';\nimport './App.scss';\n\nconst App = () => {\n const initAmplitudeUserProperties = (): void => {\n const width = window.screen.width * window.devicePixelRatio;\n const height = window.screen.height * window.devicePixelRatio;\n\n Amplitude.setUserProperty('user_agent', window.navigator.userAgent);\n Amplitude.setUserProperty('screen_resolution', `${width}x${height}`);\n };\n\n useEffect(() => {\n initOptimize();\n initAmplitudeUserProperties();\n growthbook.init({ streaming: true });\n }, []);\n\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\nexport default App;\n","import { Reducer } from 'redux';\nimport { QuestionIds } from 'onboarding/data/constants/QuestionIds';\nimport { OnboardingActionTypes } from './actions/types';\nimport { SET_ANSWER, SET_CURRENT_QUESTION } from './actions/answer';\nimport { OnboardingState } from './state';\n\nconst INITIAL_STATE: OnboardingState = {\n answers: {\n [QuestionIds.Welcome]: undefined,\n [QuestionIds.AboutYouGuided]: undefined,\n [QuestionIds.AboutYouD1]: undefined,\n [QuestionIds.AboutYouGender]: undefined,\n [QuestionIds.AboutYouAge]: undefined,\n [QuestionIds.AboutYouRoutine]: undefined,\n [QuestionIds.AboutYouD2]: undefined,\n [QuestionIds.AboutYouKids]: undefined,\n [QuestionIds.AboutYouD3]: undefined,\n [QuestionIds.AboutYouActivity]: undefined,\n [QuestionIds.AboutYouD4]: undefined,\n [QuestionIds.AboutYouProof1]: undefined,\n [QuestionIds.RMeqQ1]: undefined,\n [QuestionIds.RMeqQ2]: undefined,\n [QuestionIds.RMeqQ3]: undefined,\n [QuestionIds.RMeqQ3V2]: undefined,\n [QuestionIds.RMeqQ4]: undefined,\n [QuestionIds.RMeqQ5]: undefined,\n [QuestionIds.RMeqQ6]: undefined,\n [QuestionIds.MeqResults]: undefined,\n [QuestionIds.GadQ1]: undefined,\n [QuestionIds.GadQ2]: undefined,\n [QuestionIds.GadQ3]: undefined,\n [QuestionIds.GadQ4]: undefined,\n [QuestionIds.GadQ5]: undefined,\n [QuestionIds.GadQ6]: undefined,\n [QuestionIds.GadQ7]: undefined,\n [QuestionIds.GadResults]: undefined,\n [QuestionIds.EduD1]: undefined,\n [QuestionIds.EduQ1]: undefined,\n [QuestionIds.EduQ1Answer]: undefined,\n [QuestionIds.EduQ2]: undefined,\n [QuestionIds.EduQ2Answer]: undefined,\n [QuestionIds.EduQ3]: undefined,\n [QuestionIds.EduQ3Answer]: undefined,\n [QuestionIds.EduQ4]: undefined,\n [QuestionIds.EduQ4Answer]: undefined,\n [QuestionIds.EduQ5]: undefined,\n [QuestionIds.EduQ5Answer]: undefined,\n [QuestionIds.IsiQ1]: undefined,\n [QuestionIds.IsiQ2]: undefined,\n [QuestionIds.IsiQ3]: undefined,\n [QuestionIds.IsiQ4]: undefined,\n [QuestionIds.IsiQ5]: undefined,\n [QuestionIds.IsiD1]: undefined,\n [QuestionIds.SleepAndActivityQ1]: undefined,\n [QuestionIds.SleepAndActivityQ2]: undefined,\n [QuestionIds.SleepAndActivityD1]: undefined,\n [QuestionIds.SleepAndActivityQ3]: undefined,\n [QuestionIds.SleepAndActivityProof1]: undefined,\n [QuestionIds.SleepAndActivityProof2]: undefined,\n [QuestionIds.SleepAndActivityCoffee]: undefined,\n [QuestionIds.SleepAndActivityDinner]: undefined,\n [QuestionIds.SleepAndActivityAfterMidnight]: undefined,\n [QuestionIds.SleepAndActivityLessThanEightHours]: undefined,\n [QuestionIds.SleepAndActivityExtraMotivation]: undefined,\n [QuestionIds.SleepAndActivityD2]: undefined,\n [QuestionIds.SleepAndActivityLoader]: undefined,\n [QuestionIds.PersonalizationD1]: undefined,\n [QuestionIds.PersonalizationColors1]: undefined,\n [QuestionIds.PersonalizationColors2]: undefined,\n [QuestionIds.PersonalizationColors3]: undefined,\n [QuestionIds.PersonalizationColors4]: undefined,\n [QuestionIds.PersonalizationProof1]: undefined,\n [QuestionIds.PersonalizationArtwork1]: undefined,\n [QuestionIds.PersonalizationArtwork2]: undefined,\n [QuestionIds.PersonalizationArtwork3]: undefined,\n [QuestionIds.PersonalizationArtwork4]: undefined,\n [QuestionIds.PersonalizationNarrative]: undefined,\n [QuestionIds.PersonalizationD3]: undefined,\n [QuestionIds.PersonalizationLoader]: undefined,\n [QuestionIds.PersonalizationLength]: undefined,\n [QuestionIds.PersonalizationFrequency]: undefined,\n [QuestionIds.PersonalizationFeelingHoping]: undefined,\n [QuestionIds.PersonalizationSounds]: undefined,\n [QuestionIds.PersonalizationFeeling]: undefined,\n [QuestionIds.IntroSignInLoader]: undefined,\n [QuestionIds.PersonalizationD2]: undefined,\n [QuestionIds.PersonalizationGoal]: undefined,\n [QuestionIds.PersonalizationPlaces]: undefined,\n [QuestionIds.BlitzArt]: undefined,\n [QuestionIds.BlitzDaydream]: undefined,\n [QuestionIds.BlitzTinnitus]: undefined,\n [QuestionIds.BlitzRead]: undefined,\n [QuestionIds.BlitzShiftWork]: undefined,\n [QuestionIds.BlitzADHD]: undefined,\n },\n currentStep: QuestionIds.RMeqQ1,\n};\n\nexport const onboardingReducer: Reducer<\n OnboardingState,\n OnboardingActionTypes\n> = (state = INITIAL_STATE, action: OnboardingActionTypes) => {\n switch (action.type) {\n case SET_ANSWER:\n return {\n ...state,\n answers: {\n ...state.answers,\n [action.payload.question]: action.payload.answer,\n },\n };\n case SET_CURRENT_QUESTION: {\n return {\n ...state,\n currentStep: action.question,\n };\n }\n\n default:\n return state;\n }\n};\n","import { Reducer } from 'redux';\nimport { Product } from '../data/product/Product';\nimport { SET_PRODUCTS } from './actions/loadProducts';\nimport { SET_PRESALE_PRODUCT } from './actions/setPresaleProduct';\nimport { ProductActionTypes } from './actions/productActions.types';\nimport { ProductState } from './state';\n\nexport const INITIAL_STATE: ProductState = {\n products: new Map(),\n presaleProductCode: undefined,\n};\n\nexport const productReducer: Reducer = (\n state = INITIAL_STATE,\n action: ProductActionTypes,\n) => {\n switch (action.type) {\n case SET_PRODUCTS: {\n return {\n ...state,\n products: action.payload.products,\n };\n }\n case SET_PRESALE_PRODUCT: {\n return {\n ...state,\n presaleProductCode: action.payload.productCode,\n };\n }\n default:\n return state;\n }\n};\n","import { Reducer } from 'redux';\nimport { SET_AUTH_TOKEN } from './actions/register';\nimport { UserActionTypes } from './actions/userActions.types';\nimport {\n SET_COUNTRY_CODE,\n SET_COUNTRY_CURRENCY,\n SET_PAYMENT_METHOD,\n SET_PLAN_CODE,\n SET_RESTRICT_MAILING,\n SET_SUBSCRIPTION_EXPIRED_DATE,\n SET_SUBSCRIPTION_STATUS,\n SET_SUBSCRIPTION_TOKEN,\n} from './actions/setUserInfo';\nimport { UserState } from './state';\nimport { SET_SUBSCRIPTION } from './actions/setSubscriptionActive';\nimport {\n SET_TRIAL_OFFER_DISCOUNT_APPLIED,\n SET_TRIAL_OFFER_SHOWN,\n} from './actions/setTrialOfferInfo';\nimport { SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED } from './actions/setPreventPaymentBack';\nimport { SET_PLAN_SELECT_TYPE } from './actions/setPlanType';\nimport { SET_BOUGHT_PRODUCT } from './actions/setProductBought';\n\nexport const INITIAL_STATE: UserState = {\n authToken: undefined,\n hasSubscription: undefined,\n oldUser: undefined,\n email: undefined,\n isRestrictMailing: undefined,\n planCode: undefined,\n countryCode: undefined,\n currency: undefined,\n isTrialOfferShown: undefined,\n isPreventBackPaymentOfferConfirmed: undefined,\n isTrialOfferDiscountApplied: undefined,\n subscriptionToken: undefined,\n subscriptonExpiredDate: undefined,\n subscriptionStatus: undefined,\n subscriptionEventStatus: undefined,\n paymentMethod: undefined,\n planType: undefined,\n boughtProduct: undefined,\n};\n\nexport const userReducer: Reducer = (\n state = INITIAL_STATE,\n action: UserActionTypes,\n) => {\n switch (action.type) {\n case SET_SUBSCRIPTION: {\n return {\n ...state,\n hasSubscription: action.payload.hasSubscription,\n oldUser: action.payload.oldUser,\n };\n }\n\n case SET_AUTH_TOKEN: {\n return {\n ...state,\n authToken: action.payload.authToken,\n email: action.payload.email,\n };\n }\n\n case SET_RESTRICT_MAILING: {\n return {\n ...state,\n isRestrictMailing: action.payload.isRestrictMailing,\n };\n }\n\n case SET_PLAN_CODE: {\n return {\n ...state,\n planCode: action.payload.planCode,\n };\n }\n\n case SET_COUNTRY_CODE: {\n return {\n ...state,\n countryCode: action.payload.countryCode,\n };\n }\n\n case SET_COUNTRY_CURRENCY: {\n return {\n ...state,\n currency: action.payload.currency,\n };\n }\n\n case SET_TRIAL_OFFER_SHOWN: {\n return {\n ...state,\n isTrialOfferShown: action.payload.isTrialOfferShown,\n };\n }\n\n case SET_TRIAL_OFFER_DISCOUNT_APPLIED: {\n return {\n ...state,\n isTrialOfferDiscountApplied: action.payload.isTrialOfferDiscountApplied,\n };\n }\n\n case SET_SUBSCRIPTION_EXPIRED_DATE: {\n return {\n ...state,\n subscriptonExpiredDate: action.payload.subscriptonExpiredDate,\n };\n }\n\n case SET_SUBSCRIPTION_TOKEN: {\n return {\n ...state,\n subscriptionToken: action.payload.subscriptionToken,\n };\n }\n\n case SET_SUBSCRIPTION_STATUS: {\n return {\n ...state,\n subscriptionStatus: action.payload.subscriptionStatus,\n subscriptionEventStatus: action.payload.subscriptionEventStatus,\n };\n }\n\n case SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED: {\n return {\n ...state,\n isPreventBackPaymentOfferConfirmed:\n action.payload.isPreventBackPaymentOfferConfirmed,\n };\n }\n\n case SET_PAYMENT_METHOD: {\n return {\n ...state,\n paymentMethod: action.payload.paymentMethod,\n };\n }\n\n case SET_PLAN_SELECT_TYPE: {\n return {\n ...state,\n planType: action.payload.planType,\n };\n }\n\n case SET_BOUGHT_PRODUCT: {\n return {\n ...state,\n boughtProduct: action.payload.boughtProduct,\n };\n }\n\n default:\n return state;\n }\n};\n","import { Reducer } from 'redux';\nimport { GiftCardTypes } from 'bootstrap/data/giftproduct/GiftCard.types';\nimport { PurchaseActionTypes } from './actions/types';\nimport { SET_EMAIL } from './actions/setEmail';\nimport { SET_GIFT_CARD_TYPE } from './actions/giftCardType';\nimport { SET_PRODUCTS } from './actions/loadProducts';\nimport { SET_QUANTITY } from './actions/setQuantity';\nimport { SAVE_LINK } from './actions/saveLink';\nimport { PurchaseGiftCardState } from './state';\n\nconst INITIAL_STATE: PurchaseGiftCardState = {\n products: undefined,\n giftCardType: GiftCardTypes.Yearly,\n email: undefined,\n link: undefined,\n quantity: 1,\n};\n\nexport const purchaseReducer: Reducer<\n PurchaseGiftCardState,\n PurchaseActionTypes\n> = (state = INITIAL_STATE, action: PurchaseActionTypes) => {\n switch (action.type) {\n case SET_PRODUCTS: {\n return {\n ...state,\n products: action.payload.products,\n };\n }\n case SET_GIFT_CARD_TYPE: {\n return {\n ...state,\n giftCardType: action.payload.type,\n };\n }\n case SET_EMAIL: {\n return {\n ...state,\n email: action.payload.email,\n };\n }\n case SAVE_LINK: {\n return {\n ...state,\n link: action.payload.link,\n };\n }\n case SET_QUANTITY: {\n return {\n ...state,\n quantity: action.payload.quantity,\n };\n }\n default: {\n return state;\n }\n }\n};\n","import { Reducer } from 'redux';\nimport { SubscriptionCancelActionTypes } from './actions/types';\nimport { SET_ANSWER, SET_CURRENT_QUESTION } from './actions/answer';\nimport { SubscriptionCancelState } from './state';\nimport { QuestionIds } from 'cancelsubscription/data/constants/QuestionsIds';\nimport { QuestionsOrder } from 'cancelsubscription/data/constants/QuestionOrder';\n\nconst INITIAL_STATE: SubscriptionCancelState = {\n answers: {\n [QuestionIds.Welcome]: undefined,\n [QuestionIds.Reason]: undefined,\n [QuestionIds.HowLikely]: undefined,\n [QuestionIds.Offer]: undefined,\n [QuestionIds.Extend]: undefined,\n [QuestionIds.FinishWinBack]: undefined,\n [QuestionIds.Loader]: undefined,\n [QuestionIds.FinishUserLost]: undefined,\n },\n currentStep: QuestionsOrder[0],\n};\n\nexport const subscriptionCancelReducer: Reducer<\n SubscriptionCancelState,\n SubscriptionCancelActionTypes\n> = (state = INITIAL_STATE, action: SubscriptionCancelActionTypes) => {\n switch (action.type) {\n case SET_ANSWER:\n return {\n ...state,\n answers: {\n ...state.answers,\n [action.payload.question]: action.payload.answer,\n },\n };\n case SET_CURRENT_QUESTION: {\n return {\n ...state,\n currentStep: action.question,\n };\n }\n\n default:\n return state;\n }\n};\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n /^127(?:\\.\\d{1,3}){3}$/.test(window.location.hostname),\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import { configureStore } from '@reduxjs/toolkit';\nimport * as Sentry from '@sentry/react';\nimport { Integrations } from '@sentry/tracing';\nimport { ConnectedRouter, routerMiddleware } from 'connected-react-router';\nimport { createBrowserHistory } from 'history';\nimport React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { Provider } from 'react-redux';\nimport {\n persistReducer,\n persistStore,\n FLUSH,\n REHYDRATE,\n PAUSE,\n PERSIST,\n PURGE,\n REGISTER,\n} from 'redux-persist';\nimport { PersistGate } from 'redux-persist/integration/react';\nimport storage from 'redux-persist/lib/storage';\nimport thunk from 'redux-thunk';\nimport { appAnalytics } from 'analytics';\nimport { activateOptimize } from './analytics/GoogleAnalytics';\nimport App from './App';\nimport {\n SET_ADDON_PRODUCTS,\n SET_PRODUCTS,\n} from './bootstrap/product/actions/loadProducts';\nimport { rootReducer } from './bootstrap/reducers';\nimport * as serviceWorker from './serviceWorker';\nimport { getQueryVariable } from './utils';\nimport './locales/i18n';\nimport { isIos } from 'utils/utils';\nimport './index.scss';\n\nconst isInAppBrowser =\n navigator.userAgent.indexOf('Instagram') !== -1 ||\n navigator.userAgent.indexOf('FBAN') !== -1 ||\n navigator.userAgent.indexOf('FBAV') !== -1;\nconst shouldRedirect = getQueryVariable('redirect') === 'true';\n\nif (\n shouldRedirect &&\n isIos(navigator.userAgent) &&\n isInAppBrowser &&\n process.env.REACT_APP_FTP_REDIRECT_URL\n) {\n const target_url = new URL(process.env.REACT_APP_FTP_REDIRECT_URL || '');\n target_url.searchParams.append('initial_url', window.location.href);\n window.location.href = target_url.href;\n}\n\nexport const history = createBrowserHistory();\n\nhistory.listen(() => {\n activateOptimize();\n});\n\nappAnalytics.initialize();\n\nSentry.init({\n dsn: 'https://9d9ac99cdfa447119f3e1a56c04b504e@o247740.ingest.sentry.io/5693954',\n environment: process.env.REACT_APP_HOST_ENV,\n release: `${process.env.REACT_APP_NAME}@${process.env.REACT_APP_VERSION}`,\n integrations: [\n new Integrations.BrowserTracing({\n routingInstrumentation: Sentry.reactRouterV5Instrumentation(history),\n }),\n ],\n ignoreErrors: [\n 'Non-Error exception captured',\n 'Non-Error promise rejection captured',\n '',\n 'TypeError: Illegal invocation',\n 'TypeError: Load failed',\n \"Can't find variable: _AutofillCallbackHandler\",\n 'TimeoutError: Transaction timed out due to inactivity.',\n 'function Error() { [native code] }',\n 'Firebase: Error (auth/network-request-failed).',\n 'FirebaseError: Firebase: Error (auth/network-request-failed).',\n 'FirebaseError: Installations: Firebase Installation is not registered.',\n 'UnknownError: Connection to Indexed Database server lost. Refresh the page to try again',\n 'AbortError: AbortError',\n 'AbortError: The transaction was aborted, so the request cannot be fulfilled.',\n 'Remote Config: Error thrown when writing to storage.',\n 'Remote Config: Error thrown when reading from storage.',\n 'Remote Config: Fetch client failed to connect to a network. Check Internet connection. Original error: Load failed.',\n 'Remote Config: Fetch client failed to connect to a network.',\n \"InvalidStateError: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.\",\n 'UnknownError: Database deleted by request of the user',\n 'QuotaExceededError',\n 'Error: O',\n 'QuotaExceededError',\n 'AbortError: AbortError',\n 'SecurityError: The operation is insecure.',\n 'Remote Config: Error thrown when opening storage.',\n \"Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.\",\n 'UnknownError: Database deleted by request of the user',\n 'UnknownError: Error creating Records table (13) - database or disk is full',\n 'QuotaExceededError',\n 'Failed to fetch',\n \"Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.\",\n 'Firebase: Error',\n 'Installations: Create Installation request failed with error',\n 'UnknownError: Error looking up record in object store by key range',\n \"Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.\",\n ],\n tracesSampleRate: 1.0,\n});\n\nconst persistConfig = {\n key: 'root',\n storage,\n};\n\nconst reducer = rootReducer(history);\nconst persistedReducer = persistReducer(persistConfig, reducer);\n\nconst store = configureStore({\n reducer: persistedReducer,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n serializableCheck: {\n ignoredActions: [\n FLUSH,\n REHYDRATE,\n PAUSE,\n PERSIST,\n PURGE,\n REGISTER,\n SET_PRODUCTS,\n SET_ADDON_PRODUCTS,\n ],\n ignoredPaths: ['product.products'],\n },\n }).concat(routerMiddleware(history), thunk),\n});\n\nconst persistor = persistStore(store);\n\nexport type AppDispatch = typeof store.dispatch;\n\nconst FallbackComponent = () =>
An error has occurred
;\n\nconst container = document.getElementById('root') as Element;\nconst root = ReactDOM.createRoot(container);\n\nroot.render(\n } showDialog>\n \n \n \n {' '}\n {/* place ConnectedRouter under Provider */}\n \n \n \n \n ,\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import { combineReducers } from 'redux';\nimport { connectRouter } from 'connected-react-router';\nimport { History } from 'history';\nimport { onboardingReducer } from './onboarding/reducer';\nimport { productReducer } from './product/reducer';\nimport { userReducer } from './user/reducer';\nimport { RootState } from './types';\nimport { purchaseReducer } from './giftpurchase/reducer';\nimport { subscriptionCancelReducer } from './subscriptioncancel/reducer';\n\nexport const rootReducer = (history: History) =>\n combineReducers({\n router: connectRouter(history),\n user: userReducer,\n onboarding: onboardingReducer,\n subscriptionCancel: subscriptionCancelReducer,\n product: productReducer,\n purchase: purchaseReducer,\n });\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { EnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type { NoInfer, ExtractDispatchExtensions } from './tsHelpers'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: readonly StoreEnhancer[]\r\n) => StoreEnhancer[]\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n * \r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /* \r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic paramter, \r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: StoreEnhancer[] | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport interface EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param config The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n let storeEnhancers: StoreEnhancer[] = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as any\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n"],"names":["module","exports","commonjsGlobal","globalThis","window","global","self","createCommonjsModule","fn","basedir","path","require","base","commonjsRequire","undefined","Error","uaParser","undefined$1","LIBVERSION","EMPTY","UNKNOWN","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","UA_MAX_LENGTH","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SONY","XIAOMI","ZEBRA","FACEBOOK","extend","regexes","extensions","mergedRegexes","i","length","concat","enumerize","arr","enums","toUpperCase","has","str1","str2","lowerize","indexOf","str","toLowerCase","majorize","version","replace","split","trim","len","substring","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","exec","this","call","test","strMapper","map","windowsVersionMap","ME","XP","Vista","RT","browser","cpu","device","engine","EDGE","os","UAParser","getResult","_ua","navigator","userAgent","_rgxmap","getBrowser","_browser","major","getCPU","_cpu","getDevice","_device","getEngine","_engine","getOS","_os","getUA","setUA","CPU","DEVICE","ENGINE","OS","$","jQuery","Zepto","parser","get","set","result","prop","ApplicationContextProviderImpl","prototype","getApplicationContext","versionName","language","getLanguage","platform","getOs","deviceModel","getDeviceModel","_a","_b","name","filter","e","join","languages","EventBridgeImpl","queue","logEvent","event","receiver","push","setEventReceiver","forEach","__assign","Object","assign","t","s","n","arguments","hasOwnProperty","apply","ID_OP_SET","ID_OP_UNSET","ID_OP_CLEAR_ALL","entries","obj","ownProps","keys","resArray","Array","IdentityStoreImpl","identity","userProperties","listeners","Set","editIdentity","actingUserProperties","actingIdentity","setUserId","userId","setDeviceId","deviceId","setUserProperties","updateUserProperties","actions","actingProperties","_i","action","properties","_c","_d","_e","key","value","_f","_g","commit","setIdentity","getIdentity","originalIdentity","isEqual","listener","addIdentityListener","add","removeIdentityListener","delete","obj1","obj2","typeA","primitive_1","isArrayA","isArray","isArrayB","sorted1","sort","sorted2","result_1","safeGlobal","AnalyticsConnector","identityStore","eventBridge","applicationContextProvider","getInstance","instanceName","defineProperty","factory","define","_typeof","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_setPrototypeOf","o","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","getPrototypeOf","CardCvvElement","_Element","subClass","superClass","create","writable","configurable","_inherits","_super","__esModule","enumerable","_defineProperty","CardMonthElement","CardNumberElement","CardYearElement","CardElement","_react","_interopRequireDefault","_propTypes","_memoizeOne","_elements","_defineProperties","target","descriptor","_objectWithoutProperties","source","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","noop","extractOptions","id","className","onChange","onBlur","onFocus","onReady","onSubmit","Element","_React$PureComponent","protoProps","staticProps","context","_this","element","options","configure","elementClassName","elements","_container","createRef","_this2","_element","on","_this2$props","_this2$props2","_this2$props3","_this2$props4","_this2$props5","attach","current","destroy","configureElement","createElement","ref","PureComponent","string","func","style","object","tabIndex","state","RecurlyElementsContext","_provider","createContext","Provider","Elements","_React$Component","recurly","el","children","Component","RecurlyContext","_useRecurly","_card","_cardNumber","_cardMonth","_cardYear","_cardCvv","_threeDSecureAction","_riskDataCollector","_useCheckoutPricing","_package","RecurlyProvider","publicKey","Recurly","_this$props","_recurly","cache","__instanceCache","JSON","stringify","fetchRecurlyInstance","hasReportedInitialization","report","ready","currency","required","arrayOf","timeout","number","fraud","shape","kount","dataCollector","bool","braintree","deviceData","litle","sessionId","RISK_STRATEGIES","RiskDataCollector","container","strategy","onError","form","_fraud","oneOf","ThreeDSecureAction","actionTokenId","_risk","Risk","_threeDSecure","ThreeDSecure","onToken","_this$props2","initialInputs","handleError","throwError","_useState","useState","_useState2","_slicedToArray","loading","setLoading","_useState3","_useState4","input","setInput","_useState5","Pricing","Checkout","_useState6","pricing","setPricing","useEffect","_input$subscriptions","subscriptions","_input$adjustments","adjustments","restInputs","checkoutPricing","_subscriptions$reduce","reduce","_ref","_ref2","subscriptionPricing","subscriptionPricings","plan","tax","_ref2$addons","addons","quantity","Subscription","_ref3","code","addon","addAddons","subscription","done","_toConsumableArray","Promise","all","addSubscriptions","then","adjustment","reprice","addAdjustments","restInputsEntries","PRICING_METHODS","exclude","permittedInputs","method","includes","acc","_input","addRestInputs","pricingState","price","_cloneDeep","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayWithHoles","_arr","_n","_s","next","err","_iterableToArrayLimit","_nonIterableRest","minLen","slice","arr2","elementsContext","useContext","_objectSpread","token","_elements$recurly","_len","args","_key","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","Hub","top","client","scope","callback","exception","originalException","syntheticException","hint","event_id","message","level","timestamp","consoleSandbox","mergedBreadcrumb","makeMain","closeSession","release","environment","user","updateSession","status","GLOBAL_OBJ","hub","setHubOnCarrier","registry","hasHubOnCarrier","carrier","__SENTRY__","Scope","tags","extras","breadcrumb","trace","transaction","processors","index","resolve","processor","logger","reject","newScope","getGlobalEventProcessors","sid","init","started","duration","errors","ignoreDuration","toJSON","session","did","attrs","ip_address","user_agent","errorCallback","activeTransaction","traceHeaders","sample","samplingContext","sampleRate","rate","Number","_startTransaction","transactionContext","customSamplingContext","parentSampled","idleTimeout","finalTimeout","onScope","heartbeatInterval","_addTracingExtensions","mongodb","mongoose","mysql","pg","_autoloadDatabaseIntegrations","addInstrumentationHandler","IdleTransactionSpanRecorder","_pushActivity","_popActivity","transactionSpanId","maxlen","span","SpanRecorder","IdleTransaction","_idleHub","_idleTimeout","DEFAULT_IDLE_TIMEOUT","_finalTimeout","DEFAULT_FINAL_TIMEOUT","_heartbeatInterval","DEFAULT_HEARTBEAT_INTERVAL","_onScope","clearActiveTransaction","setTimeout","clearTimeout","Transaction","Span","spanContext","parentSpanId","sampled","traceId","childSpan","logMessage","sampledString","data","description","endTimestamp","op","spanId","startTimestamp","parent_span_id","span_id","trace_id","start_timestamp","spanMetadata","changes","propagations","unit","contexts","spans","type","sdkProcessingMetadata","metadata","dynamicSamplingContext","transaction_info","trimEnd","user_segment","public_key","sample_rate","SpanClass","maybeOptions","nextStr","out","currentElem","_htmlElementAsString","keyAttrs","keyAttrPairs","classes","attr","instrument","instrumented","CONSOLE_LEVELS","fill","triggerHandlers","originalConsoleMethod","instrumentConsole","WINDOW","refCount","handlerForType","originalAddEventListener","proto","originalRemoveEventListener","instrumentDOM","url","xhr","xhrInfo","onreadystatechangeHandler","readyStateArgs","instrumentXHR","fetchData","handlerData","response","error","instrumentFetch","lastHref","to","instrumentHistory","_oldOnErrorHandler","column","line","msg","_oldOnUnhandledRejectionHandler","handlers","handler","getFunctionName","f","getFetchMethod","getFetchUrl","shouldShortcircuitPreviousDebounce","previous","shouldSkipDOMEvent","makeDOMEventHandler","lastCapturedEvent","debounceTimerID","isBuiltin","wat","originalConsole","wrappedLevels","makeLogger","enable","enabled","disable","crypto","getFirstException","firstException","handled","addNonEnumerableProperty","mod","markFunctionWrapped","wrapped","stack","getOwnProperties","currentTarget","newObj","serializeEventTarget","extractedProps","_dropUndefinedKeys","memoizationMap","returnValue","inputValue","parsers","sortedParsers","frames","localStack","frame","filename","function","reverse","output","sandbox","doc","States","SyncPromise","executor","onfulfilled","onrejected","isRejected","val","onfinally","cachedHandlers","nowSeconds","now","timeOrigin","platformPerformance","dateTimestampSource","Math","threshold","_browserPerformanceTimeOriginMode","isGlobalObj","safeAdd","x","y","lsw","md5cmn","a","b","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","binlMD5","olda","oldb","oldc","oldd","binl2rstr","length32","String","fromCharCode","rstr2binl","length8","charCodeAt","rstr2hex","hexTab","charAt","str2rstrUTF8","unescape","encodeURIComponent","rawMD5","rstrMD5","rawHMACMD5","hash","bkey","ipad","opad","rstrHMACMD5","md5","raw","singleMatcher","RegExp","multiMatcher","decodeComponents","components","decodeURIComponent","left","right","decode","tokens","encodedURI","replaceMap","customDecodeURIComponent","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","getEuMembers","isEuMember","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","root","Function","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","isHostObject","mapToArray","size","setToArray","transform","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","IE_PROTO","funcToString","objectToString","reIsNative","Uint8Array","splice","nativeKeys","arg","DataView","getNative","Map","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","clear","entry","ListCache","MapCache","SetCache","values","__data__","Stack","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","iteratee","baseTimes","skipIndexes","isIndex","assocIndexOf","eq","baseIsEqual","other","customizer","bitmask","isObject","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","tag","byteLength","byteOffset","buffer","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","objValue","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","isFunction","baseKeys","Ctor","isPrototype","arrLength","seen","arrValue","othIndex","getMapData","isKeyable","getValue","pop","pairs","LARGE_ARRAY_SIZE","ArrayBuffer","ctorString","isLength","baseUnary","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","stackClear","stackDelete","stackGet","stackHas","stackSet","resIndex","isBuffer","isArr","isArg","isBuff","isType","offset","baseAssignValue","copyObject","keysIn","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","initCloneArray","initCloneByTag","initCloneObject","isMap","isSet","cloneableTags","baseClone","isDeep","isFlat","isFull","isFunc","subValue","objectCreate","baseCreate","arrayPush","keysFunc","symbolsFunc","getRawTag","symToStringTag","toStringTag","baseGetTag","nativeKeysIn","isProto","arrayBuffer","Buffer","allocUnsafe","copy","cloneArrayBuffer","dataView","reFlags","regexp","lastIndex","symbol","typedArray","isNew","newValue","getSymbols","getSymbolsIn","baseGetAllKeys","getPrototype","overArg","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","types","CLONE_DEEP_FLAG","baseIsArguments","stubFalse","baseIsMap","nodeIsMap","baseIsSet","nodeIsSet","baseIsTypedArray","baseKeysIn","safeIsNaN","isNaN","areInputsEqual","newInputs","lastInputs","first","second","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","hookCallback","some","hooks","setHookCallback","hasOwnProp","isObjectEmpty","isUndefined","isNumber","isDate","res","arrLen","createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","m","_pf","isValid","_isValid","flags","parsedParts","isNowValid","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","ss","mm","h","hh","dd","w","ww","M","MM","yy","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","min","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","parseInt","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","chooseLocale","names","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","defineLocale","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","l","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","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","minute","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","direction","period","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","item","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","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","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","performance","hrtime","getNanoSeconds","nodeLoadTime","moduleLoadTime","hr","upTime","uptime","loadTime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","any","elementType","instanceOf","node","objectOf","oneOfType","exact","checkPropTypes","PropTypes","mode","QR8bitByte","MODE_8BIT_BYTE","getLength","write","put","QRBitBuffer","bufIndex","putBit","getLengthInBits","bit","Q","H","math","QRPolynomial","multiply","gexp","glog","ratio","BitByte","RSBlock","BitBuffer","util","Polynomial","QRCode","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","addData","newData","isDark","row","col","getModuleCount","make","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","beginFill","moveTo","lineTo","endFill","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","count","QRMath","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","qrCode","sameCount","darkCount","strictUriEncode","objectAssign","decodeComponent","encode","opts","keysSorter","extract","queryStart","parse","formatter","arrayFormat","accumulator","parserForArrayFormat","param","Boolean","encoderForArrayFormat","val2","parseUrl","query","vendors","raf","caf","last","_now","cp","cancelled","handle","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","aa","ba","da","ea","fa","ha","ia","document","ja","ka","la","ma","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","qa","ra","sa","oa","pa","na","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ta","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","xa","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","A","La","Ma","Na","prepareStackTrace","Oa","Pa","$$typeof","_context","_payload","_init","Qa","Ra","Sa","nodeName","Ua","_valueTracker","setValue","stopTracking","Ta","Va","checked","Wa","activeElement","body","Xa","defaultChecked","defaultValue","_wrapperState","initialChecked","Ya","initialValue","controlled","Za","$a","bb","cb","ownerDocument","db","eb","selected","defaultSelected","disabled","fb","dangerouslySetInnerHTML","gb","hb","ib","textContent","jb","kb","lb","mb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","nb","lastChild","nodeValue","ob","animationIterationCount","aspectRatio","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","pb","qb","rb","setProperty","sb","menuitem","area","br","embed","img","keygen","link","meta","track","wbr","tb","ub","is","vb","wb","srcElement","correspondingUseElement","parentNode","xb","yb","zb","Ab","Bb","stateNode","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","addEventListener","removeEventListener","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Ub","alternate","return","Vb","memoizedState","dehydrated","Wb","Yb","child","sibling","Xb","Zb","$b","unstable_scheduleCallback","ac","unstable_cancelCallback","bc","unstable_shouldYield","cc","unstable_requestPaint","B","unstable_now","dc","unstable_getCurrentPriorityLevel","ec","unstable_ImmediatePriority","fc","unstable_UserBlockingPriority","gc","unstable_NormalPriority","hc","unstable_LowPriority","ic","unstable_IdlePriority","jc","kc","nc","clz32","oc","pc","log","LN2","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","uc","wc","xc","yc","zc","eventTimes","Bc","C","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","pointerId","Sc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Uc","Vc","isDehydrated","containerInfo","Wc","Xc","dispatchEvent","Yc","Zc","$c","ad","bd","ReactCurrentBatchConfig","cd","transition","ed","fd","gd","hd","Tc","stopPropagation","jd","kd","ld","md","nd","keyCode","charCode","od","pd","qd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","vd","wd","xd","rd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","sd","td","view","detail","ud","zd","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","yd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Ad","Cd","dataTransfer","Ed","Gd","animationName","elapsedTime","pseudoElement","Hd","clipboardData","Id","Kd","Ld","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Md","Nd","Alt","Control","Meta","Shift","Od","Pd","repeat","which","Qd","Sd","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Ud","touches","targetTouches","changedTouches","Wd","Xd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Yd","Zd","$d","ae","documentMode","be","ce","de","ee","fe","ge","he","ke","color","email","password","range","search","tel","text","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","oninput","ze","detachEvent","Ae","Be","attachEvent","Ce","De","Ee","Ge","He","Ie","Je","nextSibling","Ke","contains","compareDocumentPosition","Le","HTMLIFrameElement","contentWindow","href","Me","contentEditable","Ne","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","animationend","animationiteration","animationstart","transitionend","We","Xe","Ye","animation","Ze","$e","af","bf","cf","df","ef","ff","gf","kf","lf","mf","Tb","D","nf","of","pf","qf","random","rf","bind","capture","passive","J","v","F","sf","tf","parentWindow","uf","vf","Z","ya","ab","ca","ie","char","je","unshift","wf","xf","yf","zf","Af","Bf","Cf","Df","__html","Ef","Ff","Gf","If","queueMicrotask","catch","Hf","Jf","Kf","Lf","previousSibling","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","G","Uf","Vf","Wf","Xf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Yf","Zf","$f","ag","getChildContext","bg","__reactInternalMemoizedMergedChildContext","cg","dg","eg","fg","ig","jg","kg","lg","mg","ng","og","qg","_currentValue","rg","childLanes","sg","dependencies","firstContext","lanes","tg","ug","memoizedValue","vg","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","interleaved","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","refs","Ig","Mg","isMounted","_reactInternals","enqueueSetState","Jg","Kg","Lg","enqueueReplaceState","enqueueForceUpdate","Ng","shouldComponentUpdate","isPureReactComponent","Og","updater","Pg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Qg","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","I","fh","gh","deletions","ih","pendingProps","treeContext","retryLane","jh","kh","lh","mh","memoizedProps","nh","oh","ph","_owner","_stringRef","qh","rh","sh","uh","vh","implementation","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","tagName","Gh","Hh","Ih","K","Jh","revealOrder","Kh","Lh","_workInProgressVersionPrimary","Mh","ReactCurrentDispatcher","Nh","Oh","N","Ph","Qh","Rh","Sh","O","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","baseQueue","ai","bi","ci","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","di","ei","fi","gi","hi","getSnapshot","ji","P","ki","lastEffect","stores","li","mi","ni","deps","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","readContext","useCallback","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Hi","Ii","Ti","Vi","Wi","Ji","Ki","Li","Mi","Ni","componentDidCatch","Oi","componentStack","Pi","pingCache","Qi","Ri","Si","Xi","tailMode","tail","subtreeFlags","Yi","pendingContext","Zi","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","R","$i","rendering","aj","renderingStartTime","isBackwards","bj","cj","dj","ReactCurrentOwner","ej","fj","gj","hj","ij","jj","kj","lj","baseLanes","cachePool","transitions","mj","nj","oj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","pj","qj","rj","sj","tj","uj","vj","fallback","wj","xj","yj","zj","_reactRetry","Aj","Bj","Cj","Dj","Ej","Gj","Hj","S","Ij","WeakSet","T","Jj","U","Kj","Lj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","insertBefore","_reactRootContainer","Uj","V","Vj","Wj","Xj","onCommitFiberUnmount","componentWillUnmount","Yj","Zj","ak","bk","ck","dk","display","ek","fk","gk","hk","ik","__reactInternalSnapshotBeforeUpdate","src","Uk","jk","kk","lk","mk","X","Y","nk","ok","pk","qk","rk","Infinity","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","callbackNode","expirationTimes","expiredLanes","vc","callbackPriority","hg","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","finishedWork","finishedLanes","Ok","timeoutHandle","Pk","Qk","Rk","Sk","Tk","mutableReadLanes","Ac","Mj","onCommitFiberRoot","lc","onRecoverableError","Vk","onPostCommitFiberRoot","Wk","Xk","Zk","isReactComponent","pendingChildren","$k","mutableSourceEagerHydrationData","al","pendingSuspenseBoundaries","bl","cl","dl","fl","gl","hl","Fj","Yk","jl","reportError","kl","_internalRoot","ll","ml","nl","ol","ql","pl","unmount","unstable_scheduleHydration","querySelectorAll","rl","usingClientEntryPoint","Events","sl","findFiberByHostInstance","bundleType","rendererPackageName","tl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","ul","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","loaded","standalone","isSdkLoaded","isProcessing","responseApi","FB","api","fields","checkLoginState","setStateIfMounted","authResponse","onFailure","checkLoginAfterRefresh","login","click","setState","appId","returnScopes","responseType","redirectUri","disableMobileRedirect","authType","client_id","redirect_uri","return_scopes","response_type","auth_type","isMobile","_isMounted","getElementById","sdkLoaded","setFbAsyncInit","loadSdkAsynchronously","autoLoad","getLoginStatus","xfbml","cookie","fbAsyncInit","isRedirectedFromFb","getElementsByTagName","cssClass","containerStyle","icon","textButton","typeButton","buttonStyle","rel","renderOwnButton","locals","small","medium","metro","autoConfig","debug","pageView","trackSingle","trackCustom","trackSingleCustom","grantConsent","revokeConsent","fbq","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_extends","_createClass","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","msPerFrame","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","TransitionMotion","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","styleValue","startAnimationIfNecessary","propStyles","styles","shouldStopAnimationAll","currentTime","timeDelta","currentFrameCompletion","framesToCatchUp","_mergeAndSync2","newMergedPropsStyle","newCurrentStyle","newCurrentVelocity","newLastIdealStyle","newLastIdealVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","stiffness","damping","precision","_stepper2","nextIdealX","nextIdealV","defaultState","defaultStyles","styleThatEntered","_props","defaultStyleCell","_mergeAndSync3","hydratedStyles","renderedChildren","Children","only","prev","onRemove","prevKeyIndex","nextKeyIndex","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","noWobble","gentle","wobbly","stiff","currentStyle","currentVelocity","defaultConfig","_presets","_presets2","secondPerFrame","destX","newV","newX","reusedTuple","default","transformX","transformY","QRCodeCell","title","xmlns","QRCodeSurface","_QRCode2","_ErrorCorrectLevel2","_QRCodeCell2","_QRCodeSurface2","bgColor","fgColor","qrcode","cells","tileSize","rowIndex","cell","cellIndex","qrItemWidth","qrItemHeight","memo","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","modifier","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","pretty","segment","attachKeys","sensitive","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","cloneElement","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","forwardRef","isValidElement","lazy","startTransition","unstable_act","storage","_getStorage","getItem","setItem","removeItem","storageType","testKey","hasStorage","noopStorage","_default","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","skipTempReset","stop","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","sortIndex","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","observable","ponyfill","inst","useSyncExternalStoreWithSelector","hasValue","webpackContext","req","webpackContextResolve","__webpack_require__","_createForOfIteratorHelper","allowArrayLike","it","normalCompletion","didErr","step","_e2","_superPropBase","_get","desc","_objectSpread2","arrayLikeToArray","iterableToArray","unsupportedIterableToArray","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","amdO","leafPrototypes","ns","def","definition","hmd","nmd","paths","die","isDraft","DRAFT_STATE","isDraftable","objectCtorString","DRAFTABLE","each","getArchtype","thing","type_","propOrOldValue","hasMap","hasSet","latest","copy_","base_","shallowCopy","descriptors","freeze","deep","dontMutateFrozenCollections","getPlugin","pluginKey","plugin","plugins","loadPlugin","getCurrentScope","currentScope","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","processResult","baseDraft","isReplaced","useProxies_","willFinalizeES5_","modified_","finalize","maybeFreeze","generateReplacementPatches_","NOTHING","rootScope","childValue","finalizeProperty","scope_","finalized_","draft_","generatePatches_","parentState","targetObject","rootPath","assigned_","autoFreeze_","peek","getDescriptorFromProto","markChanged","prepareCopy","createProxy","parent","proxyMap_","proxySet_","isManual_","traps","objectTraps","arrayTraps","revocable","revoke","proxy","createES5Proxy_","currentImpl","archType","hasChanges_","copyHelper","enableES5","proxyProperty","markChangesSweep","drafts","hasArrayChanges","hasObjectChanges","baseValue","baseIsDraft","markChangesRecursively","hasSymbol","hasProxies","_desc$get","currentState","deleteProperty","owner","Immer","recipe","defaultBase","produce","hasError","ip","arg1","arg2","produceWithPatches","patches","inversePatches","nextState","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","patch","applyPatchesImpl","applyPatches_","formatProdErrorMessage","$$observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","createStore","reducer","preloadedState","enhancer","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","replaceReducer","nextReducer","outerSubscribe","observer","observeState","unsubscribe","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","compose","funcs","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","MiddlewareArray","__extends","species","curryGetDefaultMiddleware","middlewareArray","isBoolean","thunkMiddleware","getDefaultMiddleware","createAction","prepareAction","actionCreator","prepared","__spreadValues","alm","defaultIntegrations","integration","integrations","integrationsByName","finalIntegrations","clientClass","_construct","Parent","Class","isNativeReflectConstruct","_wrapNativeSuper","_cache","Wrapper","SentryError","host","port","projectId","dsnFromComponents","protocol","pass","dsn","requiredComponents","validateDsn","getBaseApiEndpoint","_getIngestEndpoint","_encodedAuth","sentry_key","sentry_version","sdkInfo","sentry_client","tunnelOrOptions","dsnLike","dialogOptions","encodedOptions","InboundFilters","internalOptions","clientOptions","allowUrls","denyUrls","ignoreErrors","DEFAULT_IGNORE_ERRORS","ignoreInternal","getEventDescription","_getEventFilterUrl","eventProcess","addGlobalEventProcessor","FunctionToString","originalFunctionToString","inner","ERROR","maxSize","visit","maxProperties","memoBuilder","normalized","numAdded","unmemoize","stringifyValue","jsonSize","envelope","envelopeItems","encodeUTF8","items","append","stringifiedPayload","buffers","merged","attachment","textEncoder","dropUndefinedKeys","content_type","attachment_type","sessions","client_report","user_report","tunnel","enhanceEventWithSdkInfo","sent_at","sdk","BaseClient","recordDroppedEvent","eventId","promisedEvent","integrationIndex","installedIntegrations","env","createAttachmentEnvelopeItem","errored","exceptions","crashed","clearInterval","ticked","finalScope","breadcrumbs","extra","request","rv","processedEvent","transactionInfo","__sentry__","reason","category","ex","stackParser","extractMessage","attachStacktrace","isUnhandledRejection","addExceptionTypeValue","extractExceptionKeysForMessage","__serialized__","addExceptionMechanism","synthetic","stacktrace","captureContext","getCurrentHub","ignoreOnError","before","ignoreNextOnError","withScope","captureException","sentryWrapped","relative","Breadcrumbs","dom","fetch","history","sentry","htmlTreeAsString","_consoleBreadcrumb","_xhrBreadcrumb","status_code","_fetchBreadcrumb","_historyBreadcrumb","parsedFrom","BrowserClient","packages","breadcrumbIntegration","discarded_events","sendBeacon","createFrame","in_app","extractSafariExtensionDetails","isSafariExtension","TryCatch","XMLHttpRequest","eventTarget","setInterval","_wrapTimeFunction","original","mechanism","_wrapRAF","_wrapXHR","originalSend","xmlHttpRequestProps","wrapOptions","_wrapEventTarget","eventName","GlobalHandlers","onerror","onunhandledrejection","globalHandlerLog","installFunc","_installGlobalOnErrorHandler","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","eventFromUnknownInput","addMechanismAndCapture","_installGlobalOnUnhandledRejectionHandler","_eventFromRejectionWithPrimitive","ev0sf","colno","lineno","getHubAndOptions","LinkedErrors","Dedupe","currentEvent","eventProcessor","_isSameStacktrace","frameA","_isSameFingerprint","_getExceptionFromEvent","_getFramesFromEvent","HttpContext","referrer","Referer","headers","remove","drain","limits","statusCode","rateLimitHeader","categories","updatedRateLimits","makeRequest","makePromiseBuffer","forEachEnvelopeItem","filteredEnvelopeItems","rateLimits","recordEnvelopeLoss","send","flush","fetchImpl","cachedFetchImpl","nativeFetch","getNativeFetchImplementation","referrerPolicy","keepalive","clearCachedFetchImplementation","startSessionOnHub","startSessionTracking","createReactRouterInstrumentation","allRoutes","matchPath","matchRoutes","routes","pathname","branch","computeRootMatch","params","isExact","ErrorBoundary","errorBoundaryError","beforeCapture","react","script","injectionPoint","showReportDialog","onMount","onUnmount","onReset","resetError","React","objectKey","objectValue","baggageHeaderToObject","baggageHeader","metric","reportAllChanges","delta","prevValue","entryType","navigationEntry","getNavigationEntryFromPerformanceTiming","navigationType","rating","po","buffered","firstHiddenTime","onHidden","ctx","getBrowserPerformanceAPI","_trackCLS","sessionValue","sessionEntries","handleEntries","onCLS","_measurements","_clsEntry","_trackLCP","reportedMetricIDs","once","onLCP","_lcpEntry","_trackFID","onFID","performanceEntries","_addPerformanceNavigationTiming","_startChild","_addRequest","_addNavigationSpans","responseStartTimestamp","requestStartTimestamp","_addMeasureSpans","resourceName","_addResourceSpans","_performanceCursor","_trackNavigator","measurementName","_tagMetricInfo","eventEnd","traceFetch","traceXHR","tracingOrigins","defaultRequestInstrumentationOptions","_options","shouldCreateSpan","shouldAttachHeaders","newHeaders","newBaggageHeaders","baggage","fetchCallback","xhrCallback","markBackgroundTransactions","routingInstrumentation","customStartTransaction","startTransactionOnPageLoad","startTransactionOnLocationChange","startingUrl","_experiments","enableLongTask","BrowserTracing","DEFAULT_BROWSER_TRACING_OPTIONS","startTrackingWebVitals","lastAccessLHS","observe","instrumentRouting","shouldCreateSpanForRequest","statusType","instrumentOutgoingRequests","baggageObject","currBaggageObject","baggageHeaderToDynamicSamplingContext","traceParentData","finalContext","idleTransaction","addPerformanceEntries","__SENTRY_TRACING__","addExtensionMethods","batch","getBatch","ReactReduxContext","useReduxContext","notInitialized","refEquality","createSelectorHook","useDefaultReduxContext","selector","equalityFn","getServerState","selectedState","addNestedSub","useSelector","_excluded","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","stateProps","dispatchProps","mergedProps","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","dependsOnOwnProps","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","methodName","stateOrDispatch","createInvalidArgFactory","wrappedComponentName","mapDispatchToPropsFactory","actionCreators","boundActionCreators","mapStateToPropsFactory","defaultMergeProps","mergePropsFactory","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","nullListeners","notify","createSubscription","parentSub","handleChangeWrapper","onStateChange","trySubscribe","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","useIsomorphicLayoutEffect","shallowEqual","objA","objB","keysA","keysB","NO_SUBSCRIPTION_ARRAY","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","strictEqual","pure","wrapWithConnect","WrappedComponent","selectorFactoryOptions","ConnectFunction","reactReduxForwardedRef","propsContext","ContextToUse","contextValue","didStoreComeFromProps","didStoreComeFromContext","defaultSelectorFactory","overriddenContextValue","latestSubscriptionCallbackError","actualChildProps","actualChildPropsSelector","subscribeForReact","reactListener","renderedWrappedComponent","Connect","forwarded","hoistStatics","serverState","previousState","createStoreHook","useStore","createDispatchHook","useDefaultStore","newBatch","useDispatch","_inheritsLoose","isAbsolute","spliceOne","initializeUseSelector","initializeConnect","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","part","invariant","condition","addLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","_props$keyLength","keyLength","transitionManager","createKey","createHref","go","nextIndex","nextEntries","goBack","goForward","canGo","block","listen","MAX_SIGNED_31_BIT_INT","createEventEmitter","off","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","emitter","_proto","nextProps","oldValue","objectIs","_Component2","onUpdate","observedBits","_proto2","createNamedContext","historyContext","Router","_pendingLocation","staticContext","unlisten","RouterContext","HistoryContext","Lifecycle","prevProps","Prompt","when","cacheCount","cacheKey","pathCache","compilePath","Route","computedMatch","isEmptyChildren","basename","createURL","staticHandler","Switch","useLocation","useParams","LOCATION_CHANGE","CALL_HISTORY_METHOD","updateLocation","structure","getIn","toJS","getRouter","router","getLocation","getAction","getSearch","getHash","createMatchSelector","lastPathname","lastMatch","createSelectors","ConnectedRouter","_PureComponent","onLocationChanged","stateCompareFunction","inTimeTravelling","isTimeTravelDebuggingAllowed","noTimeTravelDebugging","_getLocation","pathnameInStore","searchInStore","hashInStore","stateInStore","_history$location","pathnameInHistory","searchInHistory","hashInHistory","stateInHistory","isEqualWith","handleLocationChange","isFirstRendering","noInitialPop","omitRouter","ConnectedRouterWithContext","connect","_onLocationChanged","injectQuery","searchQuery","currentQuery","_currentQuery$split2","fromJS","merge","initialRouterState","createConnectedRouter","plainStructure","connectRouter","createConnectRouter","_createSelectors","_action$payload","KEY_PREFIX","FLUSH","REHYDRATE","PAUSE","PERSIST","PURGE","REGISTER","autoMergeLevel1","inboundState","originalState","reducedState","newState","createPersistoid","serialize","whitelist","transforms","throttle","storageKey","keyPrefix","defaultSerialize","writeFailHandler","lastState","stagedState","keysToProcess","timeIterator","writePromise","processNextKey","endState","subState","transformer","in","onWriteFail","passWhitelistBlacklist","update","getStoredState","deserialize","defaultDeserialize","serialized","rawState","reduceRight","serial","warnIfRemoveError","getUndefinedStateErrorMessage","actionType","errorMessage","initialState","bootstrapped","persistorReducer","firstIndex","PersistGate","_getPrototypeOf2","persistor","onBeforeLift","finally","_unsubscribe","handlePersistorState","Analytics","supportedEvents","isBrowserEnv","Constants","UTF8","utftext","c1","c2","GlobalScope","Base64","_keyStr","btoa","atob","_encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_decode","localStorage","logLevels","DISABLE","WARN","INFO","logLevel","_log","_truncateValue","validateInput","expectedType","validateProperties","propsType","keyType","validatePropertyValue","invalidValueTypes","valueType","arrayCopy","elemType","validateGroupName","groupName","groupNameType","utils","logLevelName","WorkerGlobalScope","results","truncate","groupsType","transport","base64Id","expires","expirationDays","toUTCString","domain","secure","sameSite","getLastEventTime","parsedValue","strValue","baseCookie","cookieArray","trimStart","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","cookies","t1","cookieName","_areCookiesEnabled","getHost","defaultHostname","hostname","URL","topDomain","levels","cname","_domainSpecific","nameEq","Cookie","stored","setRaw","getRaw","WorkerStorage","windowLocalStorageAvailable","globalStorage","div","attrKey","addBehavior","load","getAttribute","save","XMLDocument","attributes","_storageOptionExists","localStorage$1","cookieStorage","getStorage","storageOptionExists","MetadataStorage","disableCookies","cookieDomain","writableTopDomain","disableCookieStorage","optOut","lastEventTime","identifyId","sequenceNumber","sessionStorage","saveCookie","getCookieStorageKey","cookieKey","allCookies","latestCookie","AMP_OP_CLEAR_ALL","Identify","userPropertiesOperations","_addOperation","clearAll","prepend","setOnce","unset","preInsert","postInsert","operation","Request","XDomainRequest","xdr","open","onload","responseText","ontimeout","onprogress","queryString","onreadystatechange","readyState","header","setRequestHeader","setHeaders","responseStatus","Revenue","_price","_productId","_quantity","_revenueType","_properties","setProductId","productId","setQuantity","setPrice","setRevenueType","revenueType","setEventProperties","eventProperties","_isValidRevenue","_toJSONObject","uuid","AmplitudeServerZone","getEventLogApi","serverZone","eventLogUrl","DEFAULT_OPTIONS","apiEndpoint","batchEvents","cookieExpiration","sameSiteCookie","cookieForceUpgrade","deferInitialization","deviceIdFromUrlParam","eventUploadPeriodMillis","eventUploadThreshold","forceHttps","includeFbclid","includeGclid","includeReferrer","includeUtm","userLanguage","library","logAttributionCapturedEvent","onExitPage","onNewSessionStart","versionId","savedMaxCount","saveEvents","saveParamsReferrerOncePerSession","secureCookie","sessionTimeout","trackingOptions","city","country","device_manufacturer","device_model","dma","os_name","os_version","region","version_name","unsetParamsReferrerOnNewSession","unsentKey","unsentIdentifyKey","uploadBatchSize","useDynamicConfig","serverZoneBasedApi","partnerId","ConfigManager","ingestionEndpoint","dynamicConfigUrl","getDynamicConfigApi","instance$1","AmplitudeClient","_instanceName","_unsentEvents","_unsentIdentifys","_q","_sending","_updateScheduled","_onInitCallbacks","_onNewSessionStartCallbacks","_eventId","_identifyId","_lastEventTime","_newSession","_sequenceNumber","_sessionId","_isInitialized","_connector","_userAgent","apiKey","opt_userId","opt_config","opt_callback","_parseConfig","Prototype","augmentedWindow","augmentedArray","prototypeJsFix","_refreshDynamicConfig","_storageSuffix","_storageSuffixV5","_oldCookiename","_unsentKey","_unsentIdentifyKey","_cookieName","_metadataStorage","hasOldCookie","hasNewCookie","_useOldCookie","hasCookie","_deferInitialization","_generateApiPropertiesTrackingConfig","_apiPropertiesTrackingOptions","tracking_options","_upgradeCookieData","_loadCookieData","_pendingReadStorage","_loadSavedUnsentEvents","storedDeviceId","_getInitialDeviceId","startNewSession","_unsetUTMParams","_trackParamsAndReferrer","_validateUnsentEventQueue","_saveCookieData","_sendEventsIfReady","_runNewSessionStartCallbacks","initFromStorage","runQueuedFunctions","pageHandlersAdded","prevTransport","setTransport","handleVisibilityChange","_logEvent","eventType","editor","deleteLowerLevelDomainCookies","cookieHost","hostParts","cookieHostParts","deleteDomain","configDeviceId","_getDeviceIdFromUrlParam","_getUrlParams","user_properties","event_properties","utmProperties","referrerProperties","gclidProperties","fbclidProperties","_initUtmData","_saveReferrer","_getReferrer","_saveGclid","_saveFbclid","attributionProperties","freeFormObjectKeys","parseValidateAndLoad","_apiKeySet","savedUnsentEventsString","_getFromStorage","unsentEvents","_parseSavedUnsentEventsString","_setInStorage","events","isNewSession","onInit","getSessionId","nextEventId","nextIdentifyId","nextSequenceNumber","_unsentCount","sendEvents","clearStorage","cookieData","_loadCookieDataProps","queryParams","cookieParams","rawCookie","fetchParam","queryName","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","utmData","addIfNotNull","getUtmData","_sendParamsReferrerUserProperties","identify","urlParams","gclid","fbclid","_getReferringDomain","referrerInfo","referring_domain","serializedUnsentEvents","serializedIdentifys","unsentIdentify","setDomain","_shouldDeferCall","setGroup","groupType","setOptOut","setSessionId","resetSessionId","regenerateDeviceId","sanitized","clearUserProperties","_convertProxyObjectToRealObject","identify_obj","opt_error_callback","outOfSession","_logErrorsWithCallbacks","groupIdentify","group_type","group_name","setVersionName","apiProperties","groupProperties","osName","osVersion","deviceVendor","vendor","device_id","user_id","session_id","event_type","_shouldTrackField","api_properties","sequence_number","group_properties","partner_id","_isObservePlanSet","_limitEventsQueued","logEventWithTimestamp","logEventWithGroups","_isNumber","details","logRevenueV2","revenue_obj","logRevenue","product","special","_logErrorsOnEvents","maxEventId","maxIdentifyId","queues","maxId","unsentEvent","removeEvents","_removeEvents","eventQueue","filteredEvents","numEvents","mergedEvents","_mergeEventsAndIdentifys","eventsToSend","uploadTime","upload_time","checksum","URLSearchParams","eventIndex","identifyIndex","noIdentifys","noEvents","setGlobalUserProperties","__VERSION__","setLibrary","_initializationDeferred","enableTracking","refresh","getDeviceId","getUserId","setMinTimeBetweenSessionsMillis","timeInMillis","setEventUploadThreshold","setUseDynamicConfig","setServerZone","setServerUrl","serverUrl","Amplitude","_instances","old","amplitude","newInstance","_iq","unsupportedEvents","amplitudeId","asyncGeneratorStep","gen","_next","_throw","stringToByteArray","base64","byteToCharMap_","charToByteMap_","byteToCharMapWebSafe_","charToByteMapWebSafe_","ENCODED_VALS_BASE","ENCODED_VALS","ENCODED_VALS_WEBSAFE","HAS_NATIVE_SUPPORT","encodeByteArray","webSafe","init_","byteToCharMap","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","encodeString","decodeString","bytes","c3","byteArrayToString","decodeStringToByteArray","charToByteMap","byte4","base64urlEncodeWithoutPadding","utf8Bytes","base64Encode","base64Decode","deepExtend","isValidKey","Deferred","promise","isIndexedDBAvailable","indexedDB","FirebaseError","customData","captureStackTrace","ErrorFactory","service","serviceName","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","deepEqual","aKeys","bKeys","aProp","bProp","querystring","querystringParams","arrayVal","querystringDecode","extractQuerystring","fragmentStart","createSubscribe","onNoObservers","ObserverProxy","observers","unsubscribes","observerCount","task","finalized","forEachObserver","close","nextOrObserver","methods","implementsAnyMethods","unsub","unsubscribeOne","finalError","sendOne","MAX_VALUE_MILLIS","calculateBackoffMillis","backoffCount","intervalMillis","backoffFactor","currBaseValue","randomWait","getModularInstance","_delegate","instanceFactory","multipleInstances","serviceProps","instantiationMode","onInstanceCreated","DEFAULT_ENTRY_NAME","instances","instancesDeferred","instancesOptions","onInitCallbacks","identifier","normalizedIdentifier","normalizeInstanceIdentifier","deferred","isInitialized","shouldAutoInitialize","getOrInitializeService","instanceIdentifier","isComponentEager","instanceDeferred","services","INTERNAL","_delete","isComponentSet","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","invokeOnInitCallbacks","LogLevel","ComponentContainer","providers","provider","getProvider","setComponent","addComponent","levelStringToEnum","DEBUG","VERBOSE","SILENT","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","Logger","_logLevel","_logHandler","_userLogHandler","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","IDBTransaction","objectStoreNames","objectStore","wrapFunction","IDBDatabase","IDBCursor","advance","continue","continuePrimaryKey","unwrap","storeNames","tx","transformCachableValue","DOMException","cacheDonePromiseForTransaction","constructors","instanceOfAny","IDBObjectStore","IDBIndex","IDBRequest","success","promisifyRequest","openDB","blocked","upgrade","blocking","terminated","openPromise","oldVersion","newVersion","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","getProviders","getComponent","isVersionServiceProvider","getImmediate","logString","PLATFORM_LOG_STRING","appName","_apps","_components","app","addOrOverwriteComponent","_registerComponent","_addComponent","heartbeatController","triggerHeartbeat","_removeServiceInstance","_getProvider","clearInstance","_clearComponents","ERRORS","ERROR_FACTORY","FirebaseAppImpl","_isDeleted","_name","_automaticDataCollectionEnabled","automaticDataCollectionEnabled","checkDestroyed","isDeleted","SDK_VERSION","initializeApp","rawConfig","existingApp","newApp","getApps","deleteApp","registerVersion","libraryKeyOrName","variant","libraryMismatch","versionMismatch","warning","onLog","logCallback","customLogLevel","userLogHandler","ignored","setUserLogHandler","setLogLevel","STORE_NAME","dbPromise","getDbPromise","createObjectStore","originalErrorMessage","readHeartbeatsFromIndexedDB","computeKey","writeHeartbeatsToIndexedDB","heartbeatObject","HeartbeatServiceImpl","_heartbeatsCache","_storage","HeartbeatStorageImpl","_heartbeatsCachePromise","read","platformLogger","agent","getPlatformInfoString","getUTCDateString","lastSentHeartbeatDate","heartbeats","singleDateHeartbeat","hbTimestamp","overwrite","extractHeartbeatsForHeader","heartbeatsToSend","unsentEntries","headerString","heartbeatsCache","heartbeatEntry","find","countBytes","_canUseIndexedDBPromise","runIndexedDBEnvironmentCheck","preExist","DB_CHECK_NAME","onsuccess","deleteDatabase","onupgradeneeded","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","firebase","removeApp","_DEFAULT_ENTRY_NAME","initialize","_addOrOverwriteComponent","createFirebaseNamespace","namespace","firebaseAppImpl","apps","modularAPIs","appCompat","registerComponent","componentNameWithoutCompat","serviceNamespace","appArg","serviceFxn","_getService","useAsService","createFirebaseNamespaceCore","extendNamespace","sdkVersion","firebaseNamespace","registerCoreComponents","__rest","_prodErrorMap","prodErrorMap","_DEFAULT_AUTH_ERROR_FACTORY","logClient","_logError","_fail","authOrCode","rest","createErrorInternal","_createError","_errorWithCustomMessage","auth","errorMap","fullParams","_errorFactory","_assert","assertion","debugFail","failure","debugAssert","instanceCache","_getInstance","cls","initializeAuth","getOptions","_getCurrentUrl","_isHttpOrHttps","_getCurrentScheme","_isOnline","onLine","chrome","isBrowserExtension","Delay","shortDelay","longDelay","_emulatorUrl","emulator","startsWith","FetchProvider","headersImpl","responseImpl","Headers","Response","SERVER_ERROR_MAP","DEFAULT_API_TIMEOUT_MS","_addTidIfNecessary","tenantId","_performApiRequest","customErrorMap","_performFetchWithErrorHandling","_getAdditionalHeaders","languageCode","_getFinalTarget","apiHost","fetchFn","_canInitEmulator","networkTimeout","NetworkTimeout","race","clearNetworkTimeout","json","_makeTaggedError","serverErrorCode","serverErrorMessage","authError","_performSignInRequest","serverResponse","_serverResponse","apiScheme","timer","errorParams","phoneNumber","_tokenResponse","deleteAccount","getAccountInfo","utcTimestampToDateString","utcTimestamp","forceRefresh","userInternal","getIdToken","claims","_parseToken","exp","auth_time","iat","signInProvider","authTime","secondsStringToMilliseconds","issuedAtTime","signInSecondFactor","algorithm","signature","decoded","_logoutIfInvalidated","isUserInvalidated","currentUser","signOut","ProactiveRefresh","isRunning","timerId","errorBackoff","schedule","wasError","interval","stsTokenManager","getInterval","iteration","UserMetadata","createdAt","lastLoginAt","_initializeTime","lastSignInTime","creationTime","_reloadWithoutSaving","idToken","users","coreAccount","_notifyReloadListener","newProviderData","providerUserInfo","extractProviderData","providerData","mergeProviderData","oldIsAnonymous","isAnonymous","newIsAnonymous","passwordHash","updates","localId","photoURL","photoUrl","emailVerified","_persistUserIfCurrent","_notifyListenersIfCurrent","deduped","providerId","rawId","requestStsToken","refreshToken","tokenApiHost","accessToken","access_token","expiresIn","expires_in","refresh_token","StsTokenManager","parsedToken","_tokenExpiresIn","updateTokensAndExpiration","isExpired","oldToken","expiresInSec","manager","assertStringOrUndefined","UserImpl","opt","proactiveRefresh","reloadUserInfo","reloadListener","getToken","getIdTokenResult","reload","userInfo","_copy","_assign","_clone","_start","_stop","tokensRefreshed","updateFromServerResponse","clearRefreshToken","_redirectEventId","_h","plainObjectTokenManager","fromJSON","idTokenResponse","InMemoryPersistence","_listener","inMemoryPersistence","_persistenceKeyName","PersistenceUserManager","persistence","userKey","fullUserKey","fullPersistenceKey","boundEventHandler","_onStorageEvent","_addListener","_set","blob","_fromJSON","_remove","newPersistence","getCurrentUser","removeCurrentUser","setCurrentUser","_removeListener","persistenceHierarchy","_isAvailable","availablePersistences","selectedPersistence","userToMigrate","migrationHierarchy","_shouldAllowMigration","_getBrowserName","_isIEMobile","_isFirefox","_isBlackBerry","_isWebOS","_isSafari","_isChromeIOS","_isAndroid","_isIOS","_isIOSStandalone","_isIE10","isIE","_isMobileBrowser","_getClientVersion","clientPlatform","reportedPlatform","frameworks","reportedFrameworks","AuthMiddlewareQueue","onAbort","wrappedCallback","nextUser","onAbortStack","beforeStateCallback","originalMessage","AuthImpl","heartbeatServiceProvider","emulatorConfig","operations","authStateSubscription","idTokenSubscription","beforeStateQueue","redirectUser","isProactiveRefreshEnabled","_deleted","_initializationPromise","_popupRedirectResolver","lastNotifiedUid","settings","appVerificationDisabledForTesting","clientVersion","sdkClientVersion","popupRedirectResolver","persistenceManager","_shouldInitProactively","_initialize","initializeCurrentUser","assertedPersistence","_currentUser","_updateCurrentUser","previouslyStoredUser","futureCurrentUser","needsTocheckMiddleware","authDomain","getOrInitRedirectPersistenceManager","redirectUserEventId","storedUserEventId","tryRedirectSignIn","directlySetCurrentUser","runMiddleware","_overrideRedirectResult","reloadAndSetCurrentUserOrClear","redirectResolver","_completeRedirectFn","_setRedirectUser","navigatorLanguage","_getUserLanguage","userExtern","skipBeforeStateCallbacks","notifyAuthListeners","redirectPersistenceManager","setPersistence","completed","registerStateListener","pushCallback","redirectManager","resolver","_redirectPersistence","_startProactiveRefresh","_stopProactiveRefresh","currentUid","addObserver","framework","_getFrameworks","heartbeatsHeader","_castAuth","AuthCredential","signInMethod","_auth","_idToken","updateEmailPassword","signInWithPassword","signInWithEmailLink","signInWithEmailLinkForLinking","EmailAuthCredential","_email","_password","_tenantId","returnSecureToken","oobCode","_getIdTokenResponse","_fromEmailAndPassword","_fromEmailAndCode","signInWithIdp","OAuthCredential","pendingToken","nonce","buildRequest","autoCreate","requestUri","postBody","cred","oauthToken","oauthTokenSecret","sendPhoneVerificationCode","temporaryProof","VERIFY_PHONE_NUMBER_FOR_EXISTING_ERROR_MAP_","apiRequest","PhoneAuthCredential","signInWithPhoneNumber","_makeVerificationRequest","linkWithPhoneNumber","verifyPhoneNumberForExisting","verificationId","verificationCode","sessionInfo","ActionCodeURL","actionLink","searchParams","parseMode","continueUrl","doubleDeepLink","iOSDeepLink","parseDeepLink","EmailAuthProvider","PROVIDER_ID","emailLink","actionCodeUrl","parseLink","FederatedAuthProvider","defaultLanguageCode","customParameters","customOAuthParameters","BaseOAuthProvider","scopes","FacebookAuthProvider","_fromParams","FACEBOOK_SIGN_IN_METHOD","userCredential","credentialFromTaggedObject","tokenResponse","oauthAccessToken","credential","GoogleAuthProvider","addScope","GOOGLE_SIGN_IN_METHOD","oauthIdToken","GithubAuthProvider","GITHUB_SIGN_IN_METHOD","TwitterAuthProvider","TWITTER_SIGN_IN_METHOD","signUp","UserCredentialImpl","operationType","_fromIdTokenResponse","providerIdForResponse","userCred","_updateTokensIfNecessary","authInternal","MultiFactorError","_processCredentialSavingMfaContextIfNecessary","_getReauthenticationResolver","_fromErrorAndOperation","_link","bypassAuthState","_linkToIdToken","_forOperation","_reauthenticate","parsed","sub","_signInWithCredential","startEnrollPhoneMfa","STORAGE_AVAILABLE_KEY","BrowserPersistenceClass","storageRetriever","BrowserLocalPersistence","poll","onStorageEvent","localCache","pollTimer","safariLocalStorageNotSynced","_iframeCannotSyncWebStorage","_isIframe","fallbackToPolling","detachListener","stopPolling","storedValue","triggerListeners","forAllChangedKeys","_oldValue","StorageEvent","startPolling","attachListener","browserLocalPersistence","BrowserSessionPersistence","browserSessionPersistence","_allSettled","promises","fulfilled","Receiver","handlersMap","handleEvent","messageEvent","ports","origin","eventHandler","receivers","isListeningto","_generateEventId","digits","Sender","messageChannel","onMessage","ackTimer","completionTimer","removeMessageHandler","_window","_isWorker","_getActiveServiceWorker","serviceWorker","registration","active","_getServiceWorkerController","controller","DB_NAME","DB_OBJECTSTORE_NAME","DB_DATA_KEYPATH","DBPromise","getObjectStore","isReadWrite","_deleteDatabase","toPromise","_openDatabase","keyPath","_putObject","getObject","_deleteObject","IndexedDBLocalPersistence","pendingWrites","sender","serviceWorkerReceiverAvailable","activeServiceWorker","_workerInitializationPromise","initializeServiceWorkerMessaging","numAttempts","_openDb","initializeReceiver","initializeSender","_subscribe","_origin","_poll","keyProcessed","_send","_withPendingWrite","_withRetries","notifyServiceWorker","getAllRequest","getAll","keysInResult","fbase_key","localKey","indexedDBLocalPersistence","startSignInPhoneMfa","_loadJS","charset","getScriptParentElement","_generateCallbackName","jsHelpers._generateCallbackName","RECAPTCHA_VERIFIER_TYPE","_verifyPhoneNumber","verifier","verify","recaptchaToken","phoneInfoOptions","phoneEnrollmentInfo","phoneSessionInfo","mfaEnrollmentId","multiFactorHint","multiFactorUid","mfaPendingCredential","phoneSignInInfo","phoneResponseInfo","_reset","PhoneAuthProvider","phoneOptions","applicationVerifier","_fromVerification","_fromTokenResponse","_withDefaultResolver","resolverOverride","IdpCredential","_buildIdpRequest","returnIdpCredential","_signIn","_reauth","_linkUser","AbstractPopupRedirectOperation","pendingPromise","eventManager","onExecution","registerConsumer","urlResponse","getIdpTask","unregisterAndCleanUp","unregisterConsumer","cleanUp","_POLL_WINDOW_CLOSE_TIMEOUT","PopupOperation","authWindow","pollId","currentPopupAction","execute","_openPopup","associatedEvent","_originValidation","_isIframeWebStorageSupported","isSupported","pollUserCancellation","redirectOutcomeMap","RedirectAction","readyOutcome","_getAndClearPendingRedirectStatus","_redirectUserForId","pendingRedirectKey","resolverPersistence","hasPendingRedirect","_getRedirectResult","resolverExtern","AuthEventManager","cachedEventUids","consumers","queuedRedirectEvent","hasHandledPotentialRedirect","lastProcessedEventTime","authEventConsumer","isEventForConsumer","sendToConsumer","saveEventToCache","hasEventBeenHandled","consumer","isNullRedirectEvent","isRedirectEvent","onAuthEvent","eventIdMatches","eventUid","_getProjectConfig","IP_ADDRESS_REGEX","HTTP_REGEX","authorizedDomains","matchDomain","expected","currentUrl","ceUrl","escapedDomainPattern","NETWORK_TIMEOUT","resetUnloadedGapiModules","beacon","___jsl","CP","cachedGApiLoader","_loadGapi","loadGapiIframe","gapi","iframes","getContext","cbName","js._generateCallbackName","js._loadJS","loadGapi","PING_TIMEOUT","IFRAME_ATTRIBUTES","position","tabindex","EID_FROM_APIHOST","getIframeUrl","eid","fw","_openIframe","gapiLoader._loadGapi","where","messageHandlersFilter","CROSS_ORIGIN_IFRAMES_FILTER","dontclear","iframe","clearTimerAndResolve","networkErrorTimer","restyle","setHideOnLeave","networkError","ping","BASE_POPUP_OPTIONS","resizable","statusbar","toolbar","TARGET_BLANK","FIREFOX_EMPTY_URL","AuthPopup","_open","screen","availHeight","availWidth","scrollbars","optionsString","accum","openAsNewWindowIOS","newWin","createEvent","initMouseEvent","WIDGET_PATH","EMULATOR_WIDGET_PATH","_getRedirectUrl","redirectUrl","additionalParams","setDefaultLanguage","isEmpty","getCustomParameters","getScopes","tid","paramsDict","getHandlerBase","WEB_STORAGE_SUPPORT_KEY","BrowserPopupRedirectResolver","eventManagers","originValidationPromises","initAndGetManager","register","iframeEvent","authEvent","onEvent","_validateOrigin","browserPopupRedirectResolver","MultiFactorAssertionImpl","factorId","_finalizeEnroll","_finalizeSignIn","PhoneMultiFactorAssertionImpl","finalizeEnrollPhoneMfa","phoneVerificationInfo","finalizeSignInPhoneMfa","PhoneMultiFactorGenerator","_fromCredential","AuthInterop","internalListeners","assertAuthConfigured","onIdTokenChanged","updateProactiveRefresh","authInstance","hierarchy","_updateErrorMap","_initializeWithPersistence","_initializeAuthInstance","setInstantiationMode","setInstanceCreatedCallback","_instanceIdentifier","_instance","getVersionForPlatform","PENDING_TIMEOUT_MS","PACKAGE_VERSION","INTERNAL_AUTH_VERSION","TOKEN_EXPIRATION_BUFFER","ERROR_DESCRIPTION_MAP","isServerError","getInstallationsEndpoint","extractAuthTokenInfoFromResponse","requestStatus","responseExpiresIn","getErrorFromResponse","requestName","responseJson","errorData","serverCode","serverMessage","serverStatus","getHeaders","Accept","getHeadersWithAuth","appConfig","getAuthorizationHeader","retryIfServerError","createInstallationRequest","fid","endpoint","heartbeatService","getHeartbeatsHeader","authVersion","responseValue","registeredInstallationEntry","registrationStatus","authToken","sleep","VALID_FID_PATTERN","generateFid","fidByteArray","msCrypto","getRandomValues","getKey","fidChangeCallbacks","fidChanged","callFidChangeCallbacks","channel","getBroadcastChannel","closeBroadcastChannel","broadcastFidChange","broadcastChannel","BroadcastChannel","OBJECT_STORE_NAME","updateFn","getInstallationEntry","installations","oldEntry","installationEntry","updateOrCreateInstallationEntry","entryWithPromise","triggerRegistrationIfNecessary","registrationPromise","clearTimedOutRequest","inProgressEntry","registrationTime","registerInstallation","waitUntilFidRegistration","updateInstallationRequest","generateAuthTokenRequest","getGenerateAuthTokenEndpoint","installation","completedAuthToken","refreshAuthToken","isEntryRegistered","oldAuthToken","isAuthTokenValid","tokenPromise","waitUntilAuthTokenRequest","makeAuthTokenRequestInProgressEntry","fetchAuthTokenFromServer","updateAuthTokenRequest","requestTime","updatedInstallationEntry","isAuthTokenExpired","inProgressAuthToken","installationsImpl","completeInstallationRegistration","getMissingValueError","valueName","INSTALLATIONS_NAME","publicFactory","keyName","extractAppConfig","internalFactory","installationsInternal","getId","RemoteConfigAbortSignal","RC_COMPONENT_NAME","hasErrorCode","errorCode","BOOLEAN_TRUTHY_VALUES","Value","_value","activate","remoteConfig","getLastSuccessfulFetchResponse","getActiveConfigEtag","lastSuccessfulFetchResponse","activeConfigEtag","eTag","_storageCache","setActiveConfig","setActiveConfigEtag","fetchConfig","abortSignal","abort","fetchTimeoutMillis","_client","cacheMaxAgeMillis","minimumFetchIntervalMillis","signal","setLastFetchStatus","lastFetchStatus","getActiveConfig","allConfigs","getString","asString","_isInitializationComplete","_logger","activeConfig","ValueImpl","CachingClient","storageCache","lastSuccessfulFetchTimestampMillis","cacheAgeMillis","isCachedDataFresh","getLastSuccessfulFetchTimestampMillis","storageOperations","setLastSuccessfulFetchTimestampMillis","setLastSuccessfulFetchResponse","getUserLanguage","RestClient","firebaseInstallations","installationId","installationToken","urlBase","FIREBASE_REMOTE_CONFIG_URL_BASE","requestBody","sdk_version","app_instance_id","app_instance_id_token","app_id","language_code","fetchPromise","timeoutPromise","_resolve","responseEtag","responseBody","httpStatus","setAbortableTimeout","throttleEndTimeMillis","backoffMillis","isRetriableError","RetryingClient","getThrottleMetadata","throttleMetadata","attemptFetch","deleteThrottleMetadata","setThrottleMetadata","RemoteConfig","getLastFetchStatus","toFirebaseError","originalError","APP_NAMESPACE_STORE","openDatabase","Storage","openDbPromise","etag","compositeKey","createCompositeKey","StorageCache","lastFetchStatusPromise","lastSuccessfulFetchTimestampMillisPromise","activeConfigPromise","timestampMillis","fetchAndActivate","packageName","FirebaseLogLevel","restClient","retryingClient","cachingClient","remoteConfigInstance","RemoteConfigImpl","_initializePromise","loadFromStorage","ensureInitialized","setMultipleInstances","firebaseId","firebaseApp","storageBucket","messagingSenderId","measurementId","getApp","getAuth","signInAnonymously","rcProvider","getRemoteConfig","default_extended_product_code","default_standard_product_code","promo_extended_product_code","promo_standard_product_code","skip_trial_default_product_code","promo_skip_trial_no_trial_product_code","promo_skip_trial_no_trial_product_code_plan_select","premium_invite_product_code","default_product_code","plan_select_month_direct_product_code","plan_select_month_upsell_step1_product_code","plan_select_month_upsell_step2_product_code","plan_select_quarter_direct_product_code","plan_select_week_direct_product_code","plan_select_week_upsell_step1_product_code","plan_select_week_upsell_step2_product_code","workbook_addon_product_code","workbook_addon_with_discount_product_code","web_audio_product_code","LINK_PARAMS_MAP","mediaSource","webDp","campaign","campaignId","retargeting","iosUrl","androidUrl","deepLink","qr","utm_source","utm_medium","utm_campaign","experience","EMAIL_VALIDATION_ERROR","PASSWORD_VALIDATION_ERROR","RECURLY_KEY","consoleLogger","concreteLogger","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","cloned","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","_entityMap","isIE10","chars","deepFind","keySeparator","mix","joinedPath","ResourceStore","_EventEmitter","defaultNS","ignoreJSONStructure","lng","silent","addNamespaces","emit","resources","addResource","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","addPostProcessor","translator","checkedLoadedFor","Translator","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","looksLikeObjectPath","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","interpolate","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","shouldUseIntlApi","_unused","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","select","getSuffixRetroCompatible","idx","noAbs","simplifyPluralSuffix","returnSuffix","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","formatters","doReduce","elem","Formatter","NumberFormat","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","_opt$split2","parseFormatStr","formatted","valOptions","formatParams","Connector","backend","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","addResourceBundle","_getLastOfPath2","pushPath","what","fcName","tried","wait","queueLoad","loadOne","prepareLoading","_this5","isUpdate","initImmediate","preload","pluralSeparator","partialBundledLanguages","tDescription","transformOptions","I18n","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","initializedStoreOnce","changeLanguage","usedCallback","isLanguageChangingTo","setLngProps","resolvedLanguage","lngInLngs","hasLanguageSomeTranslations","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","membersToCopy","fieldContentRegExp","serializeCookie","maxAge","httpOnly","cookieOptions","nameEQ","cookie$1","lookup","lookupCookie","cookieMinutes","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","lookupSessionStorage","navigator$1","htmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","Browser","detectors","i18nOptions","caches","excludeCacheFor","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName","hasXMLHttpRequest","fetchApi","XmlHttpRequestApi","ActiveXObjectApi","ActiveXObject","fetchNode","addQueryString","paramName","queryStringParams","customHeaders","requestOptions","statusText","requestWithFetch","crossDomain","withCredentials","overrideMimeType","requestWithXmlHttpRequest","getDefaults","loadPath","addPath","allowMultiLoading","parsePayload","reloadInterval","credentials","Backend","allOptions","_readAny","loadUrlLanguages","loadUrlNamespaces","maybePromise","isPromise","resolvedLoadPath","loadUrl","parseErr","finished","dataArray","_this$services","currentLanguage","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","setDefaults","setI18n","en","es","pt","i18n","use","formatPrice","currencySign","minFractions","maxFractions","amount","minimumFractionDigits","maximumFractionDigits","validateEmail","pushWithSearchQuery","getQueryVariable","variable","vars","sha256","msgBuffer","TextEncoder","subtle","digest","hashBuffer","hashArray","padStart","percentToHex","percent","hexValue","getOneLink","oneLink","currentParams","fromEntries","getDeviceInfo","idxs","firebase_idx","amplitude_idx","getLocaleDateString","getCurrentLanguage","getLocaleTimeString","dateFormatTime","moment","shortTimeFormat","timeStyle","getLocaleIntervalTimeString","timeInterval","time1","time2","isLanguageSupported","getAcceptLanguageHeader","FACEBOOK_PIXEL_ID","mappedEvents","FacebookPixel","advancedMatching","ct","em","ln","st","zp","fbp","subscription_id","ReactPixel","getCookie","optionalParams","eventID","hashPromises","zip","firstName","lastName","allSettled","Event","ScreenOpened","screenName","page_language","ContinueUnfoldPayment","ContinueWelcome","reply","ContinueBoardingSkipTrial","SignUp","isRestrictMarketing","isNewUser","utm_term","accountType","restrictMarketingComms","SignUpError","errorType","RecaptchaError","SwitchPlan","isExtendedTrial","SwitchPresalePlanCode","planCode","previousPlanCode","ViewSwitchPlanPrompt","UnfoldPayment","Subscribe","SubscriptionSuccess","startPrice","SubscriptionStarted","SubscriptionError","ViewCongrats","isNewSubscriber","Install","InstallQR","ExperimentStarted","experiment","ViewInstallQRScreen","OnboardingScreenOpened","questionId","SaveAnswer","BlitzAlertViewed","ViewPopup","screenType","ClickPreventGoBack","ViewSkipTrialPopup","ViewSkipBasicUpsellPopup","ViewSkipWeekMonthUpsellPopup","ProductSelected","productCode","isPreselected","preselectedPlanCode","PayPalClicked","ApplePayClicked","CardFormInputStarted","UnfoldFaq","GoogleAnalytics","activateOptimize","eventInfo","dataLayer","transaction_id","currency_code","eventProps","initOptimize","gtag","appAnalytics","trackEvent","AppAnalytics","analytics","ensureSpring","spring","RouteTransition","atEnter","atActive","atLeave","_ref$wrapperComponent","wrapperComponent","_ref$didLeave","_ref$mapStyles","mapStyles","_ref$runOnMount","runOnMount","interpolatedStyles","NO_MATCH","getLocationKey","QuestionIds","QuestionTypes","counter","AnimatedSwitch","_ref5","routeTransitionProps","nextMatch","_ref4","childrenArray","getMatchedRoute","Question","hasStepper","variationId","CustomQuestion","Custom","AnxietyTypes","useAppDispatch","useAppSelector","DEFAULT_ANSWERS","Welcome","SleepAndActivityExtraMotivation","AboutYouRoutine","AboutYouGuided","MappedGadAnswersWeight","not_at_all","several_days","more_than_half_days","nearly_every_day","GadQuestionIds","GadQ1","GadQ2","GadQ3","GadQ4","GadQ5","GadQ6","GadQ7","GadTestResults","GadResultData","Minimal","imageSrc","Mild","Moderate","Severe","GrowthBookContext","useFeatureIsOn","useGrowthBook","isOn","useFeatureValue","getFeatureValue","growthbook","withRunExperiment","FeatureTypes","GrowthBookProvider","setRenderCount","setRenderer","CircadianTypes","useFeatures","isPresaleFlow","PRESALE_OFFER","isLocalCurrencyEnabled","LOCAL_CURRENCY","isSleepActivityLoaderV2","SLEEP_ACTIVITY_LOADER_V2","isFeaturedInFlow","FEATURED_IN","isWelcomeLoaderFlow","WELCOME_LOADER","isPreplanFlow","PREPLAN","isAnimationSpeedFlow","ANIMATION_SPEED_INCREASE","isRelateScaleQuestion","RELATE_SCALE_QUESTION","isPersonalizationLoaderEstimateFlow","PERSONALIZATION_LOADER","isDefaultOnboarding","SPECIAL_FLOW","isCongratsV2","CONGRATS","isIgnoreSkipTrialFlow","SKIP_TRIAL","isSkipTrialWithoutRefund","isSkipTrialV3","isLayoutCardPaymentForm","PAYMENT_FORM","isPreselectProductOffer","PRODUCT","isFacebookReviews","FACEBOOK_REVIEWS","isGadTest","GAD","isFaq","FAQ","isFreeVsPaid","FREE_PAID","isBlitzV2Flow","BLITZ","isPresalePulsingButtonFlow","PRICE_BUTTON","isTrialExplainerWithDate","TRIAL_EXPLAINER","isTrialExplainerWithHighlight","isHorizontalTrialExplainer","isFlexibleOmitViewEventsFlow","EVENT_POLICIES","isMeqResultV2Flow","MEQ_RESULTS","isMeqResultAnimalFlow","isWorkbookUpsellFlow","WORKBOOK","isPaymentPreventBack","PREVENT_BACK","isEducationV1Quiz","EDU","isEducationV2Quiz","isEducationV3Quiz","isInsomniaV1Quiz","ISI","isInsomniaV2Quiz","isAdhdTest","FLOW","upsellFlow","UPSELL_FLOW","isQuickPurchaseFlow","isInviteFlow","isGiftFlow","InsomniaTypes","MappedRmeqAnswersWeight","definitely_evening","very_tired","fairly_tired","rather_evening","fairly_refreshed","very_refreshed","rather_morning","definitely_morning","RmeqQuestionIds","RMeqQ1","RMeqQ2","RMeqQ3","RMeqQ4","RMeqQ5","MappedInsomniaAnswersWeight","very_satisfied","satisfied","moderately_satisfied","dissatisfied","very_dissatisfied","little","somewhat","much","very_much","InsomniaQuestionIds","IsiQ1","IsiQ2","IsiQ3","IsiQ4","InsomniaResultData","OptionalQuestion","sourceQuestionId","OptionQuestion","TextOption","excluding","QUESTIONS_META","expensive","no_results","how_to_work","not_right_time","mind","PersonalizationSectionQuestionIds","PersonalizationColors1","PersonalizationColors2","PersonalizationColors3","PersonalizationColors4","PersonalizationProof1","PersonalizationArtwork1","PersonalizationArtwork2","PersonalizationArtwork3","PersonalizationArtwork4","PersonalizationNarrative","PersonalizationD3","PersonalizationLoader","DefaultOnboradingQuestionsOrder","AboutYouD1","AboutYouGender","AboutYouAge","AboutYouD2","AboutYouKids","AboutYouD3","AboutYouActivity","AboutYouD4","AboutYouProof1","SleepAndActivityQ1","SleepAndActivityQ2","SleepAndActivityD1","SleepAndActivityQ3","SleepAndActivityProof1","SleepAndActivityProof2","SleepAndActivityCoffee","SleepAndActivityDinner","SleepAndActivityAfterMidnight","SleepAndActivityLessThanEightHours","SleepAndActivityD2","SleepAndActivityLoader","PersonalizationD1","BasicQuestionsOrder","GadTestQuestionsOrder","EducationQuizV1Order","EduQ1","EduQ1Answer","EduQ2","EduQ2Answer","EduQ3","EduQ3Answer","EduQ4","EduQ4Answer","EduQ5","EduQ5Answer","EducationQuizV2Order","EduD1","EducationQuizV3Order","InsomniaQuizV1Order","IsiQ5","IsiD1","InsomniaQuizV2Order","AdhdQuestionsOrder","RMeqQ3V2","RMeqQ6","getQuestionsOrder","SET_ANSWER","SET_CURRENT_QUESTION","setAnswer","question","answer","features","navigateNext","goToNextQuestion","hasAllRmeqTestAnswers","answers","every","currentQuestionId","questionsOrder","currentQuestionIndex","onboarding","nextQuestionMeta","Optional","hasOption","hasAllInsomniaTestAnswers","MeqResults","nextQuestion","easeInOutQuad","useProgress","steps","easingFunction","progress","setProgress","isDelaying","stepsCount","stepDuration","currentStep","nextStep","currentStepDuration","stepProgress","previousStep","nextProgress","useProgressText","finalText","progressText","setProgressText","reminder","useSubmit","called","setCalled","_console","alreadyWarned","warnOnce","loadNamespaces","initialized","oldI18nextHasLoadedNamespace","isNewerI18next","usePrevious","ignore","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","addUsedNamespaces","getT","getFixedT","nsMode","setT","joinedNS","previousJoinedNS","boundReset","isInitial","Placeholders","female","male","placeholderFormatter","placeholder","placeholders","ProgressButton","startText","finishText","isAutoContinue","isUpdating","setUpdating","buttonText","getButtonText","handleButtonClick","useProgressButtonLogic","DURATION","STEPS","AboutYouProof","firstProgressText","secondProgressText","nextButtonHandler","gender","age","ActiveUsersMapGraphV2","ActiveUsersMapGraph","alt","BlitzQuestion","Blitz","ColorOption","ColorQuestion","Color","ImageQuestion","imageId","Image","Info","Option","subtext","PlaceQuestion","Places","hasOptionId","PlaceOption","SvgCafe","svgRef","titleId","viewBox","stroke","strokeLinecap","strokeLinejoin","SvgCastle","fillRule","clipRule","SvgFireplace","SvgForest","SvgHarbour","SvgKingdom","SvgSakura","SvgSanctuary","StatementQuestion","statement","isGadStatementQuestion","Statement","EducationAnswer","correctAnswerId","EduAnswer","getQuestionsMeta","GadResults","new_to_it","not_much","expert","getAboutYourRoutineMetaData","no_routine","some_routine","mindful_routine","under_16","getAboutYouD4MetaData","stress","getSleepAndActivityD1MetaData","yes","no","PersonalizationPlaces","Sakura","Castle","Sanctuary","Forest","Harbour","Cafe","Kingdom","Fireplace","IntroSignInLoader","PersonalizationD2","PersonalizationGoal","BlitzArt","BlitzDaydream","BlitzShiftWork","BlitzTinnitus","BlitzRead","BlitzADHD","PersonalizationLength","PersonalizationFrequency","PersonalizationFeelingHoping","PersonalizationSounds","PersonalizationFeeling","QuestionAlert","visible","onAnswer","selectedOption","setSelectedOption","SvgIcCheck","cx","cy","ProgressBar","CheckedIcon","backgroundColor","marginRight","Star","REVIEWS","ReviewCarousel","currentReviewIndex","setCurrentReviewIndex","isInTransition","setIsInTransition","reviewDelay","review","ALERT_PROGRESS","AnalysisLoader","questionMeta","setStep","alertShown","setAlertShown","progressPaused","setProgressPaused","ALERTS","pausePercent","currentLineInPercent","nextValue","getProgressValue","ColorQuestionComponent","activeOptionId","setActiveOptionId","optionStyle","setOptionStyle","isLeaving","setLeaving","optionHandler","useColorComponentLogic","OPTIONS","ImageQuestionComponent","artwork","activeOption","setActiveOption","setContainerStyle","imageUrl","setImageUrl","currentAnswer","revealImage","useImageQuestionLogic","onLoad","usePreloadImages","imageSources","randomStr","usePreloadImagesData","head","getPreloadImages","preloadImages","image","ImageLoader","stepDelay","setInTransition","transitionStyle","useLoader","_rect","_rect2","_rect3","_rect4","_rect5","_defs","InfoComponent","classList","nextHandler","useInfoComponentLogic","HintIcon","OptionalComponent","finalQuestion","getQuestionComponent","SvgYoyoGraph","rx","x1","y1","x2","y2","gradientUnits","stopColor","YoYoGraph","useYoYoGraphLogic","SvgReviewStars","SvgTrustpilot","ReviewsData","reviewText","MotivationReview","StickyContainer","Motivation","imageRef","imageStyle","setImageStyle","useMotivationComponentLogic","ManPhoto","WomanPhoto","useRmeqTestLogic","rmeqResultData","Morning","bedTime","wakeUpTime","background","MorningBg","stickerImg","MorningAnimalSticker","MorningSticker","Neutral","NeutralBg","NeutralAnimalSticker","NeutralSticker","Evening","EveningBg","EveningAnimalSticker","EveningSticker","useRmeqResultData","setResult","getRmeqTestResult","rmeqTestResult","getCircadianType","useOptionQuestionLogic","activeOptions","setActiveOptions","setTitle","formatPlaceholder","OptionQuestionComponent","getOptionText","i18next","ProductivityGraph","Graph","GAD_OPTIONS","RELATE_SCALE_OPTIONS","StatementQuestionComponent","useStatementQuestionLogic","getAnxietyType","testResult","MildResult","ModerateResult","getGadTestResult","previousValue","currentValue","gadTestResult","useGadTest","PlaceQuestionComponent","setActiveOptionsIds","usePlaceComponentLogic","SvgProfile","SvgRatingStar","Label","subtitle","Personalization","usePersonalizationLogic","PersonalizationD1Image","SvgLogoLoona","MeqResultsV2","SvgPurpleCheck","DotStates","EducationAnswerComponent","isCorrectAnswer","useEducationAnswerLogic","getInsomniaTestResult","getInsomniaType","InsomniaResults","insomniaTestResult","useInsomniaTestLogic","DotComponent","Filled","Checked","Numbered","stepNumber","LineState","BaseDot","FilledDot","CheckedDot","NumberedDot","LineComponent","Active","label","Steps","BaseLine","FilledLine","EmptyLine","ActiveLine","Stepper","stepName","stepsTotal","currentSubstep","substepsTotal","setSteps","useStepperLogic","DefaultOnboardingSteps","AboutYou","SleepAndActivity","GadTestSteps","Anxiety","BasicSteps","Sleep","EducationV1TestSteps","EducationV2TestSteps","Quiz","EducationV3TestSteps","InsomniaQuizV1Steps","InsomniaQuizV2Steps","AdhdSteps","useStepperWrapperLogic","setStepName","setCurrentStep","setStepsTotal","setCurrentSubstep","setSubstepsTotal","questionType","setQuestionType","questionsMeta","stepsData","getSteps","arrayedSteps","StepperWrapper","Onboarding","setClassName","QuestionComponent","onClose","alert","Exclamation","Loader","LoadingButton","isLoading","lock","darkTheme","WhiteLock","SvgIconEyeClosedLight","SvgIconEyeClosed","SvgIconEyeOpenedLight","SvgIconEyeOpened","PasswordInput","onFocusChange","isPasswordVisible","setIsPasswordVisible","isFocused","setFocused","OpenedEyeComponent","OpenedEyeLight","OpenedEye","ClosedEyeComponent","ClosedEyeLight","ClosedEye","SvgIcFacebook","fetchServer","retries","Authorization","debug_text","getErrorMessage","getError","toResultPromise","toSubscriptionResultResolve","API","ENDPOINTS","PRODUCTS","SOCIAL_REG","facebook","google","USER_INFO","USER_PURCHASES","EMAIL_REG","EMAIL_LOGIN","CREATE_SUBSCRIPTION","CREATE_SUBSCRIPTION_BY_IDX","CHANGE_SUBSCRIPTION","CHANGE_SUBSCRIPTION_V1","USER_DATA","NO_PASSWORD_REGISTER","BUNDLE","CHECK_TOKEN","GEO_INFO","GIFT_CARDS_LIST","BUY_GIFT_CARD","ACTIVATE_GIFT_CARD","SOCIAL_LOGIN","updateOnboardingInfo","data_batch","created_dt","userdata","action_source","auth_token","socialRegister","first_name","last_name","provider_user_id","noPasswordRegister","isRestrictMailing","quizResult","marketing_data","restrict_email_sending","plan_code","quiz_result","getGeoInfo","threeDSToken","paymentMethod","user_billing_token","three_d_secure_token","payment_method","recaptcha_token","createSubscriptionByIdx","bundle","subs_purchase_token","bundle_name","checkSubscription","purchase","is_active","getPurchaseToken","buyAddon","purchaseToken","purchase_token","coupon_codes","line_items","item_code","changeSubscription","changeSkipTrialSubscription","changeSubscriptionWithCredit","cancelSubscription","prolongSubscription","refundSkipTrialSubscription","skipTrialRefundUrl","skipTrialWithCreditSubscription","SET_SUBSCRIPTION","setSubscriptionActive","oldUser","hasSubscription","cancelSubscriptionPlan","prolongSubscriptionPlan","changeSubscriptionPlan","checkActiveSubscription","SET_AUTH_TOKEN","registerNoPassword","is_new_user","setOnboardingInfo","emailLogin","emailRegister","socialLogin","clean","initial_onboarding","SET_RESTRICT_MAILING","SET_PLAN_CODE","SET_COUNTRY_CODE","SET_COUNTRY_CURRENCY","SET_SUBSCRIPTION_EXPIRED_DATE","SET_SUBSCRIPTION_STATUS","SET_PAYMENT_METHOD","SET_SUBSCRIPTION_TOKEN","setPaymentMethod","setRestrictMailing","setSubscriptionToken","subscriptionToken","setCountryCode","countryCode","geoInfoCountry","setCountryCurrency","countryCurrency","geoInfoCurrency","goToNextPage","hasAllGadTestAnswers","SET_TRIAL_OFFER_SHOWN","SET_TRIAL_OFFER_DISCOUNT_APPLIED","setTrialOfferShown","shown","isTrialOfferShown","FacebookLoginButton","onSuccess","fbLoginInfo","GoogleSignInButton","signin2","longtitle","googleResponse","profile","getBasicProfile","getGivenName","getFamilyName","getEmail","getAuthResponse","onfailure","ViewQPScreen","shouldHandleKeyboard","innerWidth","visualViewport","emailState","setEmailState","passwordState","setPasswordState","isVisible","errorState","setErrorState","setIsLoading","socialsShown","setSocialsShown","innerHeight","handleSubmit","validateForm","isEmailValid","isPasswordValid","onSocialError","onEmailChange","onPasswordChange","handleForgotPassword","socialsShownHandler","useSignInLogic","socialLoginButtons","noValidate","Delete","Logo","LogoImage","MOBILE_QUERY","useMediaQuery","setMatches","media","matchMedia","SuccessTemplate","subTitle","note","cover","PhoneBackground","bigCover","BigPhoneBackground","onButtonClick","isLargeScreen","backgroundImage","Success","setBackground","bigBackground","setBigBackground","backgroundName","isDividerWithMargin","isDividerWithNoMargin","Header","BingeWatchingGraph","Information","ReasonToUseTemplate","withDivider","StarIcon","EmptyStarIcon","author","avatar","Reviews","Emma","Amelia","Zoey","SvgStickyHeaderStar","PlanSelectType","useStickyHeader","startDate","timerBox","isSticky","setSticky","setPeriod","handleScroll","rect","getBoundingClientRect","windowHeight","bottom","scrollY","timerMinutes","TIMER_INITIAL_VALUE","StickyHeader","trialLength","discountPercent","discount","rampIntervals","term","getTerm","Product","intervalUnit","intervalLength","trialUnit","currencies","fullPrice","setupFee","getPriceWithoutDiscount","currencyCode","originalPrice","getCurrencyByCurrencyCode","getTotalSavings","discountValue","getDiscountValue","setup_fee","unit_amount","getDiscountAmount","starting_billing_cycle","getDefaultCurrency","unitAmount","rampIntervalCurrencies","currentAmount","amountPerWeek","amountPerDay","getAmountPerDay","getAmountPerWeek","getTrialEndDate","timeFormatted","dateFormatted","setDate","isMonthFormat","periodNameFormat","totalSavings","convertToProduct","serverProduct","interval_unit","interval_length","trial_unit","trial_length","ramp_intervals","full_price","defaultProductCode","matchingCurrency","defaultCurrency","getPresaleConfigPrefix","getDefaultProductCode","productPrefix","productConfigName","getPresaleOfferConfig","defaultPresaleOfferConfig","configPrefix","configName","getAddonsPlansConfig","convertToProductMap","serverProducts","convertToProducts","products","constants","promo","standard_trial","extended_trial","getProduct","promoType","trialType","currentProduct","getProducts","plans","getBundle","GiftCardTypes","DEFAULT_BUNDLE_ID","usePaymentLogic","paymentFormRef","setProduct","setError","expanded","setExpanded","loadProduct","handlePayPalSuccess","orderId","productBought","onboardingType","handlePayPalError","handleCardSuccess","handleCardError","handleRetry","handleGetPlanClick","topPosition","offsetTop","scroll","behavior","convertFromServer","serverGiftCardProduct","getFormattedPrice","giftCardProduct","convertToGiftCards","serverGiftCards","yearlyGiftCard","lifetimeGiftCard","Yearly","Lifetime","getGiftCardProducts","buyGiftCard","threeDsToken","GiftScreenOpened","GiftProductSelected","GiftAmountSelected","GiftPurchaseSuccess","$quantity","$revenue","SAVE_LINK","saveLink","buyProduct","three_d_secure_action_token_id","pdf_link","BRAINTREE_CLIENT_AUTHORIZATION","GoogleRecaptchaError","cleanGoogleRecaptcha","scriptId","nodeBadge","customBadge","querySelector","cleanBadge","___grecaptcha_cfg","logWarningMessage","GoogleReCaptchaContext","executeRecaptcha","GoogleReCaptchaProvider","reCaptchaKey","useEnterprise","useRecaptchaNet","scriptProps","greCaptchaInstance","setGreCaptchaInstance","clientId","scriptPropsJson","parametersJson","parameters","onLoadCallbackName","grecaptcha","enterprise","badge","sitekey","appendTo","googleRecaptchaSrc","js","injectGoogleReCaptchaScript","SCRIPT_NOT_AVAILABLE","googleReCaptchaContextValue","useGoogleReCaptcha","require$$0","PaymentMethods","withRecaptcha","isApplePayAvailable","PaymentRequest","ApplePaySession","canMakePayments","usePaymentsLogic","applePayLabel","getApplePayLabel","applePayPrice","getApplePayPrice","useRecurly","payPalInstance","PayPal","clientAuthorization","applePayInstance","ApplePay","isPaypalLoading","setPaypalLoading","isApplePayCanceled","setApplePayCanceled","isPaypalReady","setPaypalReady","activeApplePayInstance","setActiveApplePayInstance","handleToken","customProduct","order_id","initializePayment","begin","pickerOptions","paymentMethods","Card","setErrorMessage","handlePaymentMethodChange","ApplePayElement","onPay","PayPalElement","onContinue","Tooltip","clickListener","CardCvv","ERROR_COLOR","cvv","getStyle","fontFamily","fontSize","fontColor","content","ELEMENTS_STYLES","cardNumber","ELEMENTS_STYLES_DARK","DefaultCardForm","translation","formRef","tooltipVisible","setTooltipVisible","firstNameValid","setFirstNameValid","lastNameValid","setLastNameValid","cardNumberValid","setCardNumberValid","postalCodeValid","setPostalCodeValid","cardNumberEmpty","setCardNumberEmpty","monthValid","setMonthValid","monthEmpty","setMonthEmpty","yearValid","setYearValid","yearEmpty","setYearEmpty","cvvValid","setCvvValid","cvvEmpty","setCvvEmpty","setActionTokenId","firstNameRef","lastNameRef","postalCodeRef","selectedProduct","setSelectedProduct","firstFormFocusHandled","setFirstFormFocusHandled","handleSubmitGiftFlow","handleSubscription","handleThreeDSecureToken","handleFormInputFocus","elementsStyles","valid","QuestionDark","selectedCountry","Countries","InputField","validationError","dataRecurly","onChangeHandler","onFocusHandler","useLayoutCardFormLogic","isPostalCodeVisible","isPostalCodeShown","setFirstName","setLastName","fullName","setFullName","fullNameValid","setFullNameValid","expireDateValid","setExpireDateValid","fullNameEmpty","setFullNameEmpty","postalCodeEmpty","setPostalCodeEmpty","expireDateEmpty","setExpireDateEmpty","isPaymentFormInvalid","setIsPaymentFormInvalid","cardElementValidationError","setCardElementValidationError","fullNameValidationError","setFullNameValidationError","postalCodeValidationError","setPostalCodeValidationError","createSubscriptionPromise","handleThreeDSecureError","onChangeCardElementsHandler","expiry","onChangeFullNameHandler","onChangePostalCodeHandler","postalCode","CardElementsField","LayoutCardForm","hiddenInputs","CardFormWrapper","RecurlyLogo","SslEncrypted","RecurlySecured","Item","contentRef","updateHeight","maxHeight","scrollHeight","timeoutId","paymentMethodsContent","Visa","MasterCard","Maestro","Amex","PayPalIcon","ApplePayIcon","PaymentsAccordion","renderPaymentMethodItem","Picker","currentOption","buttonContent","Mastercard","AmericanExpress","PayPalWhite","ApplePayWhite","PaymentsPicker","DefaultElements","onPaymentSuccess","onPaymentError","SET_BOUGHT_PRODUCT","useRecurlyLogic","boughtProduct","onRetry","PriceAfterTrialInfo","productPrice","productRenewsPrice","getFormattedRenewsPrice","getFormattedWeeklyPrice","TotalPriceInfo","presaleProduct","isPreventBackPaymentOfferConfirmed","getFormattedInvoicePrice","PaymentFormTemplate","PaymentChecklist","LoadingScreen","Footer","Payment","QuickPurchase","rmeqQuizResult","setEmail","setPassword","isErrorVisible","setIsErrorVisible","passwordError","setPasswordError","emailError","setEmailError","emailFocused","setEmailFocused","codeNumber","setPlanCode","onHandleCheckboxClick","onEmailFocusHandler","onEmailBlurHandler","onErrorVisibleHandler","SvgIcOptionCheckmarkEmpty","SvgIcOptionCheckmarkChecked","isEuMemberUser","setLabel","isChecked","setChecked","isInvalidEmail","otherProps","SET_PRODUCTS","loadProducts","SET_PRESALE_PRODUCT","NOT_FOUND","defaultEqualityCheck","defaultMemoize","equalityCheckOrOptions","providedOptions","equalityCheck","_providedOptions$equa","_providedOptions$maxS","resultEqualityCheck","comparator","createCacheKeyComparator","equals","getEntries","createSingletonCache","cacheIndex","findIndex","createLruCache","memoized","matchingEntry","clearCache","getDependencies","dep","dependencyTypes","createSelectorCreator","memoize","memoizeOptionsFromArgs","createSelector","_lastResult","_recomputations","directlyPassedOptions","memoizeOptions","resultFunc","_directlyPassedOption","_directlyPassedOption2","finalMemoizeOptions","memoizedResultFunc","recomputations","resetRecomputations","selectProductsInfo","presaleProductCode","withDefaultProduct","loadAllProducts","useProduct","productLoadError","isProductLoading","PresaleInfo","productWithMaxFee","productWithMinFee","productWithMinPrice","productWithMaxPrice","ProductCell","onSelected","PricesContainer","presaleProducts","onSetProductCodeHandler","gridTemplateColumns","getPresaleOfferProducts","usePresaleLogic","presaleOfferConfig","productCodeWithMaxFee","prevProduct","getMaxFeeProductCode","productCodeWithMinFee","getMinFeeProductCode","popularProductCode","getPopularProductCode","defaultSelectedProductCode","selectedProductCode","setSelectedProductCode","presaleConfigValue","previousSelectedProductCode","onClickContinueHandler","PresalePlanPicker","PresalePage","useModalLogic","SvgDiscount","DiscountPopup","handleContinueClick","Note","totalPrice","defaultProductPrice","TrialOfferInfo","improvementPercent","GraphsContainer","useTrialOfferLogic","defaultProduct","isTrialOfferVisible","isDiscountApplied","isTrialOfferDiscountApplied","planType","promoProduct","getSkipTrialProductCode","isDiscountPopupShown","setDiscountPopupShown","setTotalPrice","setTerm","getPriceWithoutTrial","getPriceWithTotalSavings","discountAmount","priceWithTrial","getPriceWithTrial","priceWithoutTrial","trialFee","handleErrorVisible","handleContinueWithTrialClick","setTrialOfferDiscountApplied","handleSkipTrialClick","actionV2","changeSubscriptionWithCreditPlan","PlanContent","FooterButtonsContainer","TrialOffer","handleChange","scrollToPaymentForm","productInvoicePrice","productWeeklyPrice","GlobeNotification","FacebookReviews","useAlertLogic","isShownPromoAlert","showPromoAlert","setNewProduct","newProduct","setShownPromoAlert","expandForm","SvgCheck","SvgDot","SvgInfinity","FreePaidTable","bodyData","coach","loona","getRenewPeriodName","buildFreePaidTableSampleData","faqListData","SvgArrowUp","SvgArrowDown","ListItem","setActive","setMaxHeight","HTMLAnchorElement","FaqAccordion","SET_PLAN_SELECT_TYPE","setPlanType","useSingleProductLogic","weekProductCode","monthProductCode","quarterProductCode","QUARTER","paymentRequest","applePaySession","weekProduct","monthProduct","quarterProduct","contentHeightBeforePaymentForm","SvgForbes","SvgCnn","SvgVogue","SvgBazaar","SvgTheguardian","SvgGq","FeatureSection","PlanSection","isSelected","isRenewPriceVisible","isManual","currentDailyProductPrice","currentDailyRampPrice","getFirstRampIntervalAmountPerDay","currentDailyFormattedProductPrice","getFormattedDailyPrice","onClickHandler","usePlanSectionLogic","firstPriceSymbol","otherPriceSymbols","getPlanSectionTerm","SocialProof","GreenLikeIcon","PlanSectionWrapper","getTrialEndFormattedDate","periodAdverb","getRenewPeriodAdverbName","MarketInfo","GooglePlayLogo","AppleLogoLight","AppleLogo","SingleProductPayment","Congrats","qrCodeLink","useCongratsLogic","FogBackground","PlanImage","MonthlySubscriptionCard","WelcomeTemplate","ViewPIScreen","ContinuePIWelcome","inviteCodeId","SignIn","SecureServer","Lock","PoweredByRecurly","useSuccessLogic","InvitePurchase","Errors","ErrorPopup","giftCardType","NoError","checkLink","checkingUrl","retryCount","DownloadError","isLinkCorrect","linkElement","handleDownloadDoc","NoLinkError","SvgIcChecked","overlayStyle","YEARLY_CARD_IMAGE","LIFETIME_CARD_IMAGE","GiftTemplate","bottomSection","SET_EMAIL","SET_QUANTITY","getGiftCardLabel","giftCardLabel","usePlanSetupLogic","emailRef","setEmailValid","getTotalPrice","saveQuantity","increaseQuantity","decreaseQuantity","onEmailValidHandler","PlansSetup","MinusSign","PlusSign","Purchase","usePurchaseLogic","LargeScreenWrapper","SmallScreenWrapper","theme","setProducts","SvgIcCheckSmall","PlanCard","onSelect","SET_GIFT_CARD_TYPE","usePlanContentLogic","onCardSelect","setGiftCardType","PlansContent","faq","yearly","lifetime","Plans","isProductsLoaded","GiftCards","RedeemTemplate","CardsBackground","RedeemScreenOpened","RedeemWelcomeContinue","RedeemGiftCodeActivated","giftCode","RedeemAppContinue","StartRedeem","onRedeemClick","useStartRedeemLogic","RedeemAccount","useRedeemAccountLogic","InputWithButton","applied","CheckedMark","gift_code","useRedeemCodeLogic","setGiftCode","giftCodeApplied","setGiftCodeApplied","onRedeem","activateGiftCode","onGiftCodeChange","newGiftCode","RedeemCode","useRedeemDoneLogic","handleAppLink","maxTouchPoints","msMaxTouchPoints","RedeemDone","Redeem","SET_PREVENT_BACK_PAYMENT_OFFER_CONFIRMED","useRouterPromptLogic","isModalVisible","setModalVisible","isPaymentPrompt","setIsPaymentPrompt","confirmedNavigation","setConfirmedNavigation","closeModal","handleBlockNavigation","nextLocation","flow","handleConfirm","Cards","PaymentPrompt","DefaultPrompt","AppStoreButton","AppStore","GooglePlayButton","GooglePlay","useCookieConsentLogic","setIsVisible","CookieConsent","Background","handleReduceStress","handleSleepBetter","useDefaultWelcomeLogic","ArrowIcon","handleTakeTest","useGadWelcomeLogic","WelcomeGadImage","imageName","fetchImage","cloudImageUrl","WelcomeRmeqImage","loadImage","uat","uam","uai","useRmeqWelcomeLogic","srcSet","AdhdWelcome","AdvantageBox","iconSrc","ColorBox","leftPos","PersonalizationBgColorsMap","sky_blue","loona_lavender","venice_rose","coral_red","navy_blue","spring_green","tangerine","sunflower_yellow","Advantages","personalization","narrativePreferences","colorPreferences","useAdvantagesLogic","Person","Activities","NarrativePreferences","ColorPreferences","Preplan","SubscriptionCancelFlow","EbookOfferBox","showPrice","Ebook","SubscriptionCancelScreenOpened","ContinueSubscriptionCancel","ContinueSubscriptionCancelReason","ContinueSubscriptionCancelHowLikely","SubscriptionProlongSuccess","BuyAddonPlan","SubscriptionSwitchSuccess","useAddonsLogic","addonsPlans","convertedWorkbookProduct","onAddonBuyClickHandler","onSkipClickHandler","Workbook","subscriptonExpiredDate","trialExpiredDate","getTrialExpiredDate","useExtendTrialLogic","getSubscriptionCancelFlow","subscriptionStatus","ExtendTrial","Expensive","Other","BearImage","subscriptionCancel","trialExpiredDateWithExtend","onGotItHandler","useFinishLogic","useOfferLogic","QuestionsOrder","trackEvents","handleOption","useWelcomeLogic","subscriptionEventStatus","expire_dt","event_status","onKeepBenefitsHandler","onCancelSubscriptionHandler","Spinner","WelcomeCancel","Finish","Offer","FinishUserLost","extendedTrialDays","trialEndDate","SubscriptionCancel","validAttributeName","nullController","revert","mutations","getElementRecord","createElementPropertyRecord","getCurrentValue","mutationRunner","isDirty","originalValue","virtualValue","_positionTimeout","MutationObserver","insertBeforeNode","childList","subtree","characterData","attributeFilter","getObserverInit","queueIfNeeded","currentVal","runDOMUpdates","htmlMutationRunner","mutate","html","transformContainer","getTransformedHTML","classMutationRunner","attrMutationRunner","positionMutationRunner","newNodes","parentSelector","insertBeforeSelector","_loadDOMNodes","getHTMLValue","setHTMLValue","getElementHTMLRecord","elementRecord","getElementPosition","parentElement","nextElementSibling","setElementPosition","getElementPositionRecord","setClassValue","getClassValue","getElementClassRecord","getElementAttributeRecord","attrName","setAttrValue","setPropertyValue","disconnect","deleteElementPropertyRecord","refreshElementsSet","mutation","kind","existingElements","attribute","startMutating","revertMutation","stopMutating","refreshAllElementSets","newMutation","classnames","mutatedClassnames","declarative","polyfills","SubtleCrypto","EventSource","hashFnv32a","hval","seed","inRange","getUrlRegExp","regexString","isURLTargeted","targets","hasIncludeRules","isIncluded","_evalURLTarget","include","_evalSimpleUrlTarget","actual","comps","isPath","_evalSimpleUrlPart","getBucketRanges","numVariations","coverage","weights","equal","getEqualWeights","totalWeight","sum","cumulative","base64ToBuf","decrypt","encryptedString","decryptionKey","importKey","iv","cipherText","plainTextBuffer","TextDecoder","paddedVersionString","isObj","getAutoExperimentChangeType","urlPatterns","variations","variation","domMutations","promiseTimeout","_regexCache","evalCondition","savedGroups","evalOr","evalAnd","evalConditionValue","isOperatorObject","evalOperatorCondition","isIn","operator","check","elemMatch","passed","getType","conditions","cacheSettings","staleTTL","backgroundSync","maxEntries","disableIdleStreams","idleStreamInterval","disableCache","helpers","fetchFeaturesCall","clientKey","fetchRemoteEvalCall","eventSourceCall","startIdleListener","onVisibilityChange","visibilityState","streams","enableChannel","stopIdleListener","subscribedInstances","cacheInitialized","activeFetches","supportsSSE","refreshFeatures","skipCache","allowStale","fetchFeaturesWithCache","subs","disableChannel","updatePersistentCache","getCacheKey","minStaleAt","initializeCache","existing","staleAt","sse","fetchFeatures","startAutoRefresh","getApiInfo","baseKey","isRemoteEval","getAttributes","cacheKeyAttributes","getCacheKeyAttributes","fv","getForcedVariations","getUrl","_ref6","cleanupCache","cleanupFn","entriesWithTimestamps","_ref7","entriesToRemoveCount","onNewFeatureData","dateUpdated","refreshInstance","setPayload","getPayload","getApiHosts","apiRequestHeaders","getClientKey","remoteEval","fetcher","forcedVariations","forcedFeatures","getForcedFeatures","forceSSE","streamingHost","streamingHostRequestHeaders","onSSEError","onopen","destroyChannel","clearAutoRefresh","isBrowser","loadSDKVersion","GrowthBook","_ctx","_renderer","renderer","_trackedExperiments","_completedChangeIds","_trackedFeatures","_subscriptions","_rtQueue","_rtTimer","_assigned","_forcedFeatureValues","_attributeOverrides","_activeAutoExperiments","_triggeredExpKeys","_initialized","_redirectedUrl","_deferredTrackingCalls","_autoExperimentsAllowed","disableExperimentsOnLoad","isGbHost","enableDevMode","_growthbook","experiments","_updateAllAutoExperiments","stickyBucketService","stickyBucketAssignmentDocs","saveAssignments","refreshStickyBuckets","decryptPayload","_decryptedPayload","_render","initSync","encryptedExperiments","encryptedFeatures","streaming","overrides","_refresh","autoRefresh","subscribeToChanges","_canSubscribe","defaultHost","apiHostRequestHeaders","getFeatures","getExperiments","getDecryptedPayload","setFeatures","featuresJSON","setExperiments","experimentsJSON","encryptedSavedGroups","_refreshForRemoteEval","setAttributes","setForcedFeatures","getStickyBucketAssignmentDocs","getCompletedChangeIds","_this$_ctx$background","getAllResults","undo","forceVariation","run","_run","_fireSubscriptions","triggerExperiment","_runAutoExperiment","triggerAutoExperiments","forceRerun","manual","trackingCall","isBlocked","_isAutoExperimentBlockedByContext","_getResult","valueHash","inExperiment","_undoActiveAutoExperiment","changeType","urlRedirect","persistQueryString","oldUrl","newUrl","currUrl","mergeQueryStrings","_getContextUrl","_getNavigateFunction","navigate","maxNavigateDelay","_this$_ctx$maxNavigat","navigateDelay","_this$_ctx$navigateDe","applyDomChangesCallback","_applyDOMChanges","_trackFeatureUsage","stringifiedValue","onFeatureUsage","realtimeKey","realtimeInterval","_getFeatureResult","ruleId","experimentResult","evalFeature","isOff","feature","_evalFeature","evalCtx","evaluatedFeatures","parentConditions","parentCondition","parentResult","gate","filters","_isFilteredOut","_conditionPasses","_isIncludedInRollout","hashAttribute","disableStickyBucketing","fallbackAttribute","hashVersion","tracks","_track","force","bucketVersion","minBucketVersion","ranges","phase","passthrough","hashValue","_getHashAttribute","featureId","_mergeOverrides","qsOverride","kv","getQueryStringOverride","assigned","foundStickyBucket","stickyBucketVersionIsBlocked","_getStickyBucketVariation","expKey","expBucketVersion","expHashAttribute","expFallbackAttribute","expMinBucketVersion","expMeta","versionIsBlocked","inNamespace","_hasGroupOverlap","_urlIsValid","chooseVariation","qaMode","_generateStickyBucketAssignmentDoc","_getStickyBucketExperimentKey","changed","changeId","getDeferredTrackingCalls","setDeferredTrackingCalls","calls","_getTrackKey","trackingCallback","setTrackingCallback","fireDeferredTrackingCalls","variationIndex","hashUsed","bucket","stickyBucketUsed","urlRegex","pathOnly","expGroups","disableVisualExperiments","disableJsInjection","disableUrlRedirectExperiments","disableCrossOriginUrlRedirectExperiments","blockedChangeIds","getRedirectUrl","css","jsInjectionNonce","_deriveStickyBucketIdentifierAttributes","_getStickyBucketAttributes","getAllAssignments","_getStickyBucketAssignments","hashKey","fallbackKey","assignments","variationKey","experimentKey","experimentBucketVersion","stickyBucketIdentifierAttributes","attributeValue","existingAssignments","newAssignments","WorkbookOfferImage","BasicUpsellFlow","setDiscountApplied","workbookProductCode","workbookWithDiscountProductCode","convertedWorkbookWithDiscountProduct","BgImage","upsellProduct","getTreeMonthsFormattedPrice","MonthWeekUpsellFlow","setIsDiscountPopupShown","convertedBoughtProduct","QuarterUpsell","webAudioProductCode","convertedProduct","RelaxionLabels","devicePixelRatio","initAmplitudeUserProperties","INITIAL_STATE","onboardingReducer","productReducer","userReducer","purchaseReducer","subscriptionCancelReducer","isInAppBrowser","isIPad","isIPhone","isIPod","isMacIntel","hasTouchPoints","isIos","target_url","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props$forceRefresh","_props$getUserConfirm","getDOMLocation","historyState","_window$location","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","revertPop","initialLocation","listenerCount","checkDOMListeners","pushState","prevIndex","nextKeys","replaceState","unblock","createBrowserHistory","initAndBind","browserInit","Sentry","Integrations","tracesSampleRate","persistedReducer","baseReducer","stateReconciler","defaultGetStoredState","_persistoid","_purge","_paused","conditionalUpdate","_persist","rehydrated","restState","_sealed","_rehydrate","rehydrate","restoredState","migrate","migratedState","migrateErr","purgeStoredState","_newState","persistReducer","rootReducer","curriedGetDefaultMiddleware","devTools","enhancers","finalMiddleware","middlewareEnhancer","finalCompose","compose2","storeEnhancers","configureStore","serializableCheck","ignoredActions","ignoredPaths","routerMiddleware","boostrappedCb","_pStore","rehydrateAction","purge","purgeResult","flushResult","pause","manualPersist","persistStore","FallbackComponent","ReactDOM","showDialog","unregister"],"sourceRoot":""}

>(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n unsubscribe = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n promisifyAbortSignal(signal),\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await Promise.race(promises)\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import type { AbortSignalWithReason } from './types'\r\n\r\nexport const assertFunction: (\r\n func: unknown,\r\n expected: string\r\n) => asserts func is (...args: unknown[]) => unknown = (\r\n func: unknown,\r\n expected: string\r\n) => {\r\n if (typeof func !== 'function') {\r\n throw new TypeError(`${expected} is not a function`)\r\n }\r\n}\r\n\r\nexport const noop = () => {}\r\n\r\nexport const catchRejection = (\r\n promise: Promise,\r\n onError = noop\r\n): Promise => {\r\n promise.catch(onError)\r\n\r\n return promise\r\n}\r\n\r\nexport const addAbortSignalListener = (\r\n abortSignal: AbortSignal,\r\n callback: (evt: Event) => void\r\n) => {\r\n abortSignal.addEventListener('abort', callback, { once: true })\r\n}\r\n\r\n/**\r\n * Calls `abortController.abort(reason)` and patches `signal.reason`.\r\n * if it is not supported.\r\n *\r\n * At the time of writing `signal.reason` is available in FF chrome, edge node 17 and deno.\r\n * @param abortController\r\n * @param reason\r\n * @returns\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason\r\n */\r\nexport const abortControllerWithReason = (\r\n abortController: AbortController,\r\n reason: T\r\n): void => {\r\n type Consumer = (val: T) => void\r\n\r\n const signal = abortController.signal as AbortSignalWithReason\r\n\r\n if (signal.aborted) {\r\n return\r\n }\r\n\r\n // Patch `reason` if necessary.\r\n // - We use defineProperty here because reason is a getter of `AbortSignal.__proto__`.\r\n // - We need to patch 'reason' before calling `.abort()` because listeners to the 'abort'\r\n // event are are notified immediately.\r\n if (!('reason' in signal)) {\r\n Object.defineProperty(signal, 'reason', {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true,\r\n })\r\n }\r\n\r\n ;(abortController.abort as Consumer)(reason)\r\n}\r\n","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './listenerMiddleware/index'\r\n\r\nexport {\r\n createListenerMiddleware,\r\n addListener,\r\n removeListener,\r\n clearAllListeners,\r\n TaskAbortError,\r\n} from './listenerMiddleware/index'\r\n","export const SDK_VERSION = '7.17.3';\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\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}","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 _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 { Integration, Options } from '@sentry/types';\nimport { arrayify, logger } from '@sentry/utils';\n\nimport { getCurrentHub } from './hub';\nimport { addGlobalEventProcessor } from './scope';\n\ndeclare module '@sentry/types' {\n interface Integration {\n isDefaultInstance?: boolean;\n }\n}\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n};\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preseve the order of integrations in the array.\n *\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n const integrationsByName: { [key: string]: Integration } = {};\n\n integrations.forEach(currentInstance => {\n const { name } = currentInstance;\n\n const existingInstance = integrationsByName[name];\n\n // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n // default instance to overwrite an existing user instance\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n\n integrationsByName[name] = currentInstance;\n });\n\n return Object.values(integrationsByName);\n}\n\n/** Gets integrations to install */\nexport function getIntegrationsToSetup(options: Options): Integration[] {\n const defaultIntegrations = options.defaultIntegrations || [];\n const userIntegrations = options.integrations;\n\n // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n defaultIntegrations.forEach(integration => {\n integration.isDefaultInstance = true;\n });\n\n let integrations: Integration[];\n\n if (Array.isArray(userIntegrations)) {\n integrations = [...defaultIntegrations, ...userIntegrations];\n } else if (typeof userIntegrations === 'function') {\n integrations = arrayify(userIntegrations(defaultIntegrations));\n } else {\n integrations = defaultIntegrations;\n }\n\n const finalIntegrations = filterDuplicates(integrations);\n\n // The `Debug` integration prints copies of the `event` and `hint` which will be passed to `beforeSend`. It therefore\n // has to run after all other integrations, so that the changes of all event processors will be reflected in the\n // printed values. For lack of a more elegant way to guarantee that, we therefore locate it and, assuming it exists,\n // pop it out of its current spot and shove it onto the end of the array.\n const debugIndex = finalIntegrations.findIndex(integration => integration.name === 'Debug');\n if (debugIndex !== -1) {\n const [debugInstance] = finalIntegrations.splice(debugIndex, 1);\n finalIntegrations.push(debugInstance);\n }\n\n return finalIntegrations;\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(integrations: Integration[]): IntegrationIndex {\n const integrationIndex: IntegrationIndex = {};\n\n integrations.forEach(integration => {\n integrationIndex[integration.name] = integration;\n\n if (installedIntegrations.indexOf(integration.name) === -1) {\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n __DEBUG_BUILD__ && logger.log(`Integration installed: ${integration.name}`);\n }\n });\n\n return integrationIndex;\n}\n","import { Client, ClientOptions } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nimport { getCurrentHub } from './hub';\n\n/** A class object that can instantiate Client objects. */\nexport type ClientClass = new (options: O) => F;\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(\n clientClass: ClientClass,\n options: O,\n): void {\n if (options.debug === true) {\n if (__DEBUG_BUILD__) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n // eslint-disable-next-line no-console\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n }\n }\n const hub = getCurrentHub();\n const scope = hub.getScope();\n if (scope) {\n scope.update(options.initialScope);\n }\n\n const client = new clientClass(options);\n hub.bindClient(client);\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import type { ConsoleLevel } from './logger';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public logLevel: ConsoleLevel;\n\n public constructor(public message: string, logLevel: ConsoleLevel = 'warn') {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n // This sets the prototype to be `Error`, not `SentryError`. It's unclear why we do this, but commenting this line\n // out causes various (seemingly totally unrelated) playwright tests consistently time out. FYI, this makes\n // instances of `SentryError` fail `obj instanceof SentryError` checks.\n Object.setPrototypeOf(this, new.target.prototype);\n this.logLevel = logLevel;\n }\n}\n","import { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { SentryError } from './error';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents\n */\nexport function dsnFromString(str: string): DsnComponents {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean | void {\n if (!__DEBUG_BUILD__) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nexport function makeDsn(from: DsnLike): DsnComponents {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n validateDsn(components);\n return components;\n}\n","import { ClientOptions, DsnComponents, DsnLike, SdkInfo } from '@sentry/types';\nimport { dsnToString, makeDsn, urlEncode } from '@sentry/utils';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents, sdkInfo: SdkInfo | undefined): string {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n ...(sdkInfo && { sentry_client: `${sdkInfo.name}/${sdkInfo.version}` }),\n });\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(\n dsn: DsnComponents,\n // TODO (v8): Remove `tunnelOrOptions` in favor of `options`, and use the substitute code below\n // options: ClientOptions = {} as ClientOptions,\n tunnelOrOptions: string | ClientOptions = {} as ClientOptions,\n): string {\n // TODO (v8): Use this code instead\n // const { tunnel, _metadata = {} } = options;\n // return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, _metadata.sdk)}`;\n\n const tunnel = typeof tunnelOrOptions === 'string' ? tunnelOrOptions : tunnelOrOptions.tunnel;\n const sdkInfo =\n typeof tunnelOrOptions === 'string' || !tunnelOrOptions._metadata ? undefined : tunnelOrOptions._metadata.sdk;\n\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n const user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString: () => void;\n\n/** Patch toString calls to return proper name for wrapped functions */\nexport class FunctionToString implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'FunctionToString';\n\n /**\n * @inheritDoc\n */\n public name: string = FunctionToString.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n}\n","import { Event, EventProcessor, Hub, Integration, StackFrame } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreInternal: boolean;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n\n public constructor(private readonly _options: Partial = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (processor: EventProcessor) => void, getCurrentHub: () => Hub): void {\n const eventProcess: EventProcessor = (event: Event) => {\n const hub = getCurrentHub();\n if (hub) {\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n };\n\n eventProcess.id = this.name;\n addGlobalEventProcessor(eventProcess);\n }\n}\n\n/** JSDoc */\nexport function _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nexport function _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n __DEBUG_BUILD__ &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n __DEBUG_BUILD__ &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n __DEBUG_BUILD__ &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n __DEBUG_BUILD__ &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n __DEBUG_BUILD__ && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-ignore can't be a sentry error if undefined\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n __DEBUG_BUILD__ && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n */\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n","import { Primitive } from '@sentry/types';\n\nimport { isNaN, isSyntheticEvent } from './is';\nimport { memoBuilder, MemoFunc } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function normalize(input: unknown, depth: number = +Infinity, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value as ObjOrArray)['__sentry_skip_normalization__']) {\n return value as ObjOrArray;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value as unknown & { toJSON?: () => unknown };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, depth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value as ObjOrArray);\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n// TODO remove this in v7 (this means the method will no longer be exported, under any name)\nexport { visit as walk };\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) as Prototype).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n","import {\n Attachment,\n AttachmentItem,\n DataCategory,\n Envelope,\n EnvelopeItem,\n EnvelopeItemType,\n TextEncoderInternal,\n} from '@sentry/types';\n\nimport { normalize } from './normalize';\nimport { dropUndefinedKeys } from './object';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as E;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n */\nexport function forEachEnvelopeItem(\n envelope: Envelope,\n callback: (envelopeItem: E[1][number], envelopeItemType: E[1][number][0]['type']) => void,\n): void {\n const envelopeItems = envelope[1];\n envelopeItems.forEach((envelopeItem: EnvelopeItem) => {\n const envelopeItemType = envelopeItem[0].type;\n callback(envelopeItem, envelopeItemType);\n });\n}\n\nfunction encodeUTF8(input: string, textEncoder?: TextEncoderInternal): Uint8Array {\n const utf8 = textEncoder || new TextEncoder();\n return utf8.encode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nexport function serializeEnvelope(envelope: Envelope, textEncoder?: TextEncoderInternal): string | Uint8Array {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts: string | Uint8Array[] = JSON.stringify(envHeaders);\n\n function append(next: string | Uint8Array): void {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts, textEncoder), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next, textEncoder) : next);\n }\n }\n\n for (const item of items) {\n const [itemHeaders, payload] = item;\n\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n\n if (typeof payload === 'string' || payload instanceof Uint8Array) {\n append(payload);\n } else {\n let stringifiedPayload: string;\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch (e) {\n // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.strinify()` still\n // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n // performance impact but in this case a performance hit is better than throwing.\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n append(stringifiedPayload);\n }\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers: Uint8Array[]): Uint8Array {\n const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n for (const buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Creates attachment envelope items\n */\nexport function createAttachmentEnvelopeItem(\n attachment: Attachment,\n textEncoder?: TextEncoderInternal,\n): AttachmentItem {\n const buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data, textEncoder) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nconst ITEM_TYPE_TO_DATA_CATEGORY_MAP: Record = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nexport function envelopeItemTypeToDataCategory(type: EnvelopeItemType): DataCategory {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n","/* eslint-disable max-lines */\nimport {\n Client,\n ClientOptions,\n DataCategory,\n DsnComponents,\n Envelope,\n Event,\n EventDropReason,\n EventHint,\n Integration,\n IntegrationClass,\n Outcome,\n Session,\n SessionAggregates,\n Severity,\n SeverityLevel,\n Transport,\n} from '@sentry/types';\nimport {\n addItemToEnvelope,\n checkOrSetAlreadyCaught,\n createAttachmentEnvelopeItem,\n dateTimestampInSeconds,\n isPlainObject,\n isPrimitive,\n isThenable,\n logger,\n makeDsn,\n normalize,\n rejectedSyncPromise,\n resolvedSyncPromise,\n SentryError,\n SyncPromise,\n truncate,\n uuid4,\n} from '@sentry/utils';\n\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope';\nimport { IntegrationIndex, setupIntegrations } from './integration';\nimport { Scope } from './scope';\nimport { updateSession } from './session';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n protected readonly _transport?: Transport;\n\n /** Array of set up integrations. */\n protected _integrations: IntegrationIndex = {};\n\n /** Indicates whether this client's integrations have been set up. */\n protected _integrationsInitialized: boolean = false;\n\n /** Number of calls being processed */\n protected _numProcessing: number = 0;\n\n /** Holds flushable */\n private _outcomes: { [key: string]: number } = {};\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n protected constructor(options: O) {\n this._options = options;\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, options);\n this._transport = options.transport({\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n } else {\n __DEBUG_BUILD__ && logger.warn('No DSN provided, client will not do anything.');\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n __DEBUG_BUILD__ && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this.eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level?: Severity | SeverityLevel,\n hint?: EventHint,\n scope?: Scope,\n ): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n const promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(String(message), level, hint)\n : this.eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n __DEBUG_BUILD__ && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!this._isEnabled()) {\n __DEBUG_BUILD__ && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n __DEBUG_BUILD__ && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport | undefined {\n return this._transport;\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n const transport = this._transport;\n if (transport) {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n public setupIntegrations(): void {\n if (this._isEnabled() && !this._integrationsInitialized) {\n this._integrations = setupIntegrations(this._options.integrations);\n this._integrationsInitialized = true;\n }\n }\n\n /**\n * Gets an installed integration by its `id`.\n *\n * @returns The installed integration or `undefined` if no integration with that `id` was installed.\n */\n public getIntegrationById(integrationId: string): Integration | undefined {\n return this._integrations[integrationId];\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n try {\n return (this._integrations[integration.id] as T) || null;\n } catch (_oO) {\n __DEBUG_BUILD__ && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event, hint: EventHint = {}): void {\n if (this._dsn) {\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (const attachment of hint.attachments || []) {\n env = addItemToEnvelope(\n env,\n createAttachmentEnvelopeItem(\n attachment,\n this._options.transportOptions && this._options.transportOptions.textEncoder,\n ),\n );\n }\n\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session | SessionAggregates): void {\n if (this._dsn) {\n const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n public recordDroppedEvent(reason: EventDropReason, category: DataCategory): void {\n if (this._options.sendClientReports) {\n // We want to track each category (error, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n // With typescript 4.1 we could even use template literal types\n const key = `${reason}:${category}`;\n __DEBUG_BUILD__ && logger.log(`Adding outcome: \"${key}\"`);\n\n // The following works because undefined + 1 === NaN and NaN is falsy\n this._outcomes[key] = this._outcomes[key] + 1 || 1;\n }\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = this.getOptions();\n const prepared: Event = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // Collect attachments from the hint and scope\n const attachments = [...(hint.attachments || []), ...finalScope.getAttachments()];\n\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n protected _normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized: Event = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n // We cannot use the spread operator here because `toJSON` on `span` is non-enumerable\n if (span.data) {\n span.data = normalize(span.data, depth, maxBreadth);\n }\n return span;\n });\n }\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n protected _applyClientOptions(event: Event): void {\n const options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n protected _applyIntegrationsMetadata(event: Event): void {\n const integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint: EventHint = {}, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n if (__DEBUG_BUILD__) {\n // If something's gone wrong, log the error as a warning. If it's just us having used a `SentryError` for\n // control flow, log just the message (no stack) as a log-level log.\n const sentryError = reason as SentryError;\n if (sentryError.logLevel === 'log') {\n logger.log(sentryError.message);\n } else {\n logger.warn(sentryError);\n }\n }\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike {\n const { beforeSend, sampleRate } = this.getOptions();\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.', 'log'));\n }\n\n const isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n this.recordDroppedEvent('sample_rate', 'error');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n 'log',\n ),\n );\n }\n\n return this._prepareEvent(event, hint, scope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', event.type || 'error');\n throw new SentryError('An event processor returned null, will not send event.', 'log');\n }\n\n const isInternalException = hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n const beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', event.type || 'error');\n throw new SentryError('`beforeSend` returned `null`, will not send event.', 'log');\n }\n\n const session = scope && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n // None of the Sentry built event processor will update transaction name,\n // so if the transaction name has been changed by an event processor, we know\n // it has to come from custom event processor added by a user\n const transactionInfo = processedEvent.transaction_info;\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n const source = 'custom';\n processedEvent.transaction_info = {\n ...transactionInfo,\n source,\n changes: [\n ...transactionInfo.changes,\n {\n source,\n // use the same timestamp as the processed event.\n timestamp: processedEvent.timestamp as number,\n propagations: transactionInfo.propagations,\n },\n ],\n };\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason as Error,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n\n /**\n * @inheritdoc\n */\n protected _sendEnvelope(envelope: Envelope): void {\n if (this._transport && this._dsn) {\n this._transport.send(envelope).then(null, reason => {\n __DEBUG_BUILD__ && logger.error('Error while sending event:', reason);\n });\n } else {\n __DEBUG_BUILD__ && logger.error('Transport disabled');\n }\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n protected _clearOutcomes(): Outcome[] {\n const outcomes = this._outcomes;\n this._outcomes = {};\n return Object.keys(outcomes).map(key => {\n const [reason, category] = key.split(':') as [EventDropReason, DataCategory];\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n });\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public abstract eventFromException(_exception: any, _hint?: EventHint): PromiseLike;\n\n /**\n * @inheritDoc\n */\n public abstract eventFromMessage(\n _message: string,\n // eslint-disable-next-line deprecation/deprecation\n _level?: Severity | SeverityLevel,\n _hint?: EventHint,\n ): PromiseLike;\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv: PromiseLike | Event | null): PromiseLike | Event | null {\n const nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n","import { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, Severity, SeverityLevel, StackFrame, StackParser } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/utils';\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nexport function exceptionFromError(stackParser: StackParser, ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(stackParser, ex);\n\n const exception: Exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n stackParser: StackParser,\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const normalizeDepth = client && client.getOptions().normalizeDepth;\n\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception, normalizeDepth),\n },\n };\n\n if (syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n (event.exception as { values: Exception[] }).values[0].stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromError(stackParser: StackParser, ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nexport function parseStackFrames(\n stackParser: StackParser,\n ex: Error & { framesToPop?: number; stacktrace?: string },\n): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const popSize = getPopSize(ex);\n\n try {\n return stackParser(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex: Error & { framesToPop?: number }): number {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n stackParser: StackParser,\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n stackParser: StackParser,\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level: Severity | SeverityLevel = 'info',\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n stackParser: StackParser,\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(stackParser, errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(stackParser, exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(stackParser, exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(\n stackParser: StackParser,\n input: string,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n): Event {\n const event: Event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: input, stacktrace: { frames } }],\n };\n }\n }\n\n return event;\n}\n","import {\n Breadcrumb,\n CaptureContext,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Primitive,\n Severity,\n SeverityLevel,\n TransactionContext,\n User,\n} from '@sentry/types';\n\nimport { getCurrentHub, Hub } from './hub';\nimport { Scope } from './scope';\n\n// Note: All functions in this file are typed with a return value of `ReturnType`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception: any, captureContext?: CaptureContext): ReturnType {\n return getCurrentHub().captureException(exception, { captureContext });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n captureContext?: CaptureContext | Severity | SeverityLevel,\n): ReturnType {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event: Event, hint?: EventHint): ReturnType {\n return getCurrentHub().captureEvent(event, hint);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback: (scope: Scope) => void): ReturnType {\n getCurrentHub().configureScope(callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb): ReturnType {\n getCurrentHub().addBreadcrumb(breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): ReturnType {\n getCurrentHub().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): ReturnType {\n getCurrentHub().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): ReturnType {\n getCurrentHub().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): ReturnType {\n getCurrentHub().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): ReturnType {\n getCurrentHub().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): ReturnType {\n getCurrentHub().setUser(user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback: (scope: Scope) => void): ReturnType {\n getCurrentHub().withScope(callback);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * NOTE: This function should only be used for *manual* instrumentation. Auto-instrumentation should call\n * `startTransaction` directly on the hub.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(\n context: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): ReturnType {\n return getCurrentHub().startTransaction({ ...context }, customSamplingContext);\n}\n","import { captureException, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getOriginalFunction,\n GLOBAL_OBJ,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped: WrappedFunction = function (this: unknown): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n","/* eslint-disable deprecation/deprecation */\nimport { Severity, SeverityLevel } from '@sentry/types';\n\n// Note: Ideally the `SeverityLevel` type would be derived from `validSeverityLevels`, but that would mean either\n//\n// a) moving `validSeverityLevels` to `@sentry/types`,\n// b) moving the`SeverityLevel` type here, or\n// c) importing `validSeverityLevels` from here into `@sentry/types`.\n//\n// Option A would make `@sentry/types` a runtime dependency of `@sentry/utils` (not good), and options B and C would\n// create a circular dependency between `@sentry/types` and `@sentry/utils` (also not good). So a TODO accompanying the\n// type, reminding anyone who changes it to change this list also, will have to do.\n\nexport const validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n\n/**\n * Converts a string-based level into a member of the deprecated {@link Severity} enum.\n *\n * @deprecated `severityFromString` is deprecated. Please use `severityLevelFromString` instead.\n *\n * @param level String representation of Severity\n * @returns Severity\n */\nexport function severityFromString(level: Severity | SeverityLevel | string): Severity {\n return severityLevelFromString(level) as Severity;\n}\n\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nexport function severityLevelFromString(level: SeverityLevel | string): SeverityLevel {\n return (level === 'warn' ? 'warning' : validSeverityLevels.includes(level) ? level : 'log') as SeverityLevel;\n}\n","/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n} {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n */\nexport function getNumberOfUrlSegments(url: string): number {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Integration } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityLevelFromString,\n} from '@sentry/utils';\n\nimport { WINDOW } from '../helpers';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean | { serializeAttribute: string | string[] };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\nexport const BREADCRUMB_INTEGRATION_ID = 'Breadcrumbs';\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = BREADCRUMB_INTEGRATION_ID;\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /**\n * Options of the breadcrumbs integration.\n */\n // This field is public, because we use it in the browser client to check if the `sentry` option is enabled.\n public readonly options: Readonly;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this.options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this.options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this.options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this.options.dom));\n }\n if (this.options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this.options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this.options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n}\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _domBreadcrumb(dom: BreadcrumbsOptions['dom']): (handlerData: { [key: string]: any }) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _innerDomBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node, keyAttrs)\n : htmlTreeAsString(handlerData.event as unknown as Node, keyAttrs);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/6010\n // see: https://github.com/getsentry/sentry-javascript/issues/5916\n for (let i = 0; i < handlerData.args.length; i++) {\n if (handlerData.args[i] === 'ref=Ref<') {\n handlerData.args[i + 1] = 'viewRef';\n break;\n }\n }\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: 'error',\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n","import { BaseClient, getCurrentHub, getEnvelopeEndpointWithUrlEncodedAuth, Scope, SDK_VERSION } from '@sentry/core';\nimport { ClientOptions, Event, EventHint, Options, Severity, SeverityLevel } from '@sentry/types';\nimport { createClientReportEnvelope, dsnToString, getEventDescription, logger, serializeEnvelope } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { WINDOW } from './helpers';\nimport { Breadcrumbs } from './integrations';\nimport { BREADCRUMB_INTEGRATION_ID } from './integrations/breadcrumbs';\nimport { BrowserTransportOptions } from './transports/types';\n\nexport interface BaseBrowserOptions {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n}\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see @sentry/types Options for more information.\n */\nexport interface BrowserOptions extends Options, BaseBrowserOptions {}\n\n/**\n * Configuration options for the Sentry Browser SDK Client class\n * @see BrowserClient for more information.\n */\nexport interface BrowserClientOptions extends ClientOptions, BaseBrowserOptions {}\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserClientOptions) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(options);\n\n if (options.sendClientReports && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n if (WINDOW.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level: Severity | SeverityLevel = 'info',\n hint?: EventHint,\n ): PromiseLike {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event, hint?: EventHint): void {\n // We only want to add the sentry event breadcrumb when the user has the breadcrumb integration installed and\n // activated its `sentry` option.\n // We also do not want to use the `Breadcrumbs` class here directly, because we do not want it to be included in\n // bundles, if it is not used by the SDK.\n // This all sadly is a bit ugly, but we currently don't have a \"pre-send\" hook on the integrations so we do it this\n // way for now.\n const breadcrumbIntegration = this.getIntegrationById(BREADCRUMB_INTEGRATION_ID) as Breadcrumbs | null;\n if (\n breadcrumbIntegration &&\n // We check for definedness of `options`, even though it is not strictly necessary, because that access to\n // `.sentry` below does not throw, in case users provided their own integration with id \"Breadcrumbs\" that does\n // not have an`options` field\n breadcrumbIntegration.options &&\n breadcrumbIntegration.options.sentry\n ) {\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n super.sendEvent(event, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, hint, scope);\n }\n\n /**\n * Sends client reports as an envelope.\n */\n private _flushOutcomes(): void {\n const outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n __DEBUG_BUILD__ && logger.log('No outcomes to send');\n return;\n }\n\n if (!this._dsn) {\n __DEBUG_BUILD__ && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n __DEBUG_BUILD__ && logger.log('Sending outcomes:', outcomes);\n\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, this._options);\n const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n try {\n const isRealNavigator = Object.prototype.toString.call(WINDOW && WINDOW.navigator) === '[object Navigator]';\n const hasSendBeacon = isRealNavigator && typeof WINDOW.navigator.sendBeacon === 'function';\n // Make sure beacon is not used if user configures custom transport options\n if (hasSendBeacon && !this._options.transportOptions) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n const sendBeacon = WINDOW.navigator.sendBeacon.bind(WINDOW.navigator);\n sendBeacon(url, serializeEnvelope(envelope));\n } else {\n // If beacon is not supported or if they are using the tunnel option\n // use our regular transport to send client reports to Sentry.\n this._sendEnvelope(envelope);\n }\n } catch (e) {\n __DEBUG_BUILD__ && logger.error(e);\n }\n }\n}\n","import { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n","import { StackFrame, StackLineParser, StackLineParserFn } from '@sentry/types';\nimport { createStackParser } from '@sentry/utils';\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chromeRegex =\n /^\\s*at (?:(.*\\).*?|.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nconst chrome: StackLineParserFn = line => {\n const parts = chromeRegex.exec(line);\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackLineParser: StackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line);\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackLineParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackLineParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackLineParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackLineParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\nexport const defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser, winjsStackLineParser];\n\nexport const defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getOriginalFunction } from '@sentry/utils';\n\nimport { WINDOW, wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n if (this._options.setTimeout) {\n fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(WINDOW, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObject = WINDOW as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = globalObject[target] && globalObject[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: () => void): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Hub, Integration, Primitive, StackParser } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { BrowserClient } from '../client';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\n/** JSDoc */\ntype GlobalHandlersIntegrations = Record;\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n private _installFunc: Record void) | undefined> = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n const options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n for (const key in options) {\n const installFunc = this._installFunc[key as GlobalHandlersIntegrationsOptionKeys];\n if (installFunc && options[key as GlobalHandlersIntegrationsOptionKeys]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key as GlobalHandlersIntegrationsOptionKeys] = undefined;\n }\n }\n }\n}\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler(): void {\n addInstrumentationHandler(\n 'error',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n const event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler(): void {\n addInstrumentationHandler(\n 'unhandledrejection',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (e: any) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n __DEBUG_BUILD__ && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub: Hub, error: EventHint['originalException'], event: Event, type: string): void {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndOptions(): [Hub, StackParser, boolean | undefined] {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const options = (client && client.getOptions()) || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return [hub, options.stackParser, options.attachStacktrace];\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration, StackParser } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { BrowserClient } from '../client';\nimport { exceptionFromError } from '../eventbuilder';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\ninterface LinkedErrorsOptions {\n key: string;\n limit: number;\n}\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: LinkedErrorsOptions['key'];\n\n /**\n * @inheritDoc\n */\n private readonly _limit: LinkedErrorsOptions['limit'];\n\n /**\n * @inheritDoc\n */\n public constructor(options: Partial = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n const client = getCurrentHub().getClient();\n if (!client) {\n return;\n }\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(client.getOptions().stackParser, self._key, self._limit, event, hint) : event;\n });\n }\n}\n\n/**\n * @inheritDoc\n */\nexport function _handler(\n parser: StackParser,\n key: string,\n limit: number,\n event: Event,\n hint?: EventHint,\n): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = _walkErrorTree(parser, limit, hint.originalException as ExtendedError, key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nexport function _walkErrorTree(\n parser: StackParser,\n limit: number,\n error: ExtendedError,\n key: string,\n stack: Exception[] = [],\n): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n const exception = exceptionFromError(parser, error[key]);\n return _walkErrorTree(parser, limit, error[key], key, [exception, ...stack]);\n}\n","import { Event, EventProcessor, Exception, Hub, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Dedupe';\n\n /**\n * @inheritDoc\n */\n public name: string = Dedupe.id;\n\n /**\n * @inheritDoc\n */\n private _previousEvent?: Event;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n const eventProcessor: EventProcessor = currentEvent => {\n const self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n __DEBUG_BUILD__ && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n };\n\n eventProcessor.id = this.name;\n addGlobalEventProcessor(eventProcessor);\n }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\n\nimport { WINDOW } from '../helpers';\n\n/** HttpContext integration collects information about HTTP request headers */\nexport class HttpContext implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'HttpContext';\n\n /**\n * @inheritDoc\n */\n public name: string = HttpContext.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(HttpContext)) {\n // if none of the information we want exists, don't bother\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (WINDOW.location && WINDOW.location.href);\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import { SentryError } from './error';\nimport { rejectedSyncPromise, resolvedSyncPromise, SyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise because buffer limit was reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n // eslint-disable-next-line no-plusplus\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n","import { TransportMakeRequestResponse } from '@sentry/types';\n\n// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nexport function disabledUntil(limits: RateLimits, category: string): number {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, category: string, now: number = Date.now()): boolean {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n { statusCode, headers }: TransportMakeRequestResponse,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *