{"version":3,"file":"static/chunks/pages/_app-9ac27b8b2962770f.js","sources":["webpack://_N_E/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/math.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/enums.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://_N_E/./node_modules/@popperjs/core/lib/createPopper.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/within.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://_N_E/./node_modules/@popperjs/core/lib/popper.js","webpack://_N_E/./node_modules/immer/dist/immer.esm.mjs","webpack://_N_E/./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","webpack://_N_E/./node_modules/@welldone-software/why-did-you-render/dist/umd/whyDidYouRender.min.js","webpack://_N_E/./node_modules/JSONPath/lib/jsonpath.js","webpack://_N_E/./node_modules/axios/index.js","webpack://_N_E/./node_modules/axios/lib/adapters/xhr.js","webpack://_N_E/./node_modules/axios/lib/axios.js","webpack://_N_E/./node_modules/axios/lib/cancel/CancelToken.js","webpack://_N_E/./node_modules/axios/lib/cancel/CanceledError.js","webpack://_N_E/./node_modules/axios/lib/cancel/isCancel.js","webpack://_N_E/./node_modules/axios/lib/core/Axios.js","webpack://_N_E/./node_modules/axios/lib/core/AxiosError.js","webpack://_N_E/./node_modules/axios/lib/core/InterceptorManager.js","webpack://_N_E/./node_modules/axios/lib/core/buildFullPath.js","webpack://_N_E/./node_modules/axios/lib/core/dispatchRequest.js","webpack://_N_E/./node_modules/axios/lib/core/mergeConfig.js","webpack://_N_E/./node_modules/axios/lib/core/settle.js","webpack://_N_E/./node_modules/axios/lib/core/transformData.js","webpack://_N_E/./node_modules/axios/lib/defaults/index.js","webpack://_N_E/./node_modules/axios/lib/defaults/transitional.js","webpack://_N_E/./node_modules/axios/lib/env/data.js","webpack://_N_E/./node_modules/axios/lib/helpers/bind.js","webpack://_N_E/./node_modules/axios/lib/helpers/buildURL.js","webpack://_N_E/./node_modules/axios/lib/helpers/combineURLs.js","webpack://_N_E/./node_modules/axios/lib/helpers/cookies.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://_N_E/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://_N_E/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://_N_E/./node_modules/axios/lib/helpers/null.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://_N_E/./node_modules/axios/lib/helpers/spread.js","webpack://_N_E/./node_modules/axios/lib/helpers/toFormData.js","webpack://_N_E/./node_modules/axios/lib/helpers/validator.js","webpack://_N_E/./node_modules/axios/lib/utils.js","webpack://_N_E/./node_modules/base64-js/index.js","webpack://_N_E/./node_modules/buffer/index.js","webpack://_N_E/./node_modules/charenc/charenc.js","webpack://_N_E/./node_modules/classnames/index.js","webpack://_N_E/./node_modules/connected-next-router/es/structure/plain/getIn.js","webpack://_N_E/./node_modules/connected-next-router/es/structure/plain/index.js","webpack://_N_E/./node_modules/connected-next-router/es/routerMethods.js","webpack://_N_E/./node_modules/connected-next-router/es/actions.js","webpack://_N_E/./node_modules/connected-next-router/es/utils/locationFromUrl.js","webpack://_N_E/./node_modules/connected-next-router/es/patchRouter.js","webpack://_N_E/./node_modules/connected-next-router/es/ConnectedRouter.js","webpack://_N_E/./node_modules/connected-next-router/es/utils/createInitialRouterState.js","webpack://_N_E/./node_modules/connected-next-router/es/reducer.js","webpack://_N_E/./node_modules/connected-next-router/es/middleware.js","webpack://_N_E/./node_modules/connected-next-router/es/index.js","webpack://_N_E/./node_modules/crypt/crypt.js","webpack://_N_E/./node_modules/crypto-js/aes.js","webpack://_N_E/./node_modules/crypto-js/cipher-core.js","webpack://_N_E/./node_modules/crypto-js/core.js","webpack://_N_E/./node_modules/crypto-js/enc-base64.js","webpack://_N_E/./node_modules/crypto-js/enc-utf16.js","webpack://_N_E/./node_modules/crypto-js/evpkdf.js","webpack://_N_E/./node_modules/crypto-js/format-hex.js","webpack://_N_E/./node_modules/crypto-js/hmac.js","webpack://_N_E/./node_modules/crypto-js/index.js","webpack://_N_E/./node_modules/crypto-js/lib-typedarrays.js","webpack://_N_E/./node_modules/crypto-js/md5.js","webpack://_N_E/./node_modules/crypto-js/mode-cfb.js","webpack://_N_E/./node_modules/crypto-js/mode-ctr-gladman.js","webpack://_N_E/./node_modules/crypto-js/mode-ctr.js","webpack://_N_E/./node_modules/crypto-js/mode-ecb.js","webpack://_N_E/./node_modules/crypto-js/mode-ofb.js","webpack://_N_E/./node_modules/crypto-js/pad-ansix923.js","webpack://_N_E/./node_modules/crypto-js/pad-iso10126.js","webpack://_N_E/./node_modules/crypto-js/pad-iso97971.js","webpack://_N_E/./node_modules/crypto-js/pad-nopadding.js","webpack://_N_E/./node_modules/crypto-js/pad-zeropadding.js","webpack://_N_E/./node_modules/crypto-js/pbkdf2.js","webpack://_N_E/./node_modules/crypto-js/rabbit-legacy.js","webpack://_N_E/./node_modules/crypto-js/rabbit.js","webpack://_N_E/./node_modules/crypto-js/rc4.js","webpack://_N_E/./node_modules/crypto-js/ripemd160.js","webpack://_N_E/./node_modules/crypto-js/sha1.js","webpack://_N_E/./node_modules/crypto-js/sha224.js","webpack://_N_E/./node_modules/crypto-js/sha256.js","webpack://_N_E/./node_modules/crypto-js/sha3.js","webpack://_N_E/./node_modules/crypto-js/sha384.js","webpack://_N_E/./node_modules/crypto-js/sha512.js","webpack://_N_E/./node_modules/crypto-js/tripledes.js","webpack://_N_E/./node_modules/crypto-js/x64-core.js","webpack://_N_E/./node_modules/dayjs/dayjs.min.js","webpack://_N_E/./node_modules/decode-uri-component/index.js","webpack://_N_E/./node_modules/dompurify/dist/purify.cjs.js","webpack://_N_E/./node_modules/filter-obj/index.js","webpack://_N_E/./node_modules/fingerprintjs2/fingerprint2.js","webpack://_N_E/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://_N_E/./node_modules/howler/dist/howler.js","webpack://_N_E/./node_modules/ieee754/index.js","webpack://_N_E/./node_modules/is-buffer/index.js","webpack://_N_E/./node_modules/isomorphic-dompurify/browser.js","webpack://_N_E/./node_modules/local-storage/local-storage.js","webpack://_N_E/./node_modules/local-storage/parse.js","webpack://_N_E/./node_modules/local-storage/stub.js","webpack://_N_E/./node_modules/local-storage/tracking.js","webpack://_N_E/./node_modules/lodash.debounce/index.js","webpack://_N_E/./node_modules/lodash.isarray/index.js","webpack://_N_E/./node_modules/lodash.isplainobject/index.js","webpack://_N_E/./node_modules/md5/md5.js","webpack://_N_E/./node_modules/react-i18next/dist/es/unescape.js","webpack://_N_E/./node_modules/react-i18next/dist/es/context.js","webpack://_N_E/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://_N_E/./node_modules/react-i18next/dist/es/utils.js","webpack://_N_E/./node_modules/react-i18next/dist/es/Trans.js","webpack://_N_E/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://_N_E/./node_modules/react-i18next/dist/es/Translation.js","webpack://_N_E/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://_N_E/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://_N_E/./node_modules/next-i18next/dist/esm/config/defaultConfig.js","webpack://_N_E/./node_modules/next-i18next/dist/esm/config/createConfig.js","webpack://_N_E/./node_modules/i18next/dist/esm/i18next.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://_N_E/./node_modules/next-i18next/dist/esm/createClient/browser.js","webpack://_N_E/./node_modules/next-i18next/dist/esm/appWithTranslation.js","webpack://_N_E/./node_modules/next-seo/lib/next-seo.module.js","webpack://_N_E/./node_modules/next/dist/client/get-domain-locale.js","webpack://_N_E/./node_modules/next/dist/client/link.js","webpack://_N_E/./node_modules/next/dist/client/normalize-locale-path.js","webpack://_N_E/./node_modules/next/dist/client/use-intersection.js","webpack://_N_E/./node_modules/next/dist/shared/lib/amp-context.js","webpack://_N_E/./node_modules/next/dist/shared/lib/amp-mode.js","webpack://_N_E/./node_modules/next/dist/shared/lib/app-router-context.js","webpack://_N_E/./node_modules/next/dist/shared/lib/dynamic.js","webpack://_N_E/./node_modules/next/dist/shared/lib/head.js","webpack://_N_E/./node_modules/next/dist/shared/lib/loadable-context.js","webpack://_N_E/./node_modules/next/dist/shared/lib/loadable.js","webpack://_N_E/./node_modules/next/dist/shared/lib/side-effect.js","webpack://_N_E/./node_modules/styled-jsx/dist/index/index.js","webpack://_N_E/./node_modules/styled-jsx/style.js","webpack://_N_E/./server/config/api.config.js","webpack://_N_E/./server/config/api.server.config.js","webpack://_N_E/./server/config/cookie.config.js","webpack://_N_E/./server/config/language.config.js","webpack://_N_E/./server/config/server.config.js","webpack://_N_E/./server/config/services.config.js","webpack://_N_E/./server/config/social.config.js","webpack://_N_E/./server/config/updateFromLsConfig.js","webpack://_N_E/./server/constants/DOMAIN.js","webpack://_N_E/./src/LegacyApp/client/components/TestGTM/TestMenuConfig.tsx","webpack://_N_E/./src/LegacyApp/client/wrappers/ehanceForwardRef.jsx","webpack://_N_E/./src/LegacyApp/client/components/button/button.jsx","webpack://_N_E/./src/LegacyApp/client/components/button/button.style.js","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/buttonSubmit.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/button.ts","webpack://_N_E/./src/LegacyApp/client/components/clickOutSideWrapper/clickOutsideWrapper.jsx","webpack://_N_E/./src/LegacyApp/client/components/currencySymbol/currencySymbol.tsx","webpack://_N_E/./src/LegacyApp/client/components/currencySymbol/tokenSymbol.tsx","webpack://_N_E/./src/LegacyApp/client/components/dropdown/dropdownMenu/DropdownElement.styled.ts","webpack://_N_E/./src/LegacyApp/client/components/dropdown/dropdownMenu/dropdownMenu.styled.js","webpack://_N_E/./src/LegacyApp/client/components/install/install.style.js","webpack://_N_E/./src/LegacyApp/client/components/install/install.jsx","webpack://_N_E/./src/LegacyApp/client/components/install/install.container.js","webpack://_N_E/./src/LegacyApp/client/components/license/license.tsx","webpack://_N_E/./src/LegacyApp/client/components/loader/Loader.styled.ts","webpack://_N_E/./src/LegacyApp/client/components/loader/loadingComponent/LoadingComponent.styled.js","webpack://_N_E/./src/LegacyApp/client/components/loader/loadingComponent/loadingComponent.jsx","webpack://_N_E/./src/LegacyApp/client/components/loader/loadingComponent/loadingComponent.container.js","webpack://_N_E/./src/LegacyApp/client/components/loader/loadable/Loading.tsx","webpack://_N_E/./src/LegacyApp/client/components/loader/loadable/loadable.ts","webpack://_N_E/./src/LegacyApp/client/components/loader/loader.tsx","webpack://_N_E/./src/LegacyApp/client/components/loading/FullScreenLoading.tsx","webpack://_N_E/./src/LegacyApp/client/components/loadingLogo/loading.jsx","webpack://_N_E/./src/LegacyApp/client/components/notificationIcon/NotificationIcon.tsx","webpack://_N_E/./src/LegacyApp/client/components/strategy/conditionBlockEdit/ConditionBlockEdit.styled.ts","webpack://_N_E/./src/LegacyApp/client/components/strategy/strategyAdvancedElementV3/ExpertConfig.styled.js","webpack://_N_E/./src/LegacyApp/client/components/svg/Svg.tsx","webpack://_N_E/./src/LegacyApp/client/components/tooltip/index.js","webpack://_N_E/./src/LegacyApp/client/config.ts","webpack://_N_E/./src/LegacyApp/client/game_config.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/actionService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/affiliateService.js","webpack://_N_E/./node_modules/nanoid/index.browser.js","webpack://_N_E/./src/LegacyApp/client/modules/app/appService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/audioService.ts","webpack://_N_E/./src/LegacyApp/client/store/audio/audio.actions.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/axios.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/balanceService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/cardsService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/currencyService.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/pairwise.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js","webpack://_N_E/./src/LegacyApp/client/modules/app/epicService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/errorsService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/featureService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/fetchScript.ts","webpack://_N_E/./src/modules/captcha/methods/installRecaptcha.ts","webpack://_N_E/./src/modules/captcha/methods/getCaptcha.ts","webpack://_N_E/./src/modules/captcha/captcha.constants.ts","webpack://_N_E/./src/modules/captcha/methods/executeCaptcha.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/requestService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/fetchService.js","webpack://_N_E/./src/modules/captcha/methods/checkIsUrlWithCaptcha.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/fingerprintService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/gameService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/gameSessionService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/getPerGameInitObject.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/hiloService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/notificationService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/reducers/reducerService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/reducers/setPerGame.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/regexService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/regexString.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/routingService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/sentryService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/sortService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/sportsService.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/time.js","webpack://_N_E/./src/LegacyApp/client/modules/app/timeService.js","webpack://_N_E/./src/LegacyApp/methods/auth/getServerToken.js","webpack://_N_E/./src/LegacyApp/client/modules/app/tokenService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/userService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/validateService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/vendorService.js","webpack://_N_E/./src/LegacyApp/client/modules/app/verificationServcie.ts","webpack://_N_E/./node_modules/laravel-echo/dist/echo.js","webpack://_N_E/./src/LegacyApp/client/modules/app/websocketService.ts","webpack://_N_E/./node_modules/bignumber.js/bignumber.mjs","webpack://_N_E/./src/LegacyApp/client/modules/math/mathService.js","webpack://_N_E/./src/LegacyApp/client/modules/style/components/MainDashboard.styled.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/components/descriptionBox.style.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/defaults.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/methods/calcStyle.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/methods/chatViewport.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/currencyLogoStyle.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/dashboard.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/fontSize.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/importantFunc.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/transactionsBackground.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/theme.ts","webpack://_N_E/./src/LegacyApp/client/modules/translation/TransNamespace.ts","webpack://_N_E/./src/LegacyApp/client/modules/translation/checkIsTransProps.ts","webpack://_N_E/./src/LegacyApp/client/modules/translation/translate.constants.ts","webpack://_N_E/./src/common/components/localization/Translate/Translate.tsx","webpack://_N_E/./src/LegacyApp/client/modules/translation/translate.tsx","webpack://_N_E/./src/LegacyApp/client/modules/translation/translationService.ts","webpack://_N_E/./src/LegacyApp/client/store/affiliate/affiliate.actions.js","webpack://_N_E/./src/LegacyApp/client/store/affiliate/affiliate.constants.js","webpack://_N_E/./src/LegacyApp/client/store/alerts/alerts.actions.js","webpack://_N_E/./src/LegacyApp/client/store/alerts/alerts.constants.js","webpack://_N_E/./src/LegacyApp/client/store/app/app.actions.js","webpack://_N_E/./src/LegacyApp/client/store/app/app.constants.ts","webpack://_N_E/./src/LegacyApp/client/store/confirm/confirm.actions.ts","webpack://_N_E/./src/LegacyApp/client/store/confirm/confirm.constants.js","webpack://_N_E/./src/LegacyApp/client/store/converter/converter.actions.js","webpack://_N_E/./src/LegacyApp/client/store/converter/converter.constants.js","webpack://_N_E/./src/LegacyApp/client/store/dropdown/dropdown.constants.js","webpack://_N_E/./src/LegacyApp/client/store/fetch/fetch.actions.js","webpack://_N_E/./src/LegacyApp/client/store/fetch/fetch.constants.js","webpack://_N_E/./src/LegacyApp/client/store/fetch/methods/responseModal.ts","webpack://_N_E/./src/LegacyApp/client/store/fetch/errors.thunk.js","webpack://_N_E/./src/LegacyApp/client/store/fetch/methods/cloudflareError.tsx","webpack://_N_E/./src/LegacyApp/client/store/fetch/fetch.thunk.js","webpack://_N_E/./src/LegacyApp/client/store/forms/forms.actions.js","webpack://_N_E/./src/LegacyApp/client/store/forms/forms.constants.js","webpack://_N_E/./src/LegacyApp/client/store/friends/friends.actions.js","webpack://_N_E/./src/LegacyApp/client/store/friends/friends.constants.js","webpack://_N_E/./src/LegacyApp/client/store/globalStatistics/globalStatistics.actions.js","webpack://_N_E/./src/LegacyApp/client/store/globalStatistics/globalStatistics.constants.js","webpack://_N_E/./src/LegacyApp/client/store/gtm/gtm.actions.js","webpack://_N_E/./src/LegacyApp/client/store/gtm/gtm.constants.js","webpack://_N_E/./src/LegacyApp/client/store/loader/loader.actions.js","webpack://_N_E/./src/LegacyApp/client/store/loader/loader.constants.js","webpack://_N_E/./src/LegacyApp/client/store/notification/notification.actions.ts","webpack://_N_E/./src/LegacyApp/client/store/notification/notification.constants.ts","webpack://_N_E/./src/LegacyApp/client/store/onesignal/onesignal.constants.js","webpack://_N_E/./src/LegacyApp/client/store/onesignal/onesignal.epic.js","webpack://_N_E/./src/LegacyApp/client/store/options/options.actions.js","webpack://_N_E/./src/LegacyApp/client/store/options/options.constants.ts","webpack://_N_E/./src/LegacyApp/client/store/options/options.with.confirmation.ts","webpack://_N_E/./src/LegacyApp/client/store/options/thunks/optionChange.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/preferences/preferences.actions.js","webpack://_N_E/./src/LegacyApp/client/store/preferences/preferences.constants.js","webpack://_N_E/./src/LegacyApp/client/store/privateMessages/privateMessages.actions.js","webpack://_N_E/./src/LegacyApp/client/store/privateMessages/privateMessages.constants.js","webpack://_N_E/./src/LegacyApp/client/store/rain/rain.constants.js","webpack://_N_E/./src/LegacyApp/client/store/registry/registry.actions.js","webpack://_N_E/./src/LegacyApp/client/store/registry/registry.constants.ts","webpack://_N_E/./src/LegacyApp/client/store/serverData/serverData.actions.js","webpack://_N_E/./src/LegacyApp/client/store/serverData/serverData.constants.js","webpack://_N_E/./src/LegacyApp/client/store/tip/tip.actions.js","webpack://_N_E/./src/LegacyApp/client/store/tip/tip.constants.js","webpack://_N_E/./src/LegacyApp/client/store/transactions/methods/createTableQueryPropertyKey.ts","webpack://_N_E/./src/LegacyApp/client/store/transactions/thunks/getTransactions.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/transactions/thunks/fetchTransactions.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/transactions/transactions.actions.ts","webpack://_N_E/./src/LegacyApp/client/store/transactions/transactions.constants.ts","webpack://_N_E/./src/LegacyApp/client/store/twoFactorAuthentication/twoFactorAuthentication.actions.js","webpack://_N_E/./src/LegacyApp/client/store/twoFactorAuthentication/twoFactorAuthentication.constants.js","webpack://_N_E/./src/LegacyApp/client/store/onesignal/onesignal.actions.js","webpack://_N_E/./src/LegacyApp/client/store/user/thunks/getUserData.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/user/thunks/newMyBet.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/user/thunks/user.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/user/user.actions.js","webpack://_N_E/./src/LegacyApp/client/store/user/user.constants.js","webpack://_N_E/./src/LegacyApp/client/store/vault/vault.actions.js","webpack://_N_E/./src/LegacyApp/client/store/vault/vault.constants.js","webpack://_N_E/./src/LegacyApp/client/store/websocket/thunks/bindSocketChannelEvent.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/websocket/thunks/getInstance.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/websocket/websocket.actions.ts","webpack://_N_E/./src/LegacyApp/client/store/websocket/websocket.constants.ts","webpack://_N_E/./src/LegacyApp/client/wrappers/enhanceWithErrorHandling.jsx","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/takeUntil.js","webpack://_N_E/./src/LegacyApp/client/wrappers/enhanceWithAsyncStore.tsx","webpack://_N_E/./src/LegacyApp/client/wrappers/enhanceWithCurrencyConveter.jsx","webpack://_N_E/./src/LegacyApp/client/wrappers/enhanceComponent.jsx","webpack://_N_E/./src/LegacyApp/client/modules/app/devService.jsx","webpack://_N_E/./src/LegacyApp/hooks/app/useForceRerender.ts","webpack://_N_E/./src/LegacyApp/hooks/app/useInterval.ts","webpack://_N_E/./src/LegacyApp/hooks/fetch/useFetchApi.ts","webpack://_N_E/./src/LegacyApp/hooks/render/usePrevious.ts","webpack://_N_E/./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack://_N_E/./src/LegacyApp/hooks/render/useViewport.ts","webpack://_N_E/./src/LegacyApp/hooks/store/useAppDispatch.ts","webpack://_N_E/./src/LegacyApp/hooks/store/useAppSelector.ts","webpack://_N_E/./src/LegacyApp/hooks/translation/useAddNamespace.ts","webpack://_N_E/./src/LegacyApp/hooks/wallet/useCurrenciesSettings.ts","webpack://_N_E/./src/LegacyApp/methods/app/isWindowVisible.ts","webpack://_N_E/./src/LegacyApp/methods/currency/getLimits.ts","webpack://_N_E/./src/LegacyApp/methods/fetch/createHeaders.ts","webpack://_N_E/./src/LegacyApp/methods/fetch/createApiHash.ts","webpack://_N_E/./src/LegacyApp/methods/fetch/parseApiUrl.ts","webpack://_N_E/./src/LegacyApp/methods/i18n/getTranslationFromInstance.ts","webpack://_N_E/./src/LegacyApp/methods/math/countPrecision.ts","webpack://_N_E/./src/LegacyApp/methods/math/scientificToDecimal.ts","webpack://_N_E/./src/LegacyApp/methods/store/setReducer.ts","webpack://_N_E/./src/LegacyApp/mocks/tableMocks.js","webpack://_N_E/./src/LegacyApp/types/wallet/CurrencyType.ts","webpack://_N_E/./src/common/components/contentLoaders/RectangleLoader.tsx","webpack://_N_E/./src/common/components/contentLoaders/loaders.config.js","webpack://_N_E/./src/common/components/default/DeveloperData/DeveloperData.tsx","webpack://_N_E/./src/common/components/default/Image/Image.tsx","webpack://_N_E/./src/common/components/default/LinkTo/LinkTo.context.ts","webpack://_N_E/./src/common/components/default/LinkTo/LinkTo.tsx","webpack://_N_E/./src/common/components/default/PrettyNumber/NumericLabel.tsx","webpack://_N_E/./src/common/components/default/PrettyNumber/PrettyNumber.tsx","webpack://_N_E/./src/common/components/default/Redirect/Redirect.tsx","webpack://_N_E/./src/LegacyApp/hooks/seo/useMetaData.ts","webpack://_N_E/./src/LegacyApp/hooks/seo/useMeta.js","webpack://_N_E/./src/LegacyApp/hooks/translation/useStringTrans.ts","webpack://_N_E/./src/common/components/default/Seo/methods/getNoIndexingProperty.tsx","webpack://_N_E/./src/common/methods/createDomainPath/createDomainPath.ts","webpack://_N_E/./src/common/components/default/Seo/Seo.tsx","webpack://_N_E/./src/common/components/footer/Footer.styled.ts","webpack://_N_E/./src/common/components/priceConverter/PriceConverter.tsx","webpack://_N_E/./src/ui/components/carousel/index.tsx","webpack://_N_E/./src/common/components/footer/CurrencyIcon.styled.ts","webpack://_N_E/./src/common/components/footer/CurrenciesCarousel.tsx","webpack://_N_E/./src/common/components/footer/FooterTopRow.tsx","webpack://_N_E/./src/LegacyApp/client/components/license/emLicense.tsx","webpack://_N_E/./src/LegacyApp/client/components/license/rngLicence.tsx","webpack://_N_E/./src/common/components/footer/FooterBottomRow.tsx","webpack://_N_E/./src/common/components/footer/Footer.tsx","webpack://_N_E/./src/common/components/home/Home.global.styled.ts","webpack://_N_E/./src/LegacyApp/client/modules/style/mixins/homeBackground.ts","webpack://_N_E/./src/common/components/home/WelcomSection/components/BonusCodesPromo.tsx","webpack://_N_E/./src/common/components/home/WelcomSection/components/Promotions.styled.ts","webpack://_N_E/./src/common/components/home/WelcomSection/components/RakebackPromo.tsx","webpack://_N_E/./src/common/components/home/WelcomSection/components/VipWheelPromo.tsx","webpack://_N_E/./src/common/components/home/WelcomSection/components/WolfRacePromo.tsx","webpack://_N_E/./node_modules/@fortawesome/fontawesome-svg-core/index.mjs","webpack://_N_E/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://_N_E/./src/common/components/icons/AwesomeIcon.tsx","webpack://_N_E/./src/common/components/icons/FlagIcon.tsx","webpack://_N_E/./src/common/components/icons/Icon.jsx","webpack://_N_E/./src/common/components/input/NumberInput.tsx","webpack://_N_E/./src/common/components/layout/ScrollCards/ScrollMenu/utils.ts","webpack://_N_E/./src/common/components/layout/Table/components/Table.styled.ts","webpack://_N_E/./src/common/components/number/CurrencyValue.tsx","webpack://_N_E/./src/common/components/number/StyledProfit.ts","webpack://_N_E/./src/common/methods/roundNumber/roundStringNumber.ts","webpack://_N_E/./src/common/methods/toFixed/toFixed.ts","webpack://_N_E/./src/common/components/number/balanceAmount/balanceAmount.jsx","webpack://_N_E/./src/common/components/storeControllers/ModalStoreController.tsx","webpack://_N_E/./src/common/components/text/Content/Content.styled.ts","webpack://_N_E/./src/common/components/user/UserLogin/OnlineIcon.tsx","webpack://_N_E/./src/common/components/user/UserLogin/RaceBadge.tsx","webpack://_N_E/./src/common/constants/config/csp.js","webpack://_N_E/./src/common/constants/config/nextConfig.ts","webpack://_N_E/./src/common/constants/config/sounds.ts","webpack://_N_E/./src/common/constants/fetch/loading.ids.ts","webpack://_N_E/./src/common/constants/modal/ids.modal.constants.ts","webpack://_N_E/./src/common/constants/modal/priority.modal.constants.ts","webpack://_N_E/./src/common/constants/routing/ids.routing.constants.ts","webpack://_N_E/./src/common/constants/user/HIDDEN_USER.ts","webpack://_N_E/./src/common/context/app/FullscreenLoading.context.ts","webpack://_N_E/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://_N_E/./src/common/controllers/cookieService.ts","webpack://_N_E/./src/common/controllers/currency/currenciesSettings.ts","webpack://_N_E/./src/common/components/text/SeoPageContent/SeoPageContentWrapper.global.styled.ts","webpack://_N_E/./src/common/components/text/SeoPageContent/SeoPageContent.tsx","webpack://_N_E/./src/common/components/text/Content/Content.jsx","webpack://_N_E/./src/common/components/breadcrumbs/Breadcrumbs.tsx","webpack://_N_E/./src/common/hoc/pageEnhancer.tsx","webpack://_N_E/./src/common/hooks/useEventListener.ts","webpack://_N_E/./src/common/hooks/useId.ts","webpack://_N_E/./src/common/hooks/useOnMount.ts","webpack://_N_E/./src/common/hooks/useStateEffect.ts","webpack://_N_E/./src/common/icons/bottom-menu/options.tsx","webpack://_N_E/./src/common/icons/casino-v2.tsx","webpack://_N_E/./src/common/icons/chat.tsx","webpack://_N_E/./src/common/icons/lobby.tsx","webpack://_N_E/./src/common/icons/race/rank-trophy.tsx","webpack://_N_E/./src/common/icons/sport.tsx","webpack://_N_E/./src/common/icons/support.tsx","webpack://_N_E/./src/common/icons/trending.tsx","webpack://_N_E/./src/common/icons/ui/Close.tsx","webpack://_N_E/./src/common/icons/ui/caret-down.tsx","webpack://_N_E/./src/common/icons/ui/check.tsx","webpack://_N_E/./src/common/icons/user-menu/logout.tsx","webpack://_N_E/./src/common/icons/user-menu/transactions.tsx","webpack://_N_E/./src/common/icons/wallet.tsx","webpack://_N_E/./src/common/icons/wolf.jsx","webpack://_N_E/./src/common/methods/domPurifySanitize.ts","webpack://_N_E/./src/common/methods/getClientSize.ts","webpack://_N_E/./src/common/methods/getDeviceType.ts","webpack://_N_E/./src/common/methods/getPathLocalized/getPathLocalized.ts","webpack://_N_E/./src/common/methods/checkIsLocalePathname/checkIsLocaleInPathname.ts","webpack://_N_E/./src/common/methods/getPathnameWithoutLang/getPathnameWithoutLang.ts","webpack://_N_E/./src/common/methods/getValueWithElse.ts","webpack://_N_E/./src/common/methods/getVendorUserData.ts","webpack://_N_E/./src/common/methods/isFunction.ts","webpack://_N_E/./src/common/methods/isTrueOrZero.ts","webpack://_N_E/./src/common/methods/itMayBeTrueTrustMe.ts","webpack://_N_E/./src/common/methods/jsonToString.ts","webpack://_N_E/./src/common/methods/preventDefault.ts","webpack://_N_E/./src/common/methods/roundNumber/roundNumber.ts","webpack://_N_E/./src/common/methods/stringToJson.ts","webpack://_N_E/./src/common/routes/Routes.ts","webpack://_N_E/./src/common/methods/removeEmptyProperties.ts","webpack://_N_E/./src/common/selectors/app.selectors.ts","webpack://_N_E/./src/common/selectors/notifications.selectors.ts","webpack://_N_E/./src/common/selectors/router.selectors.ts","webpack://_N_E/./src/common/selectors/stats.selectors.ts","webpack://_N_E/./src/common/selectors/user.selectors.ts","webpack://_N_E/./src/LegacyApp/methods/app/checkIsNewFeatures.ts","webpack://_N_E/./src/common/store/thunks/getNewFeatures.thunk.ts","webpack://_N_E/./src/modules/SideMenu/hooks/useSideMenu.ts","webpack://_N_E/./src/modules/balance/index.tsx","webpack://_N_E/./src/modules/balance/store/balance.actions.ts","webpack://_N_E/./src/modules/balance/store/balance.constants.ts","webpack://_N_E/./src/modules/balance/styles/BalanceCurrency.styled.ts","webpack://_N_E/./src/modules/captcha/methods/mapCaptchaLanguage.ts","webpack://_N_E/./src/modules/casino/constants/casino.page.config.ts","webpack://_N_E/./src/modules/chat/components/chatToggleWrapper/ChatToggleWrapper.tsx","webpack://_N_E/./src/modules/chat/components/message/components/text/MessageTextStyled.ts","webpack://_N_E/./src/modules/chat/constants/BOTS.ts","webpack://_N_E/./src/modules/chat/methods/checkChatDisabled.ts","webpack://_N_E/./src/modules/chat/methods/checkRealUserName.ts","webpack://_N_E/./src/modules/chat/methods/sortUsers.ts","webpack://_N_E/./src/modules/chat/methods/toggleChatVisibilityBodyClass.ts","webpack://_N_E/./src/modules/chat/store/ChatStoreController.tsx","webpack://_N_E/./src/modules/chat/store/chat.actions.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/pendingActions.js","webpack://_N_E/./src/modules/chat/store/chat.constants.ts","webpack://_N_E/./src/modules/chat/store/selectors/useChatDisabled.ts","webpack://_N_E/./src/modules/chat/store/selectors/useChatVisible.ts","webpack://_N_E/./src/modules/chat/store/slices/contentType.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/disabled.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/message.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/privateActive.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/room.slice.ts","webpack://_N_E/./src/modules/chat/methods/parseStream.ts","webpack://_N_E/./src/modules/chat/store/slices/stream.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/users.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/visible.slice.ts","webpack://_N_E/./src/modules/chat/store/slices/width.slice.ts","webpack://_N_E/./src/modules/chat/methods/getUsersList.ts","webpack://_N_E/./src/modules/chat/store/thunks/getRoomStream.thunk.ts","webpack://_N_E/./src/modules/cookies/types/cookiesKeys.type.ts","webpack://_N_E/./src/modules/games/Game/constants/availableGames.ts","webpack://_N_E/./src/modules/games/Game/methods/getGamesList.ts","webpack://_N_E/./src/modules/games/Game/store/game/game.selectors.ts","webpack://_N_E/./src/modules/games/Game/store/gameAutobet/gameAutobet.constants.ts","webpack://_N_E/./src/modules/games/Game/store/gameSession/gameSession.actions.js","webpack://_N_E/./src/modules/games/Game/store/gameSession/gameSession.constants.js","webpack://_N_E/./src/modules/games/Game/store/gameValidation/gameValidation.actions.js","webpack://_N_E/./src/modules/games/Game/store/gameValidation/gameValidation.constants.js","webpack://_N_E/./src/modules/games/PlinkoGame/types/index.ts","webpack://_N_E/./src/modules/header/Header.styled.ts","webpack://_N_E/./src/modules/header/HeaderLogo.styled.ts","webpack://_N_E/./src/modules/vip/components/level/level.styled.ts","webpack://_N_E/./src/modules/vip/components/level/level.tsx","webpack://_N_E/./src/modules/header/HeaderMenu/VipSection.tsx","webpack://_N_E/./src/modules/localStorage/methods/lsClear.ts","webpack://_N_E/./src/modules/localStorage/methods/lsGet.ts","webpack://_N_E/./src/modules/localStorage/methods/lsSet.ts","webpack://_N_E/./src/modules/localStorage/types/localStorageKeys.type.ts","webpack://_N_E/./src/modules/modals/components/RakebackModal/generators/generateUserVipRakeBackFunds.ts","webpack://_N_E/./src/common/constants/modal/query.modal.constants.ts","webpack://_N_E/./src/modules/modals/store/modal.actions.ts","webpack://_N_E/./src/modules/modals/store/modal.constants.ts","webpack://_N_E/./src/modules/modals/store/modal.selectors.ts","webpack://_N_E/./src/modules/page/PageConfig/PageConfig.provider.tsx","webpack://_N_E/./src/modules/slots/constants/SlotMenu.constants.tsx","webpack://_N_E/./src/modules/slots/constants/slots.page.config.ts","webpack://_N_E/./src/modules/slots/services/Slots.service.ts","webpack://_N_E/./src/common/helpers/createSlug.ts","webpack://_N_E/./src/modules/slots/store/slots.types.ts","webpack://_N_E/./src/modules/sports/components/Breadcrumbs/Breadcrumbs.tsx","webpack://_N_E/./src/modules/sports/constants/betSlip.ts","webpack://_N_E/./src/modules/sports/constants/sports.page.config.ts","webpack://_N_E/./src/modules/sports/services/sports.services.ts","webpack://_N_E/./src/modules/sports/store/selectors/sportsBetSlip.selectors.ts","webpack://_N_E/./src/modules/sports/store/sports/sports.actions.js","webpack://_N_E/./src/modules/sports/store/sports/sports.constants.js","webpack://_N_E/./src/modules/sports/store/sports/sports.thunk.ts","webpack://_N_E/./src/modules/sports/store/sportsBetSlip/sportsBetSlip.actions.ts","webpack://_N_E/./src/modules/sports/store/sportsBetSlip/sportsBetSlip.constants.ts","webpack://_N_E/./src/modules/sports/store/sportsBetSlip/sportsBetSlip.thunk.ts","webpack://_N_E/./src/modules/sports/methods/isBetSlipToOpen.ts","webpack://_N_E/./src/modules/sports/types/BetSlipDetails/BetSlipDetailsType.ts","webpack://_N_E/./src/modules/sportsbook/@types/operator.sports.ts","webpack://_N_E/./src/modules/sportsbook/constants/sportsbook.page.config.ts","webpack://_N_E/./src/modules/sportsbook/methods/clearSportsBookSession.ts","webpack://_N_E/./src/modules/support/components/SupportButton.tsx","webpack://_N_E/./src/modules/support/contants/SUPPORT_APP_KEY.ts","webpack://_N_E/./src/modules/support/hooks/useSupportToggle.ts","webpack://_N_E/./src/modules/support/store/thunks/toggleSupport.thunk.ts","webpack://_N_E/./src/modules/support/methods/supportService.ts","webpack://_N_E/./src/modules/support/store/slices/error.slice.ts","webpack://_N_E/./src/modules/support/store/slices/open.slice.ts","webpack://_N_E/./src/modules/support/store/slices/unread.slice.ts","webpack://_N_E/./src/modules/support/store/support.actions.ts","webpack://_N_E/./src/modules/support/store/thunks/supportInit.thunk.ts","webpack://_N_E/./src/modules/transactions/constants/TableId.ts","webpack://_N_E/./src/modules/transactions/methods/parseTransactionsData.ts","webpack://_N_E/./src/modules/transactions/transactionsService.ts","webpack://_N_E/./src/modules/user-verifiaction/methods/generateUserVerificationStatusUrl.ts","webpack://_N_E/./src/modules/user-verifiaction/types/UserVerificationLevelStatus.ts","webpack://_N_E/./src/modules/vip/components/BonusCode/InsaneBonusCodeWrapper.tsx","webpack://_N_E/./src/modules/vip/hooks/useInsaneBonusCode.ts","webpack://_N_E/./src/modules/vip/components/VipIconProgress.tsx","webpack://_N_E/./src/modules/vip/components/VipLeftToNextLevel.tsx","webpack://_N_E/./src/modules/vip/constants/VIP_BENEFITS.ts","webpack://_N_E/./src/modules/vip/constants/vip.config.ts","webpack://_N_E/./src/modules/vip/hooks/useNextLevel.ts","webpack://_N_E/./src/modules/vip/hooks/useVip.ts","webpack://_N_E/./src/modules/vip/hooks/useVipBenefitState.ts","webpack://_N_E/./src/modules/vip/store/selectors/vip.selectors.ts","webpack://_N_E/./src/modules/vip/store/slices/level.slice.ts","webpack://_N_E/./src/modules/vip/store/vip.constants.ts","webpack://_N_E/./src/modules/vip/store/slices/levels.slice.ts","webpack://_N_E/./src/modules/vip/store/slices/loaded.slice.ts","webpack://_N_E/./src/modules/vip/store/slices/status.slice.ts","webpack://_N_E/./src/modules/vip/methods/mapLevelsDTO.ts","webpack://_N_E/./src/modules/vip/store/thunks/vipGetLevels.thunk.ts","webpack://_N_E/./src/modules/vip/store/thunks/vipStatusUpdate.thunk.ts","webpack://_N_E/./src/modules/vip/store/thunks/vipWheelGetFunds.thunk.ts","webpack://_N_E/./src/modules/vip/methods/generateUserVipWheelFundsUrl.ts","webpack://_N_E/./src/modules/vip/store/vip.actions.ts","webpack://_N_E/./src/common/components/default/Localization/Localization.tsx","webpack://_N_E/./src/LegacyApp/hooks/app/useLocalization.js","webpack://_N_E/./src/common/components/default/PageLoadingProgressBar/PageLoadingProgressBar.tsx","webpack://_N_E/./src/common/context/app/StaticPropsContext.ts","webpack://_N_E/./node_modules/next-redux-wrapper/es6/index.js","webpack://_N_E/./src/modules/support/store/thunks/supportUpdateUser.thunk.ts","webpack://_N_E/./src/modules/support/methods/updateUserSupport.ts","webpack://_N_E/./src/modules/vip/store/vip.epic.ts","webpack://_N_E/./src/modules/vip/store/thunks/vipInitial.thunk.ts","webpack://_N_E/./src/modules/vip/store/thunks/vipResetState.thunk.ts","webpack://_N_E/./src/modules/balance/store/balance.epic.ts","webpack://_N_E/./src/modules/balance/store/thunks/getBalances.thunk.ts","webpack://_N_E/./src/modules/support/store/support.epic.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/urlService.js","webpack://_N_E/./src/LegacyApp/client/store/app/app.epic.js","webpack://_N_E/./src/modules/vip/store/thunks/vipIncreaseLevel.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/user/user.epic.js","webpack://_N_E/./src/LegacyApp/client/modules/app/withdrawService.js","webpack://_N_E/./src/LegacyApp/client/store/confirm/confirm.epic.js","webpack://_N_E/./src/LegacyApp/client/store/transactions/transactions.epic.js","webpack://_N_E/./src/LegacyApp/client/store/twoFactorAuthentication/twoFactorAuthentication.epic.js","webpack://_N_E/./src/LegacyApp/client/modules/app/statsService.js","webpack://_N_E/./src/LegacyApp/client/store/globalStatistics/globalStatistics.epic.js","webpack://_N_E/./src/LegacyApp/client/store/forms/forms.epic.js","webpack://_N_E/./src/LegacyApp/client/store/notification/notification.epic.js","webpack://_N_E/./src/LegacyApp/client/store/affiliate/affiliate.epic.js","webpack://_N_E/./src/LegacyApp/client/store/faucet/faucet.constants.js","webpack://_N_E/./src/LegacyApp/client/store/faucet/faucet.epic.js","webpack://_N_E/./src/LegacyApp/client/store/faucet/faucet.actions.js","webpack://_N_E/./src/LegacyApp/client/store/tip/tip.epic.js","webpack://_N_E/./src/LegacyApp/client/store/websocket/thunks/leaveChannel.thunk.ts","webpack://_N_E/./src/LegacyApp/client/store/websocket/websocket.epic.js","webpack://_N_E/./src/LegacyApp/client/store/gtm/gtm.epic.js","webpack://_N_E/./src/LegacyApp/client/store/alerts/alerts.epic.js","webpack://_N_E/./src/LegacyApp/client/store/rain/rain.epic.js","webpack://_N_E/./src/LegacyApp/client/store/vault/vault.epic.js","webpack://_N_E/./src/LegacyApp/client/store/privateMessages/privateMessages.epic.js","webpack://_N_E/./src/LegacyApp/client/store/friends/friends.epic.js","webpack://_N_E/./src/LegacyApp/client/store/preferences/preferences.epic.js","webpack://_N_E/./src/LegacyApp/client/store/converter/converter.epic.js","webpack://_N_E/./src/LegacyApp/client/store/fetch/fetch.epic.js","webpack://_N_E/./src/LegacyApp/client/modules/app/optionsService.js","webpack://_N_E/./src/LegacyApp/client/store/options/options.epic.js","webpack://_N_E/./src/LegacyApp/client/store/pwa/pwa.constants.js","webpack://_N_E/./src/LegacyApp/client/store/pwa/pwa.actions.js","webpack://_N_E/./src/LegacyApp/client/modules/app/pwaService.js","webpack://_N_E/./src/LegacyApp/client/store/pwa/pwa.epic.js","webpack://_N_E/./src/LegacyApp/client/store/registry/registry.epic.js","webpack://_N_E/./src/LegacyApp/client/store/root/root.epic.js","webpack://_N_E/./src/LegacyApp/client/store/storeManagers.js","webpack://_N_E/./src/LegacyApp/client/store/create.store.ts","webpack://_N_E/./node_modules/redux-thunk/es/index.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js","webpack://_N_E/./node_modules/redux-observable/lib/esm/ActionsObservable.js","webpack://_N_E/./node_modules/redux-observable/lib/esm/StateObservable.js","webpack://_N_E/./src/LegacyApp/client/store/logger.js","webpack://_N_E/./src/LegacyApp/client/store/registry/registry.middleware.js","webpack://_N_E/./src/LegacyApp/client/store/middleware.js","webpack://_N_E/./node_modules/redux-observable/lib/esm/createEpicMiddleware.js","webpack://_N_E/./src/modules/vip/store/vip.reducer.ts","webpack://_N_E/./src/modules/balance/store/balance.reducer.ts","webpack://_N_E/./src/modules/support/store/support.reducer.ts","webpack://_N_E/./src/LegacyApp/client/store/app/app.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/user/user.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/confirm/confirm.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/transactions/transactions.reducer.ts","webpack://_N_E/./src/LegacyApp/client/store/twoFactorAuthentication/twoFactorAuthentication.reducer.js","webpack://_N_E/./src/LegacyApp/client/modules/app/reducers/objectBoolReducer.ts","webpack://_N_E/./src/LegacyApp/client/store/loader/loader.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/globalStatistics/globalStatistics.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/forms/forms.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/faucet/faucet.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/notification/notification.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/affiliate/affiliate.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/websocket/websocket.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/alerts/alerts.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/tip/tip.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/serverData/serverData.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/vault/vault.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/privateMessages/privateMessages.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/friends/friends.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/preferences/preferences.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/dropdown/dropdown.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/converter/converter.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/options/options.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/pwa/pwa.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/registry/registry.reducer.ts","webpack://_N_E/./src/LegacyApp/client/store/root/root.reducer.js","webpack://_N_E/./src/LegacyApp/client/store/reducer.js","webpack://_N_E/./src/LegacyApp/client/store/configure.store.ts","webpack://_N_E/./src/LegacyApp/methods/router/handleUrlQuery.js","webpack://_N_E/./src/LegacyApp/methods/router/getServerData.js","webpack://_N_E/./src/LegacyApp/methods/router/handlePageAuth.js","webpack://_N_E/./src/LegacyApp/methods/auth/checkAuth.js","webpack://_N_E/./src/common/hooks/useAuthInitialized.ts","webpack://_N_E/./src/LegacyApp/hooks/app/useAuth.js","webpack://_N_E/./src/modules/SideMenu/SideMenu.provider.tsx","webpack://_N_E/./src/common/hooks/useLocationChange.ts","webpack://_N_E/./src/modules/header/HeaderBox.styled.ts","webpack://_N_E/./src/modules/header/HeaderMenu/MenuElement.tsx","webpack://_N_E/./src/modules/header/HeaderMenu/MenuList.tsx","webpack://_N_E/./src/modules/header/HeaderMenu/HeaderMenu.tsx","webpack://_N_E/./src/modules/header/HeaderRow.styled.ts","webpack://_N_E/./src/modules/header/HeaderUser/HeaderChat.tsx","webpack://_N_E/./src/LegacyApp/client/components/loading/UserLoadingWrapper.tsx","webpack://_N_E/./src/modules/header/MyVipIcon.tsx","webpack://_N_E/./src/modules/header/HeaderUser/HeaderUser.tsx","webpack://_N_E/./src/modules/header/SectionSwitch/index.tsx","webpack://_N_E/./src/modules/SideMenu/SideMenuToggle.tsx","webpack://_N_E/./src/modules/header/Header.tsx","webpack://_N_E/./src/LegacyApp/client/components/christmasTheme/index.tsx","webpack://_N_E/./src/common/components/langPicker/flagLink/flagLang.tsx","webpack://_N_E/./src/common/components/langPicker/LangPicker.tsx","webpack://_N_E/./src/modules/SideMenu/components/SideMenuList.tsx","webpack://_N_E/./src/modules/SideMenu/components/SideMenuQuickAccess.tsx","webpack://_N_E/./src/modules/SideMenu/components/SideMenuNavigation.tsx","webpack://_N_E/./src/modules/SideMenu/index.tsx","webpack://_N_E/./src/common/components/app/Main.styled.ts","webpack://_N_E/./src/common/components/app/Default.global.styled.ts","webpack://_N_E/./src/common/components/app/Pages.global.styled.ts","webpack://_N_E/./src/common/components/app/Chat.global.styled.ts","webpack://_N_E/./src/common/components/layout/BottomMenu/index.tsx","webpack://_N_E/./src/common/components/app/useApp.tsx","webpack://_N_E/./src/LegacyApp/client/components/confirm/index.js","webpack://_N_E/./src/LegacyApp/client/components/cover/index.tsx","webpack://_N_E/./src/LegacyApp/client/components/dropdown/dropdownMenu/index.tsx","webpack://_N_E/./src/LegacyApp/client/components/infoModal/index.js","webpack://_N_E/./src/LegacyApp/client/components/TestGTM/index.tsx","webpack://_N_E/./src/modules/modals/modal/index.tsx","webpack://_N_E/./src/common/selectors/registry.selectors.ts","webpack://_N_E/./src/modules/performance/components/index.tsx","webpack://_N_E/./src/common/components/app/AsyncModules.tsx","webpack://_N_E/./src/LegacyApp/hooks/app/useConditionalTimeout.ts","webpack://_N_E/./src/common/components/app/AppContext.ts","webpack://_N_E/./src/common/components/app/App.tsx","webpack://_N_E/./src/pages/_app.tsx","webpack://_N_E/./src/LegacyApp/hooks/translation/useCheckNamespaces.ts","webpack://_N_E/./src/common/hooks/useCheckAccessDenied.ts","webpack://_N_E/./src/ui/components/button/index.tsx","webpack://_N_E/./src/ui/components/dropdown/DropdownArrow.tsx","webpack://_N_E/./src/common/components/portal/portal.constants.ts","webpack://_N_E/./node_modules/react-popper/lib/esm/utils.js","webpack://_N_E/./node_modules/react-popper/lib/esm/usePopper.js","webpack://_N_E/./src/common/components/portal/portal.tsx","webpack://_N_E/./src/ui/components/dropdown/index.tsx","webpack://_N_E/./src/ui/components/input/Input.styled.ts","webpack://_N_E/./src/ui/components/input/mixins/input.border-radius.ts","webpack://_N_E/./src/ui/components/input/index.tsx","webpack://_N_E/./src/ui/components/pagination/Pagination.styled.ts","webpack://_N_E/./src/ui/components/tab-button/index.tsx","webpack://_N_E/./src/ui/components/tab-group/TabGroup.styled.ts","webpack://_N_E/./src/ui/components/tab-group/index.tsx","webpack://_N_E/./src/common/components/user/UserIcon.tsx","webpack://_N_E/./src/common/components/user/UserLogin/ModeratorBadge.tsx","webpack://_N_E/./src/ui/components/user-name/user-name-icons.tsx","webpack://_N_E/./src/ui/components/user-name/user-name.styled.ts","webpack://_N_E/./src/ui/components/vip-icon/VipIcon.styled.ts","webpack://_N_E/./src/ui/components/vip-icon/index.tsx","webpack://_N_E/./src/ui/types/ButtonStyleType.ts","webpack://_N_E/./src/ui/types/InputStyleType.ts","webpack://_N_E/./src/ui/types/Size.ts","webpack://_N_E/?adc8","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/defineProperty.js","webpack://_N_E/./src/LegacyApp/client/components/currencySymbol/tokenSymbol.module.scss","webpack://_N_E/./src/common/components/number/CurrencyValue.module.scss","webpack://_N_E/./src/ui/components/button/Button.module.scss","webpack://_N_E/./node_modules/next/dist/compiled/native-url/index.js","webpack://_N_E/./node_modules/next/dist/compiled/querystring-es3/index.js","webpack://_N_E/./node_modules/next/dist/compiled/vm-browserify/index.js","webpack://_N_E/./node_modules/next/dynamic.js","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/link.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/nextjs-progressbar/dist/index.js","webpack://_N_E/./node_modules/nextjs-progressbar/index.js","webpack://_N_E/./node_modules/nprogress/nprogress.js","webpack://_N_E/./node_modules/nuka-carousel/es/announce-slide.js","webpack://_N_E/./node_modules/nuka-carousel/es/carousel.js","webpack://_N_E/./node_modules/nuka-carousel/es/control-styles.js","webpack://_N_E/./node_modules/nuka-carousel/es/controls.js","webpack://_N_E/./node_modules/nuka-carousel/es/default-carousel-props.js","webpack://_N_E/./node_modules/nuka-carousel/es/default-controls.js","webpack://_N_E/./node_modules/nuka-carousel/es/hooks/use-frame-height.js","webpack://_N_E/./node_modules/nuka-carousel/es/hooks/use-slide-intersection-observer.js","webpack://_N_E/./node_modules/nuka-carousel/es/hooks/use-state-with-ref.js","webpack://_N_E/./node_modules/nuka-carousel/es/hooks/use-tween.js","webpack://_N_E/./node_modules/nuka-carousel/es/index.js","webpack://_N_E/./node_modules/nuka-carousel/es/slide.js","webpack://_N_E/./node_modules/nuka-carousel/es/slider-list.js","webpack://_N_E/./node_modules/nuka-carousel/es/types.js","webpack://_N_E/./node_modules/nuka-carousel/es/utils.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://_N_E/./node_modules/polished/dist/polished.esm.js","webpack://_N_E/./node_modules/process/browser.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/./node_modules/pusher-js/dist/web/pusher.js","webpack://_N_E/./node_modules/query-string/index.js","webpack://_N_E/./node_modules/react-circular-progressbar/dist/index.esm.js","webpack://_N_E/./node_modules/react-click-outside/dist/index.js","webpack://_N_E/./node_modules/react-click-outside/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/./node_modules/react-content-loader/dist/react-content-loader.es.js","webpack://_N_E/./node_modules/react-cool-onclickoutside/dist/index.esm.js","webpack://_N_E/./node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-is/index.js","webpack://_N_E/./node_modules/react-popper/node_modules/react-fast-compare/index.js","webpack://_N_E/./node_modules/react-redux/es/components/Context.js","webpack://_N_E/./node_modules/react-redux/es/utils/batch.js","webpack://_N_E/./node_modules/react-redux/es/utils/Subscription.js","webpack://_N_E/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://_N_E/./node_modules/react-redux/es/components/Provider.js","webpack://_N_E/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://_N_E/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://_N_E/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://_N_E/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://_N_E/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://_N_E/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://_N_E/./node_modules/react-redux/es/connect/mergeProps.js","webpack://_N_E/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://_N_E/./node_modules/react-redux/es/connect/connect.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useStore.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useSelector.js","webpack://_N_E/./node_modules/react-redux/es/index.js","webpack://_N_E/./node_modules/redux-batched-subscribe/lib/index.js","webpack://_N_E/./node_modules/redux-devtools-extension/index.js","webpack://_N_E/./node_modules/redux-log-slow-reducers/lib/index.js","webpack://_N_E/./node_modules/redux-logger/dist/redux-logger.js","webpack://_N_E/./node_modules/redux-multi/lib/index.js","webpack://_N_E/./node_modules/redux-observable/lib/esm/combineEpics.js","webpack://_N_E/./node_modules/redux-observable/lib/esm/operators.js","webpack://_N_E/./node_modules/redux/es/redux.js","webpack://_N_E/./node_modules/rxjs-compat/Subject.js","webpack://_N_E/./node_modules/rxjs/Subject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/refCount.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/groupBy.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/ReplaySubject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/AsyncSubject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/noop.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/EmptyError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/TimeoutError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/bindCallback.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/combineLatest.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/concatAll.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/concat.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/defer.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/forkJoin.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/fromEvent.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/generate.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/iif.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/interval.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/never.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/pairs.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/not.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/partition.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/race.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/range.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/timer.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/using.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/BehaviorSubject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Notification.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Observable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Observer.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/OuterSubscriber.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Scheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Subject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/Subscription.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/config.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/innerSubscribe.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/empty.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/from.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/fromArray.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/merge.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/of.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/throwError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/observable/zip.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/catchError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/delay.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isDate.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/filter.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/map.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/mergeAll.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/mergeMap.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/operators/observeOn.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isIterable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/Action.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/Immediate.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/asap.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/async.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/scheduler/queue.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/symbol/iterator.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/identity.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isArrayLike.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isNumeric.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isPromise.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/isScheduler.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeTo.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/InnerSubscriber.js","webpack://_N_E/./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js","webpack://_N_E/./node_modules/rxjs/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/shallowequal/index.js","webpack://_N_E/./node_modules/split-on-first/index.js","webpack://_N_E/./node_modules/strict-uri-encode/index.js","webpack://_N_E/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://_N_E/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://_N_E/./node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://_N_E/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://_N_E/./node_modules/uniloc/uniloc.js","webpack://_N_E/./public/img/wolf-icon.svg","webpack://_N_E/./node_modules/void-elements/index.js","webpack://_N_E/./src/common/icons/ lazy ^\\.\\/.*$ namespace object","webpack://_N_E/./src/common/icons/ weak ^\\.\\/.*$","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://_N_E/./node_modules/@fortawesome/free-solid-svg-icons/index.mjs","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/classCallCheck.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/createClass.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/inherits.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/iterableToArray.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/slicedToArray.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://_N_E/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourceRoot":"","sourcesContent":["function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b(\"Patches\").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b(\"MapSet\").F(r,t):v(r)?b(\"MapSet\").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,R as current,J as enableAllPlugins,F as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","var __extends = (this && this.__extends) || (function () {\r\n var 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 return function (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\nvar __generator = (this && this.__generator) || function (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\nvar __spreadArray = (this && this.__spreadArray) || function (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\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\nimport { enableES5 } from \"immer\";\r\nexport * from \"redux\";\r\nimport { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from \"immer\";\r\nimport { createSelector as createSelector2 } from \"reselect\";\r\n// src/createDraftSafeSelector.ts\r\nimport { current, isDraft } from \"immer\";\r\nimport { createSelector } from \"reselect\";\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = createSelector.apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nimport { createStore, compose as compose2, applyMiddleware, combineReducers } from \"redux\";\r\n// src/devtoolsExtension.ts\r\nimport { compose } from \"redux\";\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return compose;\r\n return compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nimport thunkMiddleware from \"redux-thunk\";\r\n// src/utils.ts\r\nimport createNextState, { isDraftable } from \"immer\";\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\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.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n __extends(EnhancerArray, _super);\r\n function EnhancerArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(EnhancerArray, Symbol.species, {\r\n get: function () {\r\n return EnhancerArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n EnhancerArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n EnhancerArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return isDraftable(val) ? createNextState(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = process.env.NODE_ENV === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj)) {\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_1 = function (key) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n if (result.wasMutated) {\r\n return { value: result };\r\n }\r\n };\r\n for (var key in keysToDetect) {\r\n var state_1 = _loop_1(key);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n if (cache == null ? void 0 : cache.has(value))\r\n return false;\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_2 = function (key, nestedValue) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return { value: {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n } };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundNestedSerializable) {\r\n return { value: foundNestedSerializable };\r\n }\r\n }\r\n };\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var state_2 = _loop_2(key, nestedValue);\r\n if (typeof state_2 === \"object\")\r\n return state_2.value;\r\n }\r\n if (cache && isNestedFrozen(value))\r\n cache.add(value);\r\n return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n if (!Object.isFrozen(value))\r\n return false;\r\n for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n var nestedValue = _c[_i];\r\n if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n continue;\r\n if (!isNestedFrozen(nestedValue))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware);\r\n }\r\n else {\r\n middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = process.env.NODE_ENV === \"production\";\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer);\r\n }\r\n else {\r\n throw new Error('\"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 var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);\r\n var finalCompose = compose2;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n var storeEnhancers = defaultEnhancers;\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(defaultEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return createStore(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isFSA(action) {\r\n return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/createReducer.ts\r\nimport createNextState2, { isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (type in actionsMap) {\r\n throw new Error(\"addCase cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n }\r\n }\r\n defaultCaseReducer = reducer;\r\n return builder;\r\n }\r\n };\r\n builderCallback(builder);\r\n return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof mapOrBuilderCallback === \"object\") {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true;\r\n console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n }\r\n }\r\n }\r\n var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if (isDraft2(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!isDraftable2(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return createNextState2(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n }\r\n }\r\n }\r\n var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\r\n builder.addMatcher(m.matcher, m.reducer);\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer);\r\n }\r\n });\r\n }\r\n var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nimport createNextState3, { isDraft as isDraft3 } from \"immer\";\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if (isDraft3(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return createNextState3(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if (process.env.NODE_ENV !== \"production\" && key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n }\r\n }\r\n };\r\n return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var started = false;\r\n function abort(reason) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n throw {\r\n name: \"ConditionError\",\r\n message: \"Aborted due to condition callback returning false.\"\r\n };\r\n }\r\n started = true;\r\n abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n name: \"AbortError\",\r\n message: abortReason || \"Aborted\"\r\n }); }); });\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (result) {\r\n if (result instanceof RejectWithValue) {\r\n throw result;\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta);\r\n }\r\n return fulfilled(result, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload;\r\n }\r\n if (action.error) {\r\n throw action.error;\r\n }\r\n return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\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(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n var cleanup = noop;\r\n return new Promise(function (resolve, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n return;\r\n }\r\n cleanup = addAbortSignalListener(signal, notifyRejection);\r\n promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n }).finally(function () {\r\n cleanup = noop;\r\n });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve, reject) {\r\n var stopListening = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n unsubscribe = function () {\r\n stopListening();\r\n reject();\r\n };\r\n });\r\n promises = [\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\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 return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 5]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (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 case 2:\r\n _c.sent();\r\n return [3 /*break*/, 5];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 5];\r\n case 4:\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (!isAction(action)) {\r\n return next(action);\r\n }\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\nenableES5();\r\nexport { EnhancerArray, MiddlewareArray, SHOULD_AUTOBATCH, TaskAbortError, addListener, autoBatchEnhancer, clearAllListeners, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAction, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFSA as isFluxStandardAction, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, prepareAutoBatched, removeListener, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","/**\n * @welldone-software/why-did-you-render 3.6.0\n * MIT Licensed\n * Generated by Vitali Zaidman (https://github.com/vzaidman)\n * Generated at 2020-01-25\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).whyDidYouRender=t()}(this,(function(){\"use strict\";function e(e,t){for(var r=0;r-1};var le=function(e,t){var r=this.__data__,n=ie(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function pe(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t0?(f.consoleLog(t({},n,r),\"\".concat(a,\" of \").concat(i,\" changes:\")),c.forEach((function(e){var r=e.pathString,n=e.diffType,a=e.prevValue,c=e.nextValue;f.consoleGroup(\"%c\".concat(\"hook\"===i?\"[hook \".concat(o,\" result]\"):\"\".concat(i,\".\"),\"%c\").concat(r,\"%c\"),\"color:\".concat(f.diffNameColor,\";\"),\"color:\".concat(f.diffPathColor,\";\"),\"color:default;\"),f.consoleLog(\"\".concat(qe[n],\" (more info at \").concat(o?\"http://bit.ly/wdyr3\":\"http://bit.ly/wdyr02\",\")\")),f.consoleLog(t({},\"prev \".concat(r),a),\"!==\",t({},\"next \".concat(r),c)),f.consoleGroupEnd()}))):c&&(f.consoleLog(t({},n,r),\"\".concat(a,\" the \").concat(i,\" object itself changed but its values are all equal.\"),\"props\"===i?\"This could have been avoided by making the component pure, or by preventing its father from re-rendering.\":\"This usually means this component called setState when no changes in its state actually occurred.\",\"More info at \".concat(\"http://bit.ly/wdyr02\")),f.consoleLog(\"prev \".concat(i,\":\"),u.prev,\" !== \",u.next,\":next \".concat(i)))}function Qe(e){var r=e.Component,n=e.displayName,o=e.hookName,a=e.prevProps,i=e.prevState,c=e.prevHook,u=e.nextProps,f=e.nextState,s=e.nextHook,l=e.reason,p=e.options;if(function(e,t,r){return!Je&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===We}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===We}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===We})))))}(l,r,p)){p.consoleGroup(\"%c\".concat(n),\"color: \".concat(p.titleColor,\";\"));var v=\"Re-rendered because\";l.propsDifferences&&(Ke({Component:r,displayName:n,prefixMessage:v,diffObjType:\"props\",differences:l.propsDifferences,values:{prev:a,next:u},options:p}),v=\"And because\"),l.stateDifferences&&Ke({Component:r,displayName:n,prefixMessage:v,diffObjType:\"state\",differences:l.stateDifferences,values:{prev:i,next:f},options:p}),l.hookDifferences&&Ke({Component:r,displayName:n,prefixMessage:v,diffObjType:\"hook\",differences:l.hookDifferences,values:{prev:c,next:s},hookName:o,options:p}),l.propsDifferences||l.stateDifferences||l.hookDifferences||p.consoleLog(t({},n,r),\"Re-rendered although props and state objects are the same.\",\"This usually means there was a call to this.forceUpdate() inside the component.\",\"more info at \".concat(\"http://bit.ly/wdyr02\")),p.consoleGroupEnd()}}function Xe(e){return e&&\"undefined\"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){\"idle\"===t&&(Je=!0,setTimeout((function(){Je=!1}),e))})),Qe}var Ze=function(){};var et=function(e){return\"string\"==typeof e||!s(e)&&S(e)&&\"[object String]\"==D(e)};function tt(e){return e.displayName||e.name||e.type&&tt(e.type)||e.render&&tt(e.render)||(et(e)?e:void 0)}var rt=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991},yt={};yt[\"[object Float32Array]\"]=yt[\"[object Float64Array]\"]=yt[\"[object Int8Array]\"]=yt[\"[object Int16Array]\"]=yt[\"[object Int32Array]\"]=yt[\"[object Uint8Array]\"]=yt[\"[object Uint8ClampedArray]\"]=yt[\"[object Uint16Array]\"]=yt[\"[object Uint32Array]\"]=!0,yt[\"[object Arguments]\"]=yt[\"[object Array]\"]=yt[\"[object ArrayBuffer]\"]=yt[\"[object Boolean]\"]=yt[\"[object DataView]\"]=yt[\"[object Date]\"]=yt[\"[object Error]\"]=yt[\"[object Function]\"]=yt[\"[object Map]\"]=yt[\"[object Number]\"]=yt[\"[object Object]\"]=yt[\"[object RegExp]\"]=yt[\"[object Set]\"]=yt[\"[object String]\"]=yt[\"[object WeakMap]\"]=!1;var dt=function(e){return S(e)&&ht(e.length)&&!!yt[D(e)]};var bt=function(e){return function(t){return e(t)}},gt=p((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&v.process,a=function(){try{var e=n&&n.require&&n.require(\"util\").types;return e||o&&o.binding&&o.binding(\"util\")}catch(e){}}();e.exports=a})),mt=gt&>.isTypedArray,_t=mt?bt(mt):dt,jt=Object.prototype.hasOwnProperty;var Ot=function(e,t){var r=s(e),n=!r&&ft(e),o=!r&&!n&<(e),a=!r&&!n&&!o&&_t(e),i=r||n||o||a,c=i?ot(e.length,String):[],u=c.length;for(var f in e)!t&&!jt.call(e,f)||i&&(\"length\"==f||o&&(\"offset\"==f||\"parent\"==f)||a&&(\"buffer\"==f||\"byteLength\"==f||\"byteOffset\"==f)||vt(f,u))||c.push(f);return c},wt=Object.prototype;var kt=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||wt)};var Dt=function(e,t){return function(r){return e(t(r))}},St=Dt(Object.keys,Object),Pt=Object.prototype.hasOwnProperty;var Rt=function(e){if(!kt(e))return St(e);var t=[];for(var r in Object(e))Pt.call(e,r)&&\"constructor\"!=r&&t.push(r);return t};var Et=function(e){return null!=e&&ht(e.length)&&!C(e)};var xt=function(e){return Et(e)?Ot(e):Rt(e)};var At=function(e,t){return function(r,n){if(null==r)return r;if(!Et(r))return e(r,n);for(var o=r.length,a=t?o:-1,i=Object(r);(t?a--:++ac))return!1;var f=a.get(e);if(f&&a.get(t))return f==t;var s=-1,l=!0,p=2&r?new $t:void 0;for(a.set(e,t),a.set(t,e);++s3&&void 0!==arguments[3]?arguments[3]:\"\";if(t===r)return!0;if(!t||!r)return nn(t,r,n,o,We);if(s(t)&&s(r)){var a=t.length;if(a!==r.length)return nn(t,r,n,o,We);for(var i=!0,c=a;0!=c--;)e(t[c],r[c],n,\"\".concat(o,\"[\").concat(c,\"]\"))||(i=!1);return nn(t,r,n,o,i?Fe:We)}if(Br(t)&&Br(r))return t.getTime()===r.getTime()?nn(t,r,n,o,Le):nn(t,r,n,o,We);if(Ir(t)&&Ir(r))return t.toString()===r.toString()?nn(t,r,n,o,$e):nn(t,r,n,o,We);if(en&&t instanceof Element&&r instanceof Element)return nn(t,r,n,o,We);if(rn(t)&&rn(r)){if(t.type!==r.type)return nn(t,r,n,o,We);var u=e(t.props,r.props,n,\"\".concat(o,\".props\"));return nn(t,r,n,o,u?Ie:We)}if(C(t)&&C(r))return t.name===r.name?nn(t,r,n,o,Ve):nn(t,r,n,o,We);if(Zr(t)&&Zr(r)){var f=xt(t),l=f.length;if(l!==xt(r).length)return nn(t,r,n,o,We);for(var p=l;0!=p--;)if(!Fr(r,f[p]))return nn(t,r,n,o,We);for(var v=!0,h=l;0!=h--;){var y=f[h];e(t[y],r[y],n,\"\".concat(o,\".\").concat(y))||(v=!1)}return nn(t,r,n,o,v?Fe:We)}return nn(t,r,n,o,We)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn(\"Warning: why-did-you-render couldn't handle circular references in props.\",e.name,e.message),!1;throw e}}var an={};function cn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=r.shallow,a=void 0===o||o;if(e===t)return!1;if(!a)return on(e,t);var i=e||an,c=t||an,u=Object.keys(n({},i,{},c));return zr(u,(function(e,t){var r=on(i[t],c[t],t);return r&&(e=[].concat(f(e),f(r))),e}),[])}function un(e,t,r,n,o,a){return{propsDifferences:cn(e,n),stateDifferences:cn(t,o),hookDifferences:cn(r,a,{shallow:!1})}}function fn(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,c=e.nextProps,u=e.nextState,f=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:c,nextState:u,nextHook:f,options:e.options,reason:un(o,a,i,c,u,f)}}function sn(e){return e.prototype&&!!e.prototype.isReactComponent}function ln(e){return e.$$typeof===Be}function pn(e){return e.$$typeof===Ge}function vn(e){var t=e.Component,r=e.displayName,n=e.options,o=e.React,a=e.isHookChange;return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(r,n)&&(!1!==t.whyDidYouRender&&((!a||!t.whyDidYouRender||!1!==t.whyDidYouRender.trackHooks)&&!!(t.whyDidYouRender||n.trackAllPureComponents&&(t&&t.prototype instanceof o.PureComponent||ln(t))||function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(r,n))))}var hn=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},yn=Math.max;var dn=function(e,t,r){return t=yn(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=yn(n.length-t,0),i=Array(a);++o0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(mn);var On=function(e,t){return jn(dn(e,t,Ar),e+\"\")};var wn=function(e,t,r){if(!A(r))return!1;var n=typeof t;return!!(\"number\"==n?Et(r)&&vt(t,r.length):\"string\"==n&&t in r)&&ae(r[t],e)};var kn=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},Dn=Object.prototype.hasOwnProperty;var Sn=function(e){if(!A(e))return kn(e);var t=kt(e),r=[];for(var n in e)(\"constructor\"!=n||!t&&Dn.call(e,n))&&r.push(n);return r};var Pn=function(e){return Et(e)?Ot(e,!0):Sn(e)},Rn=Object.prototype,En=Rn.hasOwnProperty,xn=On((function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&wn(t[0],t[1],o)&&(n=1);++r0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,r=console.groupEnd;e.collapseGroups?t=console.groupCollapsed:e.onlyLogs&&(t=console.log,r=Ze);var o=e.notifier||Xe(\"hotReloadBufferMs\"in e?e.hotReloadBufferMs:500);return n({include:null,exclude:null,notifier:o,onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:r,logOnDifferentValues:!1,trackHooks:!0,titleColor:\"#058\",diffNameColor:\"blue\",diffPathColor:\"red\",trackExtraHooks:[],trackAllPureComponents:!1},e)}(t),o=e.createElement,a=e.createFactory,i=new WeakMap;if(e.createElement=function(t){for(var n=null,a=null,c=null,u=arguments.length,f=new Array(u>1?u-1:0),s=1;s 1) {exprList.shift();}\r\n var result = this._trace(exprList, json, ['$'], currParent, currParentProperty, callback);\r\n result = result.filter(function (ea) { return ea && !ea.isParentSelector; });\r\n\r\n if (!result.length) {return wrap ? [] : undefined;}\r\n if (result.length === 1 && !wrap && !Array.isArray(result[0].value)) {\r\n return this._getPreferredOutput(result[0]);\r\n }\r\n return result.reduce(function (result, ea) {\r\n var valOrPath = self._getPreferredOutput(ea);\r\n if (flatten && Array.isArray(valOrPath)) {\r\n result = result.concat(valOrPath);\r\n }\r\n else {\r\n result.push(valOrPath);\r\n }\r\n return result;\r\n }, []);\r\n};\r\n\r\n\r\n// PRIVATE METHODS\r\n\r\nJSONPath.prototype._getPreferredOutput = function (ea) {\n var resultType = this.currResultType;\r\n switch (resultType) {\r\n case 'all':\r\n ea.path = JSONPath.toPathString(ea.path);\r\n return ea;\r\n case 'value': case 'parent': case 'parentProperty':\r\n return ea[resultType];\r\n case 'path':\r\n return JSONPath.toPathString(ea[resultType]);\r\n }\r\n};\n\r\nJSONPath.prototype._handleCallback = function (fullRetObj, callback, type) {\r\n if (callback) {\r\n var preferredOutput = this._getPreferredOutput(fullRetObj);\r\n fullRetObj.path = JSONPath.toPathString(fullRetObj.path);\r\n callback(preferredOutput, type, fullRetObj);\r\n }\r\n};\r\n\r\nJSONPath.prototype._trace = function (expr, val, path, parent, parentPropName, callback) {\r\n // No expr to follow? return path and value as the result of this trace branch\r\n var retObj, self = this;\r\n if (!expr.length) {\r\n retObj = {path: path, value: val, parent: parent, parentProperty: parentPropName};\r\n this._handleCallback(retObj, callback, 'value');\r\n return retObj;\r\n }\r\n\r\n var loc = expr[0], x = expr.slice(1);\r\n\r\n // We need to gather the return value of recursive trace calls in order to\r\n // do the parent sel computation.\r\n var ret = [];\r\n function addRet (elems) {ret = ret.concat(elems);}\r\n\r\n if (val && val.hasOwnProperty(loc)) { // simple case--directly follow property\r\n addRet(this._trace(x, val[loc], push(path, loc), val, loc, callback));\r\n }\r\n else if (loc === '*') { // all child properties\r\n this._walk(loc, x, val, path, parent, parentPropName, callback, function (m, l, x, v, p, par, pr, cb) {\r\n addRet(self._trace(unshift(m, x), v, p, par, pr, cb));\r\n });\r\n }\r\n else if (loc === '..') { // all descendent parent properties\r\n addRet(this._trace(x, val, path, parent, parentPropName, callback)); // Check remaining expression with val's immediate children\r\n this._walk(loc, x, val, path, parent, parentPropName, callback, function (m, l, x, v, p, par, pr, cb) {\r\n // We don't join m and x here because we only want parents, not scalar values\r\n if (typeof v[m] === 'object') { // Keep going with recursive descent on val's object children\r\n addRet(self._trace(unshift(l, x), v[m], push(p, m), v, m, cb));\r\n }\r\n });\r\n }\r\n else if (loc[0] === '(') { // [(expr)] (dynamic property/index)\r\n if (this.currPreventEval) {\r\n throw \"Eval [(expr)] prevented in JSONPath expression.\";\r\n }\r\n // As this will resolve to a property name (but we don't know it yet), property and parent information is relative to the parent of the property to which this expression will resolve\r\n addRet(this._trace(unshift(this._eval(loc, val, path[path.length - 1], path.slice(0, -1), parent, parentPropName), x), val, path, parent, parentPropName, callback));\r\n }\r\n // The parent sel computation is handled in the frame above using the\r\n // ancestor object of val\r\n else if (loc === '^') {\r\n // This is not a final endpoint, so we do not invoke the callback here\r\n return path.length ? {\r\n path: path.slice(0, -1),\r\n expr: x,\r\n isParentSelector: true\r\n } : [];\r\n }\r\n else if (loc === '~') { // property name\r\n retObj = {path: push(path, loc), value: parentPropName, parent: parent, parentProperty: null};\r\n this._handleCallback(retObj, callback, 'property');\r\n return retObj;\r\n }\r\n else if (loc === '$') { // root only\r\n addRet(this._trace(x, val, path, null, null, callback));\r\n }\r\n else if (loc.indexOf('?(') === 0) { // [?(expr)] (filtering)\r\n if (this.currPreventEval) {\r\n throw \"Eval [?(expr)] prevented in JSONPath expression.\";\r\n }\r\n this._walk(loc, x, val, path, parent, parentPropName, callback, function (m, l, x, v, p, par, pr, cb) {\r\n if (self._eval(l.replace(/^\\?\\((.*?)\\)$/, '$1'), v[m], m, p, par, pr)) {\r\n addRet(self._trace(unshift(m, x), v, p, par, pr, cb));\r\n }\r\n });\r\n }\r\n else if (loc.indexOf(',') > -1) { // [name1,name2,...]\r\n var parts, i;\r\n for (parts = loc.split(','), i = 0; i < parts.length; i++) {\r\n addRet(this._trace(unshift(parts[i], x), val, path, parent, parentPropName, callback));\r\n }\r\n }\r\n else if (loc[0] === '@') { // value type: @boolean(), etc.\r\n var addType = false;\r\n var valueType = loc.slice(1, -2);\r\n switch (valueType) {\r\n case 'boolean': case 'string': case 'undefined': case 'function':\r\n if (typeof val === valueType) {\r\n addType = true;\r\n }\r\n break;\r\n case 'number':\r\n if (typeof val === valueType && isFinite(val)) {\r\n addType = true;\r\n }\r\n break;\r\n case 'nonFinite':\r\n if (typeof val === 'number' && !isFinite(val)) {\r\n addType = true;\r\n }\r\n break;\r\n case 'object':\r\n if (val && typeof val === valueType) {\r\n addType = true;\r\n }\r\n break;\r\n case 'array':\r\n if (Array.isArray(val)) {\r\n addType = true;\r\n }\r\n break;\r\n case 'other':\r\n addType = this.currOtherTypeCallback(val, path, parent, parentPropName);\r\n break;\r\n case 'integer':\r\n if (val === +val && isFinite(val) && !(val % 1)) {\r\n addType = true;\r\n }\r\n break;\r\n case 'null':\r\n if (val === null) {\r\n addType = true;\r\n }\r\n break;\r\n }\r\n if (addType) {\r\n retObj = {path: path, value: val, parent: parent, parentProperty: parentPropName};\r\n this._handleCallback(retObj, callback, 'value');\r\n return retObj;\r\n }\r\n }\r\n else if (/^(-?[0-9]*):(-?[0-9]*):?([0-9]*)$/.test(loc)) { // [start:end:step] Python slice syntax\r\n addRet(this._slice(loc, x, val, path, parent, parentPropName, callback));\r\n }\r\n\r\n // We check the resulting values for parent selections. For parent\r\n // selections we discard the value object and continue the trace with the\r\n // current val object\r\n return ret.reduce(function (all, ea) {\r\n return all.concat(ea.isParentSelector ? self._trace(ea.expr, val, ea.path, parent, parentPropName, callback) : ea);\r\n }, []);\r\n};\r\n\r\nJSONPath.prototype._walk = function (loc, expr, val, path, parent, parentPropName, callback, f) {\r\n var i, n, m;\r\n if (Array.isArray(val)) {\r\n for (i = 0, n = val.length; i < n; i++) {\r\n f(i, loc, expr, val, path, parent, parentPropName, callback);\r\n }\r\n }\r\n else if (typeof val === 'object') {\r\n for (m in val) {\r\n if (val.hasOwnProperty(m)) {\r\n f(m, loc, expr, val, path, parent, parentPropName, callback);\r\n }\r\n }\r\n }\r\n};\r\n\r\nJSONPath.prototype._slice = function (loc, expr, val, path, parent, parentPropName, callback) {\r\n if (!Array.isArray(val)) {return;}\r\n var i,\r\n len = val.length, parts = loc.split(':'),\r\n start = (parts[0] && parseInt(parts[0], 10)) || 0,\r\n end = (parts[1] && parseInt(parts[1], 10)) || len,\r\n step = (parts[2] && parseInt(parts[2], 10)) || 1;\r\n start = (start < 0) ? Math.max(0, start + len) : Math.min(len, start);\r\n end = (end < 0) ? Math.max(0, end + len) : Math.min(len, end);\r\n var ret = [];\r\n for (i = start; i < end; i += step) {\r\n ret = ret.concat(this._trace(unshift(i, expr), val, path, parent, parentPropName, callback));\r\n }\r\n return ret;\r\n};\r\n\r\nJSONPath.prototype._eval = function (code, _v, _vname, path, parent, parentPropName) {\r\n if (!this._obj || !_v) {return false;}\r\n if (code.indexOf('@parentProperty') > -1) {\r\n this.currSandbox._$_parentProperty = parentPropName;\r\n code = code.replace(/@parentProperty/g, '_$_parentProperty');\r\n }\r\n if (code.indexOf('@parent') > -1) {\r\n this.currSandbox._$_parent = parent;\r\n code = code.replace(/@parent/g, '_$_parent');\r\n }\r\n if (code.indexOf('@property') > -1) {\r\n this.currSandbox._$_property = _vname;\r\n code = code.replace(/@property/g, '_$_property');\r\n }\r\n if (code.indexOf('@path') > -1) {\r\n this.currSandbox._$_path = JSONPath.toPathString(path.concat([_vname]));\r\n code = code.replace(/@path/g, '_$_path');\r\n }\r\n if (code.indexOf('@') > -1) {\r\n this.currSandbox._$_v = _v;\r\n code = code.replace(/@/g, '_$_v');\r\n }\r\n try {\r\n return vm.runInNewContext(code, this.currSandbox);\r\n }\r\n catch(e) {\r\n console.log(e);\r\n throw new Error('jsonPath: ' + e.message + ': ' + code);\r\n }\r\n};\r\n\r\n// PUBLIC CLASS PROPERTIES AND METHODS\r\n\r\n// Could store the cache object itself\r\nJSONPath.cache = {};\r\n\r\nJSONPath.toPathString = function (pathArr) {\r\n var i, n, x = pathArr, p = '$';\r\n for (i = 1, n = x.length; i < n; i++) {\r\n p += (/~|@.*\\(\\)/).test(x[i]) ? x[i] : ((/^[0-9*]+$/).test(x[i]) ? ('[' + x[i] + ']') : (\"['\" + x[i] + \"']\"));\r\n }\r\n return p;\r\n};\r\n\r\nJSONPath.toPathArray = function (expr) {\r\n var cache = JSONPath.cache;\r\n if (cache[expr]) {return cache[expr];}\r\n var subx = [];\r\n var normalized = expr\r\n // Properties\r\n .replace(/@(?:null|boolean|number|string|array|object|integer|undefined|nonFinite|function|other)\\(\\)/g, ';$&;')\r\n .replace(/~/g, ';~;')\r\n // Parenthetical evaluations (filtering and otherwise), directly within brackets or single quotes\r\n .replace(/[\\['](\\??\\(.*?\\))[\\]']/g, function ($0, $1) {return '[#' + (subx.push($1) - 1) + ']';})\r\n // Escape periods within properties\r\n .replace(/\\['([^'\\]]*)'\\]/g, function ($0, prop) {\r\n return \"['\" + prop.replace(/\\./g, '%@%') + \"']\";\r\n })\r\n // Split by property boundaries\r\n .replace(/'?\\.'?(?![^\\[]*\\])|\\['?/g, ';')\r\n // Reinsert periods within properties\r\n .replace(/%@%/g, '.')\r\n // Parent\r\n .replace(/(?:;)?(\\^+)(?:;)?/g, function ($0, ups) {return ';' + ups.split('').join(';') + ';';})\r\n // Descendents\r\n .replace(/;;;|;;/g, ';..;')\r\n // Remove trailing\r\n .replace(/;$|'?\\]|'$/g, '');\r\n var exprList = normalized.split(';').map(function (expr) {\r\n var match = expr.match(/#([0-9]+)/);\r\n return !match || !match[1] ? expr : subx[match[1]];\r\n });\r\n cache[expr] = exprList;\r\n return cache[expr];\r\n};\r\n\r\n// For backward compatibility (deprecated)\r\nJSONPath.eval = function (obj, expr, opts) {\r\n return JSONPath(opts, expr, obj);\r\n};\r\n\r\nif (typeof define === 'function' && define.amd) {\r\n define(function() {return JSONPath;});\r\n}\r\nelse if (typeof module === 'undefined') {\r\n self.jsonPath = { // Deprecated\r\n eval: JSONPath.eval\r\n };\r\n self.JSONPath = JSONPath;\r\n}\r\nelse {\r\n module.exports = JSONPath;\r\n}\r\n\r\n}(typeof require === 'undefined' ? null : require));\r\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var getIn = function (state, path) {\n var result = state;\n for (var i = 0; i < path.length && !!result; ++i) {\n result = result[path[i]];\n }\n return result;\n};\nexport default getIn;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport getIn from './getIn';\nvar structure = {\n fromJS: function (value) { return value; },\n getIn: getIn,\n merge: function (state, payload) { return (__assign(__assign({}, state), payload)); }\n};\nexport default structure;\n","export var PUSH = 'push';\nexport var REPLACE = 'replace';\nexport var PREFETCH = 'prefetch';\nexport var GO = 'go';\nexport default {\n PUSH: PUSH,\n REPLACE: REPLACE,\n GO: GO,\n PREFETCH: PREFETCH\n};\n","import { PUSH, REPLACE, GO, PREFETCH } from './routerMethods';\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function (location) { return ({\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n }\n}); };\nexport var CALL_ROUTER_METHOD = '@@router/CALL_ROUTER_METHOD';\nexport var push = function (url, as, options) { return ({\n type: CALL_ROUTER_METHOD,\n payload: {\n method: PUSH,\n args: [url, as, options]\n }\n}); };\nexport var replace = function (url, as, options) { return ({\n type: CALL_ROUTER_METHOD,\n payload: {\n method: REPLACE,\n args: [url, as, options]\n }\n}); };\nexport var go = function (number) { return ({\n type: CALL_ROUTER_METHOD,\n payload: {\n method: GO,\n args: [number]\n }\n}); };\nexport var prefetch = function (url) { return ({\n type: CALL_ROUTER_METHOD,\n payload: {\n method: PREFETCH,\n args: [url]\n }\n}); };\nexport var goBack = function () { return go(-1); };\nexport var goForward = function () { return go(1); };\nexport var routerActions = { push: push, replace: replace, go: go, goBack: goBack, goForward: goForward, prefetch: prefetch };\n","import { parse } from 'url';\nvar locationFromUrl = function (url) {\n var _a = parse(url), hash = _a.hash, search = _a.search, pathname = _a.pathname;\n return {\n href: url,\n pathname: pathname || '',\n search: search || '',\n hash: hash || ''\n };\n};\nexport default locationFromUrl;\n","import ReactDOM from 'react-dom';\nimport { onLocationChanged } from './actions';\nimport locationFromUrl from './utils/locationFromUrl';\nvar patchRouter = function (Router, store) {\n var unpatchedMethods = {\n set: Router.router.set,\n };\n Router.router.set = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!unpatchedMethods.set) {\n return Promise.resolve();\n }\n return new Promise(function (resolve, reject) {\n ReactDOM.unstable_batchedUpdates(function () {\n unpatchedMethods.set.apply(Router.router, args).then(resolve, reject);\n store.dispatch(onLocationChanged(locationFromUrl(Router.asPath)));\n });\n });\n };\n return function () {\n Router.router.set = unpatchedMethods.set;\n };\n};\nexport default patchRouter;\n","import React, { useEffect, useRef } from 'react';\nimport { useStore } from 'react-redux';\nimport NextRouter from 'next/router';\nimport { onLocationChanged } from './actions';\nimport locationFromUrl from './utils/locationFromUrl';\nimport patchRouter from './patchRouter';\nvar createConnectedRouter = function (structure) {\n var getIn = structure.getIn;\n var ConnectedRouter = function (props) {\n var Router = props.Router || NextRouter;\n var _a = props.reducerKey, reducerKey = _a === void 0 ? 'router' : _a;\n var store = useStore();\n var ongoingRouteChanges = useRef(0);\n var isTimeTravelEnabled = useRef(true);\n var inTimeTravelling = useRef(false);\n function trackRouteComplete() {\n isTimeTravelEnabled.current = --ongoingRouteChanges.current <= 0;\n }\n function trackRouteStart() {\n isTimeTravelEnabled.current = ++ongoingRouteChanges.current <= 0;\n }\n useEffect(function () {\n function listenStoreChanges() {\n if (!isTimeTravelEnabled.current) {\n return;\n }\n var storeLocation = getIn(store.getState(), [reducerKey, 'location']);\n var pathnameInStore = storeLocation.pathname, searchInStore = storeLocation.search, hashInStore = storeLocation.hash, href = storeLocation.href;\n var historyLocation = locationFromUrl(Router.asPath);\n var pathnameInHistory = historyLocation.pathname, searchInHistory = historyLocation.search, hashInHistory = historyLocation.hash;\n var locationMismatch = pathnameInHistory !== pathnameInStore || searchInHistory !== searchInStore || hashInStore !== hashInHistory;\n if (locationMismatch) {\n var as = \"\".concat(pathnameInStore).concat(searchInStore).concat(hashInStore);\n inTimeTravelling.current = true;\n Router.replace(href, as);\n }\n }\n var unsubscribeStore = store.subscribe(listenStoreChanges);\n return unsubscribeStore;\n }, [Router, store, reducerKey]);\n useEffect(function () {\n var unpatchRouter = function () { };\n function onRouteChangeFinish(url) {\n if (!inTimeTravelling.current) {\n var storeLocation = getIn(store.getState(), [reducerKey, 'location']);\n if (url !== storeLocation.href) {\n store.dispatch(onLocationChanged(locationFromUrl(url)));\n }\n }\n else {\n inTimeTravelling.current = false;\n }\n trackRouteComplete();\n }\n Router.ready(function () {\n unpatchRouter = patchRouter(Router, store);\n Router.events.on('routeChangeStart', trackRouteStart);\n Router.events.on('routeChangeError', trackRouteComplete);\n Router.events.on('routeChangeComplete', onRouteChangeFinish);\n Router.events.on('hashChangeStart', trackRouteStart);\n Router.events.on('hashChangeComplete', onRouteChangeFinish);\n });\n return function () {\n unpatchRouter();\n Router.events.off('routeChangeStart', trackRouteStart);\n Router.events.off('routeChangeError', trackRouteComplete);\n Router.events.off('routeChangeComplete', onRouteChangeFinish);\n Router.events.off('hashChangeStart', trackRouteStart);\n Router.events.off('hashChangeComplete', onRouteChangeFinish);\n };\n }, [Router, reducerKey, store]);\n return React.createElement(React.Fragment, {}, props.children);\n };\n return ConnectedRouter;\n};\nexport default createConnectedRouter;\n","import locationFromUrl from './locationFromUrl';\nvar createInitialRouterState = function (_a) {\n var fromJS = _a.fromJS;\n return function (url) {\n if (url === void 0) { url = '/'; }\n var initialState = {\n location: locationFromUrl(url),\n };\n return fromJS(initialState);\n };\n};\nexport default createInitialRouterState;\n","import { LOCATION_CHANGE } from './actions';\nimport createInitialRouterState from './utils/createInitialRouterState';\nvar createRouterReducer = function (structure) {\n var merge = structure.merge;\n var initialRouterState = createInitialRouterState(structure);\n var initialState = initialRouterState();\n return function routerReducer(state, action) {\n if (state === void 0) { state = initialState; }\n switch (action.type) {\n case LOCATION_CHANGE: {\n return merge(state, action.payload);\n }\n default:\n return state;\n }\n };\n};\nexport default createRouterReducer;\n","import NextRouter from 'next/router';\nimport { PUSH, GO, PREFETCH, REPLACE } from './routerMethods';\nimport { CALL_ROUTER_METHOD, onLocationChanged, LOCATION_CHANGE, } from './actions';\nimport locationFromUrl from './utils/locationFromUrl';\nvar createRouterMiddleware = function (structure) { return function (middlewareOpts) {\n var _a;\n if (middlewareOpts === void 0) { middlewareOpts = {}; }\n var _b = middlewareOpts.Router, Router = _b === void 0 ? NextRouter : _b, _c = middlewareOpts.methods, methods = _c === void 0 ? {} : _c, _d = middlewareOpts.reducerKey, reducerKey = _d === void 0 ? 'router' : _d;\n var routerMethodsArr = [PUSH, PREFETCH, REPLACE];\n var resolvedMethods = routerMethodsArr.reduce(function (acc, method) {\n acc[method] = methods[method] ? methods[method] : method;\n return acc;\n }, (_a = {}, _a[GO] = GO, _a));\n return function (store) { return function (next) { return function (action) {\n var _a;\n var type = action.type;\n var isServer = typeof window === 'undefined';\n if (Router && !isServer && type !== LOCATION_CHANGE) {\n var storeLocation = structure.getIn(store.getState(), [reducerKey, 'location']);\n if (Router.asPath !== storeLocation.href) {\n next(onLocationChanged(locationFromUrl(Router.asPath)));\n }\n }\n if (type === CALL_ROUTER_METHOD) {\n var _b = action.payload, args = _b.args, payloadMethod = _b.method;\n var method = resolvedMethods[payloadMethod];\n if (method === GO && !isServer && typeof args[0] === 'number') {\n window.history.go(args[0]);\n }\n else if (method && Object.prototype.hasOwnProperty.call(Router, method)) {\n (_a = Router)[method].apply(_a, args);\n }\n else if (process.env.NODE_ENV === 'development') {\n throw new Error(\"Router method \\\"\".concat(method, \"\\\" for \").concat(payloadMethod, \" action does not exist\"));\n }\n }\n else {\n return next(action);\n }\n }; }; };\n}; };\nexport default createRouterMiddleware;\n","import plainStructure from './structure/plain';\nimport createConnectedRouter from './ConnectedRouter';\nimport createRouterReducer from './reducer';\nimport createInitialRouterState from './utils/createInitialRouterState';\nimport _createRouterMiddleware from './middleware';\nexport { LOCATION_CHANGE, CALL_ROUTER_METHOD, routerActions, push, replace, go, goBack, goForward, prefetch, } from './actions';\nexport { default as routerMethods } from './routerMethods';\nexport var initialRouterState = createInitialRouterState(plainStructure);\nexport var routerReducer = createRouterReducer(plainStructure);\nexport var ConnectedRouter = createConnectedRouter(plainStructure);\nexport var createRouterMiddleware = _createRouterMiddleware(plainStructure);\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Lookup tables\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX_0 = [];\n\t var SUB_MIX_1 = [];\n\t var SUB_MIX_2 = [];\n\t var SUB_MIX_3 = [];\n\t var INV_SUB_MIX_0 = [];\n\t var INV_SUB_MIX_1 = [];\n\t var INV_SUB_MIX_2 = [];\n\t var INV_SUB_MIX_3 = [];\n\n\t // Compute lookup tables\n\t (function () {\n\t // Compute double table\n\t var d = [];\n\t for (var i = 0; i < 256; i++) {\n\t if (i < 128) {\n\t d[i] = i << 1;\n\t } else {\n\t d[i] = (i << 1) ^ 0x11b;\n\t }\n\t }\n\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; i++) {\n\t // Compute sbox\n\t var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\n\t // Compute sub bytes, mix columns tables\n\t var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t SUB_MIX_2[x] = (t << 8) | (t >>> 24);\n\t SUB_MIX_3[x] = t;\n\n\t // Compute inv sub bytes, inv mix columns tables\n\t var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);\n\t INV_SUB_MIX_3[sx] = t;\n\n\t // Compute next counter\n\t if (!x) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t }());\n\n\t // Precomputed Rcon lookup\n\t var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t /**\n\t * AES block cipher algorithm.\n\t */\n\t var AES = C_algo.AES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Skip reset of nRounds has been set before and key did not change\n\t if (this._nRounds && this._keyPriorReset === this._key) {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var key = this._keyPriorReset = this._key;\n\t var keyWords = key.words;\n\t var keySize = key.sigBytes / 4;\n\n\t // Compute number of rounds\n\t var nRounds = this._nRounds = keySize + 6;\n\n\t // Compute number of key schedule rows\n\t var ksRows = (nRounds + 1) * 4;\n\n\t // Compute key schedule\n\t var keySchedule = this._keySchedule = [];\n\t for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t if (ksRow < keySize) {\n\t keySchedule[ksRow] = keyWords[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 1];\n\n\t if (!(ksRow % keySize)) {\n\t // Rot word\n\t t = (t << 8) | (t >>> 24);\n\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t // Mix Rcon\n\t t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t } else if (keySize > 6 && ksRow % keySize == 4) {\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t }\n\n\t keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t }\n\t }\n\n\t // Compute inv key schedule\n\t var invKeySchedule = this._invKeySchedule = [];\n\t for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t var ksRow = ksRows - invKsRow;\n\n\t if (invKsRow % 4) {\n\t var t = keySchedule[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 4];\n\t }\n\n\t if (invKsRow < 4 || ksRow <= 4) {\n\t invKeySchedule[invKsRow] = t;\n\t } else {\n\t invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t }\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t // Swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\n\t this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t // Inv swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\t },\n\n\t _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t // Shortcut\n\t var nRounds = this._nRounds;\n\n\t // Get input, add round key\n\t var s0 = M[offset] ^ keySchedule[0];\n\t var s1 = M[offset + 1] ^ keySchedule[1];\n\t var s2 = M[offset + 2] ^ keySchedule[2];\n\t var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t // Key schedule row counter\n\t var ksRow = 4;\n\n\t // Rounds\n\t for (var round = 1; round < nRounds; round++) {\n\t // Shift rows, sub bytes, mix columns, add round key\n\t var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t // Update state\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\n\t // Shift rows, sub bytes, add round key\n\t var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t // Set output\n\t M[offset] = t0;\n\t M[offset + 1] = t1;\n\t M[offset + 2] = t2;\n\t M[offset + 3] = t3;\n\t },\n\n\t keySize: 256/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var Base64 = C_enc.Base64;\n\t var C_algo = C.algo;\n\t var EvpKDF = C_algo.EvpKDF;\n\n\t /**\n\t * Abstract base cipher template.\n\t *\n\t * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t */\n\t var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {WordArray} iv The IV to use for this operation.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Creates this cipher in encryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createEncryptor: function (key, cfg) {\n\t return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Creates this cipher in decryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createDecryptor: function (key, cfg) {\n\t return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Initializes a newly created cipher.\n\t *\n\t * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t */\n\t init: function (xformMode, key, cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Store transform mode and key\n\t this._xformMode = xformMode;\n\t this._key = key;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this cipher to its initial state.\n\t *\n\t * @example\n\t *\n\t * cipher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-cipher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Adds data to be encrypted or decrypted.\n\t *\n\t * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.process('data');\n\t * var encrypted = cipher.process(wordArray);\n\t */\n\t process: function (dataUpdate) {\n\t // Append\n\t this._append(dataUpdate);\n\n\t // Process available blocks\n\t return this._process();\n\t },\n\n\t /**\n\t * Finalizes the encryption or decryption process.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after final processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.finalize();\n\t * var encrypted = cipher.finalize('data');\n\t * var encrypted = cipher.finalize(wordArray);\n\t */\n\t finalize: function (dataUpdate) {\n\t // Final data update\n\t if (dataUpdate) {\n\t this._append(dataUpdate);\n\t }\n\n\t // Perform concrete-cipher logic\n\t var finalProcessedData = this._doFinalize();\n\n\t return finalProcessedData;\n\t },\n\n\t keySize: 128/32,\n\n\t ivSize: 128/32,\n\n\t _ENC_XFORM_MODE: 1,\n\n\t _DEC_XFORM_MODE: 2,\n\n\t /**\n\t * Creates shortcut functions to a cipher's object interface.\n\t *\n\t * @param {Cipher} cipher The cipher to create a helper for.\n\t *\n\t * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t */\n\t _createHelper: (function () {\n\t function selectCipherStrategy(key) {\n\t if (typeof key == 'string') {\n\t return PasswordBasedCipher;\n\t } else {\n\t return SerializableCipher;\n\t }\n\t }\n\n\t return function (cipher) {\n\t return {\n\t encrypt: function (message, key, cfg) {\n\t return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t },\n\n\t decrypt: function (ciphertext, key, cfg) {\n\t return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t }\n\t };\n\t };\n\t }())\n\t });\n\n\t /**\n\t * Abstract base stream cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t */\n\t var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t _doFinalize: function () {\n\t // Process partial blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 1\n\t });\n\n\t /**\n\t * Mode namespace.\n\t */\n\t var C_mode = C.mode = {};\n\n\t /**\n\t * Abstract base block cipher mode template.\n\t */\n\t var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t /**\n\t * Creates this mode for encryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t */\n\t createEncryptor: function (cipher, iv) {\n\t return this.Encryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Creates this mode for decryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t */\n\t createDecryptor: function (cipher, iv) {\n\t return this.Decryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Initializes a newly created mode.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t */\n\t init: function (cipher, iv) {\n\t this._cipher = cipher;\n\t this._iv = iv;\n\t }\n\t });\n\n\t /**\n\t * Cipher Block Chaining mode.\n\t */\n\t var CBC = C_mode.CBC = (function () {\n\t /**\n\t * Abstract base CBC mode.\n\t */\n\t var CBC = BlockCipherMode.extend();\n\n\t /**\n\t * CBC encryptor.\n\t */\n\t CBC.Encryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // XOR and encrypt\n\t xorBlock.call(this, words, offset, blockSize);\n\t cipher.encryptBlock(words, offset);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t /**\n\t * CBC decryptor.\n\t */\n\t CBC.Decryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t // Decrypt and XOR\n\t cipher.decryptBlock(words, offset);\n\t xorBlock.call(this, words, offset, blockSize);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function xorBlock(words, offset, blockSize) {\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Choose mixing block\n\t if (iv) {\n\t var block = iv;\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t var block = this._prevBlock;\n\t }\n\n\t // XOR blocks\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= block[i];\n\t }\n\t }\n\n\t return CBC;\n\t }());\n\n\t /**\n\t * Padding namespace.\n\t */\n\t var C_pad = C.pad = {};\n\n\t /**\n\t * PKCS #5/7 padding strategy.\n\t */\n\t var Pkcs7 = C_pad.Pkcs7 = {\n\t /**\n\t * Pads data using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to pad.\n\t * @param {number} blockSize The multiple that the data should be padded to.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t */\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Create padding word\n\t var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t // Create padding\n\t var paddingWords = [];\n\t for (var i = 0; i < nPaddingBytes; i += 4) {\n\t paddingWords.push(paddingWord);\n\t }\n\t var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t // Add padding\n\t data.concat(padding);\n\t },\n\n\t /**\n\t * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to unpad.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t */\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t };\n\n\t /**\n\t * Abstract base block cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t */\n\t var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Mode} mode The block mode to use. Default: CBC\n\t * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t */\n\t cfg: Cipher.cfg.extend({\n\t mode: CBC,\n\t padding: Pkcs7\n\t }),\n\n\t reset: function () {\n\t // Reset cipher\n\t Cipher.reset.call(this);\n\n\t // Shortcuts\n\t var cfg = this.cfg;\n\t var iv = cfg.iv;\n\t var mode = cfg.mode;\n\n\t // Reset block mode\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t var modeCreator = mode.createEncryptor;\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t var modeCreator = mode.createDecryptor;\n\t // Keep at least one block in the buffer for unpadding\n\t this._minBufferSize = 1;\n\t }\n\n\t if (this._mode && this._mode.__creator == modeCreator) {\n\t this._mode.init(this, iv && iv.words);\n\t } else {\n\t this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t this._mode.__creator = modeCreator;\n\t }\n\t },\n\n\t _doProcessBlock: function (words, offset) {\n\t this._mode.processBlock(words, offset);\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcut\n\t var padding = this.cfg.padding;\n\n\t // Finalize\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t // Pad data\n\t padding.pad(this._data, this.blockSize);\n\n\t // Process final blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t // Process final blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t // Unpad data\n\t padding.unpad(finalProcessedBlocks);\n\t }\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 128/32\n\t });\n\n\t /**\n\t * A collection of cipher parameters.\n\t *\n\t * @property {WordArray} ciphertext The raw ciphertext.\n\t * @property {WordArray} key The key to this ciphertext.\n\t * @property {WordArray} iv The IV used in the ciphering operation.\n\t * @property {WordArray} salt The salt used with a key derivation function.\n\t * @property {Cipher} algorithm The cipher algorithm.\n\t * @property {Mode} mode The block mode used in the ciphering operation.\n\t * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t * @property {number} blockSize The block size of the cipher.\n\t * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t */\n\t var CipherParams = C_lib.CipherParams = Base.extend({\n\t /**\n\t * Initializes a newly created cipher params object.\n\t *\n\t * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.lib.CipherParams.create({\n\t * ciphertext: ciphertextWordArray,\n\t * key: keyWordArray,\n\t * iv: ivWordArray,\n\t * salt: saltWordArray,\n\t * algorithm: CryptoJS.algo.AES,\n\t * mode: CryptoJS.mode.CBC,\n\t * padding: CryptoJS.pad.PKCS7,\n\t * blockSize: 4,\n\t * formatter: CryptoJS.format.OpenSSL\n\t * });\n\t */\n\t init: function (cipherParams) {\n\t this.mixIn(cipherParams);\n\t },\n\n\t /**\n\t * Converts this cipher params object to a string.\n\t *\n\t * @param {Format} formatter (Optional) The formatting strategy to use.\n\t *\n\t * @return {string} The stringified cipher params.\n\t *\n\t * @throws Error If neither the formatter nor the default formatter is set.\n\t *\n\t * @example\n\t *\n\t * var string = cipherParams + '';\n\t * var string = cipherParams.toString();\n\t * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t */\n\t toString: function (formatter) {\n\t return (formatter || this.formatter).stringify(this);\n\t }\n\t });\n\n\t /**\n\t * Format namespace.\n\t */\n\t var C_format = C.format = {};\n\n\t /**\n\t * OpenSSL formatting strategy.\n\t */\n\t var OpenSSLFormatter = C_format.OpenSSL = {\n\t /**\n\t * Converts a cipher params object to an OpenSSL-compatible string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The OpenSSL-compatible string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t // Shortcuts\n\t var ciphertext = cipherParams.ciphertext;\n\t var salt = cipherParams.salt;\n\n\t // Format\n\t if (salt) {\n\t var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t } else {\n\t var wordArray = ciphertext;\n\t }\n\n\t return wordArray.toString(Base64);\n\t },\n\n\t /**\n\t * Converts an OpenSSL-compatible string to a cipher params object.\n\t *\n\t * @param {string} openSSLStr The OpenSSL-compatible string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t */\n\t parse: function (openSSLStr) {\n\t // Parse base64\n\t var ciphertext = Base64.parse(openSSLStr);\n\n\t // Shortcut\n\t var ciphertextWords = ciphertext.words;\n\n\t // Test for salt\n\t if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t // Extract salt\n\t var salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t // Remove salt from ciphertext\n\t ciphertextWords.splice(0, 4);\n\t ciphertext.sigBytes -= 16;\n\t }\n\n\t return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t */\n\t var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t */\n\t cfg: Base.extend({\n\t format: OpenSSLFormatter\n\t }),\n\n\t /**\n\t * Encrypts a message.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Encrypt\n\t var encryptor = cipher.createEncryptor(key, cfg);\n\t var ciphertext = encryptor.finalize(message);\n\n\t // Shortcut\n\t var cipherCfg = encryptor.cfg;\n\n\t // Create and return serializable cipher params\n\t return CipherParams.create({\n\t ciphertext: ciphertext,\n\t key: key,\n\t iv: cipherCfg.iv,\n\t algorithm: cipher,\n\t mode: cipherCfg.mode,\n\t padding: cipherCfg.padding,\n\t blockSize: cipher.blockSize,\n\t formatter: cfg.format\n\t });\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Decrypt\n\t var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t return plaintext;\n\t },\n\n\t /**\n\t * Converts serialized ciphertext to CipherParams,\n\t * else assumed CipherParams already and returns ciphertext unchanged.\n\t *\n\t * @param {CipherParams|string} ciphertext The ciphertext.\n\t * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t *\n\t * @return {CipherParams} The unserialized ciphertext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t */\n\t _parse: function (ciphertext, format) {\n\t if (typeof ciphertext == 'string') {\n\t return format.parse(ciphertext, this);\n\t } else {\n\t return ciphertext;\n\t }\n\t }\n\t });\n\n\t /**\n\t * Key derivation function namespace.\n\t */\n\t var C_kdf = C.kdf = {};\n\n\t /**\n\t * OpenSSL key derivation function.\n\t */\n\t var OpenSSLKdf = C_kdf.OpenSSL = {\n\t /**\n\t * Derives a key and IV from a password.\n\t *\n\t * @param {string} password The password to derive from.\n\t * @param {number} keySize The size in words of the key to generate.\n\t * @param {number} ivSize The size in words of the IV to generate.\n\t * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t *\n\t * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t */\n\t execute: function (password, keySize, ivSize, salt) {\n\t // Generate random salt\n\t if (!salt) {\n\t salt = WordArray.random(64/8);\n\t }\n\n\t // Derive key and IV\n\t var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\n\t // Separate key and IV\n\t var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t key.sigBytes = keySize * 4;\n\n\t // Return params\n\t return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A serializable cipher wrapper that derives the key from a password,\n\t * and returns ciphertext as a serializable cipher params object.\n\t */\n\t var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t */\n\t cfg: SerializableCipher.cfg.extend({\n\t kdf: OpenSSLKdf\n\t }),\n\n\t /**\n\t * Encrypts a message using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Encrypt\n\t var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t // Mix in derived params\n\t ciphertext.mixIn(derivedParams);\n\n\t return ciphertext;\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Decrypt\n\t var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t return plaintext;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\t /*\n\t * Local polyfil of Object.create\n\t */\n\t var create = Object.create || (function () {\n\t function F() {};\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }())\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var i = 0; i < thatSigBytes; i += 4) {\n\t thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t var r = (function (m_w) {\n\t var m_w = m_w;\n\t var m_z = 0x3ade68b1;\n\t var mask = 0xffffffff;\n\n\t return function () {\n\t m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask;\n\t m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask;\n\t var result = ((m_z << 0x10) + m_w) & mask;\n\t result /= 0x100000000;\n\t result += 0.5;\n\t return result * (Math.random() > .5 ? 1 : -1);\n\t }\n\t });\n\n\t for (var i = 0, rcache; i < nBytes; i += 4) {\n\t var _r = r((rcache || Math.random()) * 0x100000000);\n\n\t rcache = _r() * 0x3ade67b7;\n\t words.push((_r() * 0x100000000) | 0);\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t var processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * UTF-16 BE encoding strategy.\n\t */\n\t var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {\n\t /**\n\t * Converts a word array to a UTF-16 BE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 BE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 BE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 BE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16.parse(utf16String);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t /**\n\t * UTF-16 LE encoding strategy.\n\t */\n\t C_enc.Utf16LE = {\n\t /**\n\t * Converts a word array to a UTF-16 LE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 LE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 LE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 LE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t function swapEndian(word) {\n\t return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Utf16;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var MD5 = C_algo.MD5;\n\n\t /**\n\t * This key derivation function is meant to conform with EVP_BytesToKey.\n\t * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t */\n\t var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: MD5,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.EvpKDF.create();\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init hasher\n\t var hasher = cfg.hasher.create();\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t if (block) {\n\t hasher.update(block);\n\t }\n\t var block = hasher.update(password).finalize(salt);\n\t hasher.reset();\n\n\t // Iterations\n\t for (var i = 1; i < iterations; i++) {\n\t block = hasher.finalize(block);\n\t hasher.reset();\n\t }\n\n\t derivedKey.concat(block);\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.EvpKDF(password, salt);\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.EvpKDF = function (password, salt, cfg) {\n\t return EvpKDF.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var CipherParams = C_lib.CipherParams;\n\t var C_enc = C.enc;\n\t var Hex = C_enc.Hex;\n\t var C_format = C.format;\n\n\t var HexFormatter = C_format.Hex = {\n\t /**\n\t * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The hexadecimally encoded string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.format.Hex.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t return cipherParams.ciphertext.toString(Hex);\n\t },\n\n\t /**\n\t * Converts a hexadecimally encoded ciphertext string to a cipher params object.\n\t *\n\t * @param {string} input The hexadecimally encoded string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.Hex.parse(hexString);\n\t */\n\t parse: function (input) {\n\t var ciphertext = Hex.parse(input);\n\t return CipherParams.create({ ciphertext: ciphertext });\n\t }\n\t };\n\t}());\n\n\n\treturn CryptoJS.format.Hex;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./lib-typedarrays\"), require(\"./enc-utf16\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./sha1\"), require(\"./sha256\"), require(\"./sha224\"), require(\"./sha512\"), require(\"./sha384\"), require(\"./sha3\"), require(\"./ripemd160\"), require(\"./hmac\"), require(\"./pbkdf2\"), require(\"./evpkdf\"), require(\"./cipher-core\"), require(\"./mode-cfb\"), require(\"./mode-ctr\"), require(\"./mode-ctr-gladman\"), require(\"./mode-ofb\"), require(\"./mode-ecb\"), require(\"./pad-ansix923\"), require(\"./pad-iso10126\"), require(\"./pad-iso97971\"), require(\"./pad-zeropadding\"), require(\"./pad-nopadding\"), require(\"./format-hex\"), require(\"./aes\"), require(\"./tripledes\"), require(\"./rc4\"), require(\"./rabbit\"), require(\"./rabbit-legacy\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./lib-typedarrays\", \"./enc-utf16\", \"./enc-base64\", \"./md5\", \"./sha1\", \"./sha256\", \"./sha224\", \"./sha512\", \"./sha384\", \"./sha3\", \"./ripemd160\", \"./hmac\", \"./pbkdf2\", \"./evpkdf\", \"./cipher-core\", \"./mode-cfb\", \"./mode-ctr\", \"./mode-ctr-gladman\", \"./mode-ofb\", \"./mode-ecb\", \"./pad-ansix923\", \"./pad-iso10126\", \"./pad-iso97971\", \"./pad-zeropadding\", \"./pad-nopadding\", \"./format-hex\", \"./aes\", \"./tripledes\", \"./rc4\", \"./rabbit\", \"./rabbit-legacy\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Check if typed arrays are supported\n\t if (typeof ArrayBuffer != 'function') {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\n\t // Reference original init\n\t var superInit = WordArray.init;\n\n\t // Augment WordArray.init to handle typed arrays\n\t var subInit = WordArray.init = function (typedArray) {\n\t // Convert buffers to uint8\n\t if (typedArray instanceof ArrayBuffer) {\n\t typedArray = new Uint8Array(typedArray);\n\t }\n\n\t // Convert other array views to uint8\n\t if (\n\t typedArray instanceof Int8Array ||\n\t (typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray) ||\n\t typedArray instanceof Int16Array ||\n\t typedArray instanceof Uint16Array ||\n\t typedArray instanceof Int32Array ||\n\t typedArray instanceof Uint32Array ||\n\t typedArray instanceof Float32Array ||\n\t typedArray instanceof Float64Array\n\t ) {\n\t typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n\t }\n\n\t // Handle Uint8Array\n\t if (typedArray instanceof Uint8Array) {\n\t // Shortcut\n\t var typedArrayByteLength = typedArray.byteLength;\n\n\t // Extract bytes\n\t var words = [];\n\t for (var i = 0; i < typedArrayByteLength; i++) {\n\t words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);\n\t }\n\n\t // Initialize this word array\n\t superInit.call(this, words, typedArrayByteLength);\n\t } else {\n\t // Else call normal init\n\t superInit.apply(this, arguments);\n\t }\n\t };\n\n\t subInit.prototype = WordArray;\n\t}());\n\n\n\treturn CryptoJS.lib.WordArray;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working varialbes\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher Feedback block mode.\n\t */\n\tCryptoJS.mode.CFB = (function () {\n\t var CFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t CFB.Encryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t CFB.Decryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Generate keystream\n\t if (iv) {\n\t var keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t var keystream = this._prevBlock;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\n\t return CFB;\n\t}());\n\n\n\treturn CryptoJS.mode.CFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t * Counter block mode compatible with Dr Brian Gladman fileenc.c\n\t * derived from CryptoJS.mode.CTR\n\t * Jan Hruby jhruby.web@gmail.com\n\t */\n\tCryptoJS.mode.CTRGladman = (function () {\n\t var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();\n\n\t\tfunction incWord(word)\n\t\t{\n\t\t\tif (((word >> 24) & 0xff) === 0xff) { //overflow\n\t\t\tvar b1 = (word >> 16)&0xff;\n\t\t\tvar b2 = (word >> 8)&0xff;\n\t\t\tvar b3 = word & 0xff;\n\n\t\t\tif (b1 === 0xff) // overflow b1\n\t\t\t{\n\t\t\tb1 = 0;\n\t\t\tif (b2 === 0xff)\n\t\t\t{\n\t\t\t\tb2 = 0;\n\t\t\t\tif (b3 === 0xff)\n\t\t\t\t{\n\t\t\t\t\tb3 = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t++b3;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t++b2;\n\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t++b1;\n\t\t\t}\n\n\t\t\tword = 0;\n\t\t\tword += (b1 << 16);\n\t\t\tword += (b2 << 8);\n\t\t\tword += b3;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\tword += (0x01 << 24);\n\t\t\t}\n\t\t\treturn word;\n\t\t}\n\n\t\tfunction incCounter(counter)\n\t\t{\n\t\t\tif ((counter[0] = incWord(counter[0])) === 0)\n\t\t\t{\n\t\t\t\t// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8\n\t\t\t\tcounter[1] = incWord(counter[1]);\n\t\t\t}\n\t\t\treturn counter;\n\t\t}\n\n\t var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\n\t\t\t\tincCounter(counter);\n\n\t\t\t\tvar keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTRGladman.Decryptor = Encryptor;\n\n\t return CTRGladman;\n\t}());\n\n\n\n\n\treturn CryptoJS.mode.CTRGladman;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Counter block mode.\n\t */\n\tCryptoJS.mode.CTR = (function () {\n\t var CTR = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = CTR.Encryptor = CTR.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t var keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Increment counter\n\t counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTR.Decryptor = Encryptor;\n\n\t return CTR;\n\t}());\n\n\n\treturn CryptoJS.mode.CTR;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Electronic Codebook block mode.\n\t */\n\tCryptoJS.mode.ECB = (function () {\n\t var ECB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t ECB.Encryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.encryptBlock(words, offset);\n\t }\n\t });\n\n\t ECB.Decryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.decryptBlock(words, offset);\n\t }\n\t });\n\n\t return ECB;\n\t}());\n\n\n\treturn CryptoJS.mode.ECB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Output Feedback block mode.\n\t */\n\tCryptoJS.mode.OFB = (function () {\n\t var OFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = OFB.Encryptor = OFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var keystream = this._keystream;\n\n\t // Generate keystream\n\t if (iv) {\n\t keystream = this._keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t OFB.Decryptor = Encryptor;\n\n\t return OFB;\n\t}());\n\n\n\treturn CryptoJS.mode.OFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ANSI X.923 padding strategy.\n\t */\n\tCryptoJS.pad.AnsiX923 = {\n\t pad: function (data, blockSize) {\n\t // Shortcuts\n\t var dataSigBytes = data.sigBytes;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;\n\n\t // Compute last byte position\n\t var lastBytePos = dataSigBytes + nPaddingBytes - 1;\n\n\t // Pad\n\t data.clamp();\n\t data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);\n\t data.sigBytes += nPaddingBytes;\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Ansix923;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO 10126 padding strategy.\n\t */\n\tCryptoJS.pad.Iso10126 = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Pad\n\t data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).\n\t concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso10126;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO/IEC 9797-1 Padding Method 2.\n\t */\n\tCryptoJS.pad.Iso97971 = {\n\t pad: function (data, blockSize) {\n\t // Add 0x80 byte\n\t data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));\n\n\t // Zero pad the rest\n\t CryptoJS.pad.ZeroPadding.pad(data, blockSize);\n\t },\n\n\t unpad: function (data) {\n\t // Remove zero padding\n\t CryptoJS.pad.ZeroPadding.unpad(data);\n\n\t // Remove one more byte -- the 0x80 byte\n\t data.sigBytes--;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso97971;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * A noop padding strategy.\n\t */\n\tCryptoJS.pad.NoPadding = {\n\t pad: function () {\n\t },\n\n\t unpad: function () {\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.NoPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Zero padding strategy.\n\t */\n\tCryptoJS.pad.ZeroPadding = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Pad\n\t data.clamp();\n\t data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\n\t },\n\n\t unpad: function (data) {\n\t // Shortcut\n\t var dataWords = data.words;\n\n\t // Unpad\n\t var i = data.sigBytes - 1;\n\t while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\n\t i--;\n\t }\n\t data.sigBytes = i + 1;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.ZeroPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA1 = C_algo.SHA1;\n\t var HMAC = C_algo.HMAC;\n\n\t /**\n\t * Password-Based Key Derivation Function 2 algorithm.\n\t */\n\t var PBKDF2 = C_algo.PBKDF2 = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hasher to use. Default: SHA1\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: SHA1,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.PBKDF2.create();\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init HMAC\n\t var hmac = HMAC.create(cfg.hasher, password);\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\t var blockIndex = WordArray.create([0x00000001]);\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var blockIndexWords = blockIndex.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t var block = hmac.update(salt).finalize(blockIndex);\n\t hmac.reset();\n\n\t // Shortcuts\n\t var blockWords = block.words;\n\t var blockWordsLength = blockWords.length;\n\n\t // Iterations\n\t var intermediate = block;\n\t for (var i = 1; i < iterations; i++) {\n\t intermediate = hmac.finalize(intermediate);\n\t hmac.reset();\n\n\t // Shortcut\n\t var intermediateWords = intermediate.words;\n\n\t // XOR intermediate with block\n\t for (var j = 0; j < blockWordsLength; j++) {\n\t blockWords[j] ^= intermediateWords[j];\n\t }\n\t }\n\n\t derivedKey.concat(block);\n\t blockIndexWords[0]++;\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.PBKDF2(password, salt);\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.PBKDF2 = function (password, salt, cfg) {\n\t return PBKDF2.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.PBKDF2;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm.\n\t *\n\t * This is a legacy version that neglected to convert the key to little-endian.\n\t * This error doesn't affect the cipher's security,\n\t * but it does affect its compatibility with other implementations.\n\t */\n\t var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);\n\t}());\n\n\n\treturn CryptoJS.RabbitLegacy;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm\n\t */\n\t var Rabbit = C_algo.Rabbit = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |\n\t (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);\n\t */\n\t C.Rabbit = StreamCipher._createHelper(Rabbit);\n\t}());\n\n\n\treturn CryptoJS.Rabbit;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t /**\n\t * RC4 stream cipher algorithm.\n\t */\n\t var RC4 = C_algo.RC4 = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\t var keySigBytes = key.sigBytes;\n\n\t // Init sbox\n\t var S = this._S = [];\n\t for (var i = 0; i < 256; i++) {\n\t S[i] = i;\n\t }\n\n\t // Key setup\n\t for (var i = 0, j = 0; i < 256; i++) {\n\t var keyByteIndex = i % keySigBytes;\n\t var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;\n\n\t j = (j + S[i] + keyByte) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\t }\n\n\t // Counters\n\t this._i = this._j = 0;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t M[offset] ^= generateKeystreamWord.call(this);\n\t },\n\n\t keySize: 256/32,\n\n\t ivSize: 0\n\t });\n\n\t function generateKeystreamWord() {\n\t // Shortcuts\n\t var S = this._S;\n\t var i = this._i;\n\t var j = this._j;\n\n\t // Generate keystream word\n\t var keystreamWord = 0;\n\t for (var n = 0; n < 4; n++) {\n\t i = (i + 1) % 256;\n\t j = (j + S[i]) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\n\t keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);\n\t }\n\n\t // Update counters\n\t this._i = i;\n\t this._j = j;\n\n\t return keystreamWord;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4 = StreamCipher._createHelper(RC4);\n\n\t /**\n\t * Modified RC4 stream cipher algorithm.\n\t */\n\t var RC4Drop = C_algo.RC4Drop = RC4.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} drop The number of keystream words to drop. Default 192\n\t */\n\t cfg: RC4.cfg.extend({\n\t drop: 192\n\t }),\n\n\t _doReset: function () {\n\t RC4._doReset.call(this);\n\n\t // Drop\n\t for (var i = this.cfg.drop; i > 0; i--) {\n\t generateKeystreamWord.call(this);\n\t }\n\t }\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4Drop = StreamCipher._createHelper(RC4Drop);\n\t}());\n\n\n\treturn CryptoJS.RC4;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t(c) 2012 by Cédric Mesnil. All rights reserved.\n\n\tRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n\t - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\t - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var _zl = WordArray.create([\n\t 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n\t 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n\t 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n\t 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n\t 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);\n\t var _zr = WordArray.create([\n\t 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n\t 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n\t 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n\t 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n\t 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);\n\t var _sl = WordArray.create([\n\t 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n\t 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n\t 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n\t 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n\t 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]);\n\t var _sr = WordArray.create([\n\t 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n\t 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n\t 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n\t 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n\t 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]);\n\n\t var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);\n\t var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);\n\n\t /**\n\t * RIPEMD160 hash algorithm.\n\t */\n\t var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t // Swap\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\t // Shortcut\n\t var H = this._hash.words;\n\t var hl = _hl.words;\n\t var hr = _hr.words;\n\t var zl = _zl.words;\n\t var zr = _zr.words;\n\t var sl = _sl.words;\n\t var sr = _sr.words;\n\n\t // Working variables\n\t var al, bl, cl, dl, el;\n\t var ar, br, cr, dr, er;\n\n\t ar = al = H[0];\n\t br = bl = H[1];\n\t cr = cl = H[2];\n\t dr = dl = H[3];\n\t er = el = H[4];\n\t // Computation\n\t var t;\n\t for (var i = 0; i < 80; i += 1) {\n\t t = (al + M[offset+zl[i]])|0;\n\t if (i<16){\n\t\t t += f1(bl,cl,dl) + hl[0];\n\t } else if (i<32) {\n\t\t t += f2(bl,cl,dl) + hl[1];\n\t } else if (i<48) {\n\t\t t += f3(bl,cl,dl) + hl[2];\n\t } else if (i<64) {\n\t\t t += f4(bl,cl,dl) + hl[3];\n\t } else {// if (i<80) {\n\t\t t += f5(bl,cl,dl) + hl[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sl[i]);\n\t t = (t+el)|0;\n\t al = el;\n\t el = dl;\n\t dl = rotl(cl, 10);\n\t cl = bl;\n\t bl = t;\n\n\t t = (ar + M[offset+zr[i]])|0;\n\t if (i<16){\n\t\t t += f5(br,cr,dr) + hr[0];\n\t } else if (i<32) {\n\t\t t += f4(br,cr,dr) + hr[1];\n\t } else if (i<48) {\n\t\t t += f3(br,cr,dr) + hr[2];\n\t } else if (i<64) {\n\t\t t += f2(br,cr,dr) + hr[3];\n\t } else {// if (i<80) {\n\t\t t += f1(br,cr,dr) + hr[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sr[i]) ;\n\t t = (t+er)|0;\n\t ar = er;\n\t er = dr;\n\t dr = rotl(cr, 10);\n\t cr = br;\n\t br = t;\n\t }\n\t // Intermediate hash value\n\t t = (H[1] + cl + dr)|0;\n\t H[1] = (H[2] + dl + er)|0;\n\t H[2] = (H[3] + el + ar)|0;\n\t H[3] = (H[4] + al + br)|0;\n\t H[4] = (H[0] + bl + cr)|0;\n\t H[0] = t;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)\n\t );\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 5; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t // Swap\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\n\t function f1(x, y, z) {\n\t return ((x) ^ (y) ^ (z));\n\n\t }\n\n\t function f2(x, y, z) {\n\t return (((x)&(y)) | ((~x)&(z)));\n\t }\n\n\t function f3(x, y, z) {\n\t return (((x) | (~(y))) ^ (z));\n\t }\n\n\t function f4(x, y, z) {\n\t return (((x) & (z)) | ((y)&(~(z))));\n\t }\n\n\t function f5(x, y, z) {\n\t return ((x) ^ ((y) |(~(z))));\n\n\t }\n\n\t function rotl(x,n) {\n\t return (x<>>(32-n));\n\t }\n\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.RIPEMD160('message');\n\t * var hash = CryptoJS.RIPEMD160(wordArray);\n\t */\n\t C.RIPEMD160 = Hasher._createHelper(RIPEMD160);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacRIPEMD160(message, key);\n\t */\n\t C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);\n\t}(Math));\n\n\n\treturn CryptoJS.RIPEMD160;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA256 = C_algo.SHA256;\n\n\t /**\n\t * SHA-224 hash algorithm.\n\t */\n\t var SHA224 = C_algo.SHA224 = SHA256.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n\t 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA256._doFinalize.call(this);\n\n\t hash.sigBytes -= 4;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA224('message');\n\t * var hash = CryptoJS.SHA224(wordArray);\n\t */\n\t C.SHA224 = SHA256._createHelper(SHA224);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA224(message, key);\n\t */\n\t C.HmacSHA224 = SHA256._createHmacHelper(SHA224);\n\t}());\n\n\n\treturn CryptoJS.SHA224;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var C_algo = C.algo;\n\n\t // Constants tables\n\t var RHO_OFFSETS = [];\n\t var PI_INDEXES = [];\n\t var ROUND_CONSTANTS = [];\n\n\t // Compute Constants\n\t (function () {\n\t // Compute rho offset constants\n\t var x = 1, y = 0;\n\t for (var t = 0; t < 24; t++) {\n\t RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64;\n\n\t var newX = y % 5;\n\t var newY = (2 * x + 3 * y) % 5;\n\t x = newX;\n\t y = newY;\n\t }\n\n\t // Compute pi index constants\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;\n\t }\n\t }\n\n\t // Compute round constants\n\t var LFSR = 0x01;\n\t for (var i = 0; i < 24; i++) {\n\t var roundConstantMsw = 0;\n\t var roundConstantLsw = 0;\n\n\t for (var j = 0; j < 7; j++) {\n\t if (LFSR & 0x01) {\n\t var bitPosition = (1 << j) - 1;\n\t if (bitPosition < 32) {\n\t roundConstantLsw ^= 1 << bitPosition;\n\t } else /* if (bitPosition >= 32) */ {\n\t roundConstantMsw ^= 1 << (bitPosition - 32);\n\t }\n\t }\n\n\t // Compute next LFSR\n\t if (LFSR & 0x80) {\n\t // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1\n\t LFSR = (LFSR << 1) ^ 0x71;\n\t } else {\n\t LFSR <<= 1;\n\t }\n\t }\n\n\t ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);\n\t }\n\t }());\n\n\t // Reusable objects for temporary values\n\t var T = [];\n\t (function () {\n\t for (var i = 0; i < 25; i++) {\n\t T[i] = X64Word.create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-3 hash algorithm.\n\t */\n\t var SHA3 = C_algo.SHA3 = Hasher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} outputLength\n\t * The desired number of bits in the output hash.\n\t * Only values permitted are: 224, 256, 384, 512.\n\t * Default: 512\n\t */\n\t cfg: Hasher.cfg.extend({\n\t outputLength: 512\n\t }),\n\n\t _doReset: function () {\n\t var state = this._state = []\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = new X64Word.init();\n\t }\n\n\t this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var state = this._state;\n\t var nBlockSizeLanes = this.blockSize / 2;\n\n\t // Absorb\n\t for (var i = 0; i < nBlockSizeLanes; i++) {\n\t // Shortcuts\n\t var M2i = M[offset + 2 * i];\n\t var M2i1 = M[offset + 2 * i + 1];\n\n\t // Swap endian\n\t M2i = (\n\t (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) |\n\t (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00)\n\t );\n\t M2i1 = (\n\t (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) |\n\t (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Absorb message into state\n\t var lane = state[i];\n\t lane.high ^= M2i1;\n\t lane.low ^= M2i;\n\t }\n\n\t // Rounds\n\t for (var round = 0; round < 24; round++) {\n\t // Theta\n\t for (var x = 0; x < 5; x++) {\n\t // Mix column lanes\n\t var tMsw = 0, tLsw = 0;\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t tMsw ^= lane.high;\n\t tLsw ^= lane.low;\n\t }\n\n\t // Temporary values\n\t var Tx = T[x];\n\t Tx.high = tMsw;\n\t Tx.low = tLsw;\n\t }\n\t for (var x = 0; x < 5; x++) {\n\t // Shortcuts\n\t var Tx4 = T[(x + 4) % 5];\n\t var Tx1 = T[(x + 1) % 5];\n\t var Tx1Msw = Tx1.high;\n\t var Tx1Lsw = Tx1.low;\n\n\t // Mix surrounding columns\n\t var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));\n\t var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t lane.high ^= tMsw;\n\t lane.low ^= tLsw;\n\t }\n\t }\n\n\t // Rho Pi\n\t for (var laneIndex = 1; laneIndex < 25; laneIndex++) {\n\t // Shortcuts\n\t var lane = state[laneIndex];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\t var rhoOffset = RHO_OFFSETS[laneIndex];\n\n\t // Rotate lanes\n\t if (rhoOffset < 32) {\n\t var tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));\n\t var tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));\n\t } else /* if (rhoOffset >= 32) */ {\n\t var tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));\n\t var tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));\n\t }\n\n\t // Transpose lanes\n\t var TPiLane = T[PI_INDEXES[laneIndex]];\n\t TPiLane.high = tMsw;\n\t TPiLane.low = tLsw;\n\t }\n\n\t // Rho pi at x = y = 0\n\t var T0 = T[0];\n\t var state0 = state[0];\n\t T0.high = state0.high;\n\t T0.low = state0.low;\n\n\t // Chi\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t // Shortcuts\n\t var laneIndex = x + 5 * y;\n\t var lane = state[laneIndex];\n\t var TLane = T[laneIndex];\n\t var Tx1Lane = T[((x + 1) % 5) + 5 * y];\n\t var Tx2Lane = T[((x + 2) % 5) + 5 * y];\n\n\t // Mix rows\n\t lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);\n\t lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low);\n\t }\n\t }\n\n\t // Iota\n\t var lane = state[0];\n\t var roundConstant = ROUND_CONSTANTS[round];\n\t lane.high ^= roundConstant.high;\n\t lane.low ^= roundConstant.low;;\n\t }\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\t var blockSizeBits = this.blockSize * 32;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32);\n\t dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var state = this._state;\n\t var outputLengthBytes = this.cfg.outputLength / 8;\n\t var outputLengthLanes = outputLengthBytes / 8;\n\n\t // Squeeze\n\t var hashWords = [];\n\t for (var i = 0; i < outputLengthLanes; i++) {\n\t // Shortcuts\n\t var lane = state[i];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\n\t // Swap endian\n\t laneMsw = (\n\t (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) |\n\t (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00)\n\t );\n\t laneLsw = (\n\t (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) |\n\t (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Squeeze state to retrieve hash\n\t hashWords.push(laneLsw);\n\t hashWords.push(laneMsw);\n\t }\n\n\t // Return final computed hash\n\t return new WordArray.init(hashWords, outputLengthBytes);\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\n\t var state = clone._state = this._state.slice(0);\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = state[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA3('message');\n\t * var hash = CryptoJS.SHA3(wordArray);\n\t */\n\t C.SHA3 = Hasher._createHelper(SHA3);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA3(message, key);\n\t */\n\t C.HmacSHA3 = Hasher._createHmacHelper(SHA3);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA3;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./sha512\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./sha512\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\t var SHA512 = C_algo.SHA512;\n\n\t /**\n\t * SHA-384 hash algorithm.\n\t */\n\t var SHA384 = C_algo.SHA384 = SHA512.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),\n\t new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),\n\t new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),\n\t new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA512._doFinalize.call(this);\n\n\t hash.sigBytes -= 16;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA384('message');\n\t * var hash = CryptoJS.SHA384(wordArray);\n\t */\n\t C.SHA384 = SHA512._createHelper(SHA384);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA384(message, key);\n\t */\n\t C.HmacSHA384 = SHA512._createHmacHelper(SHA384);\n\t}());\n\n\n\treturn CryptoJS.SHA384;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\n\t function X64Word_create() {\n\t return X64Word.create.apply(X64Word, arguments);\n\t }\n\n\t // Constants\n\t var K = [\n\t X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),\n\t X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),\n\t X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),\n\t X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),\n\t X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),\n\t X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),\n\t X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),\n\t X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),\n\t X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),\n\t X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),\n\t X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),\n\t X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),\n\t X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),\n\t X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),\n\t X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),\n\t X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),\n\t X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),\n\t X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),\n\t X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),\n\t X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),\n\t X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),\n\t X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),\n\t X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),\n\t X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),\n\t X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),\n\t X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),\n\t X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),\n\t X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),\n\t X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),\n\t X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),\n\t X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),\n\t X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),\n\t X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),\n\t X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),\n\t X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),\n\t X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),\n\t X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),\n\t X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),\n\t X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),\n\t X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)\n\t ];\n\n\t // Reusable objects\n\t var W = [];\n\t (function () {\n\t for (var i = 0; i < 80; i++) {\n\t W[i] = X64Word_create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-512 hash algorithm.\n\t */\n\t var SHA512 = C_algo.SHA512 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),\n\t new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),\n\t new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),\n\t new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var H0 = H[0];\n\t var H1 = H[1];\n\t var H2 = H[2];\n\t var H3 = H[3];\n\t var H4 = H[4];\n\t var H5 = H[5];\n\t var H6 = H[6];\n\t var H7 = H[7];\n\n\t var H0h = H0.high;\n\t var H0l = H0.low;\n\t var H1h = H1.high;\n\t var H1l = H1.low;\n\t var H2h = H2.high;\n\t var H2l = H2.low;\n\t var H3h = H3.high;\n\t var H3l = H3.low;\n\t var H4h = H4.high;\n\t var H4l = H4.low;\n\t var H5h = H5.high;\n\t var H5l = H5.low;\n\t var H6h = H6.high;\n\t var H6l = H6.low;\n\t var H7h = H7.high;\n\t var H7l = H7.low;\n\n\t // Working variables\n\t var ah = H0h;\n\t var al = H0l;\n\t var bh = H1h;\n\t var bl = H1l;\n\t var ch = H2h;\n\t var cl = H2l;\n\t var dh = H3h;\n\t var dl = H3l;\n\t var eh = H4h;\n\t var el = H4l;\n\t var fh = H5h;\n\t var fl = H5l;\n\t var gh = H6h;\n\t var gl = H6l;\n\t var hh = H7h;\n\t var hl = H7l;\n\n\t // Rounds\n\t for (var i = 0; i < 80; i++) {\n\t // Shortcut\n\t var Wi = W[i];\n\n\t // Extend message\n\t if (i < 16) {\n\t var Wih = Wi.high = M[offset + i * 2] | 0;\n\t var Wil = Wi.low = M[offset + i * 2 + 1] | 0;\n\t } else {\n\t // Gamma0\n\t var gamma0x = W[i - 15];\n\t var gamma0xh = gamma0x.high;\n\t var gamma0xl = gamma0x.low;\n\t var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);\n\t var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));\n\n\t // Gamma1\n\t var gamma1x = W[i - 2];\n\t var gamma1xh = gamma1x.high;\n\t var gamma1xl = gamma1x.low;\n\t var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);\n\t var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));\n\n\t // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t var Wi7 = W[i - 7];\n\t var Wi7h = Wi7.high;\n\t var Wi7l = Wi7.low;\n\n\t var Wi16 = W[i - 16];\n\t var Wi16h = Wi16.high;\n\t var Wi16l = Wi16.low;\n\n\t var Wil = gamma0l + Wi7l;\n\t var Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);\n\t var Wil = Wil + gamma1l;\n\t var Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);\n\t var Wil = Wil + Wi16l;\n\t var Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);\n\n\t Wi.high = Wih;\n\t Wi.low = Wil;\n\t }\n\n\t var chh = (eh & fh) ^ (~eh & gh);\n\t var chl = (el & fl) ^ (~el & gl);\n\t var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);\n\t var majl = (al & bl) ^ (al & cl) ^ (bl & cl);\n\n\t var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));\n\t var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));\n\t var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));\n\t var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));\n\n\t // t1 = h + sigma1 + ch + K[i] + W[i]\n\t var Ki = K[i];\n\t var Kih = Ki.high;\n\t var Kil = Ki.low;\n\n\t var t1l = hl + sigma1l;\n\t var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);\n\t var t1l = t1l + chl;\n\t var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);\n\t var t1l = t1l + Kil;\n\t var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);\n\t var t1l = t1l + Wil;\n\t var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);\n\n\t // t2 = sigma0 + maj\n\t var t2l = sigma0l + majl;\n\t var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);\n\n\t // Update working variables\n\t hh = gh;\n\t hl = gl;\n\t gh = fh;\n\t gl = fl;\n\t fh = eh;\n\t fl = el;\n\t el = (dl + t1l) | 0;\n\t eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;\n\t dh = ch;\n\t dl = cl;\n\t ch = bh;\n\t cl = bl;\n\t bh = ah;\n\t bl = al;\n\t al = (t1l + t2l) | 0;\n\t ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H0l = H0.low = (H0l + al);\n\t H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));\n\t H1l = H1.low = (H1l + bl);\n\t H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));\n\t H2l = H2.low = (H2l + cl);\n\t H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));\n\t H3l = H3.low = (H3l + dl);\n\t H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));\n\t H4l = H4.low = (H4l + el);\n\t H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));\n\t H5l = H5.low = (H5l + fl);\n\t H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));\n\t H6l = H6.low = (H6l + gl);\n\t H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));\n\t H7l = H7.low = (H7l + hl);\n\t H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Convert hash to 32-bit word array before returning\n\t var hash = this._hash.toX32();\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t },\n\n\t blockSize: 1024/32\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA512('message');\n\t * var hash = CryptoJS.SHA512(wordArray);\n\t */\n\t C.SHA512 = Hasher._createHelper(SHA512);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA512(message, key);\n\t */\n\t C.HmacSHA512 = Hasher._createHmacHelper(SHA512);\n\t}());\n\n\n\treturn CryptoJS.SHA512;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Permuted Choice 1 constants\n\t var PC1 = [\n\t 57, 49, 41, 33, 25, 17, 9, 1,\n\t 58, 50, 42, 34, 26, 18, 10, 2,\n\t 59, 51, 43, 35, 27, 19, 11, 3,\n\t 60, 52, 44, 36, 63, 55, 47, 39,\n\t 31, 23, 15, 7, 62, 54, 46, 38,\n\t 30, 22, 14, 6, 61, 53, 45, 37,\n\t 29, 21, 13, 5, 28, 20, 12, 4\n\t ];\n\n\t // Permuted Choice 2 constants\n\t var PC2 = [\n\t 14, 17, 11, 24, 1, 5,\n\t 3, 28, 15, 6, 21, 10,\n\t 23, 19, 12, 4, 26, 8,\n\t 16, 7, 27, 20, 13, 2,\n\t 41, 52, 31, 37, 47, 55,\n\t 30, 40, 51, 45, 33, 48,\n\t 44, 49, 39, 56, 34, 53,\n\t 46, 42, 50, 36, 29, 32\n\t ];\n\n\t // Cumulative bit shift constants\n\t var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\n\t // SBOXes and round permutation constants\n\t var SBOX_P = [\n\t {\n\t 0x0: 0x808200,\n\t 0x10000000: 0x8000,\n\t 0x20000000: 0x808002,\n\t 0x30000000: 0x2,\n\t 0x40000000: 0x200,\n\t 0x50000000: 0x808202,\n\t 0x60000000: 0x800202,\n\t 0x70000000: 0x800000,\n\t 0x80000000: 0x202,\n\t 0x90000000: 0x800200,\n\t 0xa0000000: 0x8200,\n\t 0xb0000000: 0x808000,\n\t 0xc0000000: 0x8002,\n\t 0xd0000000: 0x800002,\n\t 0xe0000000: 0x0,\n\t 0xf0000000: 0x8202,\n\t 0x8000000: 0x0,\n\t 0x18000000: 0x808202,\n\t 0x28000000: 0x8202,\n\t 0x38000000: 0x8000,\n\t 0x48000000: 0x808200,\n\t 0x58000000: 0x200,\n\t 0x68000000: 0x808002,\n\t 0x78000000: 0x2,\n\t 0x88000000: 0x800200,\n\t 0x98000000: 0x8200,\n\t 0xa8000000: 0x808000,\n\t 0xb8000000: 0x800202,\n\t 0xc8000000: 0x800002,\n\t 0xd8000000: 0x8002,\n\t 0xe8000000: 0x202,\n\t 0xf8000000: 0x800000,\n\t 0x1: 0x8000,\n\t 0x10000001: 0x2,\n\t 0x20000001: 0x808200,\n\t 0x30000001: 0x800000,\n\t 0x40000001: 0x808002,\n\t 0x50000001: 0x8200,\n\t 0x60000001: 0x200,\n\t 0x70000001: 0x800202,\n\t 0x80000001: 0x808202,\n\t 0x90000001: 0x808000,\n\t 0xa0000001: 0x800002,\n\t 0xb0000001: 0x8202,\n\t 0xc0000001: 0x202,\n\t 0xd0000001: 0x800200,\n\t 0xe0000001: 0x8002,\n\t 0xf0000001: 0x0,\n\t 0x8000001: 0x808202,\n\t 0x18000001: 0x808000,\n\t 0x28000001: 0x800000,\n\t 0x38000001: 0x200,\n\t 0x48000001: 0x8000,\n\t 0x58000001: 0x800002,\n\t 0x68000001: 0x2,\n\t 0x78000001: 0x8202,\n\t 0x88000001: 0x8002,\n\t 0x98000001: 0x800202,\n\t 0xa8000001: 0x202,\n\t 0xb8000001: 0x808200,\n\t 0xc8000001: 0x800200,\n\t 0xd8000001: 0x0,\n\t 0xe8000001: 0x8200,\n\t 0xf8000001: 0x808002\n\t },\n\t {\n\t 0x0: 0x40084010,\n\t 0x1000000: 0x4000,\n\t 0x2000000: 0x80000,\n\t 0x3000000: 0x40080010,\n\t 0x4000000: 0x40000010,\n\t 0x5000000: 0x40084000,\n\t 0x6000000: 0x40004000,\n\t 0x7000000: 0x10,\n\t 0x8000000: 0x84000,\n\t 0x9000000: 0x40004010,\n\t 0xa000000: 0x40000000,\n\t 0xb000000: 0x84010,\n\t 0xc000000: 0x80010,\n\t 0xd000000: 0x0,\n\t 0xe000000: 0x4010,\n\t 0xf000000: 0x40080000,\n\t 0x800000: 0x40004000,\n\t 0x1800000: 0x84010,\n\t 0x2800000: 0x10,\n\t 0x3800000: 0x40004010,\n\t 0x4800000: 0x40084010,\n\t 0x5800000: 0x40000000,\n\t 0x6800000: 0x80000,\n\t 0x7800000: 0x40080010,\n\t 0x8800000: 0x80010,\n\t 0x9800000: 0x0,\n\t 0xa800000: 0x4000,\n\t 0xb800000: 0x40080000,\n\t 0xc800000: 0x40000010,\n\t 0xd800000: 0x84000,\n\t 0xe800000: 0x40084000,\n\t 0xf800000: 0x4010,\n\t 0x10000000: 0x0,\n\t 0x11000000: 0x40080010,\n\t 0x12000000: 0x40004010,\n\t 0x13000000: 0x40084000,\n\t 0x14000000: 0x40080000,\n\t 0x15000000: 0x10,\n\t 0x16000000: 0x84010,\n\t 0x17000000: 0x4000,\n\t 0x18000000: 0x4010,\n\t 0x19000000: 0x80000,\n\t 0x1a000000: 0x80010,\n\t 0x1b000000: 0x40000010,\n\t 0x1c000000: 0x84000,\n\t 0x1d000000: 0x40004000,\n\t 0x1e000000: 0x40000000,\n\t 0x1f000000: 0x40084010,\n\t 0x10800000: 0x84010,\n\t 0x11800000: 0x80000,\n\t 0x12800000: 0x40080000,\n\t 0x13800000: 0x4000,\n\t 0x14800000: 0x40004000,\n\t 0x15800000: 0x40084010,\n\t 0x16800000: 0x10,\n\t 0x17800000: 0x40000000,\n\t 0x18800000: 0x40084000,\n\t 0x19800000: 0x40000010,\n\t 0x1a800000: 0x40004010,\n\t 0x1b800000: 0x80010,\n\t 0x1c800000: 0x0,\n\t 0x1d800000: 0x4010,\n\t 0x1e800000: 0x40080010,\n\t 0x1f800000: 0x84000\n\t },\n\t {\n\t 0x0: 0x104,\n\t 0x100000: 0x0,\n\t 0x200000: 0x4000100,\n\t 0x300000: 0x10104,\n\t 0x400000: 0x10004,\n\t 0x500000: 0x4000004,\n\t 0x600000: 0x4010104,\n\t 0x700000: 0x4010000,\n\t 0x800000: 0x4000000,\n\t 0x900000: 0x4010100,\n\t 0xa00000: 0x10100,\n\t 0xb00000: 0x4010004,\n\t 0xc00000: 0x4000104,\n\t 0xd00000: 0x10000,\n\t 0xe00000: 0x4,\n\t 0xf00000: 0x100,\n\t 0x80000: 0x4010100,\n\t 0x180000: 0x4010004,\n\t 0x280000: 0x0,\n\t 0x380000: 0x4000100,\n\t 0x480000: 0x4000004,\n\t 0x580000: 0x10000,\n\t 0x680000: 0x10004,\n\t 0x780000: 0x104,\n\t 0x880000: 0x4,\n\t 0x980000: 0x100,\n\t 0xa80000: 0x4010000,\n\t 0xb80000: 0x10104,\n\t 0xc80000: 0x10100,\n\t 0xd80000: 0x4000104,\n\t 0xe80000: 0x4010104,\n\t 0xf80000: 0x4000000,\n\t 0x1000000: 0x4010100,\n\t 0x1100000: 0x10004,\n\t 0x1200000: 0x10000,\n\t 0x1300000: 0x4000100,\n\t 0x1400000: 0x100,\n\t 0x1500000: 0x4010104,\n\t 0x1600000: 0x4000004,\n\t 0x1700000: 0x0,\n\t 0x1800000: 0x4000104,\n\t 0x1900000: 0x4000000,\n\t 0x1a00000: 0x4,\n\t 0x1b00000: 0x10100,\n\t 0x1c00000: 0x4010000,\n\t 0x1d00000: 0x104,\n\t 0x1e00000: 0x10104,\n\t 0x1f00000: 0x4010004,\n\t 0x1080000: 0x4000000,\n\t 0x1180000: 0x104,\n\t 0x1280000: 0x4010100,\n\t 0x1380000: 0x0,\n\t 0x1480000: 0x10004,\n\t 0x1580000: 0x4000100,\n\t 0x1680000: 0x100,\n\t 0x1780000: 0x4010004,\n\t 0x1880000: 0x10000,\n\t 0x1980000: 0x4010104,\n\t 0x1a80000: 0x10104,\n\t 0x1b80000: 0x4000004,\n\t 0x1c80000: 0x4000104,\n\t 0x1d80000: 0x4010000,\n\t 0x1e80000: 0x4,\n\t 0x1f80000: 0x10100\n\t },\n\t {\n\t 0x0: 0x80401000,\n\t 0x10000: 0x80001040,\n\t 0x20000: 0x401040,\n\t 0x30000: 0x80400000,\n\t 0x40000: 0x0,\n\t 0x50000: 0x401000,\n\t 0x60000: 0x80000040,\n\t 0x70000: 0x400040,\n\t 0x80000: 0x80000000,\n\t 0x90000: 0x400000,\n\t 0xa0000: 0x40,\n\t 0xb0000: 0x80001000,\n\t 0xc0000: 0x80400040,\n\t 0xd0000: 0x1040,\n\t 0xe0000: 0x1000,\n\t 0xf0000: 0x80401040,\n\t 0x8000: 0x80001040,\n\t 0x18000: 0x40,\n\t 0x28000: 0x80400040,\n\t 0x38000: 0x80001000,\n\t 0x48000: 0x401000,\n\t 0x58000: 0x80401040,\n\t 0x68000: 0x0,\n\t 0x78000: 0x80400000,\n\t 0x88000: 0x1000,\n\t 0x98000: 0x80401000,\n\t 0xa8000: 0x400000,\n\t 0xb8000: 0x1040,\n\t 0xc8000: 0x80000000,\n\t 0xd8000: 0x400040,\n\t 0xe8000: 0x401040,\n\t 0xf8000: 0x80000040,\n\t 0x100000: 0x400040,\n\t 0x110000: 0x401000,\n\t 0x120000: 0x80000040,\n\t 0x130000: 0x0,\n\t 0x140000: 0x1040,\n\t 0x150000: 0x80400040,\n\t 0x160000: 0x80401000,\n\t 0x170000: 0x80001040,\n\t 0x180000: 0x80401040,\n\t 0x190000: 0x80000000,\n\t 0x1a0000: 0x80400000,\n\t 0x1b0000: 0x401040,\n\t 0x1c0000: 0x80001000,\n\t 0x1d0000: 0x400000,\n\t 0x1e0000: 0x40,\n\t 0x1f0000: 0x1000,\n\t 0x108000: 0x80400000,\n\t 0x118000: 0x80401040,\n\t 0x128000: 0x0,\n\t 0x138000: 0x401000,\n\t 0x148000: 0x400040,\n\t 0x158000: 0x80000000,\n\t 0x168000: 0x80001040,\n\t 0x178000: 0x40,\n\t 0x188000: 0x80000040,\n\t 0x198000: 0x1000,\n\t 0x1a8000: 0x80001000,\n\t 0x1b8000: 0x80400040,\n\t 0x1c8000: 0x1040,\n\t 0x1d8000: 0x80401000,\n\t 0x1e8000: 0x400000,\n\t 0x1f8000: 0x401040\n\t },\n\t {\n\t 0x0: 0x80,\n\t 0x1000: 0x1040000,\n\t 0x2000: 0x40000,\n\t 0x3000: 0x20000000,\n\t 0x4000: 0x20040080,\n\t 0x5000: 0x1000080,\n\t 0x6000: 0x21000080,\n\t 0x7000: 0x40080,\n\t 0x8000: 0x1000000,\n\t 0x9000: 0x20040000,\n\t 0xa000: 0x20000080,\n\t 0xb000: 0x21040080,\n\t 0xc000: 0x21040000,\n\t 0xd000: 0x0,\n\t 0xe000: 0x1040080,\n\t 0xf000: 0x21000000,\n\t 0x800: 0x1040080,\n\t 0x1800: 0x21000080,\n\t 0x2800: 0x80,\n\t 0x3800: 0x1040000,\n\t 0x4800: 0x40000,\n\t 0x5800: 0x20040080,\n\t 0x6800: 0x21040000,\n\t 0x7800: 0x20000000,\n\t 0x8800: 0x20040000,\n\t 0x9800: 0x0,\n\t 0xa800: 0x21040080,\n\t 0xb800: 0x1000080,\n\t 0xc800: 0x20000080,\n\t 0xd800: 0x21000000,\n\t 0xe800: 0x1000000,\n\t 0xf800: 0x40080,\n\t 0x10000: 0x40000,\n\t 0x11000: 0x80,\n\t 0x12000: 0x20000000,\n\t 0x13000: 0x21000080,\n\t 0x14000: 0x1000080,\n\t 0x15000: 0x21040000,\n\t 0x16000: 0x20040080,\n\t 0x17000: 0x1000000,\n\t 0x18000: 0x21040080,\n\t 0x19000: 0x21000000,\n\t 0x1a000: 0x1040000,\n\t 0x1b000: 0x20040000,\n\t 0x1c000: 0x40080,\n\t 0x1d000: 0x20000080,\n\t 0x1e000: 0x0,\n\t 0x1f000: 0x1040080,\n\t 0x10800: 0x21000080,\n\t 0x11800: 0x1000000,\n\t 0x12800: 0x1040000,\n\t 0x13800: 0x20040080,\n\t 0x14800: 0x20000000,\n\t 0x15800: 0x1040080,\n\t 0x16800: 0x80,\n\t 0x17800: 0x21040000,\n\t 0x18800: 0x40080,\n\t 0x19800: 0x21040080,\n\t 0x1a800: 0x0,\n\t 0x1b800: 0x21000000,\n\t 0x1c800: 0x1000080,\n\t 0x1d800: 0x40000,\n\t 0x1e800: 0x20040000,\n\t 0x1f800: 0x20000080\n\t },\n\t {\n\t 0x0: 0x10000008,\n\t 0x100: 0x2000,\n\t 0x200: 0x10200000,\n\t 0x300: 0x10202008,\n\t 0x400: 0x10002000,\n\t 0x500: 0x200000,\n\t 0x600: 0x200008,\n\t 0x700: 0x10000000,\n\t 0x800: 0x0,\n\t 0x900: 0x10002008,\n\t 0xa00: 0x202000,\n\t 0xb00: 0x8,\n\t 0xc00: 0x10200008,\n\t 0xd00: 0x202008,\n\t 0xe00: 0x2008,\n\t 0xf00: 0x10202000,\n\t 0x80: 0x10200000,\n\t 0x180: 0x10202008,\n\t 0x280: 0x8,\n\t 0x380: 0x200000,\n\t 0x480: 0x202008,\n\t 0x580: 0x10000008,\n\t 0x680: 0x10002000,\n\t 0x780: 0x2008,\n\t 0x880: 0x200008,\n\t 0x980: 0x2000,\n\t 0xa80: 0x10002008,\n\t 0xb80: 0x10200008,\n\t 0xc80: 0x0,\n\t 0xd80: 0x10202000,\n\t 0xe80: 0x202000,\n\t 0xf80: 0x10000000,\n\t 0x1000: 0x10002000,\n\t 0x1100: 0x10200008,\n\t 0x1200: 0x10202008,\n\t 0x1300: 0x2008,\n\t 0x1400: 0x200000,\n\t 0x1500: 0x10000000,\n\t 0x1600: 0x10000008,\n\t 0x1700: 0x202000,\n\t 0x1800: 0x202008,\n\t 0x1900: 0x0,\n\t 0x1a00: 0x8,\n\t 0x1b00: 0x10200000,\n\t 0x1c00: 0x2000,\n\t 0x1d00: 0x10002008,\n\t 0x1e00: 0x10202000,\n\t 0x1f00: 0x200008,\n\t 0x1080: 0x8,\n\t 0x1180: 0x202000,\n\t 0x1280: 0x200000,\n\t 0x1380: 0x10000008,\n\t 0x1480: 0x10002000,\n\t 0x1580: 0x2008,\n\t 0x1680: 0x10202008,\n\t 0x1780: 0x10200000,\n\t 0x1880: 0x10202000,\n\t 0x1980: 0x10200008,\n\t 0x1a80: 0x2000,\n\t 0x1b80: 0x202008,\n\t 0x1c80: 0x200008,\n\t 0x1d80: 0x0,\n\t 0x1e80: 0x10000000,\n\t 0x1f80: 0x10002008\n\t },\n\t {\n\t 0x0: 0x100000,\n\t 0x10: 0x2000401,\n\t 0x20: 0x400,\n\t 0x30: 0x100401,\n\t 0x40: 0x2100401,\n\t 0x50: 0x0,\n\t 0x60: 0x1,\n\t 0x70: 0x2100001,\n\t 0x80: 0x2000400,\n\t 0x90: 0x100001,\n\t 0xa0: 0x2000001,\n\t 0xb0: 0x2100400,\n\t 0xc0: 0x2100000,\n\t 0xd0: 0x401,\n\t 0xe0: 0x100400,\n\t 0xf0: 0x2000000,\n\t 0x8: 0x2100001,\n\t 0x18: 0x0,\n\t 0x28: 0x2000401,\n\t 0x38: 0x2100400,\n\t 0x48: 0x100000,\n\t 0x58: 0x2000001,\n\t 0x68: 0x2000000,\n\t 0x78: 0x401,\n\t 0x88: 0x100401,\n\t 0x98: 0x2000400,\n\t 0xa8: 0x2100000,\n\t 0xb8: 0x100001,\n\t 0xc8: 0x400,\n\t 0xd8: 0x2100401,\n\t 0xe8: 0x1,\n\t 0xf8: 0x100400,\n\t 0x100: 0x2000000,\n\t 0x110: 0x100000,\n\t 0x120: 0x2000401,\n\t 0x130: 0x2100001,\n\t 0x140: 0x100001,\n\t 0x150: 0x2000400,\n\t 0x160: 0x2100400,\n\t 0x170: 0x100401,\n\t 0x180: 0x401,\n\t 0x190: 0x2100401,\n\t 0x1a0: 0x100400,\n\t 0x1b0: 0x1,\n\t 0x1c0: 0x0,\n\t 0x1d0: 0x2100000,\n\t 0x1e0: 0x2000001,\n\t 0x1f0: 0x400,\n\t 0x108: 0x100400,\n\t 0x118: 0x2000401,\n\t 0x128: 0x2100001,\n\t 0x138: 0x1,\n\t 0x148: 0x2000000,\n\t 0x158: 0x100000,\n\t 0x168: 0x401,\n\t 0x178: 0x2100400,\n\t 0x188: 0x2000001,\n\t 0x198: 0x2100000,\n\t 0x1a8: 0x0,\n\t 0x1b8: 0x2100401,\n\t 0x1c8: 0x100401,\n\t 0x1d8: 0x400,\n\t 0x1e8: 0x2000400,\n\t 0x1f8: 0x100001\n\t },\n\t {\n\t 0x0: 0x8000820,\n\t 0x1: 0x20000,\n\t 0x2: 0x8000000,\n\t 0x3: 0x20,\n\t 0x4: 0x20020,\n\t 0x5: 0x8020820,\n\t 0x6: 0x8020800,\n\t 0x7: 0x800,\n\t 0x8: 0x8020000,\n\t 0x9: 0x8000800,\n\t 0xa: 0x20800,\n\t 0xb: 0x8020020,\n\t 0xc: 0x820,\n\t 0xd: 0x0,\n\t 0xe: 0x8000020,\n\t 0xf: 0x20820,\n\t 0x80000000: 0x800,\n\t 0x80000001: 0x8020820,\n\t 0x80000002: 0x8000820,\n\t 0x80000003: 0x8000000,\n\t 0x80000004: 0x8020000,\n\t 0x80000005: 0x20800,\n\t 0x80000006: 0x20820,\n\t 0x80000007: 0x20,\n\t 0x80000008: 0x8000020,\n\t 0x80000009: 0x820,\n\t 0x8000000a: 0x20020,\n\t 0x8000000b: 0x8020800,\n\t 0x8000000c: 0x0,\n\t 0x8000000d: 0x8020020,\n\t 0x8000000e: 0x8000800,\n\t 0x8000000f: 0x20000,\n\t 0x10: 0x20820,\n\t 0x11: 0x8020800,\n\t 0x12: 0x20,\n\t 0x13: 0x800,\n\t 0x14: 0x8000800,\n\t 0x15: 0x8000020,\n\t 0x16: 0x8020020,\n\t 0x17: 0x20000,\n\t 0x18: 0x0,\n\t 0x19: 0x20020,\n\t 0x1a: 0x8020000,\n\t 0x1b: 0x8000820,\n\t 0x1c: 0x8020820,\n\t 0x1d: 0x20800,\n\t 0x1e: 0x820,\n\t 0x1f: 0x8000000,\n\t 0x80000010: 0x20000,\n\t 0x80000011: 0x800,\n\t 0x80000012: 0x8020020,\n\t 0x80000013: 0x20820,\n\t 0x80000014: 0x20,\n\t 0x80000015: 0x8020000,\n\t 0x80000016: 0x8000000,\n\t 0x80000017: 0x8000820,\n\t 0x80000018: 0x8020820,\n\t 0x80000019: 0x8000020,\n\t 0x8000001a: 0x8000800,\n\t 0x8000001b: 0x0,\n\t 0x8000001c: 0x20800,\n\t 0x8000001d: 0x820,\n\t 0x8000001e: 0x20020,\n\t 0x8000001f: 0x8020800\n\t }\n\t ];\n\n\t // Masks that select the SBOX input\n\t var SBOX_MASK = [\n\t 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,\n\t 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f\n\t ];\n\n\t /**\n\t * DES block cipher algorithm.\n\t */\n\t var DES = C_algo.DES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\n\t // Select 56 bits according to PC1\n\t var keyBits = [];\n\t for (var i = 0; i < 56; i++) {\n\t var keyBitPos = PC1[i] - 1;\n\t keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1;\n\t }\n\n\t // Assemble 16 subkeys\n\t var subKeys = this._subKeys = [];\n\t for (var nSubKey = 0; nSubKey < 16; nSubKey++) {\n\t // Create subkey\n\t var subKey = subKeys[nSubKey] = [];\n\n\t // Shortcut\n\t var bitShift = BIT_SHIFTS[nSubKey];\n\n\t // Select 48 bits according to PC2\n\t for (var i = 0; i < 24; i++) {\n\t // Select from the left 28 key bits\n\t subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6);\n\n\t // Select from the right 28 key bits\n\t subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6);\n\t }\n\n\t // Since each subkey is applied to an expanded 32-bit input,\n\t // the subkey can be broken into 8 values scaled to 32-bits,\n\t // which allows the key to be used without expansion\n\t subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);\n\t for (var i = 1; i < 7; i++) {\n\t subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);\n\t }\n\t subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);\n\t }\n\n\t // Compute inverse subkeys\n\t var invSubKeys = this._invSubKeys = [];\n\t for (var i = 0; i < 16; i++) {\n\t invSubKeys[i] = subKeys[15 - i];\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._subKeys);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._invSubKeys);\n\t },\n\n\t _doCryptBlock: function (M, offset, subKeys) {\n\t // Get input\n\t this._lBlock = M[offset];\n\t this._rBlock = M[offset + 1];\n\n\t // Initial permutation\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeLR.call(this, 1, 0x55555555);\n\n\t // Rounds\n\t for (var round = 0; round < 16; round++) {\n\t // Shortcuts\n\t var subKey = subKeys[round];\n\t var lBlock = this._lBlock;\n\t var rBlock = this._rBlock;\n\n\t // Feistel function\n\t var f = 0;\n\t for (var i = 0; i < 8; i++) {\n\t f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];\n\t }\n\t this._lBlock = rBlock;\n\t this._rBlock = lBlock ^ f;\n\t }\n\n\t // Undo swap from last round\n\t var t = this._lBlock;\n\t this._lBlock = this._rBlock;\n\t this._rBlock = t;\n\n\t // Final permutation\n\t exchangeLR.call(this, 1, 0x55555555);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\n\t // Set output\n\t M[offset] = this._lBlock;\n\t M[offset + 1] = this._rBlock;\n\t },\n\n\t keySize: 64/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t // Swap bits across the left and right words\n\t function exchangeLR(offset, mask) {\n\t var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;\n\t this._rBlock ^= t;\n\t this._lBlock ^= t << offset;\n\t }\n\n\t function exchangeRL(offset, mask) {\n\t var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;\n\t this._lBlock ^= t;\n\t this._rBlock ^= t << offset;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.DES = BlockCipher._createHelper(DES);\n\n\t /**\n\t * Triple-DES block cipher algorithm.\n\t */\n\t var TripleDES = C_algo.TripleDES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\n\t // Create DES instances\n\t this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2)));\n\t this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4)));\n\t this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6)));\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._des1.encryptBlock(M, offset);\n\t this._des2.decryptBlock(M, offset);\n\t this._des3.encryptBlock(M, offset);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._des3.decryptBlock(M, offset);\n\t this._des2.encryptBlock(M, offset);\n\t this._des1.decryptBlock(M, offset);\n\t },\n\n\t keySize: 192/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.TripleDES = BlockCipher._createHelper(TripleDES);\n\t}());\n\n\n\treturn CryptoJS.TripleDES;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var X32WordArray = C_lib.WordArray;\n\n\t /**\n\t * x64 namespace.\n\t */\n\t var C_x64 = C.x64 = {};\n\n\t /**\n\t * A 64-bit word.\n\t */\n\t var X64Word = C_x64.Word = Base.extend({\n\t /**\n\t * Initializes a newly created 64-bit word.\n\t *\n\t * @param {number} high The high 32 bits.\n\t * @param {number} low The low 32 bits.\n\t *\n\t * @example\n\t *\n\t * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);\n\t */\n\t init: function (high, low) {\n\t this.high = high;\n\t this.low = low;\n\t }\n\n\t /**\n\t * Bitwise NOTs this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after negating.\n\t *\n\t * @example\n\t *\n\t * var negated = x64Word.not();\n\t */\n\t // not: function () {\n\t // var high = ~this.high;\n\t // var low = ~this.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ANDs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to AND with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ANDing.\n\t *\n\t * @example\n\t *\n\t * var anded = x64Word.and(anotherX64Word);\n\t */\n\t // and: function (word) {\n\t // var high = this.high & word.high;\n\t // var low = this.low & word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to OR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ORing.\n\t *\n\t * @example\n\t *\n\t * var ored = x64Word.or(anotherX64Word);\n\t */\n\t // or: function (word) {\n\t // var high = this.high | word.high;\n\t // var low = this.low | word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise XORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to XOR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after XORing.\n\t *\n\t * @example\n\t *\n\t * var xored = x64Word.xor(anotherX64Word);\n\t */\n\t // xor: function (word) {\n\t // var high = this.high ^ word.high;\n\t // var low = this.low ^ word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftL(25);\n\t */\n\t // shiftL: function (n) {\n\t // if (n < 32) {\n\t // var high = (this.high << n) | (this.low >>> (32 - n));\n\t // var low = this.low << n;\n\t // } else {\n\t // var high = this.low << (n - 32);\n\t // var low = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftR(7);\n\t */\n\t // shiftR: function (n) {\n\t // if (n < 32) {\n\t // var low = (this.low >>> n) | (this.high << (32 - n));\n\t // var high = this.high >>> n;\n\t // } else {\n\t // var low = this.high >>> (n - 32);\n\t // var high = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotL(25);\n\t */\n\t // rotL: function (n) {\n\t // return this.shiftL(n).or(this.shiftR(64 - n));\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotR(7);\n\t */\n\t // rotR: function (n) {\n\t // return this.shiftR(n).or(this.shiftL(64 - n));\n\t // },\n\n\t /**\n\t * Adds this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to add with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after adding.\n\t *\n\t * @example\n\t *\n\t * var added = x64Word.add(anotherX64Word);\n\t */\n\t // add: function (word) {\n\t // var low = (this.low + word.low) | 0;\n\t // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;\n\t // var high = (this.high + word.high + carry) | 0;\n\n\t // return X64Word.create(high, low);\n\t // }\n\t });\n\n\t /**\n\t * An array of 64-bit words.\n\t *\n\t * @property {Array} words The array of CryptoJS.x64.Word objects.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var X64WordArray = C_x64.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create();\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ]);\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ], 10);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 8;\n\t }\n\t },\n\n\t /**\n\t * Converts this 64-bit word array to a 32-bit word array.\n\t *\n\t * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.\n\t *\n\t * @example\n\t *\n\t * var x32WordArray = x64WordArray.toX32();\n\t */\n\t toX32: function () {\n\t // Shortcuts\n\t var x64Words = this.words;\n\t var x64WordsLength = x64Words.length;\n\n\t // Convert\n\t var x32Words = [];\n\t for (var i = 0; i < x64WordsLength; i++) {\n\t var x64Word = x64Words[i];\n\t x32Words.push(x64Word.high);\n\t x32Words.push(x64Word.low);\n\t }\n\n\t return X32WordArray.create(x32Words, this.sigBytes);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {X64WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = x64WordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\n\t // Clone \"words\" array\n\t var words = clone.words = this.words.slice(0);\n\n\t // Clone each X64Word object\n\t var wordsLength = words.length;\n\t for (var i = 0; i < wordsLength; i++) {\n\t words[i] = words[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\t}());\n\n\n\treturn CryptoJS;\n\n}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new b(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var b=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n// SVG\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.2';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint) {\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nmodule.exports = purify;\n//# sourceMappingURL=purify.cjs.js.map\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","/*\n* Fingerprintjs2 2.1.4 - Modern & flexible browser fingerprint library v2\n* https://github.com/fingerprintjs/fingerprintjs\n* Copyright (c) 2020 Valentin Vasilyev (valentin@fingerprintjs.com)\n* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL VALENTIN VASILYEV BE LIABLE FOR ANY\n* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\n* This software contains code from open-source projects:\n* MurmurHash3 by Karan Lyons (https://github.com/karanlyons/murmurHash3.js)\n*/\n\n/* global define */\n(function (name, context, definition) {\n 'use strict'\n if (typeof window !== 'undefined' && typeof define === 'function' && define.amd) { define(definition) } else if (typeof module !== 'undefined' && module.exports) { module.exports = definition() } else if (context.exports) { context.exports = definition() } else { context[name] = definition() }\n})('Fingerprint2', this, function () {\n 'use strict'\n\n // detect if object is array\n // only implement if no native implementation is available\n if (typeof Array.isArray === 'undefined') {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n }\n };\n\n /// MurmurHash3 related functions\n\n //\n // Given two 64bit ints (as an array of two 32bit ints) returns the two\n // added together as a 64bit int (as an array of two 32bit ints).\n //\n var x64Add = function (m, n) {\n m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff]\n n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff]\n var o = [0, 0, 0, 0]\n o[3] += m[3] + n[3]\n o[2] += o[3] >>> 16\n o[3] &= 0xffff\n o[2] += m[2] + n[2]\n o[1] += o[2] >>> 16\n o[2] &= 0xffff\n o[1] += m[1] + n[1]\n o[0] += o[1] >>> 16\n o[1] &= 0xffff\n o[0] += m[0] + n[0]\n o[0] &= 0xffff\n return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]]\n }\n\n //\n // Given two 64bit ints (as an array of two 32bit ints) returns the two\n // multiplied together as a 64bit int (as an array of two 32bit ints).\n //\n var x64Multiply = function (m, n) {\n m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff]\n n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff]\n var o = [0, 0, 0, 0]\n o[3] += m[3] * n[3]\n o[2] += o[3] >>> 16\n o[3] &= 0xffff\n o[2] += m[2] * n[3]\n o[1] += o[2] >>> 16\n o[2] &= 0xffff\n o[2] += m[3] * n[2]\n o[1] += o[2] >>> 16\n o[2] &= 0xffff\n o[1] += m[1] * n[3]\n o[0] += o[1] >>> 16\n o[1] &= 0xffff\n o[1] += m[2] * n[2]\n o[0] += o[1] >>> 16\n o[1] &= 0xffff\n o[1] += m[3] * n[1]\n o[0] += o[1] >>> 16\n o[1] &= 0xffff\n o[0] += (m[0] * n[3]) + (m[1] * n[2]) + (m[2] * n[1]) + (m[3] * n[0])\n o[0] &= 0xffff\n return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]]\n }\n //\n // Given a 64bit int (as an array of two 32bit ints) and an int\n // representing a number of bit positions, returns the 64bit int (as an\n // array of two 32bit ints) rotated left by that number of positions.\n //\n var x64Rotl = function (m, n) {\n n %= 64\n if (n === 32) {\n return [m[1], m[0]]\n } else if (n < 32) {\n return [(m[0] << n) | (m[1] >>> (32 - n)), (m[1] << n) | (m[0] >>> (32 - n))]\n } else {\n n -= 32\n return [(m[1] << n) | (m[0] >>> (32 - n)), (m[0] << n) | (m[1] >>> (32 - n))]\n }\n }\n //\n // Given a 64bit int (as an array of two 32bit ints) and an int\n // representing a number of bit positions, returns the 64bit int (as an\n // array of two 32bit ints) shifted left by that number of positions.\n //\n var x64LeftShift = function (m, n) {\n n %= 64\n if (n === 0) {\n return m\n } else if (n < 32) {\n return [(m[0] << n) | (m[1] >>> (32 - n)), m[1] << n]\n } else {\n return [m[1] << (n - 32), 0]\n }\n }\n //\n // Given two 64bit ints (as an array of two 32bit ints) returns the two\n // xored together as a 64bit int (as an array of two 32bit ints).\n //\n var x64Xor = function (m, n) {\n return [m[0] ^ n[0], m[1] ^ n[1]]\n }\n //\n // Given a block, returns murmurHash3's final x64 mix of that block.\n // (`[0, h[0] >>> 1]` is a 33 bit unsigned right shift. This is the\n // only place where we need to right shift 64bit ints.)\n //\n var x64Fmix = function (h) {\n h = x64Xor(h, [0, h[0] >>> 1])\n h = x64Multiply(h, [0xff51afd7, 0xed558ccd])\n h = x64Xor(h, [0, h[0] >>> 1])\n h = x64Multiply(h, [0xc4ceb9fe, 0x1a85ec53])\n h = x64Xor(h, [0, h[0] >>> 1])\n return h\n }\n\n //\n // Given a string and an optional seed as an int, returns a 128 bit\n // hash using the x64 flavor of MurmurHash3, as an unsigned hex.\n //\n var x64hash128 = function (key, seed) {\n key = key || ''\n seed = seed || 0\n var remainder = key.length % 16\n var bytes = key.length - remainder\n var h1 = [0, seed]\n var h2 = [0, seed]\n var k1 = [0, 0]\n var k2 = [0, 0]\n var c1 = [0x87c37b91, 0x114253d5]\n var c2 = [0x4cf5ad43, 0x2745937f]\n for (var i = 0; i < bytes; i = i + 16) {\n k1 = [((key.charCodeAt(i + 4) & 0xff)) | ((key.charCodeAt(i + 5) & 0xff) << 8) | ((key.charCodeAt(i + 6) & 0xff) << 16) | ((key.charCodeAt(i + 7) & 0xff) << 24), ((key.charCodeAt(i) & 0xff)) | ((key.charCodeAt(i + 1) & 0xff) << 8) | ((key.charCodeAt(i + 2) & 0xff) << 16) | ((key.charCodeAt(i + 3) & 0xff) << 24)]\n k2 = [((key.charCodeAt(i + 12) & 0xff)) | ((key.charCodeAt(i + 13) & 0xff) << 8) | ((key.charCodeAt(i + 14) & 0xff) << 16) | ((key.charCodeAt(i + 15) & 0xff) << 24), ((key.charCodeAt(i + 8) & 0xff)) | ((key.charCodeAt(i + 9) & 0xff) << 8) | ((key.charCodeAt(i + 10) & 0xff) << 16) | ((key.charCodeAt(i + 11) & 0xff) << 24)]\n k1 = x64Multiply(k1, c1)\n k1 = x64Rotl(k1, 31)\n k1 = x64Multiply(k1, c2)\n h1 = x64Xor(h1, k1)\n h1 = x64Rotl(h1, 27)\n h1 = x64Add(h1, h2)\n h1 = x64Add(x64Multiply(h1, [0, 5]), [0, 0x52dce729])\n k2 = x64Multiply(k2, c2)\n k2 = x64Rotl(k2, 33)\n k2 = x64Multiply(k2, c1)\n h2 = x64Xor(h2, k2)\n h2 = x64Rotl(h2, 31)\n h2 = x64Add(h2, h1)\n h2 = x64Add(x64Multiply(h2, [0, 5]), [0, 0x38495ab5])\n }\n k1 = [0, 0]\n k2 = [0, 0]\n switch (remainder) {\n case 15:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 14)], 48))\n // fallthrough\n case 14:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 13)], 40))\n // fallthrough\n case 13:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 12)], 32))\n // fallthrough\n case 12:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 11)], 24))\n // fallthrough\n case 11:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 10)], 16))\n // fallthrough\n case 10:\n k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 9)], 8))\n // fallthrough\n case 9:\n k2 = x64Xor(k2, [0, key.charCodeAt(i + 8)])\n k2 = x64Multiply(k2, c2)\n k2 = x64Rotl(k2, 33)\n k2 = x64Multiply(k2, c1)\n h2 = x64Xor(h2, k2)\n // fallthrough\n case 8:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 7)], 56))\n // fallthrough\n case 7:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 6)], 48))\n // fallthrough\n case 6:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 5)], 40))\n // fallthrough\n case 5:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 4)], 32))\n // fallthrough\n case 4:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 3)], 24))\n // fallthrough\n case 3:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 2)], 16))\n // fallthrough\n case 2:\n k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 1)], 8))\n // fallthrough\n case 1:\n k1 = x64Xor(k1, [0, key.charCodeAt(i)])\n k1 = x64Multiply(k1, c1)\n k1 = x64Rotl(k1, 31)\n k1 = x64Multiply(k1, c2)\n h1 = x64Xor(h1, k1)\n // fallthrough\n }\n h1 = x64Xor(h1, [0, key.length])\n h2 = x64Xor(h2, [0, key.length])\n h1 = x64Add(h1, h2)\n h2 = x64Add(h2, h1)\n h1 = x64Fmix(h1)\n h2 = x64Fmix(h2)\n h1 = x64Add(h1, h2)\n h2 = x64Add(h2, h1)\n return ('00000000' + (h1[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h1[1] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[1] >>> 0).toString(16)).slice(-8)\n }\n\n var defaultOptions = {\n preprocessor: null,\n audio: {\n timeout: 1000,\n // On iOS 11, audio context can only be used in response to user interaction.\n // We require users to explicitly enable audio fingerprinting on iOS 11.\n // See https://stackoverflow.com/questions/46363048/onaudioprocess-not-called-on-ios11#46534088\n excludeIOS11: true\n },\n fonts: {\n swfContainerId: 'fingerprintjs2',\n swfPath: 'flash/compiled/FontList.swf',\n userDefinedFonts: [],\n extendedJsFonts: false\n },\n screen: {\n // To ensure consistent fingerprints when users rotate their mobile devices\n detectScreenOrientation: true\n },\n plugins: {\n sortPluginsFor: [/palemoon/i],\n excludeIE: false\n },\n extraComponents: [],\n excludes: {\n // Unreliable on Windows, see https://github.com/fingerprintjs/fingerprintjs/issues/375\n 'enumerateDevices': true,\n // devicePixelRatio depends on browser zoom, and it's impossible to detect browser zoom\n 'pixelRatio': true,\n // DNT depends on incognito mode for some browsers (Chrome) and it's impossible to detect incognito mode\n 'doNotTrack': true,\n // uses js fonts already\n 'fontsFlash': true,\n // Extensions (including AdBlock) are disabled by default in Incognito mod of Chrome and Firefox\n // See https://github.com/fingerprintjs/fingerprintjs/issues/405\n 'adBlock': true\n },\n NOT_AVAILABLE: 'not available',\n ERROR: 'error',\n EXCLUDED: 'excluded'\n }\n\n var each = function (obj, iterator) {\n if (Array.prototype.forEach && obj.forEach === Array.prototype.forEach) {\n obj.forEach(iterator)\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n iterator(obj[i], i, obj)\n }\n } else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n iterator(obj[key], key, obj)\n }\n }\n }\n }\n\n var map = function (obj, iterator) {\n var results = []\n // Not using strict equality so that this acts as a\n // shortcut to checking for `null` and `undefined`.\n if (obj == null) {\n return results\n }\n if (Array.prototype.map && obj.map === Array.prototype.map) { return obj.map(iterator) }\n each(obj, function (value, index, list) {\n results.push(iterator(value, index, list))\n })\n return results\n }\n\n var extendSoft = function (target, source) {\n if (source == null) { return target }\n var value\n var key\n for (key in source) {\n value = source[key]\n if (value != null && !(Object.prototype.hasOwnProperty.call(target, key))) {\n target[key] = value\n }\n }\n return target\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices\n var enumerateDevicesKey = function (done, options) {\n if (!isEnumerateDevicesSupported()) {\n return done(options.NOT_AVAILABLE)\n }\n navigator.mediaDevices.enumerateDevices().then(function (devices) {\n done(devices.map(function (device) {\n return 'id=' + device.deviceId + ';gid=' + device.groupId + ';' + device.kind + ';' + device.label\n }))\n }).catch(function (error) {\n done(error)\n })\n }\n\n var isEnumerateDevicesSupported = function () {\n return (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices)\n }\n // Inspired by and based on https://github.com/cozylife/audio-fingerprint\n var audioKey = function (done, options) {\n var audioOptions = options.audio\n if (audioOptions.excludeIOS11 && navigator.userAgent.match(/OS 11.+Version\\/11.+Safari/)) {\n // See comment for excludeUserAgent and https://stackoverflow.com/questions/46363048/onaudioprocess-not-called-on-ios11#46534088\n return done(options.EXCLUDED)\n }\n\n var AudioContext = window.OfflineAudioContext || window.webkitOfflineAudioContext\n\n if (AudioContext == null) {\n return done(options.NOT_AVAILABLE)\n }\n\n var context = new AudioContext(1, 44100, 44100)\n\n var oscillator = context.createOscillator()\n oscillator.type = 'triangle'\n oscillator.frequency.setValueAtTime(10000, context.currentTime)\n\n var compressor = context.createDynamicsCompressor()\n each([\n ['threshold', -50],\n ['knee', 40],\n ['ratio', 12],\n ['reduction', -20],\n ['attack', 0],\n ['release', 0.25]\n ], function (item) {\n if (compressor[item[0]] !== undefined && typeof compressor[item[0]].setValueAtTime === 'function') {\n compressor[item[0]].setValueAtTime(item[1], context.currentTime)\n }\n })\n\n oscillator.connect(compressor)\n compressor.connect(context.destination)\n oscillator.start(0)\n context.startRendering()\n\n var audioTimeoutId = setTimeout(function () {\n console.warn('Audio fingerprint timed out. Please report bug at https://github.com/fingerprintjs/fingerprintjs with your user agent: \"' + navigator.userAgent + '\".')\n context.oncomplete = function () { }\n context = null\n return done('audioTimeout')\n }, audioOptions.timeout)\n\n context.oncomplete = function (event) {\n var fingerprint\n try {\n clearTimeout(audioTimeoutId)\n fingerprint = event.renderedBuffer.getChannelData(0)\n .slice(4500, 5000)\n .reduce(function (acc, val) { return acc + Math.abs(val) }, 0)\n .toString()\n oscillator.disconnect()\n compressor.disconnect()\n } catch (error) {\n done(error)\n return\n }\n done(fingerprint)\n }\n }\n var UserAgent = function (done) {\n done(navigator.userAgent)\n }\n var webdriver = function (done, options) {\n done(navigator.webdriver == null ? options.NOT_AVAILABLE : navigator.webdriver)\n }\n var languageKey = function (done, options) {\n done(navigator.language || navigator.userLanguage || navigator.browserLanguage || navigator.systemLanguage || options.NOT_AVAILABLE)\n }\n var colorDepthKey = function (done, options) {\n done(window.screen.colorDepth || options.NOT_AVAILABLE)\n }\n var deviceMemoryKey = function (done, options) {\n done(navigator.deviceMemory || options.NOT_AVAILABLE)\n }\n var pixelRatioKey = function (done, options) {\n done(window.devicePixelRatio || options.NOT_AVAILABLE)\n }\n var screenResolutionKey = function (done, options) {\n done(getScreenResolution(options))\n }\n var getScreenResolution = function (options) {\n var resolution = [window.screen.width, window.screen.height]\n if (options.screen.detectScreenOrientation) {\n resolution.sort().reverse()\n }\n return resolution\n }\n var availableScreenResolutionKey = function (done, options) {\n done(getAvailableScreenResolution(options))\n }\n var getAvailableScreenResolution = function (options) {\n if (window.screen.availWidth && window.screen.availHeight) {\n var available = [window.screen.availHeight, window.screen.availWidth]\n if (options.screen.detectScreenOrientation) {\n available.sort().reverse()\n }\n return available\n }\n // headless browsers\n return options.NOT_AVAILABLE\n }\n var timezoneOffset = function (done) {\n done(new Date().getTimezoneOffset())\n }\n var timezone = function (done, options) {\n if (window.Intl && window.Intl.DateTimeFormat) {\n done(new window.Intl.DateTimeFormat().resolvedOptions().timeZone || options.NOT_AVAILABLE)\n return\n }\n done(options.NOT_AVAILABLE)\n }\n var sessionStorageKey = function (done, options) {\n done(hasSessionStorage(options))\n }\n var localStorageKey = function (done, options) {\n done(hasLocalStorage(options))\n }\n var indexedDbKey = function (done, options) {\n done(hasIndexedDB(options))\n }\n var addBehaviorKey = function (done) {\n done(!!window.HTMLElement.prototype.addBehavior)\n }\n var openDatabaseKey = function (done) {\n done(!!window.openDatabase)\n }\n var cpuClassKey = function (done, options) {\n done(getNavigatorCpuClass(options))\n }\n var platformKey = function (done, options) {\n done(getNavigatorPlatform(options))\n }\n var doNotTrackKey = function (done, options) {\n done(getDoNotTrack(options))\n }\n var canvasKey = function (done, options) {\n if (isCanvasSupported()) {\n done(getCanvasFp(options))\n return\n }\n done(options.NOT_AVAILABLE)\n }\n var webglKey = function (done, options) {\n if (isWebGlSupported()) {\n done(getWebglFp())\n return\n }\n done(options.NOT_AVAILABLE)\n }\n var webglVendorAndRendererKey = function (done) {\n if (isWebGlSupported()) {\n done(getWebglVendorAndRenderer())\n return\n }\n done()\n }\n var adBlockKey = function (done) {\n done(getAdBlock())\n }\n var hasLiedLanguagesKey = function (done) {\n done(getHasLiedLanguages())\n }\n var hasLiedResolutionKey = function (done) {\n done(getHasLiedResolution())\n }\n var hasLiedOsKey = function (done) {\n done(getHasLiedOs())\n }\n var hasLiedBrowserKey = function (done) {\n done(getHasLiedBrowser())\n }\n // flash fonts (will increase fingerprinting time 20X to ~ 130-150ms)\n var flashFontsKey = function (done, options) {\n // we do flash if swfobject is loaded\n if (!hasSwfObjectLoaded()) {\n return done('swf object not loaded')\n }\n if (!hasMinFlashInstalled()) {\n return done('flash not installed')\n }\n if (!options.fonts.swfPath) {\n return done('missing options.fonts.swfPath')\n }\n loadSwfAndDetectFonts(function (fonts) {\n done(fonts)\n }, options)\n }\n // kudos to http://www.lalit.org/lab/javascript-css-font-detect/\n var jsFontsKey = function (done, options) {\n // a font will be compared against all the three default fonts.\n // and if it doesn't match all 3 then that font is not available.\n var baseFonts = ['monospace', 'sans-serif', 'serif']\n\n var fontList = [\n 'Andale Mono', 'Arial', 'Arial Black', 'Arial Hebrew', 'Arial MT', 'Arial Narrow', 'Arial Rounded MT Bold', 'Arial Unicode MS',\n 'Bitstream Vera Sans Mono', 'Book Antiqua', 'Bookman Old Style',\n 'Calibri', 'Cambria', 'Cambria Math', 'Century', 'Century Gothic', 'Century Schoolbook', 'Comic Sans', 'Comic Sans MS', 'Consolas', 'Courier', 'Courier New',\n 'Geneva', 'Georgia',\n 'Helvetica', 'Helvetica Neue',\n 'Impact',\n 'Lucida Bright', 'Lucida Calligraphy', 'Lucida Console', 'Lucida Fax', 'LUCIDA GRANDE', 'Lucida Handwriting', 'Lucida Sans', 'Lucida Sans Typewriter', 'Lucida Sans Unicode',\n 'Microsoft Sans Serif', 'Monaco', 'Monotype Corsiva', 'MS Gothic', 'MS Outlook', 'MS PGothic', 'MS Reference Sans Serif', 'MS Sans Serif', 'MS Serif', 'MYRIAD', 'MYRIAD PRO',\n 'Palatino', 'Palatino Linotype',\n 'Segoe Print', 'Segoe Script', 'Segoe UI', 'Segoe UI Light', 'Segoe UI Semibold', 'Segoe UI Symbol',\n 'Tahoma', 'Times', 'Times New Roman', 'Times New Roman PS', 'Trebuchet MS',\n 'Verdana', 'Wingdings', 'Wingdings 2', 'Wingdings 3'\n ]\n\n if (options.fonts.extendedJsFonts) {\n var extendedFontList = [\n 'Abadi MT Condensed Light', 'Academy Engraved LET', 'ADOBE CASLON PRO', 'Adobe Garamond', 'ADOBE GARAMOND PRO', 'Agency FB', 'Aharoni', 'Albertus Extra Bold', 'Albertus Medium', 'Algerian', 'Amazone BT', 'American Typewriter',\n 'American Typewriter Condensed', 'AmerType Md BT', 'Andalus', 'Angsana New', 'AngsanaUPC', 'Antique Olive', 'Aparajita', 'Apple Chancery', 'Apple Color Emoji', 'Apple SD Gothic Neo', 'Arabic Typesetting', 'ARCHER',\n 'ARNO PRO', 'Arrus BT', 'Aurora Cn BT', 'AvantGarde Bk BT', 'AvantGarde Md BT', 'AVENIR', 'Ayuthaya', 'Bandy', 'Bangla Sangam MN', 'Bank Gothic', 'BankGothic Md BT', 'Baskerville',\n 'Baskerville Old Face', 'Batang', 'BatangChe', 'Bauer Bodoni', 'Bauhaus 93', 'Bazooka', 'Bell MT', 'Bembo', 'Benguiat Bk BT', 'Berlin Sans FB', 'Berlin Sans FB Demi', 'Bernard MT Condensed', 'BernhardFashion BT', 'BernhardMod BT', 'Big Caslon', 'BinnerD',\n 'Blackadder ITC', 'BlairMdITC TT', 'Bodoni 72', 'Bodoni 72 Oldstyle', 'Bodoni 72 Smallcaps', 'Bodoni MT', 'Bodoni MT Black', 'Bodoni MT Condensed', 'Bodoni MT Poster Compressed',\n 'Bookshelf Symbol 7', 'Boulder', 'Bradley Hand', 'Bradley Hand ITC', 'Bremen Bd BT', 'Britannic Bold', 'Broadway', 'Browallia New', 'BrowalliaUPC', 'Brush Script MT', 'Californian FB', 'Calisto MT', 'Calligrapher', 'Candara',\n 'CaslonOpnface BT', 'Castellar', 'Centaur', 'Cezanne', 'CG Omega', 'CG Times', 'Chalkboard', 'Chalkboard SE', 'Chalkduster', 'Charlesworth', 'Charter Bd BT', 'Charter BT', 'Chaucer',\n 'ChelthmITC Bk BT', 'Chiller', 'Clarendon', 'Clarendon Condensed', 'CloisterBlack BT', 'Cochin', 'Colonna MT', 'Constantia', 'Cooper Black', 'Copperplate', 'Copperplate Gothic', 'Copperplate Gothic Bold',\n 'Copperplate Gothic Light', 'CopperplGoth Bd BT', 'Corbel', 'Cordia New', 'CordiaUPC', 'Cornerstone', 'Coronet', 'Cuckoo', 'Curlz MT', 'DaunPenh', 'Dauphin', 'David', 'DB LCD Temp', 'DELICIOUS', 'Denmark',\n 'DFKai-SB', 'Didot', 'DilleniaUPC', 'DIN', 'DokChampa', 'Dotum', 'DotumChe', 'Ebrima', 'Edwardian Script ITC', 'Elephant', 'English 111 Vivace BT', 'Engravers MT', 'EngraversGothic BT', 'Eras Bold ITC', 'Eras Demi ITC', 'Eras Light ITC', 'Eras Medium ITC',\n 'EucrosiaUPC', 'Euphemia', 'Euphemia UCAS', 'EUROSTILE', 'Exotc350 Bd BT', 'FangSong', 'Felix Titling', 'Fixedsys', 'FONTIN', 'Footlight MT Light', 'Forte',\n 'FrankRuehl', 'Fransiscan', 'Freefrm721 Blk BT', 'FreesiaUPC', 'Freestyle Script', 'French Script MT', 'FrnkGothITC Bk BT', 'Fruitger', 'FRUTIGER',\n 'Futura', 'Futura Bk BT', 'Futura Lt BT', 'Futura Md BT', 'Futura ZBlk BT', 'FuturaBlack BT', 'Gabriola', 'Galliard BT', 'Gautami', 'Geeza Pro', 'Geometr231 BT', 'Geometr231 Hv BT', 'Geometr231 Lt BT', 'GeoSlab 703 Lt BT',\n 'GeoSlab 703 XBd BT', 'Gigi', 'Gill Sans', 'Gill Sans MT', 'Gill Sans MT Condensed', 'Gill Sans MT Ext Condensed Bold', 'Gill Sans Ultra Bold', 'Gill Sans Ultra Bold Condensed', 'Gisha', 'Gloucester MT Extra Condensed', 'GOTHAM', 'GOTHAM BOLD',\n 'Goudy Old Style', 'Goudy Stout', 'GoudyHandtooled BT', 'GoudyOLSt BT', 'Gujarati Sangam MN', 'Gulim', 'GulimChe', 'Gungsuh', 'GungsuhChe', 'Gurmukhi MN', 'Haettenschweiler', 'Harlow Solid Italic', 'Harrington', 'Heather', 'Heiti SC', 'Heiti TC', 'HELV',\n 'Herald', 'High Tower Text', 'Hiragino Kaku Gothic ProN', 'Hiragino Mincho ProN', 'Hoefler Text', 'Humanst 521 Cn BT', 'Humanst521 BT', 'Humanst521 Lt BT', 'Imprint MT Shadow', 'Incised901 Bd BT', 'Incised901 BT',\n 'Incised901 Lt BT', 'INCONSOLATA', 'Informal Roman', 'Informal011 BT', 'INTERSTATE', 'IrisUPC', 'Iskoola Pota', 'JasmineUPC', 'Jazz LET', 'Jenson', 'Jester', 'Jokerman', 'Juice ITC', 'Kabel Bk BT', 'Kabel Ult BT', 'Kailasa', 'KaiTi', 'Kalinga', 'Kannada Sangam MN',\n 'Kartika', 'Kaufmann Bd BT', 'Kaufmann BT', 'Khmer UI', 'KodchiangUPC', 'Kokila', 'Korinna BT', 'Kristen ITC', 'Krungthep', 'Kunstler Script', 'Lao UI', 'Latha', 'Leelawadee', 'Letter Gothic', 'Levenim MT', 'LilyUPC', 'Lithograph', 'Lithograph Light', 'Long Island',\n 'Lydian BT', 'Magneto', 'Maiandra GD', 'Malayalam Sangam MN', 'Malgun Gothic',\n 'Mangal', 'Marigold', 'Marion', 'Marker Felt', 'Market', 'Marlett', 'Matisse ITC', 'Matura MT Script Capitals', 'Meiryo', 'Meiryo UI', 'Microsoft Himalaya', 'Microsoft JhengHei', 'Microsoft New Tai Lue', 'Microsoft PhagsPa', 'Microsoft Tai Le',\n 'Microsoft Uighur', 'Microsoft YaHei', 'Microsoft Yi Baiti', 'MingLiU', 'MingLiU_HKSCS', 'MingLiU_HKSCS-ExtB', 'MingLiU-ExtB', 'Minion', 'Minion Pro', 'Miriam', 'Miriam Fixed', 'Mistral', 'Modern', 'Modern No. 20', 'Mona Lisa Solid ITC TT', 'Mongolian Baiti',\n 'MONO', 'MoolBoran', 'Mrs Eaves', 'MS LineDraw', 'MS Mincho', 'MS PMincho', 'MS Reference Specialty', 'MS UI Gothic', 'MT Extra', 'MUSEO', 'MV Boli',\n 'Nadeem', 'Narkisim', 'NEVIS', 'News Gothic', 'News GothicMT', 'NewsGoth BT', 'Niagara Engraved', 'Niagara Solid', 'Noteworthy', 'NSimSun', 'Nyala', 'OCR A Extended', 'Old Century', 'Old English Text MT', 'Onyx', 'Onyx BT', 'OPTIMA', 'Oriya Sangam MN',\n 'OSAKA', 'OzHandicraft BT', 'Palace Script MT', 'Papyrus', 'Parchment', 'Party LET', 'Pegasus', 'Perpetua', 'Perpetua Titling MT', 'PetitaBold', 'Pickwick', 'Plantagenet Cherokee', 'Playbill', 'PMingLiU', 'PMingLiU-ExtB',\n 'Poor Richard', 'Poster', 'PosterBodoni BT', 'PRINCETOWN LET', 'Pristina', 'PTBarnum BT', 'Pythagoras', 'Raavi', 'Rage Italic', 'Ravie', 'Ribbon131 Bd BT', 'Rockwell', 'Rockwell Condensed', 'Rockwell Extra Bold', 'Rod', 'Roman', 'Sakkal Majalla',\n 'Santa Fe LET', 'Savoye LET', 'Sceptre', 'Script', 'Script MT Bold', 'SCRIPTINA', 'Serifa', 'Serifa BT', 'Serifa Th BT', 'ShelleyVolante BT', 'Sherwood',\n 'Shonar Bangla', 'Showcard Gothic', 'Shruti', 'Signboard', 'SILKSCREEN', 'SimHei', 'Simplified Arabic', 'Simplified Arabic Fixed', 'SimSun', 'SimSun-ExtB', 'Sinhala Sangam MN', 'Sketch Rockwell', 'Skia', 'Small Fonts', 'Snap ITC', 'Snell Roundhand', 'Socket',\n 'Souvenir Lt BT', 'Staccato222 BT', 'Steamer', 'Stencil', 'Storybook', 'Styllo', 'Subway', 'Swis721 BlkEx BT', 'Swiss911 XCm BT', 'Sylfaen', 'Synchro LET', 'System', 'Tamil Sangam MN', 'Technical', 'Teletype', 'Telugu Sangam MN', 'Tempus Sans ITC',\n 'Terminal', 'Thonburi', 'Traditional Arabic', 'Trajan', 'TRAJAN PRO', 'Tristan', 'Tubular', 'Tunga', 'Tw Cen MT', 'Tw Cen MT Condensed', 'Tw Cen MT Condensed Extra Bold',\n 'TypoUpright BT', 'Unicorn', 'Univers', 'Univers CE 55 Medium', 'Univers Condensed', 'Utsaah', 'Vagabond', 'Vani', 'Vijaya', 'Viner Hand ITC', 'VisualUI', 'Vivaldi', 'Vladimir Script', 'Vrinda', 'Westminster', 'WHITNEY', 'Wide Latin',\n 'ZapfEllipt BT', 'ZapfHumnst BT', 'ZapfHumnst Dm BT', 'Zapfino', 'Zurich BlkEx BT', 'Zurich Ex BT', 'ZWAdobeF']\n fontList = fontList.concat(extendedFontList)\n }\n\n fontList = fontList.concat(options.fonts.userDefinedFonts)\n\n // remove duplicate fonts\n fontList = fontList.filter(function (font, position) {\n return fontList.indexOf(font) === position\n })\n\n // we use m or w because these two characters take up the maximum width.\n // And we use a LLi so that the same matching fonts can get separated\n var testString = 'mmmmmmmmmmlli'\n\n // we test using 72px font size, we may use any size. I guess larger the better.\n var testSize = '72px'\n\n var h = document.getElementsByTagName('body')[0]\n\n // div to load spans for the base fonts\n var baseFontsDiv = document.createElement('div')\n\n // div to load spans for the fonts to detect\n var fontsDiv = document.createElement('div')\n\n var defaultWidth = {}\n var defaultHeight = {}\n\n // creates a span where the fonts will be loaded\n var createSpan = function () {\n var s = document.createElement('span')\n /*\n * We need this css as in some weird browser this\n * span elements shows up for a microSec which creates a\n * bad user experience\n */\n s.style.position = 'absolute'\n s.style.left = '-9999px'\n s.style.fontSize = testSize\n\n // css font reset to reset external styles\n s.style.fontStyle = 'normal'\n s.style.fontWeight = 'normal'\n s.style.letterSpacing = 'normal'\n s.style.lineBreak = 'auto'\n s.style.lineHeight = 'normal'\n s.style.textTransform = 'none'\n s.style.textAlign = 'left'\n s.style.textDecoration = 'none'\n s.style.textShadow = 'none'\n s.style.whiteSpace = 'normal'\n s.style.wordBreak = 'normal'\n s.style.wordSpacing = 'normal'\n\n s.innerHTML = testString\n return s\n }\n\n // creates a span and load the font to detect and a base font for fallback\n var createSpanWithFonts = function (fontToDetect, baseFont) {\n var s = createSpan()\n s.style.fontFamily = \"'\" + fontToDetect + \"',\" + baseFont\n return s\n }\n\n // creates spans for the base fonts and adds them to baseFontsDiv\n var initializeBaseFontsSpans = function () {\n var spans = []\n for (var index = 0, length = baseFonts.length; index < length; index++) {\n var s = createSpan()\n s.style.fontFamily = baseFonts[index]\n baseFontsDiv.appendChild(s)\n spans.push(s)\n }\n return spans\n }\n\n // creates spans for the fonts to detect and adds them to fontsDiv\n var initializeFontsSpans = function () {\n var spans = {}\n for (var i = 0, l = fontList.length; i < l; i++) {\n var fontSpans = []\n for (var j = 0, numDefaultFonts = baseFonts.length; j < numDefaultFonts; j++) {\n var s = createSpanWithFonts(fontList[i], baseFonts[j])\n fontsDiv.appendChild(s)\n fontSpans.push(s)\n }\n spans[fontList[i]] = fontSpans // Stores {fontName : [spans for that font]}\n }\n return spans\n }\n\n // checks if a font is available\n var isFontAvailable = function (fontSpans) {\n var detected = false\n for (var i = 0; i < baseFonts.length; i++) {\n detected = (fontSpans[i].offsetWidth !== defaultWidth[baseFonts[i]] || fontSpans[i].offsetHeight !== defaultHeight[baseFonts[i]])\n if (detected) {\n return detected\n }\n }\n return detected\n }\n\n // create spans for base fonts\n var baseFontsSpans = initializeBaseFontsSpans()\n\n // add the spans to the DOM\n h.appendChild(baseFontsDiv)\n\n // get the default width for the three base fonts\n for (var index = 0, length = baseFonts.length; index < length; index++) {\n defaultWidth[baseFonts[index]] = baseFontsSpans[index].offsetWidth // width for the default font\n defaultHeight[baseFonts[index]] = baseFontsSpans[index].offsetHeight // height for the default font\n }\n\n // create spans for fonts to detect\n var fontsSpans = initializeFontsSpans()\n\n // add all the spans to the DOM\n h.appendChild(fontsDiv)\n\n // check available fonts\n var available = []\n for (var i = 0, l = fontList.length; i < l; i++) {\n if (isFontAvailable(fontsSpans[fontList[i]])) {\n available.push(fontList[i])\n }\n }\n\n // remove spans from DOM\n h.removeChild(fontsDiv)\n h.removeChild(baseFontsDiv)\n done(available)\n }\n var pluginsComponent = function (done, options) {\n if (isIE()) {\n if (!options.plugins.excludeIE) {\n done(getIEPlugins(options))\n } else {\n done(options.EXCLUDED)\n }\n } else {\n done(getRegularPlugins(options))\n }\n }\n var getRegularPlugins = function (options) {\n if (navigator.plugins == null) {\n return options.NOT_AVAILABLE\n }\n\n var plugins = []\n // plugins isn't defined in Node envs.\n for (var i = 0, l = navigator.plugins.length; i < l; i++) {\n if (navigator.plugins[i]) { plugins.push(navigator.plugins[i]) }\n }\n\n // sorting plugins only for those user agents, that we know randomize the plugins\n // every time we try to enumerate them\n if (pluginsShouldBeSorted(options)) {\n plugins = plugins.sort(function (a, b) {\n if (a.name > b.name) { return 1 }\n if (a.name < b.name) { return -1 }\n return 0\n })\n }\n return map(plugins, function (p) {\n var mimeTypes = map(p, function (mt) {\n return [mt.type, mt.suffixes]\n })\n return [p.name, p.description, mimeTypes]\n })\n }\n var getIEPlugins = function (options) {\n var result = []\n if ((Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(window, 'ActiveXObject')) || ('ActiveXObject' in window)) {\n var names = [\n 'AcroPDF.PDF', // Adobe PDF reader 7+\n 'Adodb.Stream',\n 'AgControl.AgControl', // Silverlight\n 'DevalVRXCtrl.DevalVRXCtrl.1',\n 'MacromediaFlashPaper.MacromediaFlashPaper',\n 'Msxml2.DOMDocument',\n 'Msxml2.XMLHTTP',\n 'PDF.PdfCtrl', // Adobe PDF reader 6 and earlier, brrr\n 'QuickTime.QuickTime', // QuickTime\n 'QuickTimeCheckObject.QuickTimeCheck.1',\n 'RealPlayer',\n 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)',\n 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)',\n 'Scripting.Dictionary',\n 'SWCtl.SWCtl', // ShockWave player\n 'Shell.UIHelper',\n 'ShockwaveFlash.ShockwaveFlash', // flash plugin\n 'Skype.Detection',\n 'TDCCtl.TDCCtl',\n 'WMPlayer.OCX', // Windows media player\n 'rmocx.RealPlayer G2 Control',\n 'rmocx.RealPlayer G2 Control.1'\n ]\n // starting to detect plugins in IE\n result = map(names, function (name) {\n try {\n // eslint-disable-next-line no-new\n new window.ActiveXObject(name)\n return name\n } catch (e) {\n return options.ERROR\n }\n })\n } else {\n result.push(options.NOT_AVAILABLE)\n }\n if (navigator.plugins) {\n result = result.concat(getRegularPlugins(options))\n }\n return result\n }\n var pluginsShouldBeSorted = function (options) {\n var should = false\n for (var i = 0, l = options.plugins.sortPluginsFor.length; i < l; i++) {\n var re = options.plugins.sortPluginsFor[i]\n if (navigator.userAgent.match(re)) {\n should = true\n break\n }\n }\n return should\n }\n var touchSupportKey = function (done) {\n done(getTouchSupport())\n }\n var hardwareConcurrencyKey = function (done, options) {\n done(getHardwareConcurrency(options))\n }\n var hasSessionStorage = function (options) {\n try {\n return !!window.sessionStorage\n } catch (e) {\n return options.ERROR // SecurityError when referencing it means it exists\n }\n }\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=781447\n var hasLocalStorage = function (options) {\n try {\n return !!window.localStorage\n } catch (e) {\n return options.ERROR // SecurityError when referencing it means it exists\n }\n }\n var hasIndexedDB = function (options) {\n // IE and Edge don't allow accessing indexedDB in private mode, therefore IE and Edge will have different\n // fingerprints in normal and private modes.\n if (isIEOrOldEdge()) {\n return options.EXCLUDED\n }\n try {\n return !!window.indexedDB\n } catch (e) {\n return options.ERROR // SecurityError when referencing it means it exists\n }\n }\n var getHardwareConcurrency = function (options) {\n if (navigator.hardwareConcurrency) {\n return navigator.hardwareConcurrency\n }\n return options.NOT_AVAILABLE\n }\n var getNavigatorCpuClass = function (options) {\n return navigator.cpuClass || options.NOT_AVAILABLE\n }\n var getNavigatorPlatform = function (options) {\n if (navigator.platform) {\n return navigator.platform\n } else {\n return options.NOT_AVAILABLE\n }\n }\n var getDoNotTrack = function (options) {\n if (navigator.doNotTrack) {\n return navigator.doNotTrack\n } else if (navigator.msDoNotTrack) {\n return navigator.msDoNotTrack\n } else if (window.doNotTrack) {\n return window.doNotTrack\n } else {\n return options.NOT_AVAILABLE\n }\n }\n // This is a crude and primitive touch screen detection.\n // It's not possible to currently reliably detect the availability of a touch screen\n // with a JS, without actually subscribing to a touch event.\n // http://www.stucox.com/blog/you-cant-detect-a-touchscreen/\n // https://github.com/Modernizr/Modernizr/issues/548\n // method returns an array of 3 values:\n // maxTouchPoints, the success or failure of creating a TouchEvent,\n // and the availability of the 'ontouchstart' property\n\n var getTouchSupport = function () {\n var maxTouchPoints = 0\n var touchEvent\n if (typeof navigator.maxTouchPoints !== 'undefined') {\n maxTouchPoints = navigator.maxTouchPoints\n } else if (typeof navigator.msMaxTouchPoints !== 'undefined') {\n maxTouchPoints = navigator.msMaxTouchPoints\n }\n try {\n document.createEvent('TouchEvent')\n touchEvent = true\n } catch (_) {\n touchEvent = false\n }\n var touchStart = 'ontouchstart' in window\n return [maxTouchPoints, touchEvent, touchStart]\n }\n // https://www.browserleaks.com/canvas#how-does-it-work\n\n var getCanvasFp = function (options) {\n var result = []\n // Very simple now, need to make it more complex (geo shapes etc)\n var canvas = document.createElement('canvas')\n canvas.width = 2000\n canvas.height = 200\n canvas.style.display = 'inline'\n var ctx = canvas.getContext('2d')\n // detect browser support of canvas winding\n // http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/\n // https://github.com/Modernizr/Modernizr/blob/master/feature-detects/canvas/winding.js\n ctx.rect(0, 0, 10, 10)\n ctx.rect(2, 2, 6, 6)\n result.push('canvas winding:' + ((ctx.isPointInPath(5, 5, 'evenodd') === false) ? 'yes' : 'no'))\n\n ctx.textBaseline = 'alphabetic'\n ctx.fillStyle = '#f60'\n ctx.fillRect(125, 1, 62, 20)\n ctx.fillStyle = '#069'\n // https://github.com/fingerprintjs/fingerprintjs/issues/66\n if (options.dontUseFakeFontInCanvas) {\n ctx.font = '11pt Arial'\n } else {\n ctx.font = '11pt no-real-font-123'\n }\n ctx.fillText('Cwm fjordbank glyphs vext quiz, \\ud83d\\ude03', 2, 15)\n ctx.fillStyle = 'rgba(102, 204, 0, 0.2)'\n ctx.font = '18pt Arial'\n ctx.fillText('Cwm fjordbank glyphs vext quiz, \\ud83d\\ude03', 4, 45)\n\n // canvas blending\n // http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/\n // http://jsfiddle.net/NDYV8/16/\n ctx.globalCompositeOperation = 'multiply'\n ctx.fillStyle = 'rgb(255,0,255)'\n ctx.beginPath()\n ctx.arc(50, 50, 50, 0, Math.PI * 2, true)\n ctx.closePath()\n ctx.fill()\n ctx.fillStyle = 'rgb(0,255,255)'\n ctx.beginPath()\n ctx.arc(100, 50, 50, 0, Math.PI * 2, true)\n ctx.closePath()\n ctx.fill()\n ctx.fillStyle = 'rgb(255,255,0)'\n ctx.beginPath()\n ctx.arc(75, 100, 50, 0, Math.PI * 2, true)\n ctx.closePath()\n ctx.fill()\n ctx.fillStyle = 'rgb(255,0,255)'\n // canvas winding\n // http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/\n // http://jsfiddle.net/NDYV8/19/\n ctx.arc(75, 75, 75, 0, Math.PI * 2, true)\n ctx.arc(75, 75, 25, 0, Math.PI * 2, true)\n ctx.fill('evenodd')\n\n if (canvas.toDataURL) { result.push('canvas fp:' + canvas.toDataURL()) }\n return result\n }\n var getWebglFp = function () {\n var gl\n var fa2s = function (fa) {\n gl.clearColor(0.0, 0.0, 0.0, 1.0)\n gl.enable(gl.DEPTH_TEST)\n gl.depthFunc(gl.LEQUAL)\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)\n return '[' + fa[0] + ', ' + fa[1] + ']'\n }\n var maxAnisotropy = function (gl) {\n var ext = gl.getExtension('EXT_texture_filter_anisotropic') || gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') || gl.getExtension('MOZ_EXT_texture_filter_anisotropic')\n if (ext) {\n var anisotropy = gl.getParameter(ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT)\n if (anisotropy === 0) {\n anisotropy = 2\n }\n return anisotropy\n } else {\n return null\n }\n }\n\n gl = getWebglCanvas()\n if (!gl) { return null }\n // WebGL fingerprinting is a combination of techniques, found in MaxMind antifraud script & Augur fingerprinting.\n // First it draws a gradient object with shaders and convers the image to the Base64 string.\n // Then it enumerates all WebGL extensions & capabilities and appends them to the Base64 string, resulting in a huge WebGL string, potentially very unique on each device\n // Since iOS supports webgl starting from version 8.1 and 8.1 runs on several graphics chips, the results may be different across ios devices, but we need to verify it.\n var result = []\n var vShaderTemplate = 'attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}'\n var fShaderTemplate = 'precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}'\n var vertexPosBuffer = gl.createBuffer()\n gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer)\n var vertices = new Float32Array([-0.2, -0.9, 0, 0.4, -0.26, 0, 0, 0.732134444, 0])\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW)\n vertexPosBuffer.itemSize = 3\n vertexPosBuffer.numItems = 3\n var program = gl.createProgram()\n var vshader = gl.createShader(gl.VERTEX_SHADER)\n gl.shaderSource(vshader, vShaderTemplate)\n gl.compileShader(vshader)\n var fshader = gl.createShader(gl.FRAGMENT_SHADER)\n gl.shaderSource(fshader, fShaderTemplate)\n gl.compileShader(fshader)\n gl.attachShader(program, vshader)\n gl.attachShader(program, fshader)\n gl.linkProgram(program)\n gl.useProgram(program)\n program.vertexPosAttrib = gl.getAttribLocation(program, 'attrVertex')\n program.offsetUniform = gl.getUniformLocation(program, 'uniformOffset')\n gl.enableVertexAttribArray(program.vertexPosArray)\n gl.vertexAttribPointer(program.vertexPosAttrib, vertexPosBuffer.itemSize, gl.FLOAT, !1, 0, 0)\n gl.uniform2f(program.offsetUniform, 1, 1)\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, vertexPosBuffer.numItems)\n try {\n result.push(gl.canvas.toDataURL())\n } catch (e) {\n /* .toDataURL may be absent or broken (blocked by extension) */\n }\n result.push('extensions:' + (gl.getSupportedExtensions() || []).join(';'))\n result.push('webgl aliased line width range:' + fa2s(gl.getParameter(gl.ALIASED_LINE_WIDTH_RANGE)))\n result.push('webgl aliased point size range:' + fa2s(gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE)))\n result.push('webgl alpha bits:' + gl.getParameter(gl.ALPHA_BITS))\n result.push('webgl antialiasing:' + (gl.getContextAttributes().antialias ? 'yes' : 'no'))\n result.push('webgl blue bits:' + gl.getParameter(gl.BLUE_BITS))\n result.push('webgl depth bits:' + gl.getParameter(gl.DEPTH_BITS))\n result.push('webgl green bits:' + gl.getParameter(gl.GREEN_BITS))\n result.push('webgl max anisotropy:' + maxAnisotropy(gl))\n result.push('webgl max combined texture image units:' + gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS))\n result.push('webgl max cube map texture size:' + gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE))\n result.push('webgl max fragment uniform vectors:' + gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS))\n result.push('webgl max render buffer size:' + gl.getParameter(gl.MAX_RENDERBUFFER_SIZE))\n result.push('webgl max texture image units:' + gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS))\n result.push('webgl max texture size:' + gl.getParameter(gl.MAX_TEXTURE_SIZE))\n result.push('webgl max varying vectors:' + gl.getParameter(gl.MAX_VARYING_VECTORS))\n result.push('webgl max vertex attribs:' + gl.getParameter(gl.MAX_VERTEX_ATTRIBS))\n result.push('webgl max vertex texture image units:' + gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS))\n result.push('webgl max vertex uniform vectors:' + gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS))\n result.push('webgl max viewport dims:' + fa2s(gl.getParameter(gl.MAX_VIEWPORT_DIMS)))\n result.push('webgl red bits:' + gl.getParameter(gl.RED_BITS))\n result.push('webgl renderer:' + gl.getParameter(gl.RENDERER))\n result.push('webgl shading language version:' + gl.getParameter(gl.SHADING_LANGUAGE_VERSION))\n result.push('webgl stencil bits:' + gl.getParameter(gl.STENCIL_BITS))\n result.push('webgl vendor:' + gl.getParameter(gl.VENDOR))\n result.push('webgl version:' + gl.getParameter(gl.VERSION))\n\n try {\n // Add the unmasked vendor and unmasked renderer if the debug_renderer_info extension is available\n var extensionDebugRendererInfo = gl.getExtension('WEBGL_debug_renderer_info')\n if (extensionDebugRendererInfo) {\n result.push('webgl unmasked vendor:' + gl.getParameter(extensionDebugRendererInfo.UNMASKED_VENDOR_WEBGL))\n result.push('webgl unmasked renderer:' + gl.getParameter(extensionDebugRendererInfo.UNMASKED_RENDERER_WEBGL))\n }\n } catch (e) { /* squelch */ }\n\n if (!gl.getShaderPrecisionFormat) {\n loseWebglContext(gl)\n return result\n }\n\n each(['FLOAT', 'INT'], function (numType) {\n each(['VERTEX', 'FRAGMENT'], function (shader) {\n each(['HIGH', 'MEDIUM', 'LOW'], function (numSize) {\n each(['precision', 'rangeMin', 'rangeMax'], function (key) {\n var format = gl.getShaderPrecisionFormat(gl[shader + '_SHADER'], gl[numSize + '_' + numType])[key]\n if (key !== 'precision') {\n key = 'precision ' + key\n }\n var line = ['webgl ', shader.toLowerCase(), ' shader ', numSize.toLowerCase(), ' ', numType.toLowerCase(), ' ', key, ':', format].join('')\n result.push(line)\n })\n })\n })\n })\n loseWebglContext(gl)\n return result\n }\n var getWebglVendorAndRenderer = function () {\n /* This a subset of the WebGL fingerprint with a lot of entropy, while being reasonably browser-independent */\n try {\n var glContext = getWebglCanvas()\n var extensionDebugRendererInfo = glContext.getExtension('WEBGL_debug_renderer_info')\n var params = glContext.getParameter(extensionDebugRendererInfo.UNMASKED_VENDOR_WEBGL) + '~' + glContext.getParameter(extensionDebugRendererInfo.UNMASKED_RENDERER_WEBGL)\n loseWebglContext(glContext)\n return params\n } catch (e) {\n return null\n }\n }\n var getAdBlock = function () {\n var ads = document.createElement('div')\n ads.innerHTML = ' '\n ads.className = 'adsbox'\n var result = false\n try {\n // body may not exist, that's why we need try/catch\n document.body.appendChild(ads)\n result = document.getElementsByClassName('adsbox')[0].offsetHeight === 0\n document.body.removeChild(ads)\n } catch (e) {\n result = false\n }\n return result\n }\n var getHasLiedLanguages = function () {\n // We check if navigator.language is equal to the first language of navigator.languages\n // navigator.languages is undefined on IE11 (and potentially older IEs)\n if (typeof navigator.languages !== 'undefined') {\n try {\n var firstLanguages = navigator.languages[0].substr(0, 2)\n if (firstLanguages !== navigator.language.substr(0, 2)) {\n return true\n }\n } catch (err) {\n return true\n }\n }\n return false\n }\n var getHasLiedResolution = function () {\n return window.screen.width < window.screen.availWidth || window.screen.height < window.screen.availHeight\n }\n var getHasLiedOs = function () {\n var userAgent = navigator.userAgent.toLowerCase()\n var oscpu = navigator.oscpu\n var platform = navigator.platform.toLowerCase()\n var os\n // We extract the OS from the user agent (respect the order of the if else if statement)\n if (userAgent.indexOf('windows phone') >= 0) {\n os = 'Windows Phone'\n } else if (userAgent.indexOf('windows') >= 0 || userAgent.indexOf('win16') >= 0 || userAgent.indexOf('win32') >= 0 || userAgent.indexOf('win64') >= 0 || userAgent.indexOf('win95') >= 0 || userAgent.indexOf('win98') >= 0 || userAgent.indexOf('winnt') >= 0 || userAgent.indexOf('wow64') >= 0) {\n os = 'Windows'\n } else if (userAgent.indexOf('android') >= 0) {\n os = 'Android'\n } else if (userAgent.indexOf('linux') >= 0 || userAgent.indexOf('cros') >= 0 || userAgent.indexOf('x11') >= 0) {\n os = 'Linux'\n } else if (userAgent.indexOf('iphone') >= 0 || userAgent.indexOf('ipad') >= 0 || userAgent.indexOf('ipod') >= 0 || userAgent.indexOf('crios') >= 0 || userAgent.indexOf('fxios') >= 0) {\n os = 'iOS'\n } else if (userAgent.indexOf('macintosh') >= 0 || userAgent.indexOf('mac_powerpc)') >= 0) {\n os = 'Mac'\n } else {\n os = 'Other'\n }\n // We detect if the person uses a touch device\n var mobileDevice = (('ontouchstart' in window) ||\n (navigator.maxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0))\n\n if (mobileDevice && os !== 'Windows' && os !== 'Windows Phone' && os !== 'Android' && os !== 'iOS' && os !== 'Other' && userAgent.indexOf('cros') === -1) {\n return true\n }\n\n // We compare oscpu with the OS extracted from the UA\n if (typeof oscpu !== 'undefined') {\n oscpu = oscpu.toLowerCase()\n if (oscpu.indexOf('win') >= 0 && os !== 'Windows' && os !== 'Windows Phone') {\n return true\n } else if (oscpu.indexOf('linux') >= 0 && os !== 'Linux' && os !== 'Android') {\n return true\n } else if (oscpu.indexOf('mac') >= 0 && os !== 'Mac' && os !== 'iOS') {\n return true\n } else if ((oscpu.indexOf('win') === -1 && oscpu.indexOf('linux') === -1 && oscpu.indexOf('mac') === -1) !== (os === 'Other')) {\n return true\n }\n }\n\n // We compare platform with the OS extracted from the UA\n if (platform.indexOf('win') >= 0 && os !== 'Windows' && os !== 'Windows Phone') {\n return true\n } else if ((platform.indexOf('linux') >= 0 || platform.indexOf('android') >= 0 || platform.indexOf('pike') >= 0) && os !== 'Linux' && os !== 'Android') {\n return true\n } else if ((platform.indexOf('mac') >= 0 || platform.indexOf('ipad') >= 0 || platform.indexOf('ipod') >= 0 || platform.indexOf('iphone') >= 0) && os !== 'Mac' && os !== 'iOS') {\n return true\n } else if (platform.indexOf('arm') >= 0 && os === 'Windows Phone') {\n return false\n } else if (platform.indexOf('pike') >= 0 && userAgent.indexOf('opera mini') >= 0) {\n return false\n } else {\n var platformIsOther = platform.indexOf('win') < 0 &&\n platform.indexOf('linux') < 0 &&\n platform.indexOf('mac') < 0 &&\n platform.indexOf('iphone') < 0 &&\n platform.indexOf('ipad') < 0 &&\n platform.indexOf('ipod') < 0\n if (platformIsOther !== (os === 'Other')) {\n return true\n }\n }\n\n return typeof navigator.plugins === 'undefined' && os !== 'Windows' && os !== 'Windows Phone'\n }\n var getHasLiedBrowser = function () {\n var userAgent = navigator.userAgent.toLowerCase()\n var productSub = navigator.productSub\n\n // we extract the browser from the user agent (respect the order of the tests)\n var browser\n if (userAgent.indexOf('edge/') >= 0 || userAgent.indexOf('iemobile/') >= 0) {\n // Unreliable, different versions use EdgeHTML, Webkit, Blink, etc.\n return false\n } else if (userAgent.indexOf('opera mini') >= 0) {\n // Unreliable, different modes use Presto, WebView, Webkit, etc.\n return false\n } else if (userAgent.indexOf('firefox/') >= 0) {\n browser = 'Firefox'\n } else if (userAgent.indexOf('opera/') >= 0 || userAgent.indexOf(' opr/') >= 0) {\n browser = 'Opera'\n } else if (userAgent.indexOf('chrome/') >= 0) {\n browser = 'Chrome'\n } else if (userAgent.indexOf('safari/') >= 0) {\n if (userAgent.indexOf('android 1.') >= 0 || userAgent.indexOf('android 2.') >= 0 || userAgent.indexOf('android 3.') >= 0 || userAgent.indexOf('android 4.') >= 0) {\n browser = 'AOSP'\n } else {\n browser = 'Safari'\n }\n } else if (userAgent.indexOf('trident/') >= 0) {\n browser = 'Internet Explorer'\n } else {\n browser = 'Other'\n }\n\n if ((browser === 'Chrome' || browser === 'Safari' || browser === 'Opera') && productSub !== '20030107') {\n return true\n }\n\n // eslint-disable-next-line no-eval\n var tempRes = eval.toString().length\n if (tempRes === 37 && browser !== 'Safari' && browser !== 'Firefox' && browser !== 'Other') {\n return true\n } else if (tempRes === 39 && browser !== 'Internet Explorer' && browser !== 'Other') {\n return true\n } else if (tempRes === 33 && browser !== 'Chrome' && browser !== 'AOSP' && browser !== 'Opera' && browser !== 'Other') {\n return true\n }\n\n // We create an error to see how it is handled\n var errFirefox\n try {\n // eslint-disable-next-line no-throw-literal\n throw 'a'\n } catch (err) {\n try {\n err.toSource()\n errFirefox = true\n } catch (errOfErr) {\n errFirefox = false\n }\n }\n return errFirefox && browser !== 'Firefox' && browser !== 'Other'\n }\n var isCanvasSupported = function () {\n var elem = document.createElement('canvas')\n return !!(elem.getContext && elem.getContext('2d'))\n }\n var isWebGlSupported = function () {\n // code taken from Modernizr\n if (!isCanvasSupported()) {\n return false\n }\n\n var glContext = getWebglCanvas()\n var isSupported = !!window.WebGLRenderingContext && !!glContext\n loseWebglContext(glContext)\n return isSupported\n }\n var isIE = function () {\n if (navigator.appName === 'Microsoft Internet Explorer') {\n return true\n } else if (navigator.appName === 'Netscape' && /Trident/.test(navigator.userAgent)) { // IE 11\n return true\n }\n return false\n }\n var isIEOrOldEdge = function () {\n // The properties are checked to be in IE 10, IE 11 and Edge 18 and not to be in other browsers\n return ('msWriteProfilerMark' in window) + ('msLaunchUri' in navigator) + ('msSaveBlob' in navigator) >= 2\n }\n var hasSwfObjectLoaded = function () {\n return typeof window.swfobject !== 'undefined'\n }\n var hasMinFlashInstalled = function () {\n return window.swfobject.hasFlashPlayerVersion('9.0.0')\n }\n var addFlashDivNode = function (options) {\n var node = document.createElement('div')\n node.setAttribute('id', options.fonts.swfContainerId)\n document.body.appendChild(node)\n }\n var loadSwfAndDetectFonts = function (done, options) {\n var hiddenCallback = '___fp_swf_loaded'\n window[hiddenCallback] = function (fonts) {\n done(fonts)\n }\n var id = options.fonts.swfContainerId\n addFlashDivNode()\n var flashvars = { onReady: hiddenCallback }\n var flashparams = { allowScriptAccess: 'always', menu: 'false' }\n window.swfobject.embedSWF(options.fonts.swfPath, id, '1', '1', '9.0.0', false, flashvars, flashparams, {})\n }\n var getWebglCanvas = function () {\n var canvas = document.createElement('canvas')\n var gl = null\n try {\n gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl')\n } catch (e) { /* squelch */ }\n if (!gl) { gl = null }\n return gl\n }\n var loseWebglContext = function (context) {\n var loseContextExtension = context.getExtension('WEBGL_lose_context')\n if (loseContextExtension != null) {\n loseContextExtension.loseContext()\n }\n }\n\n var components = [\n { key: 'userAgent', getData: UserAgent },\n { key: 'webdriver', getData: webdriver },\n { key: 'language', getData: languageKey },\n { key: 'colorDepth', getData: colorDepthKey },\n { key: 'deviceMemory', getData: deviceMemoryKey },\n { key: 'pixelRatio', getData: pixelRatioKey },\n { key: 'hardwareConcurrency', getData: hardwareConcurrencyKey },\n { key: 'screenResolution', getData: screenResolutionKey },\n { key: 'availableScreenResolution', getData: availableScreenResolutionKey },\n { key: 'timezoneOffset', getData: timezoneOffset },\n { key: 'timezone', getData: timezone },\n { key: 'sessionStorage', getData: sessionStorageKey },\n { key: 'localStorage', getData: localStorageKey },\n { key: 'indexedDb', getData: indexedDbKey },\n { key: 'addBehavior', getData: addBehaviorKey },\n { key: 'openDatabase', getData: openDatabaseKey },\n { key: 'cpuClass', getData: cpuClassKey },\n { key: 'platform', getData: platformKey },\n { key: 'doNotTrack', getData: doNotTrackKey },\n { key: 'plugins', getData: pluginsComponent },\n { key: 'canvas', getData: canvasKey },\n { key: 'webgl', getData: webglKey },\n { key: 'webglVendorAndRenderer', getData: webglVendorAndRendererKey },\n { key: 'adBlock', getData: adBlockKey },\n { key: 'hasLiedLanguages', getData: hasLiedLanguagesKey },\n { key: 'hasLiedResolution', getData: hasLiedResolutionKey },\n { key: 'hasLiedOs', getData: hasLiedOsKey },\n { key: 'hasLiedBrowser', getData: hasLiedBrowserKey },\n { key: 'touchSupport', getData: touchSupportKey },\n { key: 'fonts', getData: jsFontsKey, pauseBefore: true },\n { key: 'fontsFlash', getData: flashFontsKey, pauseBefore: true },\n { key: 'audio', getData: audioKey },\n { key: 'enumerateDevices', getData: enumerateDevicesKey }\n ]\n\n var Fingerprint2 = function (options) {\n throw new Error(\"'new Fingerprint()' is deprecated, see https://github.com/fingerprintjs/fingerprintjs#upgrade-guide-from-182-to-200\")\n }\n\n Fingerprint2.get = function (options, callback) {\n if (!callback) {\n callback = options\n options = {}\n } else if (!options) {\n options = {}\n }\n extendSoft(options, defaultOptions)\n options.components = options.extraComponents.concat(components)\n\n var keys = {\n data: [],\n addPreprocessedComponent: function (key, value) {\n if (typeof options.preprocessor === 'function') {\n value = options.preprocessor(key, value)\n }\n keys.data.push({ key: key, value: value })\n }\n }\n\n var i = -1\n var chainComponents = function (alreadyWaited) {\n i += 1\n if (i >= options.components.length) { // on finish\n callback(keys.data)\n return\n }\n var component = options.components[i]\n\n if (options.excludes[component.key]) {\n chainComponents(false) // skip\n return\n }\n\n if (!alreadyWaited && component.pauseBefore) {\n i -= 1\n setTimeout(function () {\n chainComponents(true)\n }, 1)\n return\n }\n\n try {\n component.getData(function (value) {\n keys.addPreprocessedComponent(component.key, value)\n chainComponents(false)\n }, options)\n } catch (error) {\n // main body error\n keys.addPreprocessedComponent(component.key, String(error))\n chainComponents(false)\n }\n }\n\n chainComponents(false)\n }\n\n Fingerprint2.getPromise = function (options) {\n return new Promise(function (resolve, reject) {\n Fingerprint2.get(options, resolve)\n })\n }\n\n Fingerprint2.getV18 = function (options, callback) {\n if (callback == null) {\n callback = options\n options = {}\n }\n return Fingerprint2.get(options, function (components) {\n var newComponents = []\n for (var i = 0; i < components.length; i++) {\n var component = components[i]\n if (component.value === (options.NOT_AVAILABLE || 'not available')) {\n newComponents.push({ key: component.key, value: 'unknown' })\n } else if (component.key === 'plugins') {\n newComponents.push({\n key: 'plugins',\n value: map(component.value, function (p) {\n var mimeTypes = map(p[2], function (mt) {\n if (mt.join) { return mt.join('~') }\n return mt\n }).join(',')\n return [p[0], p[1], mimeTypes].join('::')\n })\n })\n } else if (['canvas', 'webgl'].indexOf(component.key) !== -1 && Array.isArray(component.value)) {\n // sometimes WebGL returns error in headless browsers (during CI testing for example)\n // so we need to join only if the values are array\n newComponents.push({ key: component.key, value: component.value.join('~') })\n } else if (['sessionStorage', 'localStorage', 'indexedDb', 'addBehavior', 'openDatabase'].indexOf(component.key) !== -1) {\n if (component.value) {\n newComponents.push({ key: component.key, value: 1 })\n } else {\n // skip\n continue\n }\n } else {\n if (component.value) {\n newComponents.push(component.value.join ? { key: component.key, value: component.value.join(';') } : component)\n } else {\n newComponents.push({ key: component.key, value: component.value })\n }\n }\n }\n var murmur = x64hash128(map(newComponents, function (component) { return component.value }).join('~~~'), 31)\n callback(murmur, newComponents)\n })\n }\n\n Fingerprint2.x64hash128 = x64hash128\n Fingerprint2.VERSION = '2.1.4'\n return Fingerprint2\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","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*!\n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Create the global controller. All contained methods and properties apply\n * to all sounds that are currently playing or will be in the future.\n */\n var HowlerGlobal = function() {\n this.init();\n };\n HowlerGlobal.prototype = {\n /**\n * Initialize the global Howler object.\n * @return {Howler}\n */\n init: function() {\n var self = this || Howler;\n\n // Create a global ID counter.\n self._counter = 1000;\n\n // Pool of unlocked HTML5 Audio objects.\n self._html5AudioPool = [];\n self.html5PoolSize = 10;\n\n // Internal properties.\n self._codecs = {};\n self._howls = [];\n self._muted = false;\n self._volume = 1;\n self._canPlayEvent = 'canplaythrough';\n self._navigator = (typeof window !== 'undefined' && window.navigator) ? window.navigator : null;\n\n // Public properties.\n self.masterGain = null;\n self.noAudio = false;\n self.usingWebAudio = true;\n self.autoSuspend = true;\n self.ctx = null;\n\n // Set to false to disable the auto audio unlocker.\n self.autoUnlock = true;\n\n // Setup the various state values for global tracking.\n self._setup();\n\n return self;\n },\n\n /**\n * Get/set the global volume for all sounds.\n * @param {Float} vol Volume from 0.0 to 1.0.\n * @return {Howler/Float} Returns self or current volume.\n */\n volume: function(vol) {\n var self = this || Howler;\n vol = parseFloat(vol);\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!self.ctx) {\n setupAudioContext();\n }\n\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var ua = self._navigator ? self._navigator.userAgent : '';\n var checkOpera = ua.match(/OPR\\/([0-6].)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n var checkSafari = ua.indexOf('Safari') !== -1 && ua.indexOf('Chrome') === -1;\n var safariVersion = ua.match(/Version\\/(.*?) /);\n var isOldSafari = (checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!(audioTest.canPlayType('audio/wav; codecs=\"1\"') || audioTest.canPlayType('audio/wav')).replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n m4b: !!(audioTest.canPlayType('audio/x-m4b;') || audioTest.canPlayType('audio/m4b;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n while (self._html5AudioPool.length < self.html5PoolSize) {\n try {\n var audioNode = new Audio();\n\n // Mark this Audio object as unlocked to ensure it can get returned\n // to the unlocked pool when released.\n audioNode._unlocked = true;\n\n // Add the audio node to the pool.\n self._releaseHtml5Audio(audioNode);\n } catch (e) {\n self.noAudio = true;\n break;\n }\n }\n\n // Loop through any assigned audio nodes and unlock them.\n for (var i=0; i= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n document.removeEventListener('keydown', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running' && Howler.ctx.state !== 'interrupted') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n } else {\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n self._state = 'loading';\n\n var listener = function() {\n self._state = 'loaded';\n \n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Make sure the volume is in the right bounds.\n if (diff < 0) {\n vol = Math.max(to, vol);\n } else {\n vol = Math.min(to, vol);\n }\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n if (self._sounds.length) {\n id = self._sounds[0]._id;\n }\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return 0;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (typeof seek === 'number' && (self._state !== 'loaded' || self._playLock)) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n\n self._emit('seek', id);\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i= 0;\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Listen for the 'ended' event on the sound to account for edge-case where\n // a finite sound has a duration of Infinity.\n self._endFn = self._endListener.bind(self);\n self._node.addEventListener('ended', self._endFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = parent._preload === true ? 'auto' : parent._preload;\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n },\n\n /**\n * HTML5 Audio ended listener callback.\n */\n _endListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Only handle the `ended`` event if the duration is Infinity.\n if (parent._duration === Infinity) {\n // Update the parent duration to match the real audio duration.\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Update the sprite that corresponds to the real duration.\n if (parent._sprite.__default[1] === Infinity) {\n parent._sprite.__default[1] = parent._duration * 1000;\n }\n\n // Run the regular ended method.\n parent._ended(self);\n }\n\n // Clear the event listener since the duration is now correct.\n self._node.removeEventListener('ended', self._endFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Add to global in Node.js (for testing, etc).\n if (typeof global !== 'undefined') {\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n } else if (typeof window !== 'undefined') { // Define globally in case AMD is not available or unused.\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","module.exports = window.DOMPurify || (window.DOMPurify = require('dompurify').default || require('dompurify'));\n","'use strict';\n\nvar stub = require('./stub');\nvar parse = require('./parse');\nvar tracking = require('./tracking');\nvar ls = 'localStorage' in global && global.localStorage ? global.localStorage : stub;\n\nfunction accessor (key, value) {\n if (arguments.length === 1) {\n return get(key);\n }\n return set(key, value);\n}\n\nfunction get (key) {\n const raw = ls.getItem(key);\n const parsed = parse(raw);\n return parsed;\n}\n\nfunction set (key, value) {\n try {\n ls.setItem(key, JSON.stringify(value));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction remove (key) {\n return ls.removeItem(key);\n}\n\nfunction clear () {\n return ls.clear();\n}\n\nfunction backend (store) {\n store && (ls = store);\n\n return ls;\n}\n\naccessor.set = set;\naccessor.get = get;\naccessor.remove = remove;\naccessor.clear = clear;\naccessor.backend = backend;\naccessor.on = tracking.on;\naccessor.off = tracking.off;\n\nmodule.exports = accessor;\n","'use strict';\n\nfunction parse (rawValue) {\n const parsed = parseValue(rawValue);\n\n if (parsed === undefined) {\n return null;\n }\n\n return parsed;\n}\n\nfunction parseValue (rawValue) {\n try {\n return JSON.parse(rawValue);\n } catch (err) {\n return rawValue;\n }\n}\n\nmodule.exports = parse;\n","'use strict';\n\nvar ms = {};\n\nfunction getItem (key) {\n return key in ms ? ms[key] : null;\n}\n\nfunction setItem (key, value) {\n ms[key] = value;\n return true;\n}\n\nfunction removeItem (key) {\n var found = key in ms;\n if (found) {\n return delete ms[key];\n }\n return false;\n}\n\nfunction clear () {\n ms = {};\n return true;\n}\n\nmodule.exports = {\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear\n};\n","'use strict';\n\nvar parse = require('./parse');\nvar listeners = {};\nvar listening = false;\n\nfunction listen () {\n if (global.addEventListener) {\n global.addEventListener('storage', change, false);\n } else if (global.attachEvent) {\n global.attachEvent('onstorage', change);\n } else {\n global.onstorage = change;\n }\n}\n\nfunction change (e) {\n if (!e) {\n e = global.event;\n }\n var all = listeners[e.key];\n if (all) {\n all.forEach(fire);\n }\n\n function fire (listener) {\n listener(parse(e.newValue), parse(e.oldValue), e.url || e.uri);\n }\n}\n\nfunction on (key, fn) {\n if (listeners[key]) {\n listeners[key].push(fn);\n } else {\n listeners[key] = [fn];\n }\n if (listening === false) {\n listen();\n }\n}\n\nfunction off (key, fn) {\n var ns = listeners[key];\n if (ns.length > 1) {\n ns.splice(ns.indexOf(fn), 1);\n } else {\n listeners[key] = [];\n }\n}\n\nmodule.exports = {\n on: on,\n off: off\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 `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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/** 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 objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash 4.0.0 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, 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","/**\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/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\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 * 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/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * 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/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\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 a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","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 e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\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 _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import _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 _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","var DEFAULT_LOCALE = 'en';\nvar LOCALES = ['en'];\nvar DEFAULT_NAMESPACE = 'common';\nvar LOCALE_PATH = './public/locales';\nvar LOCALE_STRUCTURE = '{{lng}}/{{ns}}';\nvar LOCALE_EXTENSION = 'json';\nexport var defaultConfig = {\n defaultNS: DEFAULT_NAMESPACE,\n errorStackTraceLimit: 0,\n i18n: {\n defaultLocale: DEFAULT_LOCALE,\n locales: LOCALES\n },\n\n get initImmediate() {\n return process.browser && typeof window !== 'undefined';\n },\n\n interpolation: {\n escapeValue: false\n },\n load: 'currentOnly',\n localeExtension: LOCALE_EXTENSION,\n localePath: LOCALE_PATH,\n localeStructure: LOCALE_STRUCTURE,\n react: {\n useSuspense: false\n },\n reloadOnPrerender: false,\n serializeConfig: true,\n use: []\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"i18n\"],\n _excluded2 = [\"i18n\"];\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { defaultConfig } from './defaultConfig';\nvar deepMergeObjects = ['backend', 'detection'];\nexport var createConfig = function createConfig(userConfig) {\n var _userConfig$use;\n\n if (typeof (userConfig === null || userConfig === void 0 ? void 0 : userConfig.lng) !== 'string') {\n throw new Error('config.lng was not passed into createConfig');\n } //\n // Initial merge of default and user-provided config\n //\n\n\n var userI18n = userConfig.i18n,\n userConfigStripped = _objectWithoutProperties(userConfig, _excluded);\n\n var defaultI18n = defaultConfig.i18n,\n defaultConfigStripped = _objectWithoutProperties(defaultConfig, _excluded2);\n\n var combinedConfig = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultConfigStripped), userConfigStripped), defaultI18n), userI18n);\n\n var defaultNS = combinedConfig.defaultNS,\n lng = combinedConfig.lng,\n localeExtension = combinedConfig.localeExtension,\n localePath = combinedConfig.localePath,\n localeStructure = combinedConfig.localeStructure;\n var locales = combinedConfig.locales.filter(function (l) {\n return l !== 'default';\n });\n /**\n * Skips translation file resolution while in cimode\n * https://github.com/i18next/next-i18next/pull/851#discussion_r503113620\n */\n\n if (lng === 'cimode') {\n return combinedConfig;\n }\n\n if (typeof combinedConfig.fallbackLng === 'undefined') {\n combinedConfig.fallbackLng = combinedConfig.defaultLocale;\n\n if (combinedConfig.fallbackLng === 'default') {\n var _locales = _slicedToArray(locales, 1);\n\n combinedConfig.fallbackLng = _locales[0];\n }\n }\n\n var hasCustomBackend = userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$use = userConfig.use) === null || _userConfig$use === void 0 ? void 0 : _userConfig$use.some(function (b) {\n return b.type === 'backend';\n });\n\n if (!process.browser && typeof window === 'undefined') {\n combinedConfig.preload = locales;\n\n if (!hasCustomBackend) {\n var fs = require('fs');\n\n var path = require('path'); //\n // Validate defaultNS\n // https://github.com/i18next/next-i18next/issues/358\n //\n\n\n if (typeof defaultNS === 'string' && typeof lng !== 'undefined') {\n if (typeof localePath === 'string') {\n var _userConfig$interpola, _userConfig$interpola2, _userConfig$interpola3, _userConfig$interpola4;\n\n var prefix = (_userConfig$interpola = userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$interpola2 = userConfig.interpolation) === null || _userConfig$interpola2 === void 0 ? void 0 : _userConfig$interpola2.prefix) !== null && _userConfig$interpola !== void 0 ? _userConfig$interpola : '{{';\n var suffix = (_userConfig$interpola3 = userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$interpola4 = userConfig.interpolation) === null || _userConfig$interpola4 === void 0 ? void 0 : _userConfig$interpola4.suffix) !== null && _userConfig$interpola3 !== void 0 ? _userConfig$interpola3 : '}}';\n var defaultLocaleStructure = localeStructure.replace(\"\".concat(prefix, \"lng\").concat(suffix), lng).replace(\"\".concat(prefix, \"ns\").concat(suffix), defaultNS);\n var defaultFile = \"/\".concat(defaultLocaleStructure, \".\").concat(localeExtension);\n var defaultNSPath = path.join(localePath, defaultFile);\n var defaultNSExists = fs.existsSync(defaultNSPath);\n\n if (!defaultNSExists && process.env.NODE_ENV !== 'production') {\n throw new Error(\"Default namespace not found at \".concat(defaultNSPath));\n }\n } else if (typeof localePath === 'function') {\n var _defaultNSPath = localePath(lng, defaultNS, false);\n\n var _defaultNSExists = fs.existsSync(_defaultNSPath);\n\n if (!_defaultNSExists && process.env.NODE_ENV !== 'production') {\n throw new Error(\"Default namespace not found at \".concat(_defaultNSPath));\n }\n }\n } //\n // Set server side backend\n //\n\n\n if (typeof localePath === 'string') {\n combinedConfig.backend = {\n addPath: path.resolve(process.cwd(), \"\".concat(localePath, \"/\").concat(localeStructure, \".missing.\").concat(localeExtension)),\n loadPath: path.resolve(process.cwd(), \"\".concat(localePath, \"/\").concat(localeStructure, \".\").concat(localeExtension))\n };\n } else if (typeof localePath === 'function') {\n combinedConfig.backend = {\n addPath: function addPath(locale, namespace) {\n return localePath(locale, namespace, true);\n },\n loadPath: function loadPath(locale, namespace) {\n return localePath(locale, namespace, false);\n }\n };\n } else {\n throw new Error(\"Unsupported localePath type: \".concat(_typeof(localePath)));\n } //\n // Set server side preload (namespaces)\n //\n\n\n if (!combinedConfig.ns && typeof lng !== 'undefined') {\n if (typeof localePath === 'function') {\n throw new Error('Must provide all namespaces in ns option if using a function as localePath');\n }\n\n var unique = function unique(list) {\n return Array.from(new Set(list));\n };\n\n var getNamespaces = function getNamespaces(locales) {\n var getLocaleNamespaces = function getLocaleNamespaces(p) {\n var ret = [];\n fs.readdirSync(p).map(function (file) {\n var joinedP = path.join(p, file);\n\n if (fs.statSync(joinedP).isDirectory()) {\n var subRet = getLocaleNamespaces(joinedP).map(function (n) {\n return \"\".concat(file, \"/\").concat(n);\n });\n ret = ret.concat(subRet);\n return;\n }\n\n ret.push(file.replace(\".\".concat(localeExtension), ''));\n });\n return ret;\n };\n\n var namespacesByLocale = locales.map(function (locale) {\n return getLocaleNamespaces(path.resolve(process.cwd(), \"\".concat(localePath, \"/\").concat(locale)));\n });\n var allNamespaces = [];\n\n var _iterator = _createForOfIteratorHelper(namespacesByLocale),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var localNamespaces = _step.value;\n allNamespaces.push.apply(allNamespaces, _toConsumableArray(localNamespaces));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return unique(allNamespaces);\n };\n\n var getAllLocales = function getAllLocales(lng, fallbackLng) {\n if (typeof fallbackLng === 'string') {\n return unique([lng, fallbackLng]);\n }\n\n if (Array.isArray(fallbackLng)) {\n return unique([lng].concat(_toConsumableArray(fallbackLng)));\n }\n\n if (_typeof(fallbackLng) === 'object') {\n var flattenedFallbacks = Object.values(fallbackLng).reduce(function (all, fallbackLngs) {\n return [].concat(_toConsumableArray(all), _toConsumableArray(fallbackLngs));\n }, []);\n return unique([lng].concat(_toConsumableArray(flattenedFallbacks)));\n }\n\n return [lng];\n };\n\n combinedConfig.ns = getNamespaces(getAllLocales(lng, combinedConfig.fallbackLng));\n }\n }\n } else {\n //\n // Set client side backend, if there is no custom backend\n //\n if (!hasCustomBackend) {\n if (typeof localePath === 'string') {\n combinedConfig.backend = {\n addPath: \"\".concat(localePath, \"/\").concat(localeStructure, \".missing.\").concat(localeExtension),\n loadPath: \"\".concat(localePath, \"/\").concat(localeStructure, \".\").concat(localeExtension)\n };\n } else if (typeof localePath === 'function') {\n combinedConfig.backend = {\n addPath: function addPath(locale, namespace) {\n return localePath(locale, namespace, true);\n },\n loadPath: function loadPath(locale, namespace) {\n return localePath(locale, namespace, false);\n }\n };\n }\n }\n\n if (typeof combinedConfig.ns !== 'string' && !Array.isArray(combinedConfig.ns)) {\n combinedConfig.ns = [defaultNS];\n }\n } //\n // Deep merge with overwrite - goes last\n //\n\n\n deepMergeObjects.forEach(function (obj) {\n if (userConfig[obj]) {\n combinedConfig[obj] = _objectSpread(_objectSpread({}, combinedConfig[obj]), userConfig[obj]);\n }\n });\n return combinedConfig;\n};","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\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\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(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, 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 && typeof window.navigator.userAgentData === 'undefined' && 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 ownKeys$1(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$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\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 (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\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 var _super = _createSuper(ResourceStore);\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 = _super.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$1(_objectSpread$1({}, 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$1(_objectSpread$1({}, {}), 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\nfunction ownKeys$2(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$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\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 = _super.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 returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\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\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\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 var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\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$2(_objectSpread$2({}, 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$2(_objectSpread$2({}, 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, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, 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, options).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\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\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, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? 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$2(_objectSpread$2({}, 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$2({\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\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\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 finalKeys = [key];\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 var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\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\nfunction ownKeys$3(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$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\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$3(_objectSpread$3(_objectSpread$3({}, 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$3(_objectSpread$3(_objectSpread$3({}, 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 !== undefined ? 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 var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\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 (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" 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 += value.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$3({}, 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 var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, 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$3(_objectSpread$3({}, 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 ownKeys$4(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$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\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 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\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: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\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.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(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$4(_objectSpread$4(_objectSpread$4({}, 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 ownKeys$5(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$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\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 = _super.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.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\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[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(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 removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\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] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\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$5(_objectSpread$5({}, 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 ownKeys$6(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$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\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 = _super.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 bindMemberFunctions(_assertThisInitialized(_this));\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.defaultNS !== false && 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$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\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 || 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, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\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: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\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\n _this4.setResolvedLanguage(l);\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$6({}, 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 options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.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 || this.options.resources && !this.options.partialBundledLanguages) 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)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\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$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, 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\n_defineProperty(I18n, \"createInstance\", function () {\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\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\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}","import i18n from 'i18next';\nexport default (function (config) {\n if (config.ns === undefined) config.ns = [];\n var instance = i18n.createInstance(config);\n var initPromise;\n\n if (!instance.isInitialized) {\n var _config$use;\n\n config === null || config === void 0 ? void 0 : (_config$use = config.use) === null || _config$use === void 0 ? void 0 : _config$use.forEach(function (x) {\n return instance.use(x);\n });\n initPromise = instance.init(config);\n } else {\n initPromise = Promise.resolve(i18n.t);\n }\n\n return {\n i18n: instance,\n initPromise: initPromise\n };\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar __jsx = React.createElement;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React, { useMemo } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { I18nextProvider } from 'react-i18next';\nimport { createConfig } from './config/createConfig';\nimport createClient from './createClient';\nexport { Trans, useTranslation, withTranslation } from 'react-i18next';\nexport var globalI18n = null;\nexport var appWithTranslation = function appWithTranslation(WrappedComponent) {\n var configOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var AppWithTranslation = function AppWithTranslation(props) {\n var _nextI18Next$initialL, _props$router;\n\n var _ref = props.pageProps,\n _nextI18Next = _ref._nextI18Next;\n var locale = (_nextI18Next$initialL = _nextI18Next === null || _nextI18Next === void 0 ? void 0 : _nextI18Next.initialLocale) !== null && _nextI18Next$initialL !== void 0 ? _nextI18Next$initialL : props === null || props === void 0 ? void 0 : (_props$router = props.router) === null || _props$router === void 0 ? void 0 : _props$router.locale;\n var ns = _nextI18Next === null || _nextI18Next === void 0 ? void 0 : _nextI18Next.ns; // Memoize the instance and only re-initialize when either:\n // 1. The route changes (non-shallowly)\n // 2. Router locale changes\n // 3. UserConfig override changes\n\n var i18n = useMemo(function () {\n var _userConfig, _userConfig2, _userConfig2$i18n;\n\n if (!_nextI18Next && !configOverride) return null;\n var userConfig = configOverride !== null && configOverride !== void 0 ? configOverride : _nextI18Next === null || _nextI18Next === void 0 ? void 0 : _nextI18Next.userConfig;\n\n if (!userConfig && configOverride === null) {\n throw new Error('appWithTranslation was called without a next-i18next config');\n }\n\n if (configOverride !== null) {\n userConfig = configOverride;\n }\n\n if (!((_userConfig = userConfig) !== null && _userConfig !== void 0 && _userConfig.i18n)) {\n throw new Error('appWithTranslation was called without config.i18n');\n }\n\n if (!((_userConfig2 = userConfig) !== null && _userConfig2 !== void 0 && (_userConfig2$i18n = _userConfig2.i18n) !== null && _userConfig2$i18n !== void 0 && _userConfig2$i18n.defaultLocale)) {\n throw new Error('config.i18n does not include a defaultLocale property');\n }\n\n var _ref2 = _nextI18Next || {},\n initialI18nStore = _ref2.initialI18nStore;\n\n var resources = configOverride !== null && configOverride !== void 0 && configOverride.resources ? configOverride.resources : initialI18nStore;\n if (!locale) locale = userConfig.i18n.defaultLocale;\n var instance = createClient(_objectSpread(_objectSpread({}, createConfig(_objectSpread(_objectSpread({}, userConfig), {}, {\n lng: locale\n }))), {}, {\n lng: locale,\n ns: ns,\n resources: resources\n })).i18n;\n globalI18n = instance;\n return instance;\n }, [_nextI18Next, locale, configOverride, ns]);\n return i18n !== null ? __jsx(I18nextProvider, {\n i18n: i18n\n }, __jsx(WrappedComponent, _extends({\n key: locale\n }, props))) : __jsx(WrappedComponent, _extends({\n key: locale\n }, props));\n };\n\n return hoistNonReactStatics(AppWithTranslation, WrappedComponent);\n};","import Head from 'next/head';\nimport React, { Component } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar defaults = {\n templateTitle: '',\n noindex: false,\n nofollow: false,\n defaultOpenGraphImageWidth: 0,\n defaultOpenGraphImageHeight: 0,\n defaultOpenGraphVideoWidth: 0,\n defaultOpenGraphVideoHeight: 0,\n disableGooglebot: false\n};\n\nvar buildOpenGraphMediaTags = function buildOpenGraphMediaTags(mediaType, media, _temp) {\n if (media === void 0) {\n media = [];\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n defaultWidth = _ref.defaultWidth,\n defaultHeight = _ref.defaultHeight;\n\n return media.reduce(function (tags, medium, index) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":0\" + index,\n property: \"og:\" + mediaType,\n content: medium.url\n }));\n\n if (medium.alt) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":alt0\" + index,\n property: \"og:\" + mediaType + \":alt\",\n content: medium.alt\n }));\n }\n\n if (medium.secureUrl) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":secure_url0\" + index,\n property: \"og:\" + mediaType + \":secure_url\",\n content: medium.secureUrl.toString()\n }));\n }\n\n if (medium.type) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":type0\" + index,\n property: \"og:\" + mediaType + \":type\",\n content: medium.type.toString()\n }));\n }\n\n if (medium.width) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":width0\" + index,\n property: \"og:\" + mediaType + \":width\",\n content: medium.width.toString()\n }));\n } else if (defaultWidth) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":width0\" + index,\n property: \"og:\" + mediaType + \":width\",\n content: defaultWidth.toString()\n }));\n }\n\n if (medium.height) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":height\" + index,\n property: \"og:\" + mediaType + \":height\",\n content: medium.height.toString()\n }));\n } else if (defaultHeight) {\n tags.push(React.createElement(\"meta\", {\n key: \"og:\" + mediaType + \":height\" + index,\n property: \"og:\" + mediaType + \":height\",\n content: defaultHeight.toString()\n }));\n }\n\n return tags;\n }, []);\n};\n\nvar buildTags = function buildTags(config) {\n var _config$openGraph, _config$openGraph3, _config$additionalLin;\n\n var tagsToRender = [];\n\n if (config.titleTemplate) {\n defaults.templateTitle = config.titleTemplate;\n }\n\n var updatedTitle = '';\n\n if (config.title) {\n updatedTitle = config.title;\n\n if (defaults.templateTitle) {\n updatedTitle = defaults.templateTitle.replace(/%s/g, function () {\n return updatedTitle;\n });\n }\n } else if (config.defaultTitle) {\n updatedTitle = config.defaultTitle;\n }\n\n if (updatedTitle) {\n tagsToRender.push(React.createElement(\"title\", {\n key: \"title\"\n }, updatedTitle));\n }\n\n var noindex = config.noindex || defaults.noindex || config.dangerouslySetAllPagesToNoIndex;\n var nofollow = config.nofollow || defaults.nofollow || config.dangerouslySetAllPagesToNoFollow;\n var disableGooglebot = config.disableGooglebot || defaults.disableGooglebot || config.dangerouslyDisableGooglebot;\n var robotsParams = '';\n\n if (config.robotsProps) {\n var _config$robotsProps = config.robotsProps,\n nosnippet = _config$robotsProps.nosnippet,\n maxSnippet = _config$robotsProps.maxSnippet,\n maxImagePreview = _config$robotsProps.maxImagePreview,\n maxVideoPreview = _config$robotsProps.maxVideoPreview,\n noarchive = _config$robotsProps.noarchive,\n noimageindex = _config$robotsProps.noimageindex,\n notranslate = _config$robotsProps.notranslate,\n unavailableAfter = _config$robotsProps.unavailableAfter;\n robotsParams = \"\" + (nosnippet ? ',nosnippet' : '') + (maxSnippet ? \",max-snippet:\" + maxSnippet : '') + (maxImagePreview ? \",max-image-preview:\" + maxImagePreview : '') + (noarchive ? ',noarchive' : '') + (unavailableAfter ? \",unavailable_after:\" + unavailableAfter : '') + (noimageindex ? ',noimageindex' : '') + (maxVideoPreview ? \",max-video-preview:\" + maxVideoPreview : '') + (notranslate ? ',notranslate' : '');\n }\n\n if (config.dangerouslyDisableGooglebot) {\n defaults.disableGooglebot = true;\n }\n\n if (noindex || nofollow) {\n if (config.dangerouslySetAllPagesToNoIndex) {\n defaults.noindex = true;\n }\n\n if (config.dangerouslySetAllPagesToNoFollow) {\n defaults.nofollow = true;\n }\n\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"robots\",\n name: \"robots\",\n content: (noindex ? 'noindex' : 'index') + \",\" + (nofollow ? 'nofollow' : 'follow') + robotsParams\n }));\n\n if (!disableGooglebot) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"googlebot\",\n name: \"googlebot\",\n content: (noindex ? 'noindex' : 'index') + \",\" + (nofollow ? 'nofollow' : 'follow') + robotsParams\n }));\n }\n } else {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"robots\",\n name: \"robots\",\n content: \"index,follow\" + robotsParams\n }));\n\n if (!disableGooglebot) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"googlebot\",\n name: \"googlebot\",\n content: \"index,follow\" + robotsParams\n }));\n }\n }\n\n if (config.description) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"description\",\n name: \"description\",\n content: config.description\n }));\n }\n\n if (config.mobileAlternate) {\n tagsToRender.push(React.createElement(\"link\", {\n rel: \"alternate\",\n key: \"mobileAlternate\",\n media: config.mobileAlternate.media,\n href: config.mobileAlternate.href\n }));\n }\n\n if (config.languageAlternates && config.languageAlternates.length > 0) {\n config.languageAlternates.forEach(function (languageAlternate) {\n tagsToRender.push(React.createElement(\"link\", {\n rel: \"alternate\",\n key: \"languageAlternate-\" + languageAlternate.hrefLang,\n hrefLang: languageAlternate.hrefLang,\n href: languageAlternate.href\n }));\n });\n }\n\n if (config.twitter) {\n if (config.twitter.cardType) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"twitter:card\",\n name: \"twitter:card\",\n content: config.twitter.cardType\n }));\n }\n\n if (config.twitter.site) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"twitter:site\",\n name: \"twitter:site\",\n content: config.twitter.site\n }));\n }\n\n if (config.twitter.handle) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"twitter:creator\",\n name: \"twitter:creator\",\n content: config.twitter.handle\n }));\n }\n }\n\n if (config.facebook) {\n if (config.facebook.appId) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"fb:app_id\",\n property: \"fb:app_id\",\n content: config.facebook.appId\n }));\n }\n }\n\n if ((_config$openGraph = config.openGraph) != null && _config$openGraph.title || config.title) {\n var _config$openGraph2;\n\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:title\",\n property: \"og:title\",\n content: ((_config$openGraph2 = config.openGraph) == null ? void 0 : _config$openGraph2.title) || updatedTitle\n }));\n }\n\n if ((_config$openGraph3 = config.openGraph) != null && _config$openGraph3.description || config.description) {\n var _config$openGraph4;\n\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:description\",\n property: \"og:description\",\n content: ((_config$openGraph4 = config.openGraph) == null ? void 0 : _config$openGraph4.description) || config.description\n }));\n }\n\n if (config.openGraph) {\n if (config.openGraph.url || config.canonical) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:url\",\n property: \"og:url\",\n content: config.openGraph.url || config.canonical\n }));\n }\n\n if (config.openGraph.type) {\n var type = config.openGraph.type.toLowerCase();\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:type\",\n property: \"og:type\",\n content: type\n }));\n\n if (type === 'profile' && config.openGraph.profile) {\n if (config.openGraph.profile.firstName) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"profile:first_name\",\n property: \"profile:first_name\",\n content: config.openGraph.profile.firstName\n }));\n }\n\n if (config.openGraph.profile.lastName) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"profile:last_name\",\n property: \"profile:last_name\",\n content: config.openGraph.profile.lastName\n }));\n }\n\n if (config.openGraph.profile.username) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"profile:username\",\n property: \"profile:username\",\n content: config.openGraph.profile.username\n }));\n }\n\n if (config.openGraph.profile.gender) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"profile:gender\",\n property: \"profile:gender\",\n content: config.openGraph.profile.gender\n }));\n }\n } else if (type === 'book' && config.openGraph.book) {\n if (config.openGraph.book.authors && config.openGraph.book.authors.length) {\n config.openGraph.book.authors.forEach(function (author, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"book:author:0\" + index,\n property: \"book:author\",\n content: author\n }));\n });\n }\n\n if (config.openGraph.book.isbn) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"book:isbn\",\n property: \"book:isbn\",\n content: config.openGraph.book.isbn\n }));\n }\n\n if (config.openGraph.book.releaseDate) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"book:release_date\",\n property: \"book:release_date\",\n content: config.openGraph.book.releaseDate\n }));\n }\n\n if (config.openGraph.book.tags && config.openGraph.book.tags.length) {\n config.openGraph.book.tags.forEach(function (tag, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"book:tag:0\" + index,\n property: \"book:tag\",\n content: tag\n }));\n });\n }\n } else if (type === 'article' && config.openGraph.article) {\n if (config.openGraph.article.publishedTime) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:published_time\",\n property: \"article:published_time\",\n content: config.openGraph.article.publishedTime\n }));\n }\n\n if (config.openGraph.article.modifiedTime) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:modified_time\",\n property: \"article:modified_time\",\n content: config.openGraph.article.modifiedTime\n }));\n }\n\n if (config.openGraph.article.expirationTime) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:expiration_time\",\n property: \"article:expiration_time\",\n content: config.openGraph.article.expirationTime\n }));\n }\n\n if (config.openGraph.article.authors && config.openGraph.article.authors.length) {\n config.openGraph.article.authors.forEach(function (author, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:author:0\" + index,\n property: \"article:author\",\n content: author\n }));\n });\n }\n\n if (config.openGraph.article.section) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:section\",\n property: \"article:section\",\n content: config.openGraph.article.section\n }));\n }\n\n if (config.openGraph.article.tags && config.openGraph.article.tags.length) {\n config.openGraph.article.tags.forEach(function (tag, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"article:tag:0\" + index,\n property: \"article:tag\",\n content: tag\n }));\n });\n }\n } else if ((type === 'video.movie' || type === 'video.episode' || type === 'video.tv_show' || type === 'video.other') && config.openGraph.video) {\n if (config.openGraph.video.actors && config.openGraph.video.actors.length) {\n config.openGraph.video.actors.forEach(function (actor, index) {\n if (actor.profile) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:actor:0\" + index,\n property: \"video:actor\",\n content: actor.profile\n }));\n }\n\n if (actor.role) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:actor:role:0\" + index,\n property: \"video:actor:role\",\n content: actor.role\n }));\n }\n });\n }\n\n if (config.openGraph.video.directors && config.openGraph.video.directors.length) {\n config.openGraph.video.directors.forEach(function (director, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:director:0\" + index,\n property: \"video:director\",\n content: director\n }));\n });\n }\n\n if (config.openGraph.video.writers && config.openGraph.video.writers.length) {\n config.openGraph.video.writers.forEach(function (writer, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:writer:0\" + index,\n property: \"video:writer\",\n content: writer\n }));\n });\n }\n\n if (config.openGraph.video.duration) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:duration\",\n property: \"video:duration\",\n content: config.openGraph.video.duration.toString()\n }));\n }\n\n if (config.openGraph.video.releaseDate) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:release_date\",\n property: \"video:release_date\",\n content: config.openGraph.video.releaseDate\n }));\n }\n\n if (config.openGraph.video.tags && config.openGraph.video.tags.length) {\n config.openGraph.video.tags.forEach(function (tag, index) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:tag:0\" + index,\n property: \"video:tag\",\n content: tag\n }));\n });\n }\n\n if (config.openGraph.video.series) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"video:series\",\n property: \"video:series\",\n content: config.openGraph.video.series\n }));\n }\n }\n } // images\n\n\n if (config.defaultOpenGraphImageWidth) {\n defaults.defaultOpenGraphImageWidth = config.defaultOpenGraphImageWidth;\n }\n\n if (config.defaultOpenGraphImageHeight) {\n defaults.defaultOpenGraphImageHeight = config.defaultOpenGraphImageHeight;\n }\n\n if (config.openGraph.images && config.openGraph.images.length) {\n tagsToRender.push.apply(tagsToRender, buildOpenGraphMediaTags('image', config.openGraph.images, {\n defaultWidth: defaults.defaultOpenGraphImageWidth,\n defaultHeight: defaults.defaultOpenGraphImageHeight\n }));\n } // videos\n\n\n if (config.defaultOpenGraphVideoWidth) {\n defaults.defaultOpenGraphVideoWidth = config.defaultOpenGraphVideoWidth;\n }\n\n if (config.defaultOpenGraphVideoHeight) {\n defaults.defaultOpenGraphVideoHeight = config.defaultOpenGraphVideoHeight;\n }\n\n if (config.openGraph.videos && config.openGraph.videos.length) {\n tagsToRender.push.apply(tagsToRender, buildOpenGraphMediaTags('video', config.openGraph.videos, {\n defaultWidth: defaults.defaultOpenGraphVideoWidth,\n defaultHeight: defaults.defaultOpenGraphVideoHeight\n }));\n }\n\n if (config.openGraph.locale) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:locale\",\n property: \"og:locale\",\n content: config.openGraph.locale\n }));\n }\n\n if (config.openGraph.site_name) {\n tagsToRender.push(React.createElement(\"meta\", {\n key: \"og:site_name\",\n property: \"og:site_name\",\n content: config.openGraph.site_name\n }));\n }\n }\n\n if (config.canonical) {\n tagsToRender.push(React.createElement(\"link\", {\n rel: \"canonical\",\n href: config.canonical,\n key: \"canonical\"\n }));\n }\n\n if (config.additionalMetaTags && config.additionalMetaTags.length > 0) {\n config.additionalMetaTags.forEach(function (tag) {\n var _ref2, _ref3, _tag$keyOverride;\n\n tagsToRender.push(React.createElement(\"meta\", _extends({\n key: \"meta:\" + ((_ref2 = (_ref3 = (_tag$keyOverride = tag.keyOverride) != null ? _tag$keyOverride : tag.name) != null ? _ref3 : tag.property) != null ? _ref2 : tag.httpEquiv)\n }, tag)));\n });\n }\n\n if ((_config$additionalLin = config.additionalLinkTags) != null && _config$additionalLin.length) {\n config.additionalLinkTags.forEach(function (tag) {\n var _tag$keyOverride2;\n\n tagsToRender.push(React.createElement(\"link\", _extends({\n key: \"link\" + ((_tag$keyOverride2 = tag.keyOverride) != null ? _tag$keyOverride2 : tag.href) + tag.rel\n }, tag)));\n });\n }\n\n return tagsToRender;\n};\n\nvar DefaultSeo = /*#__PURE__*/function (_Component) {\n _inheritsLoose(DefaultSeo, _Component);\n\n function DefaultSeo() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = DefaultSeo.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n title = _this$props.title,\n titleTemplate = _this$props.titleTemplate,\n defaultTitle = _this$props.defaultTitle,\n _this$props$dangerous = _this$props.dangerouslyDisableGooglebot,\n dangerouslyDisableGooglebot = _this$props$dangerous === void 0 ? false : _this$props$dangerous,\n _this$props$dangerous2 = _this$props.dangerouslySetAllPagesToNoIndex,\n dangerouslySetAllPagesToNoIndex = _this$props$dangerous2 === void 0 ? false : _this$props$dangerous2,\n _this$props$dangerous3 = _this$props.dangerouslySetAllPagesToNoFollow,\n dangerouslySetAllPagesToNoFollow = _this$props$dangerous3 === void 0 ? false : _this$props$dangerous3,\n description = _this$props.description,\n canonical = _this$props.canonical,\n facebook = _this$props.facebook,\n openGraph = _this$props.openGraph,\n additionalMetaTags = _this$props.additionalMetaTags,\n twitter = _this$props.twitter,\n defaultOpenGraphImageWidth = _this$props.defaultOpenGraphImageWidth,\n defaultOpenGraphImageHeight = _this$props.defaultOpenGraphImageHeight,\n defaultOpenGraphVideoWidth = _this$props.defaultOpenGraphVideoWidth,\n defaultOpenGraphVideoHeight = _this$props.defaultOpenGraphVideoHeight,\n mobileAlternate = _this$props.mobileAlternate,\n languageAlternates = _this$props.languageAlternates,\n additionalLinkTags = _this$props.additionalLinkTags;\n return React.createElement(Head, null, buildTags({\n title: title,\n titleTemplate: titleTemplate,\n defaultTitle: defaultTitle,\n dangerouslySetAllPagesToNoIndex: dangerouslySetAllPagesToNoIndex,\n dangerouslySetAllPagesToNoFollow: dangerouslySetAllPagesToNoFollow,\n description: description,\n canonical: canonical,\n facebook: facebook,\n openGraph: openGraph,\n additionalMetaTags: additionalMetaTags,\n twitter: twitter,\n defaultOpenGraphImageWidth: defaultOpenGraphImageWidth,\n defaultOpenGraphImageHeight: defaultOpenGraphImageHeight,\n defaultOpenGraphVideoWidth: defaultOpenGraphVideoWidth,\n defaultOpenGraphVideoHeight: defaultOpenGraphVideoHeight,\n mobileAlternate: mobileAlternate,\n languageAlternates: languageAlternates,\n additionalLinkTags: additionalLinkTags,\n dangerouslyDisableGooglebot: dangerouslyDisableGooglebot\n }));\n };\n\n return DefaultSeo;\n}(Component);\n\nvar NextSeo = /*#__PURE__*/function (_Component) {\n _inheritsLoose(NextSeo, _Component);\n\n function NextSeo() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = NextSeo.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n title = _this$props.title,\n _this$props$noindex = _this$props.noindex,\n noindex = _this$props$noindex === void 0 ? false : _this$props$noindex,\n nofollow = _this$props.nofollow,\n robotsProps = _this$props.robotsProps,\n description = _this$props.description,\n canonical = _this$props.canonical,\n openGraph = _this$props.openGraph,\n facebook = _this$props.facebook,\n twitter = _this$props.twitter,\n additionalMetaTags = _this$props.additionalMetaTags,\n titleTemplate = _this$props.titleTemplate,\n mobileAlternate = _this$props.mobileAlternate,\n languageAlternates = _this$props.languageAlternates,\n additionalLinkTags = _this$props.additionalLinkTags,\n disableGooglebot = _this$props.disableGooglebot;\n return React.createElement(Head, null, buildTags({\n title: title,\n noindex: noindex,\n nofollow: nofollow,\n robotsProps: robotsProps,\n description: description,\n canonical: canonical,\n facebook: facebook,\n openGraph: openGraph,\n additionalMetaTags: additionalMetaTags,\n twitter: twitter,\n titleTemplate: titleTemplate,\n mobileAlternate: mobileAlternate,\n languageAlternates: languageAlternates,\n additionalLinkTags: additionalLinkTags,\n disableGooglebot: disableGooglebot\n }));\n };\n\n return NextSeo;\n}(Component);\n\nvar markup = function markup(jsonld) {\n return {\n __html: jsonld\n };\n};\n\nvar formatAuthorName = function formatAuthorName(authorName) {\n return Array.isArray(authorName) ? \"[\" + authorName.map(function (name) {\n return \"{\\\"@type\\\": \\\"Person\\\",\\\"name\\\": \\\"\" + name + \"\\\"}\";\n }) + \"]\" : \"{\\\"@type\\\": \\\"Person\\\",\\\"name\\\": \\\"\" + authorName + \"\\\"}\";\n};\n\nvar ArticleJsonLd = function ArticleJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? null : _ref$dateModified,\n authorName = _ref.authorName,\n description = _ref.description,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Article\\\",\\n \\\"mainEntityOfPage\\\": {\\n \\\"@type\\\": \\\"WebPage\\\",\\n \\\"@id\\\": \\\"\" + url + \"\\\"\\n },\\n \\\"headline\\\": \\\"\" + title + \"\\\",\\n \\\"image\\\": [\\n \" + images.map(function (image) {\n return \"\\\"\" + image + \"\\\"\";\n }) + \"\\n ],\\n \\\"datePublished\\\": \\\"\" + datePublished + \"\\\",\\n \\\"dateModified\\\": \\\"\" + (dateModified || datePublished) + \"\\\",\\n \\\"author\\\": \" + formatAuthorName(authorName) + \",\\n \\\"publisher\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + publisherName + \"\\\",\\n \\\"logo\\\": {\\n \\\"@type\\\": \\\"ImageObject\\\",\\n \\\"url\\\": \\\"\" + publisherLogo + \"\\\"\\n }\\n },\\n \\\"description\\\": \\\"\" + description + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-article\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar BreadCrumbJsonLd = function BreadCrumbJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n _ref$itemListElements = _ref.itemListElements,\n itemListElements = _ref$itemListElements === void 0 ? [] : _ref$itemListElements;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"BreadcrumbList\\\",\\n \\\"itemListElement\\\": [\\n \" + itemListElements.map(function (itemListElement) {\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \" + itemListElement.position + \",\\n \\\"item\\\": {\\n \\\"@id\\\": \\\"\" + itemListElement.item + \"\\\",\\n \\\"name\\\": \\\"\" + itemListElement.name + \"\\\"\\n }\\n }\";\n }) + \"\\n ]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-breadcrumb\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildQuestions = function buildQuestions(mainEntity) {\n return \"\\n \" + mainEntity.map(function (question) {\n return \"{\\n \\\"@type\\\": \\\"Question\\\",\\n \\\"name\\\": \\\"\" + question.questionName + \"\\\",\\n \\\"acceptedAnswer\\\": {\\n \\\"@type\\\": \\\"Answer\\\",\\n \\\"text\\\": \\\"\" + question.acceptedAnswerText + \"\\\"\\n }\\n }\";\n });\n};\n\nvar FAQPageJsonLd = function FAQPageJsonLd(_ref) {\n var _ref$mainEntity = _ref.mainEntity,\n mainEntity = _ref$mainEntity === void 0 ? [] : _ref$mainEntity;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org/\\\",\\n \\\"@type\\\": \\\"FAQPage\\\",\\n \\\"mainEntity\\\": [\" + buildQuestions(mainEntity) + \"]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-faq-page\"\n }));\n};\n\nvar buildBaseSalary = function buildBaseSalary(baseSalary) {\n return \"\\n \\\"baseSalary\\\": {\\n \\\"@type\\\": \\\"MonetaryAmount\\\",\\n \" + (baseSalary.currency ? \"\\\"currency\\\": \\\"\" + baseSalary.currency + \"\\\",\" : '') + \"\\n \\\"value\\\": {\\n \" + (baseSalary.value ? Array.isArray(baseSalary.value) ? \"\\\"minValue\\\": \\\"\" + baseSalary.value[0] + \"\\\", \\\"maxValue\\\": \\\"\" + baseSalary.value[1] + \"\\\",\" : \"\\\"value\\\": \\\"\" + baseSalary.value + \"\\\",\" : '') + \"\\n \" + (baseSalary.unitText ? \"\\\"unitText\\\": \\\"\" + baseSalary.unitText + \"\\\",\" : '') + \"\\n \\\"@type\\\": \\\"QuantitativeValue\\\"\\n }\\n },\\n\";\n};\n\nvar JobPostingJsonLd = function JobPostingJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n baseSalary = _ref.baseSalary,\n datePosted = _ref.datePosted,\n description = _ref.description,\n employmentType = _ref.employmentType,\n hiringOrganization = _ref.hiringOrganization,\n jobLocation = _ref.jobLocation,\n applicantLocationRequirements = _ref.applicantLocationRequirements,\n jobLocationType = _ref.jobLocationType,\n title = _ref.title,\n validThrough = _ref.validThrough;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"JobPosting\\\",\\n \" + (baseSalary ? buildBaseSalary(baseSalary) : '') + \"\\n \\\"datePosted\\\": \\\"\" + datePosted + \"\\\",\\n \\\"description\\\": \\\"\" + description + \"\\\",\\n \" + (employmentType ? \"\\\"employmentType\\\": \\\"\" + employmentType + \"\\\",\" : '') + \"\\n \\\"hiringOrganization\\\" : {\\n \\\"@type\\\" : \\\"Organization\\\",\\n \\\"name\\\" : \\\"\" + hiringOrganization.name + \"\\\",\\n \\\"sameAs\\\" : \\\"\" + hiringOrganization.sameAs + \"\\\"\\n \" + (hiringOrganization.logo ? \",\\\"logo\\\": \\\"\" + hiringOrganization.logo + \"\\\"\" : '') + \"\\n },\\n \" + (jobLocation ? \"\\\"jobLocation\\\": {\\n \\\"@type\\\": \\\"Place\\\",\\n \\\"address\\\": {\\n \\\"@type\\\": \\\"PostalAddress\\\",\\n \\\"addressLocality\\\": \\\"\" + jobLocation.addressLocality + \"\\\",\\n \\\"addressRegion\\\": \\\"\" + jobLocation.addressRegion + \"\\\",\\n \\\"postalCode\\\" : \\\"\" + jobLocation.postalCode + \"\\\",\\n \\\"streetAddress\\\" : \\\"\" + jobLocation.streetAddress + \"\\\",\\n \\\"addressCountry\\\" : \\\"\" + jobLocation.addressCountry + \"\\\"\\n }\\n },\" : '') + \"\\n \" + (applicantLocationRequirements ? \" \\\"applicantLocationRequirements\\\": {\\n \\\"@type\\\": \\\"Country\\\",\\n \\\"name\\\": \\\"\" + applicantLocationRequirements + \"\\\"\\n },\" : '') + \"\\n \" + (jobLocationType ? \"\\\"jobLocationType\\\": \\\"\" + jobLocationType + \"\\\",\" : '') + \"\\n \" + (validThrough ? \"\\\"validThrough\\\": \\\"\" + validThrough + \"\\\",\" : '') + \"\\n \\\"title\\\": \\\"\" + title + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-jobposting\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar BlogJsonLd = function BlogJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? null : _ref$dateModified,\n authorName = _ref.authorName,\n description = _ref.description;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Blog\\\",\\n \\\"mainEntityOfPage\\\": {\\n \\\"@type\\\": \\\"WebPage\\\",\\n \\\"@id\\\": \\\"\" + url + \"\\\"\\n },\\n \\\"headline\\\": \\\"\" + title + \"\\\",\\n \\\"image\\\": [\\n \" + images.map(function (image) {\n return \"\\\"\" + image + \"\\\"\";\n }) + \"\\n ],\\n \\\"datePublished\\\": \\\"\" + datePublished + \"\\\",\\n \\\"dateModified\\\": \\\"\" + (dateModified || datePublished) + \"\\\",\\n \\\"author\\\": \" + formatAuthorName(authorName) + \",\\n \\\"description\\\": \\\"\" + description + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-blog\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar CourseJsonLd = function CourseJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n courseName = _ref.courseName,\n description = _ref.description,\n providerName = _ref.providerName,\n providerUrl = _ref.providerUrl;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Course\\\",\\n \\\"name\\\": \\\"\" + courseName + \"\\\",\\n \\\"description\\\": \\\"\" + description + \"\\\",\\n \\\"provider\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + providerName + \"\\\"\" + (providerUrl ? \",\\n \\\"sameAs\\\": \\\"\" + providerUrl + \"\\\"\" : '') + \"\\n }\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-course\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar DatasetJsonLd = function DatasetJsonLd(_ref) {\n var description = _ref.description,\n name = _ref.name,\n license = _ref.license;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Dataset\\\",\\n \\\"description\\\": \\\"\" + description + \"\\\",\\n \\\"name\\\": \\\"\" + name + \"\\\"\" + (license ? \",\\n \\\"license\\\": \\\"\" + license + \"\\\"\" : '') + \"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-dataset\"\n }));\n};\n\nvar formatIfArray = function formatIfArray(value) {\n return Array.isArray(value) ? \"[\" + value.map(function (val) {\n return \"\\\"\" + val + \"\\\"\";\n }) + \"]\" : \"\\\"\" + value + \"\\\"\";\n};\n\nvar buildAddress = (function (address) {\n return \"\\n \\\"address\\\": {\\n \\\"@type\\\": \\\"PostalAddress\\\",\\n \\\"streetAddress\\\": \\\"\" + address.streetAddress + \"\\\",\\n \\\"addressLocality\\\": \\\"\" + address.addressLocality + \"\\\",\\n \" + (address.addressRegion ? \"\\\"addressRegion\\\": \\\"\" + address.addressRegion + \"\\\",\" : '') + \"\\n \\\"postalCode\\\": \\\"\" + address.postalCode + \"\\\",\\n \\\"addressCountry\\\": \\\"\" + address.addressCountry + \"\\\"\\n },\\n\";\n});\n\nvar buildAction = function buildAction(action) {\n return \"\\n \\\"\" + action.actionName + \"\\\": {\\n \\\"@type\\\": \\\"\" + action.actionType + \"\\\",\\n \\\"target\\\": \\\"\" + action.target + \"\\\"\\n }\\n\";\n};\n\nvar buildAreaServed = function buildAreaServed(areaServed) {\n return \"\\n \\\"areaServed\\\": [\\n \" + areaServed.map(function (area) {\n return buildGeoCircle(area);\n }) + \"\\n ]\\n\";\n};\n\nvar buildAggregateRating = function buildAggregateRating(aggregateRating) {\n return \"\\n \\\"aggregateRating\\\": {\\n \\\"@type\\\": \\\"AggregateRating\\\",\\n \\\"ratingValue\\\": \\\"\" + aggregateRating.ratingValue + \"\\\",\\n \\\"ratingCount\\\": \\\"\" + aggregateRating.ratingCount + \"\\\"\\n },\\n\";\n};\n\nvar buildGeo = function buildGeo(geo) {\n return \"\\n \\\"geo\\\": {\\n \\\"@type\\\": \\\"GeoCoordinates\\\",\\n \\\"latitude\\\": \\\"\" + geo.latitude + \"\\\",\\n \\\"longitude\\\": \\\"\" + geo.longitude + \"\\\"\\n },\\n\";\n};\n\nvar buildGeoCircle = function buildGeoCircle(geoCircle) {\n return \"\\n {\\n \\\"@type\\\": \\\"GeoCircle\\\",\\n \\\"geoMidpoint\\\": {\\n \\\"@type\\\": \\\"GeoCoordinates\\\",\\n \\\"latitude\\\": \\\"\" + geoCircle.geoMidpoint.latitude + \"\\\",\\n \\\"longitude\\\": \\\"\" + geoCircle.geoMidpoint.longitude + \"\\\"\\n },\\n \\\"geoRadius\\\": \\\"\" + geoCircle.geoRadius + \"\\\"\\n }\\n\";\n};\n\nvar buildMakesOffer = function buildMakesOffer(makesOffer) {\n return \"\\n \\\"makesOffer\\\":[\\n \" + makesOffer.map(function (offer) {\n return buildOffer(offer);\n }) + \"\\n ]\\n\";\n};\n\nvar buildOffer = function buildOffer(offer) {\n return \"\\n {\\n \\\"@type\\\": \\\"Offer\\\",\\n \" + buildPriceSpecification(offer.priceSpecification) + \",\\n \" + buildItemOffered(offer.itemOffered) + \"\\n }\\n\";\n};\n\nvar buildOpeningHours = function buildOpeningHours(openingHours) {\n return \"\\n {\\n \\\"@type\\\": \\\"OpeningHoursSpecification\\\",\\n \" + (openingHours.dayOfWeek ? \"\\\"dayOfWeek\\\": \" + formatIfArray(openingHours.dayOfWeek) + \",\" : '') + \"\\n \\\"opens\\\": \\\"\" + openingHours.opens + \"\\\",\\n \" + (openingHours.validFrom ? \"\\\"validFrom\\\": \\\"\" + openingHours.validFrom + \"\\\",\" : '') + \"\\n \" + (openingHours.validThrough ? \"\\\"validThrough\\\": \\\"\" + openingHours.validThrough + \"\\\",\" : '') + \"\\n \\\"closes\\\": \\\"\" + openingHours.closes + \"\\\"\\n }\\n\";\n};\n\nvar buildPriceSpecification = function buildPriceSpecification(priceSpecification) {\n return \"\\n \\\"priceSpecification\\\": {\\n \\\"@type\\\": \\\"\" + priceSpecification.type + \"\\\",\\n \\\"priceCurrency\\\": \\\"\" + priceSpecification.priceCurrency + \"\\\",\\n \\\"price\\\": \\\"\" + priceSpecification.price + \"\\\"\\n }\\n\";\n};\n\nvar buildRating = function buildRating(rating) {\n return \"\\n {\\n \\\"@type\\\": \\\"Rating\\\",\\n \" + (rating.bestRating ? \"\\\"bestRating\\\": \\\"\" + rating.bestRating + \"\\\",\" : '') + \"\\n \" + (rating.reviewAspect ? \"\\\"reviewAspect\\\": \\\"\" + rating.reviewAspect + \"\\\",\" : '') + \"\\n \" + (rating.worstRating ? \"\\\"worstRating\\\": \\\"\" + rating.worstRating + \"\\\",\" : '') + \"\\n \\\"ratingValue\\\": \\\"\" + rating.ratingValue + \"\\\"\\n }\\n\";\n};\n\nvar buildReview = function buildReview(reviews) {\n return \"\\n \\\"review\\\": [\\n \" + reviews.map(function (review) {\n return \"\\n {\\n \\\"@type\\\": \\\"Review\\\",\\n \\\"author\\\": \\\"\" + review.author + \"\\\",\\n \\\"datePublished\\\": \\\"\" + review.datePublished + \"\\\",\\n \" + (review.name ? \"\\\"name\\\": \\\"\" + review.name + \"\\\",\" : '') + \"\\n \\\"reviewBody\\\": \\\"\" + review.reviewBody + \"\\\",\\n \\\"reviewRating\\\": \" + buildRating(review.reviewRating) + \"\\n }\\n \";\n }) + \"\\n ],\\n\";\n};\n\nvar buildItemOffered = function buildItemOffered(service) {\n return \"\\n \\\"itemOffered\\\": {\\n \\\"@type\\\": \\\"Service\\\",\\n \\\"name\\\": \\\"\" + service.name + \"\\\",\\n \\\"description\\\": \\\"\" + service.description + \"\\\"\\n }\\n\";\n};\n\nvar LocalBusinessJsonLd = function LocalBusinessJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n type = _ref.type,\n id = _ref.id,\n name = _ref.name,\n description = _ref.description,\n url = _ref.url,\n telephone = _ref.telephone,\n address = _ref.address,\n geo = _ref.geo,\n images = _ref.images,\n rating = _ref.rating,\n review = _ref.review,\n priceRange = _ref.priceRange,\n servesCuisine = _ref.servesCuisine,\n sameAs = _ref.sameAs,\n openingHours = _ref.openingHours,\n action = _ref.action,\n areaServed = _ref.areaServed,\n makesOffer = _ref.makesOffer;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"\" + type + \"\\\",\\n \" + (id ? \"\\\"@id\\\": \\\"\" + id + \"\\\",\" : '') + \"\\n \" + (description ? \"\\\"description\\\": \\\"\" + description + \"\\\",\" : '') + \"\\n \" + (url ? \"\\\"url\\\": \\\"\" + url + \"\\\",\" : '') + \"\\n \" + (telephone ? \"\\\"telephone\\\": \\\"\" + telephone + \"\\\",\" : '') + \"\\n \" + buildAddress(address) + \"\\n \" + (geo ? \"\" + buildGeo(geo) : '') + \"\\n \" + (rating ? \"\" + buildAggregateRating(rating) : '') + \"\\n \" + (review ? \"\" + buildReview(review) : '') + \"\\n \" + (action ? buildAction(action) + \",\" : '') + \"\\n \" + (areaServed ? buildAreaServed(areaServed) + \",\" : '') + \"\\n \" + (makesOffer ? buildMakesOffer(makesOffer) + \",\" : '') + \"\\n \" + (priceRange ? \"\\\"priceRange\\\": \\\"\" + priceRange + \"\\\",\" : '') + \"\\n \" + (servesCuisine ? \"\\\"servesCuisine\\\":\" + formatIfArray(servesCuisine) + \",\" : '') + \"\\n \" + (images ? \"\\\"image\\\":\" + formatIfArray(images) + \",\" : '') + \"\\n \" + (sameAs ? \"\\\"sameAs\\\": [\" + sameAs.map(function (url) {\n return \"\\\"\" + url + \"\\\"\";\n }) + \"],\" : '') + \"\\n \" + (openingHours ? \"\\\"openingHoursSpecification\\\": \" + (Array.isArray(openingHours) ? \"[\" + openingHours.map(function (hours) {\n return \"\" + buildOpeningHours(hours);\n }) + \"]\" : buildOpeningHours(openingHours)) + \",\" : '') + \"\\n \\\"name\\\": \\\"\" + name + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-local-business\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar LogoJsonLd = function LogoJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n logo = _ref.logo;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"url\\\": \\\"\" + url + \"\\\",\\n \\\"logo\\\": \\\"\" + logo + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-logo\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\n// TODO: Docs for offers itemCondition & availability\n// TODO: Seller type, make dynamic\nvar buildOffers = function buildOffers(offers) {\n return \"\\n {\\n \\\"@type\\\": \\\"Offer\\\",\\n \\\"priceCurrency\\\": \\\"\" + offers.priceCurrency + \"\\\",\\n \" + (offers.priceValidUntil ? \"\\\"priceValidUntil\\\": \\\"\" + offers.priceValidUntil + \"\\\",\" : '') + \"\\n \" + (offers.itemCondition ? \"\\\"itemCondition\\\": \\\"\" + offers.itemCondition + \"\\\",\" : '') + \"\\n \" + (offers.availability ? \"\\\"availability\\\": \\\"\" + offers.availability + \"\\\",\" : '') + \"\\n \" + (offers.url ? \"\\\"url\\\": \\\"\" + offers.url + \"\\\",\" : '') + \"\\n \" + (offers.seller ? \"\\n \\\"seller\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + offers.seller.name + \"\\\"\\n },\\n \" : '') + \"\\n \\\"price\\\": \\\"\" + offers.price + \"\\\"\\n }\\n\";\n};\n\nvar buildAggregateOffer = function buildAggregateOffer(offer) {\n return \"\\n {\\n \\\"@type\\\": \\\"AggregateOffer\\\",\\n \\\"priceCurrency\\\": \\\"\" + offer.priceCurrency + \"\\\",\\n \" + (offer.highPrice ? \"\\\"highPrice\\\": \\\"\" + offer.highPrice + \"\\\",\" : '') + \"\\n \" + (offer.offerCount ? \"\\\"offerCount\\\": \\\"\" + offer.offerCount + \"\\\",\" : '') + \"\\n \" + (offer.offers ? \"\\\"offers\\\": \" + (Array.isArray(offer.offers) ? \"[\" + offer.offers.map(function (offer) {\n return \"\" + buildOffers(offer);\n }) + \"]\" : buildOffers(offer.offers)) + \",\" : '') + \"\\n \\\"lowPrice\\\": \\\"\" + offer.lowPrice + \"\\\"\\n }\\n\";\n};\n\nvar buildAggregateRating$1 = function buildAggregateRating(aggregateRating) {\n return \"\\n \\\"aggregateRating\\\": {\\n \\\"@type\\\": \\\"AggregateRating\\\",\\n \" + (aggregateRating.ratingCount ? \"\\\"ratingCount\\\": \\\"\" + aggregateRating.ratingCount + \"\\\",\" : '') + \"\\n \" + (aggregateRating.reviewCount ? \"\\\"reviewCount\\\": \\\"\" + aggregateRating.reviewCount + \"\\\",\" : '') + \"\\n \" + (aggregateRating.bestRating ? \"\\\"bestRating\\\": \\\"\" + aggregateRating.bestRating + \"\\\",\" : '') + \"\\n \\\"ratingValue\\\": \\\"\" + aggregateRating.ratingValue + \"\\\"\\n },\\n\";\n};\n\nvar buildReviewRating = function buildReviewRating(rating) {\n return rating ? \"\\\"reviewRating\\\": {\\n \\\"@type\\\": \\\"Rating\\\",\\n \" + (rating.bestRating ? \"\\\"bestRating\\\": \\\"\" + rating.bestRating + \"\\\",\" : '') + \"\\n \" + (rating.worstRating ? \"\\\"worstRating\\\": \\\"\" + rating.worstRating + \"\\\",\" : '') + \"\\n \\\"ratingValue\\\": \\\"\" + rating.ratingValue + \"\\\"\\n }\" : '';\n};\nvar buildAuthor = function buildAuthor(author) {\n return \"\\n \\\"author\\\": {\\n \\\"@type\\\": \\\"\" + author.type + \"\\\",\\n \\\"name\\\": \\\"\" + author.name + \"\\\"\\n },\\n\";\n};\nvar buildPublisher = function buildPublisher(publisher) {\n return \"\\n \\\"publisher\\\": {\\n \\\"@type\\\": \\\"\" + publisher.type + \"\\\",\\n \\\"name\\\": \\\"\" + publisher.name + \"\\\"\\n },\\n\";\n};\nvar buildReviews = function buildReviews(reviews) {\n return \"\\n \\\"review\\\": [\\n \" + reviews.map(function (review) {\n return \"{\\n \\\"@type\\\": \\\"Review\\\",\\n \" + (review.author ? buildAuthor(review.author) : '') + \"\\n \" + (review.publisher ? buildPublisher(review.publisher) : '') + \"\\n \" + (review.datePublished ? \"\\\"datePublished\\\": \\\"\" + review.datePublished + \"\\\",\" : '') + \"\\n \" + (review.reviewBody ? \"\\\"reviewBody\\\": \\\"\" + review.reviewBody + \"\\\",\" : '') + \"\\n \" + (review.name ? \"\\\"name\\\": \\\"\" + review.name + \"\\\",\" : '') + \"\\n \" + buildReviewRating(review.reviewRating) + \"\\n }\";\n }) + \"\\n ],\\n\";\n};\n\nvar buildBrand = function buildBrand(brand) {\n return \"\\n \\\"brand\\\": {\\n \\\"@type\\\": \\\"Thing\\\",\\n \\\"name\\\": \\\"\" + brand + \"\\\"\\n },\\n\";\n};\n\nvar ProductJsonLd = function ProductJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n productName = _ref.productName,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n description = _ref.description,\n sku = _ref.sku,\n gtin8 = _ref.gtin8,\n gtin13 = _ref.gtin13,\n gtin14 = _ref.gtin14,\n mpn = _ref.mpn,\n brand = _ref.brand,\n _ref$reviews = _ref.reviews,\n reviews = _ref$reviews === void 0 ? [] : _ref$reviews,\n aggregateRating = _ref.aggregateRating,\n offers = _ref.offers,\n aggregateOffer = _ref.aggregateOffer,\n color = _ref.color,\n manufacturerName = _ref.manufacturerName,\n manufacturerLogo = _ref.manufacturerLogo,\n material = _ref.material,\n slogan = _ref.slogan,\n disambiguatingDescription = _ref.disambiguatingDescription,\n productionDate = _ref.productionDate,\n releaseDate = _ref.releaseDate,\n purchaseDate = _ref.purchaseDate,\n award = _ref.award;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org/\\\",\\n \\\"@type\\\": \\\"Product\\\",\\n \" + (images.length ? \"\\\"image\\\":\" + formatIfArray(images) + \",\" : '') + \"\\n \" + (description ? \"\\\"description\\\": \\\"\" + description + \"\\\",\" : '') + \"\\n \" + (mpn ? \"\\\"mpn\\\": \\\"\" + mpn + \"\\\",\" : '') + \"\\n \" + (sku ? \"\\\"sku\\\": \\\"\" + sku + \"\\\",\" : '') + \"\\n \" + (gtin8 ? \"\\\"gtin8\\\": \\\"\" + gtin8 + \"\\\",\" : '') + \"\\n \" + (gtin13 ? \"\\\"gtin13\\\": \\\"\" + gtin13 + \"\\\",\" : '') + \"\\n \" + (gtin14 ? \"\\\"gtin14\\\": \\\"\" + gtin14 + \"\\\",\" : '') + \"\\n \" + (brand ? buildBrand(brand) : '') + \"\\n \" + (reviews.length ? buildReviews(reviews) : '') + \"\\n \" + (aggregateRating ? buildAggregateRating$1(aggregateRating) : '') + \"\\n \" + (color ? \"\\\"color\\\": \\\"\" + color + \"\\\",\" : '') + \"\\n \" + (material ? \"\\\"material\\\": \\\"\" + material + \"\\\",\" : '') + \"\\n \" + (slogan ? \"\\\"slogan\\\": \\\"\" + slogan + \"\\\",\" : '') + \"\\n \" + (disambiguatingDescription ? \"\\\"disambiguatingDescription\\\": \\\"\" + disambiguatingDescription + \"\\\",\" : '') + \"\\n \" + (productionDate ? \"\\\"productionDate\\\": \\\"\" + productionDate + \"\\\",\" : '') + \"\\n \" + (releaseDate ? \"\\\"releaseDate\\\": \\\"\" + releaseDate + \"\\\",\" : '') + \"\\n \" + (purchaseDate ? \"\\\"purchaseDate\\\": \\\"\" + purchaseDate + \"\\\",\" : '') + \"\\n \" + (award ? \"\\\"award\\\": \\\"\" + award + \"\\\",\" : '') + \"\\n \" + (manufacturerName ? \"\\n \\\"manufacturer\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \" + (manufacturerLogo ? \"\\n \\\"logo\\\": {\\n \\\"@type\\\": \\\"ImageObject\\\",\\n \\\"url\\\": \\\"\" + manufacturerLogo + \"\\\"\\n },\\n \" : '') + \"\\n \\\"name\\\": \\\"\" + manufacturerName + \"\\\"\\n },\\n \" : '') + \"\\n \" + (offers ? \"\\\"offers\\\": \" + (Array.isArray(offers) ? \"[\" + offers.map(function (offer) {\n return \"\" + buildOffers(offer);\n }) + \"]\" : buildOffers(offers)) + \",\" : '') + \"\\n \" + (aggregateOffer && !offers ? \"\\\"offers\\\": \" + buildAggregateOffer(aggregateOffer) + \",\" : '') + \"\\n \\\"name\\\": \\\"\" + productName + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-product\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar SocialProfileJsonLd = function SocialProfileJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n type = _ref.type,\n name = _ref.name,\n url = _ref.url,\n _ref$sameAs = _ref.sameAs,\n sameAs = _ref$sameAs === void 0 ? [] : _ref$sameAs;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"\" + type + \"\\\",\\n \\\"name\\\": \\\"\" + name + \"\\\",\\n \\\"url\\\": \\\"\" + url + \"\\\",\\n \\\"sameAs\\\": [\\n \" + sameAs.map(function (socialUrl) {\n return \"\\\"\" + socialUrl + \"\\\"\";\n }) + \"\\n ]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-social\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar formatIfArray$1 = function formatIfArray(value) {\n return Array.isArray(value) ? \"[\" + value.map(function (val) {\n return \"\\\"\" + val + \"\\\"\";\n }) + \"]\" : \"\\\"\" + value + \"\\\"\";\n};\n\nvar buildContactPoint = function buildContactPoint(contactPoint) {\n return contactPoint.map(function (contact) {\n return \"{\\n \\\"@type\\\": \\\"ContactPoint\\\",\\n \\\"telephone\\\": \\\"\" + contact.telephone + \"\\\",\\n \\\"contactType\\\": \\\"\" + contact.contactType + \"\\\"\" + (contact.areaServed ? \",\\n \\\"areaServed\\\": \" + formatIfArray$1(contact.areaServed) : '') + (contact.availableLanguage ? \",\\n \\\"availableLanguage\\\": \" + formatIfArray$1(contact.availableLanguage) : '') + (contact.contactOption ? \",\\n \\\"contactOption\\\": \\\"\" + contact.contactOption + \"\\\"\" : '') + \"\\n }\";\n }).join(',');\n};\n\nvar CorporateContactJsonLd = function CorporateContactJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n logo = _ref.logo,\n contactPoint = _ref.contactPoint;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"url\\\": \\\"\" + url + \"\\\",\\n \" + (logo ? \"\\\"logo\\\": \\\"\" + logo + \"\\\",\" : '') + \"\\n \\\"contactPoint\\\": [\" + buildContactPoint(contactPoint) + \"]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-corporate-contact\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar NewsArticleJsonLd = function NewsArticleJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n section = _ref.section,\n keywords = _ref.keywords,\n datePublished = _ref.datePublished,\n _ref$dateCreated = _ref.dateCreated,\n dateCreated = _ref$dateCreated === void 0 ? null : _ref$dateCreated,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? null : _ref$dateModified,\n authorName = _ref.authorName,\n description = _ref.description,\n body = _ref.body,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"NewsArticle\\\",\\n \\\"mainEntityOfPage\\\": {\\n \\\"@type\\\": \\\"WebPage\\\",\\n \\\"@id\\\": \\\"\" + url + \"\\\"\\n },\\n \\\"headline\\\": \\\"\" + title + \"\\\",\\n \\\"image\\\": [\\n \" + images.map(function (image) {\n return \"\\\"\" + image + \"\\\"\";\n }) + \"\\n ],\\n \\\"articleSection\\\":\\\"\" + section + \"\\\",\\n \\\"keywords\\\": \\\"\" + keywords + \"\\\",\\n \\\"datePublished\\\": \\\"\" + datePublished + \"\\\",\\n \\\"dateCreated\\\": \\\"\" + (dateCreated || datePublished) + \"\\\",\\n \\\"dateModified\\\": \\\"\" + (dateModified || datePublished) + \"\\\",\\n \\\"author\\\": \" + formatAuthorName(authorName) + \",\\n \\\"publisher\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + publisherName + \"\\\",\\n \\\"logo\\\": {\\n \\\"@type\\\": \\\"ImageObject\\\",\\n \\\"url\\\": \\\"\" + publisherLogo + \"\\\"\\n }\\n },\\n \\\"description\\\": \\\"\" + description + \"\\\",\\n \\\"articleBody\\\": \\\"\" + body + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-newsarticle\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildLocation = function buildLocation(location) {\n return \"\\n \\\"location\\\": {\\n \\\"@type\\\": \\\"Place\\\",\\n \" + buildAddress(location.address) + \"\\n \" + (location.sameAs ? \"\\\"sameAs\\\": \\\"\" + location.sameAs + \"\\\",\" : \"\") + \"\\n \\\"name\\\": \\\"\" + location.name + \"\\\"\\n },\\n\";\n};\n\nvar buildPerformer = function buildPerformer(performer) {\n return \"\\n {\\n \\\"@type\\\": \\\"PerformingGroup\\\",\\n \\\"name\\\": \\\"\" + performer.name + \"\\\"\\n }\\n\";\n};\n\nvar EventJsonLd = function EventJsonLd(_ref) {\n var name = _ref.name,\n startDate = _ref.startDate,\n endDate = _ref.endDate,\n location = _ref.location,\n url = _ref.url,\n description = _ref.description,\n images = _ref.images,\n offers = _ref.offers,\n aggregateOffer = _ref.aggregateOffer,\n performers = _ref.performers;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Event\\\",\\n \\\"startDate\\\": \\\"\" + startDate + \"\\\",\\n \\\"endDate\\\": \\\"\" + endDate + \"\\\",\\n \" + buildLocation(location) + \"\\n \" + (images ? \"\\\"image\\\":\" + formatIfArray(images) + \",\" : \"\") + \"\\n \" + (url ? \"\\\"url\\\": \\\"\" + url + \"\\\",\" : \"\") + \"\\n \" + (description ? \"\\\"description\\\": \\\"\" + description + \"\\\",\" : \"\") + \"\\n \" + (offers ? \"\\\"offers\\\": \" + (Array.isArray(offers) ? \"[\" + offers.map(function (offer) {\n return \"\" + buildOffers(offer);\n }) + \"]\" : buildOffers(offers)) + \",\" : '') + \"\\n \" + (aggregateOffer && !offers ? \"\\\"offers\\\": \" + buildAggregateOffer(aggregateOffer) + \",\" : '') + \"\\n \" + (performers ? \"\\\"performer\\\": \" + (Array.isArray(performers) ? \"[\" + performers.map(function (performer) {\n return \"\" + buildPerformer(performer);\n }) + \"]\" : buildPerformer(performers)) + \",\" : '') + \"\\n \\\"name\\\": \\\"\" + name + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-event\"\n }));\n};\n\nvar buildVideo = (function (video, context) {\n if (context === void 0) {\n context = false;\n }\n\n return \"{\\n \" + (context ? \"\\\"@context\\\": \\\"https://schema.org\\\",\" : \"\") + \"\\n \\\"@type\\\": \\\"VideoObject\\\",\\n \\\"name\\\": \\\"\" + video.name + \"\\\",\\n \\\"description\\\": \\\"\" + video.description + \"\\\",\\n \\\"thumbnailUrl\\\": [\\n \" + video.thumbnailUrls.map(function (thumbnailUrl) {\n return \"\\\"\" + thumbnailUrl + \"\\\"\";\n }).join(',') + \"\\n ],\\n \" + (video.contentUrl ? \"\\\"contentUrl\\\": \\\"\" + video.contentUrl + \"\\\",\" : \"\") + \"\\n \" + (video.duration ? \"\\\"duration\\\": \\\"\" + video.duration + \"\\\",\" : \"\") + \"\\n \" + (video.embedUrl ? \"\\\"embedUrl\\\": \\\"\" + video.embedUrl + \"\\\",\" : \"\") + \"\\n \" + (video.expires ? \"\\\"expires\\\": \\\"\" + video.expires + \"\\\",\" : \"\") + \" \\n \" + (video.hasPart ? \"\\\"hasPart\\\": \" + (Array.isArray(video.hasPart) ? \"[\" + video.hasPart.map(function (clip) {\n return \"\" + buildClip(clip);\n }).join(',') + \"]\" : buildClip(video.hasPart)) + \",\" : '') + \"\\n \" + (video.watchCount ? \"\" + buildInteractionStatistic(video.watchCount) : \"\") + \" \\n \" + (video.publication ? \"\\\"publication\\\": \" + (Array.isArray(video.publication) ? \"[\" + video.publication.map(function (broadcastEvent) {\n return \"\" + buildBroadcastEvent(broadcastEvent);\n }).join(',') + \"]\" : buildBroadcastEvent(video.publication)) + \",\" : '') + \"\\n \" + (video.regionsAllowed ? \"\\\"regionsAllowed\\\": \" + formatIfArray(video.regionsAllowed) + \",\" : '') + \"\\n \\\"uploadDate\\\": \\\"\" + video.uploadDate + \"\\\"\\n }\";\n});\n\nvar buildClip = function buildClip(clip) {\n return \"\\n \\\"geo\\\": {\\n \\\"@type\\\": \\\"Clip\\\",\\n \\\"name\\\": \\\"\" + clip.name + \"\\\",\\n \\\"startOffset\\\": \" + clip.startOffset + \",\\n \\\"url\\\": \\\"\" + clip.url + \"\\\"\\n }\\n\";\n};\n\nvar buildInteractionStatistic = function buildInteractionStatistic(watchCount) {\n return \"\\n \\\"interactionStatistic\\\": {\\n \\\"@type\\\": \\\"InteractionCounter\\\",\\n \\\"interactionType\\\": { \\\"@type\\\": \\\"https://schema.org/WatchAction\\\" },\\n \\\"userInteractionCount\\\": \" + watchCount + \"\\n },\\n\";\n};\n\nvar buildBroadcastEvent = function buildBroadcastEvent(publication) {\n return \"\\n \\\"publication\\\": {\\n \\\"@type\\\": \\\"BroadcastEvent\\\",\\n \\\"name\\\": \\\"\" + publication.name + \"\\\",\\n \\\"isLiveBroadcast\\\": \" + publication.isLiveBroadcast + \",\\n \\\"startDate\\\": \\\"\" + publication.startDate + \"\\\",\\n \\\"endDate\\\": \\\"\" + publication.endDate + \"\\\"\\n }\\n\";\n};\n\nvar VideoJsonLd = function VideoJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n name = _ref.name,\n description = _ref.description,\n thumbnailUrls = _ref.thumbnailUrls,\n uploadDate = _ref.uploadDate,\n contentUrl = _ref.contentUrl,\n duration = _ref.duration,\n embedUrl = _ref.embedUrl,\n expires = _ref.expires,\n hasPart = _ref.hasPart,\n watchCount = _ref.watchCount,\n publication = _ref.publication,\n regionsAllowed = _ref.regionsAllowed;\n var jslonld = buildVideo({\n name: name,\n description: description,\n thumbnailUrls: thumbnailUrls,\n uploadDate: uploadDate,\n contentUrl: contentUrl,\n duration: duration,\n embedUrl: embedUrl,\n expires: expires,\n hasPart: hasPart,\n watchCount: watchCount,\n publication: publication,\n regionsAllowed: regionsAllowed\n }, true);\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-video\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildQuestions$1 = function buildQuestions(mainEntity) {\n return \"{\\n \\\"@type\\\": \\\"Question\\\",\\n \\\"name\\\": \\\"\" + mainEntity.name + \"\\\",\\n \" + (mainEntity.text ? \"\\\"text\\\": \\\"\" + mainEntity.text + \"\\\",\" : '') + \"\\n \\\"answerCount\\\": \" + mainEntity.answerCount + \",\\n \" + (mainEntity.upvotedCount ? \"\\\"upvoteCount\\\": \" + mainEntity.upvotedCount + \",\" : '') + \"\\n \" + (mainEntity.dateCreated ? \"\\\"dateCreated\\\": \\\"\" + mainEntity.dateCreated + \"\\\",\" : '') + \"\\n \" + (mainEntity.author ? \"\\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + mainEntity.author.name + \"\\\"\\n },\" : '') + \"\\n \" + (mainEntity.acceptedAnswer ? \"\\\"acceptedAnswer\\\": {\\n \\\"@type\\\": \\\"Answer\\\",\\n \\\"text\\\": \\\"\" + mainEntity.acceptedAnswer.text + \"\\\",\\n \" + (mainEntity.acceptedAnswer.dateCreated ? \"\\\"dateCreated\\\": \\\"\" + mainEntity.acceptedAnswer.dateCreated + \"\\\",\" : '') + \"\\n \" + (mainEntity.acceptedAnswer.upvotedCount ? \"\\\"upvoteCount\\\": \" + mainEntity.acceptedAnswer.upvotedCount + \",\" : '') + \"\\n \" + (mainEntity.acceptedAnswer.url ? \"\\\"url\\\": \\\"\" + mainEntity.acceptedAnswer.url + \"\\\",\" : '') + \"\\n \" + (mainEntity.acceptedAnswer.author ? \"\\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + mainEntity.acceptedAnswer.author.name + \"\\\"\\n }\" : '') + \"\\n },\" : '') + \"\\n \" + (mainEntity.suggestedAnswer ? \"\\\"suggestedAnswer\\\": [\" + mainEntity.suggestedAnswer.map(function (suggested) {\n return \"{\\n \\\"@type\\\": \\\"Answer\\\",\\n \\\"text\\\": \\\"\" + suggested.text + \"\\\",\\n \" + (suggested.dateCreated ? \"\\\"dateCreated\\\": \\\"\" + suggested.dateCreated + \"\\\",\" : '') + \"\\n \" + (suggested.upvotedCount ? \"\\\"upvoteCount\\\": \" + suggested.upvotedCount + \",\" : \"\\\"upvoteCount\\\": \" + 0 + \",\") + \"\\n \" + (suggested.url ? \"\\\"url\\\": \\\"\" + suggested.url + \"\\\",\" : '') + \"\\n \" + (suggested.author ? \"\\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + suggested.author.name + \"\\\"\\n }\" : '') + \"\\n }\";\n }) + \"\\n ]\" : '') + \"\\n}\";\n};\n\nvar QAPageJsonLd = function QAPageJsonLd(_ref) {\n var mainEntity = _ref.mainEntity,\n keyOverride = _ref.keyOverride;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"QAPage\\\",\\n \\\"mainEntity\\\": \" + buildQuestions$1(mainEntity) + \"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-qa\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildInstruction = function buildInstruction(instruction) {\n return \"{\\n \\\"@type\\\": \\\"HowToStep\\\",\\n \" + (instruction.name ? \"\\\"name\\\": \\\"\" + instruction.name + \"\\\",\" : '') + \"\\n \" + (instruction.image ? \"\\\"image\\\": \\\"\" + instruction.image + \"\\\",\" : '') + \"\\n \" + (instruction.url ? \"\\\"url\\\": \\\"\" + instruction.url + \"\\\",\" : '') + \"\\n \\\"text\\\": \\\"\" + instruction.text + \"\\\"\\n}\";\n};\n\nvar RecipeJsonLd = function RecipeJsonLd(_ref) {\n var name = _ref.name,\n description = _ref.description,\n authorName = _ref.authorName,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n prepTime = _ref.prepTime,\n cookTime = _ref.cookTime,\n totalTime = _ref.totalTime,\n keywords = _ref.keywords,\n yields = _ref.yields,\n category = _ref.category,\n cuisine = _ref.cuisine,\n calories = _ref.calories,\n ingredients = _ref.ingredients,\n instructions = _ref.instructions,\n aggregateRating = _ref.aggregateRating,\n video = _ref.video;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org/\\\",\\n \\\"@type\\\": \\\"Recipe\\\",\\n \\\"name\\\": \\\"\" + name + \"\\\",\\n \\\"description\\\": \\\"\" + description + \"\\\",\\n \\\"datePublished\\\": \\\"\" + datePublished + \"\\\",\\n \\\"author\\\": \" + formatAuthorName(authorName) + \",\\n \\\"image\\\": [\\n \" + images.map(function (image) {\n return \"\\\"\" + image + \"\\\"\";\n }).join(',') + \"\\n ],\\n \" + (prepTime ? \"\\\"prepTime\\\": \\\"\" + prepTime + \"\\\",\" : \"\") + \"\\n \" + (cookTime ? \"\\\"cookTime\\\": \\\"\" + cookTime + \"\\\",\" : \"\") + \"\\n \" + (totalTime ? \"\\\"totalTime\\\": \\\"\" + totalTime + \"\\\",\" : \"\") + \"\\n \" + (keywords ? \"\\\"keywords\\\": \\\"\" + keywords + \"\\\",\" : \"\") + \"\\n \" + (yields ? \"\\\"recipeYield\\\": \\\"\" + yields + \"\\\",\" : \"\") + \"\\n \" + (category ? \"\\\"recipeCategory\\\": \\\"\" + category + \"\\\",\" : \"\") + \"\\n \" + (cuisine ? \"\\\"recipeCuisine\\\": \\\"\" + cuisine + \"\\\",\" : \"\") + \"\\n \" + (calories ? \"\\\"nutrition\\\": { \\\"@type\\\": \\\"NutritionInformation\\\", \\\"calories\\\": \\\"\" + calories + \" calories\\\" },\" : \"\") + \"\\n \" + (aggregateRating ? buildAggregateRating$1(aggregateRating) : '') + \"\\n \" + (video ? \"\\\"video\\\": \" + buildVideo(video) + \",\" : '') + \"\\n \\\"recipeIngredient\\\": [\\n \" + ingredients.map(function (ingredient) {\n return \"\\\"\" + ingredient + \"\\\"\";\n }).join(',') + \"\\n ],\\n \\\"recipeInstructions\\\": [\\n \" + instructions.map(buildInstruction).join(',') + \"\\n ]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-recipe\"\n }));\n};\n\nvar VideoGameJsonLd = function VideoGameJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n name = _ref.name,\n url = _ref.url,\n image = _ref.image,\n description = _ref.description,\n languageName = _ref.languageName,\n translatorName = _ref.translatorName,\n authorName = _ref.authorName,\n aggregateRating = _ref.aggregateRating,\n applicationCategory = _ref.applicationCategory,\n platformName = _ref.platformName,\n operatingSystemName = _ref.operatingSystemName,\n datePublished = _ref.datePublished,\n keywords = _ref.keywords,\n producerName = _ref.producerName,\n producerUrl = _ref.producerUrl,\n providerName = _ref.providerName,\n providerUrl = _ref.providerUrl,\n publisherName = _ref.publisherName,\n offers = _ref.offers,\n genreName = _ref.genreName,\n playMode = _ref.playMode,\n processorRequirements = _ref.processorRequirements,\n memoryRequirements = _ref.memoryRequirements,\n storageRequirements = _ref.storageRequirements,\n trailer = _ref.trailer,\n _ref$reviews = _ref.reviews,\n reviews = _ref$reviews === void 0 ? [] : _ref$reviews;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org/\\\",\\n \\\"@type\\\": \\\"VideoGame\\\",\\n \\\"name\\\": \\\"\" + name + \"\\\",\\n \" + (description ? \"\\\"description\\\": \\\"\" + description + \"\\\",\" : '') + \"\\n \" + (aggregateRating ? buildAggregateRating$1(aggregateRating) : '') + \"\\n \" + (datePublished ? \"\\\"datePublished\\\": \\\"\" + datePublished + \"\\\",\" : '') + \"\\n \" + (url ? \"\\\"url\\\": \\\"\" + url + \"\\\",\" : '') + \"\\n \" + (trailer ? \"\\\"trailer\\\": \" + buildVideo(trailer) + \",\" : '') + \"\\n \" + (reviews.length ? buildReviews(reviews) : '') + \"\\n \" + (keywords ? \"\\\"keywords\\\": \\\"\" + keywords + \"\\\",\" : '') + \"\\n \" + (processorRequirements ? \"\\\"processorRequirements\\\": \\\"\" + processorRequirements + \"\\\",\" : '') + \"\\n \" + (memoryRequirements ? \"\\\"memoryRequirements\\\": \\\"\" + memoryRequirements + \"\\\",\" : '') + \"\\n \" + (storageRequirements ? \"\\\"storageRequirements\\\": \\\"\" + storageRequirements + \"\\\",\" : '') + \"\\n \" + (playMode ? \"\\\"playMode\\\": \\\"\" + playMode + \"\\\",\" : '') + \"\\n \" + (applicationCategory ? \"\\\"applicationCategory\\\": \\\"\" + applicationCategory + \"\\\",\" : '') + \"\\n \" + (operatingSystemName ? \"\\\"operatingSystem\\\": \" + (Array.isArray(operatingSystemName) ? formatIfArray(operatingSystemName) : \"\\\"\" + operatingSystemName + \"\\\"\") + \",\" : '') + \"\\n \" + (platformName ? \"\\\"gamePlatform\\\": \" + (Array.isArray(platformName) ? formatIfArray(platformName) : \"\\\"\" + platformName + \"\\\"\") + \",\" : '') + \"\\n \" + (translatorName ? \"\\\"translator\\\": \" + (Array.isArray(translatorName) ? formatIfArray(translatorName) : \"\\\"\" + translatorName + \"\\\"\") + \",\" : '') + \"\\n \" + (languageName ? \"\\\"inLanguage\\\": \" + (Array.isArray(languageName) ? formatIfArray(languageName) : \"\\\"\" + languageName + \"\\\"\") + \",\" : '') + \"\\n \" + (genreName ? \"\\\"genre\\\": \" + (Array.isArray(genreName) ? formatIfArray(genreName) : \"\\\"\" + genreName + \"\\\"\") + \",\" : '') + \"\\n \" + (publisherName ? \"\\\"publisher\\\": \" + (Array.isArray(publisherName) ? formatIfArray(publisherName) : \"\\\"\" + publisherName + \"\\\"\") + \",\" : '') + \"\\n \" + (image ? \"\\n \\\"image\\\": {\\n \\\"@type\\\": \\\"ImageObject\\\",\\n \\\"url\\\": \\\"\" + image + \"\\\"\\n },\\n \" : '') + \"\\n \" + (authorName ? \"\\n \\\"author\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + authorName + \"\\\"\\n },\\n \" : '') + \"\\n \" + (providerName ? \"\\n \\\"provider\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \" + (providerUrl ? \"\\\"sameAs\\\": \\\"\" + providerUrl + \"\\\",\" : '') + \"\\n \\\"name\\\": \\\"\" + providerName + \"\\\"\\n },\\n \" : '') + \"\\n \" + (producerName ? \"\\n \\\"producer\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \" + (producerUrl ? \"\\\"sameAs\\\": \\\"\" + producerUrl + \"\\\",\" : '') + \"\\n \\\"name\\\": \\\"\" + producerName + \"\\\"\\n },\\n \" : '') + \"\\n \" + (offers ? \"\\\"offers\\\": \" + (Array.isArray(offers) ? \"[\" + offers.map(function (offer) {\n return \"\" + buildOffers(offer);\n }) + \"]\" : buildOffers(offers)) : '') + \"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-video-game\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar CarouselJsonLd = function CarouselJsonLd(_ref) {\n var type = _ref.type,\n data = _ref.data;\n var itemListElement = [];\n\n switch (type) {\n case 'default':\n itemListElement = data.map(function (item, index) {\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \\\"\" + (index + 1) + \"\\\",\\n \\\"url\\\": \\\"\" + item.url + \"\\\"\\n }\";\n });\n break;\n\n case 'course':\n itemListElement = data.map(function (item, index) {\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \\\"\" + (index + 1) + \"\\\",\\n \\\"item\\\": {\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Course\\\",\\n \\\"url\\\": \\\"\" + item.url + \"\\\",\\n \\\"name\\\": \\\"\" + item.courseName + \"\\\",\\n \\\"description\\\": \\\"\" + item.description + \"\\\",\\n \\\"provider\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"\" + item.providerName + \"\\\"\" + (item.providerUrl ? \",\\n \\\"sameAs\\\": \\\"\" + item.providerUrl + \"\\\"\" : '') + \"\\n }\\n }\\n }\";\n });\n break;\n\n case 'movie':\n itemListElement = data.map(function (item, index) {\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \\\"\" + (index + 1) + \"\\\",\\n \\\"item\\\": {\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Movie\\\",\\n \\\"name\\\": \\\"\" + item.name + \"\\\",\\n \\\"url\\\": \\\"\" + item.url + \"\\\",\\n \\\"image\\\": \\\"\" + item.image + \"\\\",\\n \" + (item.dateCreated ? \"\\\"dateCreated\\\": \\\"\" + item.dateCreated + \"\\\",\" : \"\") + \"\\n \" + (item.director ? \"\\\"director\\\": \" + (Array.isArray(item.director) ? \"[\" + item.director.map(function (director) {\n return \"{\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + director.name + \"\\\"\\n }\";\n }).join(',') + \"]\" : \"{\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + item.director.name + \"\\\"\\n }\") : '') + \"\\n \" + (item.review ? \",\\n \\\"review\\\": {\\n \\\"@type\\\": \\\"Review\\\",\\n \" + (item.review.author ? buildAuthor(item.review.author) : '') + \"\\n \" + (item.review.publisher ? buildPublisher(item.review.publisher) : '') + \"\\n \" + (item.review.datePublished ? \"\\\"datePublished\\\": \\\"\" + item.review.datePublished + \"\\\",\" : '') + \"\\n \" + (item.review.reviewBody ? \"\\\"reviewBody\\\": \\\"\" + item.review.reviewBody + \"\\\",\" : '') + \"\\n \" + (item.review.name ? \"\\\"name\\\": \\\"\" + item.review.name + \"\\\",\" : '') + \"\\n \" + buildReviewRating(item.review.reviewRating) + \"\\n }\" : '') + \"\\n }\\n }\";\n });\n break;\n\n case 'recipe':\n itemListElement = data.map(function (item, index) {\n var _item$images;\n\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \\\"\" + (index + 1) + \"\\\",\\n \\\"item\\\": {\\n \\\"@context\\\": \\\"https://schema.org/\\\",\\n \\\"@type\\\": \\\"Recipe\\\",\\n \\\"name\\\": \\\"\" + item.name + \"\\\",\\n \\\"url\\\" : \\\"\" + item.url + \"\\\",\\n \\\"description\\\": \\\"\" + item.description + \"\\\",\\n \\\"datePublished\\\": \\\"\" + item.datePublished + \"\\\",\\n \\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"\" + item.authorName + \"\\\"\\n },\\n \\\"image\\\": [\\n \" + ((_item$images = item.images) == null ? void 0 : _item$images.map(function (image) {\n return \"\\\"\" + image + \"\\\"\";\n }).join(',')) + \"\\n ],\\n \" + (item.prepTime ? \"\\\"prepTime\\\": \\\"\" + item.prepTime + \"\\\",\" : \"\") + \"\\n \" + (item.cookTime ? \"\\\"cookTime\\\": \\\"\" + item.cookTime + \"\\\",\" : \"\") + \"\\n \" + (item.totalTime ? \"\\\"totalTime\\\": \\\"\" + item.totalTime + \"\\\",\" : \"\") + \"\\n \" + (item.keywords ? \"\\\"keywords\\\": \\\"\" + item.keywords + \"\\\",\" : \"\") + \"\\n \" + (item.yields ? \"\\\"recipeYield\\\": \\\"\" + item.yields + \"\\\",\" : \"\") + \"\\n \" + (item.category ? \"\\\"recipeCategory\\\": \\\"\" + item.category + \"\\\",\" : \"\") + \"\\n \" + (item.cuisine ? \"\\\"recipeCuisine\\\": \\\"\" + item.cuisine + \"\\\",\" : \"\") + \"\\n \" + (item.calories ? \"\\\"nutrition\\\": { \\\"@type\\\": \\\"NutritionInformation\\\", \\\"calories\\\": \\\"\" + item.calories + \" calories\\\" },\" : \"\") + \"\\n \" + (item.aggregateRating ? buildAggregateRating$1(item.aggregateRating) : '') + \"\\n \" + (item.video ? \"\\\"video\\\": \" + buildVideo(item.video) + \",\" : '') + \"\\n \\\"recipeIngredient\\\": [\\n \" + item.ingredients.map(function (ingredient) {\n return \"\\\"\" + ingredient + \"\\\"\";\n }).join(',') + \"\\n ],\\n \\\"recipeInstructions\\\": [\\n \" + item.instructions.map(buildInstruction).join(',') + \"\\n ]\\n }\\n }\";\n });\n break;\n }\n\n var jsonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"ItemList\\\",\\n \\\"itemListElement\\\": [\" + itemListElement.join(',') + \"]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jsonld),\n key: \"jsonld-course\"\n }));\n};\n\nvar SiteLinksSearchBoxJsonLd = function SiteLinksSearchBoxJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n url = _ref.url,\n _ref$potentialActions = _ref.potentialActions,\n potentialActions = _ref$potentialActions === void 0 ? [] : _ref$potentialActions;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"WebSite\\\",\\n \\\"url\\\": \\\"\" + url + \"\\\",\\n \\\"potentialAction\\\": [\\n \" + potentialActions.map(function (_ref2) {\n var target = _ref2.target,\n queryInput = _ref2.queryInput;\n return \"{\\n \\\"@type\\\": \\\"SearchAction\\\",\\n \\\"target\\\": \\\"\" + target + \"={\" + queryInput + \"}\\\",\\n \\\"query-input\\\": \\\"required name=\" + queryInput + \"\\\"\\n }\";\n }) + \"\\n ]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-siteLinksSearchBox\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildReview$1 = function buildReview(review) {\n return \"\\n \\\"review\\\": {\\n \\\"@type\\\": \\\"Review\\\",\\n \" + (review.author ? buildAuthor(review.author) : '') + \"\\n \" + (review.publisher ? buildPublisher(review.publisher) : '') + \"\\n \" + (review.datePublished ? \"\\\"datePublished\\\": \\\"\" + review.datePublished + \"\\\",\" : '') + \"\\n \" + (review.reviewBody ? \"\\\"reviewBody\\\": \\\"\" + review.reviewBody + \"\\\",\" : '') + \"\\n \" + (review.name ? \"\\\"name\\\": \\\"\" + review.name + \"\\\",\" : '') + \"\\n \" + buildReviewRating(review.reviewRating) + \"\\n },\\n \";\n};\n\nvar SoftwareAppJsonLd = function SoftwareAppJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n name = _ref.name,\n applicationCategory = _ref.applicationCategory,\n operatingSystem = _ref.operatingSystem,\n priceCurrency = _ref.priceCurrency,\n price = _ref.price,\n aggregateRating = _ref.aggregateRating,\n review = _ref.review;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"SoftwareApplication\\\",\\n \\\"offers\\\": {\\n \\\"@type\\\": \\\"Offer\\\",\\n \\\"priceCurrency\\\": \\\"\" + priceCurrency + \"\\\",\\n \\\"price\\\": \\\"\" + price + \"\\\"\\n },\\n \" + (applicationCategory ? \"\\\"applicationCategory\\\": \\\"\" + applicationCategory + \"\\\",\" : '') + \"\\n \" + (operatingSystem ? \"\\\"operatingSystem\\\": \\\"\" + operatingSystem + \"\\\",\" : '') + \"\\n \" + (aggregateRating ? buildAggregateRating$1(aggregateRating) : '') + \"\\n \" + (review ? buildReview$1(review) : '') + \"\\n \\\"name\\\": \\\"\" + name + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-softwareApp\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar CollectionPageJsonLd = function CollectionPageJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n name = _ref.name,\n _ref$hasPart = _ref.hasPart,\n hasPart = _ref$hasPart === void 0 ? [] : _ref$hasPart;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"CollectionPage\\\",\\n \\\"name\\\": \\\"\" + name + \"\\\",\\n \\\"hasPart\\\": [\\n \" + hasPart.map(function (creativeWork) {\n return \"{\\n \\\"@type\\\": \\\"CreativeWork\\\",\\n \\\"author\\\": \\\"\" + creativeWork.author + \"\\\",\\n \\\"about\\\": \\\"\" + creativeWork.about + \"\\\",\\n \\\"name\\\": \\\"\" + creativeWork.name + \"\\\",\\n \" + (creativeWork.audience ? \"\\\"audience\\\": \\\"\" + creativeWork.audience + \"\\\",\" : '') + \"\\n \" + (creativeWork.keywords ? \"\\\"keywords\\\": \\\"\" + creativeWork.keywords + \"\\\",\" : '') + \"\\n \" + (creativeWork.thumbnailUrl ? \"\\\"thumbnailUrl\\\": \\\"\" + creativeWork.thumbnailUrl + \"\\\",\" : '') + \"\\n \" + (creativeWork.image ? \"\\\"image\\\": \\\"\" + creativeWork.image + \"\\\",\" : '') + \"\\n \\\"datePublished\\\": \\\"\" + creativeWork.datePublished + \"\\\"\\n }\";\n }) + \"\\n ]\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-collection-page\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar buildBreadcrumb = function buildBreadcrumb(itemListElements) {\n return \"{\\n \\\"@type\\\": \\\"BreadcrumbList\\\",\\n \\\"itemListElement\\\": \" + buildBreadcrumbList(itemListElements) + \"\\n}\";\n};\n\nvar buildBreadcrumbList = function buildBreadcrumbList(itemListElements) {\n return \"[\\n \" + itemListElements.map(function (itemListElement) {\n return \"{\\n \\\"@type\\\": \\\"ListItem\\\",\\n \\\"position\\\": \" + itemListElement.position + \",\\n \\\"item\\\": {\\n \\\"@id\\\": \\\"\" + itemListElement.item + \"\\\",\\n \\\"name\\\": \\\"\" + itemListElement.name + \"\\\"\\n }\\n }\";\n }) + \"\\n]\";\n};\n\nvar ProfilePageJsonLd = function ProfilePageJsonLd(_ref) {\n var keyOverride = _ref.keyOverride,\n breadcrumb = _ref.breadcrumb,\n lastReviewed = _ref.lastReviewed;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"ProfilePage\\\",\\n \" + (lastReviewed ? \"\\\"lastReviewed\\\": \\\"\" + lastReviewed + \"\\\",\" : '') + \"\\n \\\"breadcrumb\\\": \" + (typeof breadcrumb === 'string' ? \"\\\"\" + breadcrumb + \"\\\"\" : buildBreadcrumb(breadcrumb)) + \"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-profile-page\" + (keyOverride ? \"-\" + keyOverride : '')\n }));\n};\n\nvar OrganizationJsonLd = function OrganizationJsonLd(_ref) {\n var _ref$organizationType = _ref.organizationType,\n organizationType = _ref$organizationType === void 0 ? 'Organization' : _ref$organizationType,\n id = _ref.id,\n name = _ref.name,\n logo = _ref.logo,\n url = _ref.url,\n legalName = _ref.legalName,\n _ref$sameAs = _ref.sameAs,\n sameAs = _ref$sameAs === void 0 ? [] : _ref$sameAs,\n address = _ref.address,\n _ref$contactPoints = _ref.contactPoints,\n contactPoints = _ref$contactPoints === void 0 ? [] : _ref$contactPoints;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"\" + organizationType + \"\\\",\\n \" + (id ? \"\\\"@id\\\": \\\"\" + id + \"\\\",\" : '') + \"\\n \" + (logo ? \"\\\"logo\\\": \\\"\" + logo + \"\\\",\" : '') + \"\\n \" + (legalName ? \"\\\"legalName\\\": \\\"\" + legalName + \"\\\",\" : '') + \"\\n \\\"name\\\": \\\"\" + name + \"\\\",\\n \" + (address ? buildAddress(address) : '') + \"\\n \" + (sameAs.length > 0 ? \"\\\"sameAs\\\": [\" + sameAs.map(function (alias) {\n return \"\\\"\" + alias + \"\\\"\";\n }).join(',') + \"],\" : '') + \"\\n \" + (contactPoints.length > 0 ? \"\\\"contactPoints\\\": [\" + buildContactPoint(contactPoints) + \"],\" : '') + \"\\n \\\"url\\\": \\\"\" + url + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-organization-page\"\n }));\n};\n\nvar WebPageJsonLd = function WebPageJsonLd(_ref) {\n var id = _ref.id,\n description = _ref.description,\n lastReviewed = _ref.lastReviewed,\n reviewedBy = _ref.reviewedBy;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"WebPage\\\",\\n \" + (description ? \"\\\"description\\\": \\\"\" + description + \"\\\",\" : '') + \"\\n \" + (lastReviewed ? \"\\\"lastReviewed\\\": \\\"\" + lastReviewed + \"\\\",\" : '') + \"\\n \" + (reviewedBy ? \"\\\"reviewedBy\\\": {\\n \\\"@type\\\": \\\"\" + (reviewedBy.type || 'Organization') + \"\\\",\\n \\\"name\\\": \\\"\" + reviewedBy.name + \"\\\"\\n },\" : '') + \"\\n \\\"@id\\\": \\\"\" + id + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-webpage\"\n }));\n};\n\nvar BrandJsonLd = function BrandJsonLd(_ref) {\n var id = _ref.id,\n slogan = _ref.slogan,\n logo = _ref.logo,\n aggregateRating = _ref.aggregateRating;\n var jslonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Brand\\\",\\n \" + (aggregateRating ? buildAggregateRating$1(aggregateRating) : '') + \"\\n \" + (slogan ? \"\\\"slogan\\\": \\\"\" + slogan + \"\\\",\" : '') + \"\\n \" + (logo ? \"\\\"logo\\\": \\\"\" + logo + \"\\\",\" : '') + \"\\n \\\"@id\\\": \\\"\" + id + \"\\\"\\n }\";\n return React.createElement(Head, null, React.createElement(\"script\", {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: markup(jslonld),\n key: \"jsonld-brand\"\n }));\n};\n\nexport { ArticleJsonLd, BlogJsonLd, BrandJsonLd, BreadCrumbJsonLd as BreadcrumbJsonLd, CarouselJsonLd, CollectionPageJsonLd, CorporateContactJsonLd, CourseJsonLd, DatasetJsonLd, DefaultSeo, EventJsonLd, FAQPageJsonLd, JobPostingJsonLd, LocalBusinessJsonLd, LogoJsonLd, NewsArticleJsonLd, NextSeo, OrganizationJsonLd, ProductJsonLd, ProfilePageJsonLd, QAPageJsonLd as QAPageJsonld, RecipeJsonLd, SiteLinksSearchBoxJsonLd, SocialProfileJsonLd, SoftwareAppJsonLd, VideoGameJsonLd, VideoJsonLd, WebPageJsonLd };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDomainLocale = getDomainLocale;\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n const normalizeLocalePath = require('./normalize-locale-path').normalizeLocalePath;\n const detectDomainLocale = require('./detect-domain-locale').detectDomainLocale;\n const target = locale || normalizeLocalePath(path, locales).detectedLocale;\n const domain = detectDomainLocale(domainLocales, undefined, target);\n if (domain) {\n const proto = `http${domain.http ? '' : 's'}://`;\n const finalLocale = target === domain.defaultLocale ? '' : `/${target}`;\n return `${proto}${domain.domain}${basePath}${finalLocale}${path}`;\n }\n return false;\n } else {\n return false;\n }\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=get-domain-locale.js.map","\"client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nvar _router = require(\"../shared/lib/router/router\");\nvar _addLocale = require(\"./add-locale\");\nvar _routerContext = require(\"../shared/lib/router-context\");\nvar _appRouterContext = require(\"../shared/lib/app-router-context\");\nvar _useIntersection = require(\"./use-intersection\");\nvar _getDomainLocale = require(\"./get-domain-locale\");\nvar _addBasePath = require(\"./add-base-path\");\n'client';\nconst prefetched = {};\nfunction prefetch(router, href, as, options) {\n if (typeof window === 'undefined' || !router) return;\n if (!(0, _router).isLocalURL(href)) return;\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(router.prefetch(href, as, options)).catch((err)=>{\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n const curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale;\n // Join on an invalid URI character\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\nfunction isModifiedEvent(event) {\n const { target } = event.currentTarget;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && (isModifiedEvent(e) || !(0, _router).isLocalURL(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll\n });\n } else {\n // If `beforePopState` doesn't exist on the router it's the AppRouter.\n const method = replace ? 'replace' : 'push';\n router[method](href, {\n forceOptimisticNavigation: !prefetchEnabled\n });\n }\n };\n if (isAppRouter) {\n // @ts-expect-error startTransition exists.\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nconst Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args) {\n return new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` + (typeof window !== 'undefined' ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated');\n }\n }\n let children;\n const { href: hrefProp , as: asProp , children: childrenProp , prefetch: prefetchProp , passHref , replace , shallow , scroll , locale , onClick , onMouseEnter , onTouchStart , legacyBehavior =Boolean(process.env.__NEXT_NEW_LINK_BEHAVIOR) !== true } = props, restProps = _object_without_properties_loose(props, [\n \"href\",\n \"as\",\n \"children\",\n \"prefetch\",\n \"passHref\",\n \"replace\",\n \"shallow\",\n \"scroll\",\n \"locale\",\n \"onClick\",\n \"onMouseEnter\",\n \"onTouchStart\",\n \"legacyBehavior\"\n ]);\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ _react.default.createElement(\"a\", null, children);\n }\n const p = prefetchProp !== false;\n let router = _react.default.useContext(_routerContext.RouterContext);\n // TODO-APP: type error. Remove `as any`\n const appRouter = _react.default.useContext(_appRouterContext.AppRouterContext);\n if (appRouter) {\n router = appRouter;\n }\n const { href , as } = _react.default.useMemo(()=>{\n const [resolvedHref, resolvedAs] = (0, _router).resolveHref(router, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _router).resolveHref(router, asProp) : resolvedAs || resolvedHref\n };\n }, [\n router,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(`\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`);\n }\n if (onMouseEnter) {\n console.warn(`\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(`No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`);\n }\n throw new Error(`Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + (typeof window !== 'undefined' ? \" \\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n } else {\n child = _react.default.Children.only(children);\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useIntersection).useIntersection({\n rootMargin: '200px'\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);\n else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n _react.default.useEffect(()=>{\n const shouldPrefetch = isVisible && p && (0, _router).isLocalURL(href);\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n const isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [\n as,\n href,\n isVisible,\n locale,\n p,\n router\n ]);\n const childProps = {\n ref: setRef,\n onClick: (e)=>{\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(`Component rendered inside next/link has to pass click event to \"onClick\" prop.`);\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, Boolean(appRouter), p);\n }\n },\n onMouseEnter: (e)=>{\n if (!legacyBehavior && typeof onMouseEnter === 'function') {\n onMouseEnter(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n // Check for not prefetch disabled in page using appRouter\n if (!(!p && appRouter)) {\n if ((0, _router).isLocalURL(href)) {\n prefetch(router, href, as, {\n priority: true\n });\n }\n }\n },\n onTouchStart: (e)=>{\n if (!legacyBehavior && typeof onTouchStart === 'function') {\n onTouchStart(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n // Check for not prefetch disabled in page using appRouter\n if (!(!p && appRouter)) {\n if ((0, _router).isLocalURL(href)) {\n prefetch(router, href, as, {\n priority: true\n });\n }\n }\n }\n };\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = router && router.isLocaleDomain && (0, _getDomainLocale).getDomainLocale(as, curLocale, router.locales, router.domainLocales);\n childProps.href = localeDomain || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, curLocale, router && router.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ _react.default.createElement(\"a\", Object.assign({}, restProps, childProps), children);\n});\nvar _default = Link;\nexports.default = _default;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=link.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeLocalePath = void 0;\nconst normalizeLocalePath = (pathname, locales)=>{\n if (process.env.__NEXT_I18N_SUPPORT) {\n return require('../shared/lib/i18n/normalize-locale-path').normalizeLocalePath(pathname, locales);\n }\n return {\n pathname,\n detectedLocale: undefined\n };\n};\nexports.normalizeLocalePath = normalizeLocalePath;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=normalize-locale-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useIntersection = useIntersection;\nvar _react = require(\"react\");\nvar _requestIdleCallback = require(\"./request-idle-callback\");\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function';\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection({ rootRef , rootMargin , disabled }) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react).useState(false);\n const [element, setElement] = (0, _react).useState(null);\n (0, _react).useEffect(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true));\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n }, [\n element,\n isDisabled,\n rootMargin,\n rootRef,\n visible\n ]);\n const resetVisible = (0, _react).useCallback(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=use-intersection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AmpStateContext = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nconst AmpStateContext = _react.default.createContext({});\nexports.AmpStateContext = AmpStateContext;\nif (process.env.NODE_ENV !== 'production') {\n AmpStateContext.displayName = 'AmpStateContext';\n}\n\n//# sourceMappingURL=amp-context.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isInAmpMode = isInAmpMode;\nfunction isInAmpMode({ ampFirst =false , hybrid =false , hasQuery =false , } = {}) {\n return ampFirst || hybrid && hasQuery;\n}\n\n//# sourceMappingURL=amp-mode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TemplateContext = exports.GlobalLayoutRouterContext = exports.LayoutRouterContext = exports.AppRouterContext = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nconst AppRouterContext = _react.default.createContext(null);\nexports.AppRouterContext = AppRouterContext;\nconst LayoutRouterContext = _react.default.createContext(null);\nexports.LayoutRouterContext = LayoutRouterContext;\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nexports.GlobalLayoutRouterContext = GlobalLayoutRouterContext;\nconst TemplateContext = _react.default.createContext(null);\nexports.TemplateContext = TemplateContext;\nif (process.env.NODE_ENV !== 'production') {\n AppRouterContext.displayName = 'AppRouterContext';\n LayoutRouterContext.displayName = 'LayoutRouterContext';\n GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext';\n TemplateContext.displayName = 'TemplateContext';\n}\n\n//# sourceMappingURL=app-router-context.js.map","\"client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = dynamic;\nexports.noSSR = noSSR;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nvar _loadable = _interop_require_default(require(\"./loadable\"));\nfunction dynamic(dynamicOptions, options) {\n let loadableFn = _loadable.default;\n let loadableOptions = (options == null ? void 0 : options.suspense) ? {} : {\n // A loading component is not required, so we default it\n loading: ({ error , isLoading , pastDelay })=>{\n if (!pastDelay) return null;\n if (process.env.NODE_ENV === 'development') {\n if (isLoading) {\n return null;\n }\n if (error) {\n return /*#__PURE__*/ _react.default.createElement(\"p\", null, error.message, /*#__PURE__*/ _react.default.createElement(\"br\", null), error.stack);\n }\n }\n return null;\n }\n };\n // Support for direct import(), eg: dynamic(import('../hello-world'))\n // Note that this is only kept for the edge case where someone is passing in a promise as first argument\n // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))\n // To make sure we don't execute the import without rendering first\n if (dynamicOptions instanceof Promise) {\n loadableOptions.loader = ()=>dynamicOptions;\n // Support for having import as a function, eg: dynamic(() => import('../hello-world'))\n } else if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions;\n // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})\n } else if (typeof dynamicOptions === 'object') {\n loadableOptions = _extends({}, loadableOptions, dynamicOptions);\n }\n // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () =>

Loading something

})\n loadableOptions = _extends({}, loadableOptions, options);\n // Error if Fizz rendering is not enabled and `suspense` option is set to true\n if (!process.env.__NEXT_REACT_ROOT && loadableOptions.suspense) {\n throw new Error(`Invalid suspense option usage in next/dynamic. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense`);\n }\n if (loadableOptions.suspense) {\n if (process.env.NODE_ENV !== 'production') {\n /**\n * TODO: Currently, next/dynamic will opt-in to React.lazy if { suspense: true } is used\n * React 18 will always resolve the Suspense boundary on the server-side, effectively ignoring the ssr option\n *\n * In the future, when React Suspense with third-party libraries is stable, we can implement a custom version of\n * React.lazy that can suspense on the server-side while only loading the component on the client-side\n */ if (loadableOptions.ssr === false) {\n console.warn(`\"ssr: false\" is ignored by next/dynamic because you can not enable \"suspense\" while disabling \"ssr\" at the same time. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense`);\n }\n if (loadableOptions.loading != null) {\n console.warn(`\"loading\" is ignored by next/dynamic because you have enabled \"suspense\". Place your loading element in your suspense boundary's \"fallback\" prop instead. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense`);\n }\n }\n delete loadableOptions.ssr;\n delete loadableOptions.loading;\n }\n // coming from build/babel/plugins/react-loadable-plugin.js\n if (loadableOptions.loadableGenerated) {\n loadableOptions = _extends({}, loadableOptions, loadableOptions.loadableGenerated);\n delete loadableOptions.loadableGenerated;\n }\n // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false}).\n // skip `ssr` for suspense mode and opt-in React.lazy directly\n if (typeof loadableOptions.ssr === 'boolean' && !loadableOptions.suspense) {\n if (!loadableOptions.ssr) {\n delete loadableOptions.ssr;\n return noSSR(loadableFn, loadableOptions);\n }\n delete loadableOptions.ssr;\n }\n return loadableFn(loadableOptions);\n}\n'client';\nconst isServerSide = typeof window === 'undefined';\nfunction noSSR(LoadableInitializer, loadableOptions) {\n // Removing webpack and modules means react-loadable won't try preloading\n delete loadableOptions.webpack;\n delete loadableOptions.modules;\n // This check is necessary to prevent react-loadable from initializing on the server\n if (!isServerSide) {\n return LoadableInitializer(loadableOptions);\n }\n const Loading = loadableOptions.loading;\n // This will only be rendered on the server side\n return ()=>/*#__PURE__*/ _react.default.createElement(Loading, {\n error: null,\n isLoading: true,\n pastDelay: false,\n timedOut: false\n });\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=dynamic.js.map","\"client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaultHead = defaultHead;\nexports.default = void 0;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nvar _react = _interop_require_wildcard(require(\"react\"));\nvar _sideEffect = _interop_require_default(require(\"./side-effect\"));\nvar _ampContext = require(\"./amp-context\");\nvar _headManagerContext = require(\"./head-manager-context\");\nvar _ampMode = require(\"./amp-mode\");\nvar _utils = require(\"./utils\");\n'client';\nfunction defaultHead(inAmpMode = false) {\n const head = [\n /*#__PURE__*/ _react.default.createElement(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n 'name',\n 'httpEquiv',\n 'charSet',\n 'itemProp'\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf('$') + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case 'meta':\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (process.env.NODE_ENV !== 'development' && process.env.__NEXT_OPTIMIZE_FONTS && !inAmpMode) {\n if (c.type === 'link' && c.props['href'] && // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.\n [\n 'https://fonts.googleapis.com/css',\n 'https://use.typekit.net/'\n ].some((url)=>c.props['href'].startsWith(url))) {\n const newProps = _extends({}, c.props || {});\n newProps['data-href'] = newProps['href'];\n newProps['href'] = undefined;\n // Add this attribute to make it easy to identify optimized tags\n newProps['data-optimized-fonts'] = true;\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n }\n if (process.env.NODE_ENV === 'development' && process.env.__NEXT_REACT_ROOT) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src'] ? `<script> tag with src=\"${c.props['src']}\"` : `inline <script>`;\n (0, _utils).warnOnce(`Do not add <script> tags using next/head (see ${srcMessage}). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component`);\n } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') {\n (0, _utils).warnOnce(`Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"${c.props['href']}\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component`);\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head({ children }) {\n const ampState = (0, _react).useContext(_ampContext.AmpStateContext);\n const headManager = (0, _react).useContext(_headManagerContext.HeadManagerContext);\n return /*#__PURE__*/ _react.default.createElement(_sideEffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampMode).isInAmpMode(ampState)\n }, children);\n}\nvar _default = Head;\nexports.default = _default;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=head.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadableContext = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nconst LoadableContext = _react.default.createContext(null);\nexports.LoadableContext = LoadableContext;\nif (process.env.NODE_ENV !== 'production') {\n LoadableContext.displayName = 'LoadableContext';\n}\n\n//# sourceMappingURL=loadable-context.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nvar _loadableContext = require(\"./loadable-context\");\nconst { useSyncExternalStore } = process.env.__NEXT_REACT_ROOT ? require('react') : require('use-sync-external-store/shim');\nconst ALL_INITIALIZERS = [];\nconst READY_INITIALIZERS = [];\nlet initialized = false;\nfunction load(loader) {\n let promise = loader();\n let state = {\n loading: true,\n loaded: null,\n error: null\n };\n state.promise = promise.then((loaded)=>{\n state.loading = false;\n state.loaded = loaded;\n return loaded;\n }).catch((err)=>{\n state.loading = false;\n state.error = err;\n throw err;\n });\n return state;\n}\nfunction resolve(obj) {\n return obj && obj.__esModule ? obj.default : obj;\n}\nfunction createLoadableComponent(loadFn, options) {\n let opts = Object.assign({\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n webpack: null,\n modules: null,\n suspense: false\n }, options);\n if (opts.suspense) {\n opts.lazy = _react.default.lazy(opts.loader);\n }\n /** @type LoadableSubscription */ let subscription = null;\n function init() {\n if (!subscription) {\n const sub = new LoadableSubscription(loadFn, opts);\n subscription = {\n getCurrentValue: sub.getCurrentValue.bind(sub),\n subscribe: sub.subscribe.bind(sub),\n retry: sub.retry.bind(sub),\n promise: sub.promise.bind(sub)\n };\n }\n return subscription.promise();\n }\n // Server only\n if (typeof window === 'undefined') {\n ALL_INITIALIZERS.push(init);\n }\n // Client only\n if (!initialized && typeof window !== 'undefined') {\n // require.resolveWeak check is needed for environments that don't have it available like Jest\n const moduleIds = opts.webpack && typeof require.resolveWeak === 'function' ? opts.webpack() : opts.modules;\n if (moduleIds) {\n READY_INITIALIZERS.push((ids)=>{\n for (const moduleId of moduleIds){\n if (ids.indexOf(moduleId) !== -1) {\n return init();\n }\n }\n });\n }\n }\n function useLoadableModule() {\n init();\n const context = _react.default.useContext(_loadableContext.LoadableContext);\n if (context && Array.isArray(opts.modules)) {\n opts.modules.forEach((moduleName)=>{\n context(moduleName);\n });\n }\n }\n function LoadableImpl(props, ref) {\n useLoadableModule();\n const state = useSyncExternalStore(subscription.subscribe, subscription.getCurrentValue, subscription.getCurrentValue);\n _react.default.useImperativeHandle(ref, ()=>({\n retry: subscription.retry\n }), []);\n return _react.default.useMemo(()=>{\n if (state.loading || state.error) {\n return _react.default.createElement(opts.loading, {\n isLoading: state.loading,\n pastDelay: state.pastDelay,\n timedOut: state.timedOut,\n error: state.error,\n retry: subscription.retry\n });\n } else if (state.loaded) {\n return _react.default.createElement(resolve(state.loaded), props);\n } else {\n return null;\n }\n }, [\n props,\n state\n ]);\n }\n function LazyImpl(props, ref) {\n useLoadableModule();\n return _react.default.createElement(opts.lazy, _extends({}, props, {\n ref\n }));\n }\n const LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;\n LoadableComponent.preload = ()=>init();\n LoadableComponent.displayName = 'LoadableComponent';\n return _react.default.forwardRef(LoadableComponent);\n}\nclass LoadableSubscription {\n promise() {\n return this._res.promise;\n }\n retry() {\n this._clearTimeouts();\n this._res = this._loadFn(this._opts.loader);\n this._state = {\n pastDelay: false,\n timedOut: false\n };\n const { _res: res , _opts: opts } = this;\n if (res.loading) {\n if (typeof opts.delay === 'number') {\n if (opts.delay === 0) {\n this._state.pastDelay = true;\n } else {\n this._delay = setTimeout(()=>{\n this._update({\n pastDelay: true\n });\n }, opts.delay);\n }\n }\n if (typeof opts.timeout === 'number') {\n this._timeout = setTimeout(()=>{\n this._update({\n timedOut: true\n });\n }, opts.timeout);\n }\n }\n this._res.promise.then(()=>{\n this._update({});\n this._clearTimeouts();\n }).catch((_err)=>{\n this._update({});\n this._clearTimeouts();\n });\n this._update({});\n }\n _update(partial) {\n this._state = _extends({}, this._state, {\n error: this._res.error,\n loaded: this._res.loaded,\n loading: this._res.loading\n }, partial);\n this._callbacks.forEach((callback)=>callback());\n }\n _clearTimeouts() {\n clearTimeout(this._delay);\n clearTimeout(this._timeout);\n }\n getCurrentValue() {\n return this._state;\n }\n subscribe(callback) {\n this._callbacks.add(callback);\n return ()=>{\n this._callbacks.delete(callback);\n };\n }\n constructor(loadFn, opts){\n this._loadFn = loadFn;\n this._opts = opts;\n this._callbacks = new Set();\n this._delay = null;\n this._timeout = null;\n this.retry();\n }\n}\nfunction Loadable(opts) {\n return createLoadableComponent(load, opts);\n}\nfunction flushInitializers(initializers, ids) {\n let promises = [];\n while(initializers.length){\n let init = initializers.pop();\n promises.push(init(ids));\n }\n return Promise.all(promises).then(()=>{\n if (initializers.length) {\n return flushInitializers(initializers, ids);\n }\n });\n}\nLoadable.preloadAll = ()=>{\n return new Promise((resolveInitializers, reject)=>{\n flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject);\n });\n};\nLoadable.preloadReady = (ids = [])=>{\n return new Promise((resolvePreload)=>{\n const res = ()=>{\n initialized = true;\n return resolvePreload();\n };\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS, ids).then(res, res);\n });\n};\nif (typeof window !== 'undefined') {\n window.__NEXT_PRELOADREADY = Loadable.preloadReady;\n}\nvar _default = Loadable;\nexports.default = _default;\n\n//# sourceMappingURL=loadable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = SideEffect;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nvar _react = _interop_require_wildcard(require(\"react\"));\nfunction SideEffect(props) {\n const { headManager , reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var ref;\n headManager == null ? void 0 : (ref = headManager.mountedInstances) == null ? void 0 : ref.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var ref1;\n headManager == null ? void 0 : (ref1 = headManager.mountedInstances) == null ? void 0 : ref1.add(props.children);\n return ()=>{\n var ref;\n headManager == null ? void 0 : (ref = headManager.mountedInstances) == null ? void 0 : ref.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n}\nconst isServer = typeof window === 'undefined';\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\n\n//# sourceMappingURL=side-effect.js.map","var React = require('react');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\n\n/*\nBased on Glamor's sheet\nhttps://github.com/threepointone/glamor/blob/667b480d31b3721a905021b26e1290ce92ca2879/src/sheet.js\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}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar isProd = typeof process !== \"undefined\" && process.env && process.env.NODE_ENV === \"production\";\nvar isString = function(o) {\n return Object.prototype.toString.call(o) === \"[object String]\";\n};\nvar StyleSheet = /*#__PURE__*/ function() {\n function StyleSheet(param) {\n var ref = param === void 0 ? {} : param, _name = ref.name, name = _name === void 0 ? \"stylesheet\" : _name, _optimizeForSpeed = ref.optimizeForSpeed, optimizeForSpeed = _optimizeForSpeed === void 0 ? isProd : _optimizeForSpeed;\n invariant$1(isString(name), \"`name` must be a string\");\n this._name = name;\n this._deletedRulePlaceholder = \"#\" + name + \"-deleted-rule____{}\";\n invariant$1(typeof optimizeForSpeed === \"boolean\", \"`optimizeForSpeed` must be a boolean\");\n this._optimizeForSpeed = optimizeForSpeed;\n this._serverSheet = undefined;\n this._tags = [];\n this._injected = false;\n this._rulesCount = 0;\n var node = typeof window !== \"undefined\" && document.querySelector('meta[property=\"csp-nonce\"]');\n this._nonce = node ? node.getAttribute(\"content\") : null;\n }\n var _proto = StyleSheet.prototype;\n _proto.setOptimizeForSpeed = function setOptimizeForSpeed(bool) {\n invariant$1(typeof bool === \"boolean\", \"`setOptimizeForSpeed` accepts a boolean\");\n invariant$1(this._rulesCount === 0, \"optimizeForSpeed cannot be when rules have already been inserted\");\n this.flush();\n this._optimizeForSpeed = bool;\n this.inject();\n };\n _proto.isOptimizeForSpeed = function isOptimizeForSpeed() {\n return this._optimizeForSpeed;\n };\n _proto.inject = function inject() {\n var _this = this;\n invariant$1(!this._injected, \"sheet already injected\");\n this._injected = true;\n if (typeof window !== \"undefined\" && this._optimizeForSpeed) {\n this._tags[0] = this.makeStyleTag(this._name);\n this._optimizeForSpeed = \"insertRule\" in this.getSheet();\n if (!this._optimizeForSpeed) {\n if (!isProd) {\n console.warn(\"StyleSheet: optimizeForSpeed mode not supported falling back to standard mode.\");\n }\n this.flush();\n this._injected = true;\n }\n return;\n }\n this._serverSheet = {\n cssRules: [],\n insertRule: function(rule, index) {\n if (typeof index === \"number\") {\n _this._serverSheet.cssRules[index] = {\n cssText: rule\n };\n } else {\n _this._serverSheet.cssRules.push({\n cssText: rule\n });\n }\n return index;\n },\n deleteRule: function(index) {\n _this._serverSheet.cssRules[index] = null;\n }\n };\n };\n _proto.getSheetForTag = function getSheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n }\n // this weirdness brought to you by firefox\n for(var i = 0; i < document.styleSheets.length; i++){\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n }\n };\n _proto.getSheet = function getSheet() {\n return this.getSheetForTag(this._tags[this._tags.length - 1]);\n };\n _proto.insertRule = function insertRule(rule, index) {\n invariant$1(isString(rule), \"`insertRule` accepts only strings\");\n if (typeof window === \"undefined\") {\n if (typeof index !== \"number\") {\n index = this._serverSheet.cssRules.length;\n }\n this._serverSheet.insertRule(rule, index);\n return this._rulesCount++;\n }\n if (this._optimizeForSpeed) {\n var sheet = this.getSheet();\n if (typeof index !== \"number\") {\n index = sheet.cssRules.length;\n }\n // this weirdness for perf, and chrome's weird bug\n // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule\n try {\n sheet.insertRule(rule, index);\n } catch (error) {\n if (!isProd) {\n console.warn(\"StyleSheet: illegal rule: \\n\\n\" + rule + \"\\n\\nSee https://stackoverflow.com/q/20007992 for more info\");\n }\n return -1;\n }\n } else {\n var insertionPoint = this._tags[index];\n this._tags.push(this.makeStyleTag(this._name, rule, insertionPoint));\n }\n return this._rulesCount++;\n };\n _proto.replaceRule = function replaceRule(index, rule) {\n if (this._optimizeForSpeed || typeof window === \"undefined\") {\n var sheet = typeof window !== \"undefined\" ? this.getSheet() : this._serverSheet;\n if (!rule.trim()) {\n rule = this._deletedRulePlaceholder;\n }\n if (!sheet.cssRules[index]) {\n // @TBD Should we throw an error?\n return index;\n }\n sheet.deleteRule(index);\n try {\n sheet.insertRule(rule, index);\n } catch (error) {\n if (!isProd) {\n console.warn(\"StyleSheet: illegal rule: \\n\\n\" + rule + \"\\n\\nSee https://stackoverflow.com/q/20007992 for more info\");\n }\n // In order to preserve the indices we insert a deleteRulePlaceholder\n sheet.insertRule(this._deletedRulePlaceholder, index);\n }\n } else {\n var tag = this._tags[index];\n invariant$1(tag, \"old rule at index `\" + index + \"` not found\");\n tag.textContent = rule;\n }\n return index;\n };\n _proto.deleteRule = function deleteRule(index) {\n if (typeof window === \"undefined\") {\n this._serverSheet.deleteRule(index);\n return;\n }\n if (this._optimizeForSpeed) {\n this.replaceRule(index, \"\");\n } else {\n var tag = this._tags[index];\n invariant$1(tag, \"rule at index `\" + index + \"` not found\");\n tag.parentNode.removeChild(tag);\n this._tags[index] = null;\n }\n };\n _proto.flush = function flush() {\n this._injected = false;\n this._rulesCount = 0;\n if (typeof window !== \"undefined\") {\n this._tags.forEach(function(tag) {\n return tag && tag.parentNode.removeChild(tag);\n });\n this._tags = [];\n } else {\n // simpler on server\n this._serverSheet.cssRules = [];\n }\n };\n _proto.cssRules = function cssRules() {\n var _this = this;\n if (typeof window === \"undefined\") {\n return this._serverSheet.cssRules;\n }\n return this._tags.reduce(function(rules, tag) {\n if (tag) {\n rules = rules.concat(Array.prototype.map.call(_this.getSheetForTag(tag).cssRules, function(rule) {\n return rule.cssText === _this._deletedRulePlaceholder ? null : rule;\n }));\n } else {\n rules.push(null);\n }\n return rules;\n }, []);\n };\n _proto.makeStyleTag = function makeStyleTag(name, cssString, relativeToTag) {\n if (cssString) {\n invariant$1(isString(cssString), \"makeStyleTag accepts only strings as second parameter\");\n }\n var tag = document.createElement(\"style\");\n if (this._nonce) tag.setAttribute(\"nonce\", this._nonce);\n tag.type = \"text/css\";\n tag.setAttribute(\"data-\" + name, \"\");\n if (cssString) {\n tag.appendChild(document.createTextNode(cssString));\n }\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n if (relativeToTag) {\n head.insertBefore(tag, relativeToTag);\n } else {\n head.appendChild(tag);\n }\n return tag;\n };\n _createClass(StyleSheet, [\n {\n key: \"length\",\n get: function get() {\n return this._rulesCount;\n }\n }\n ]);\n return StyleSheet;\n}();\nfunction invariant$1(condition, message) {\n if (!condition) {\n throw new Error(\"StyleSheet: \" + message + \".\");\n }\n}\n\nfunction hash(str) {\n var _$hash = 5381, i = str.length;\n while(i){\n _$hash = _$hash * 33 ^ str.charCodeAt(--i);\n }\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */ return _$hash >>> 0;\n}\nvar stringHash = hash;\n\nvar sanitize = function(rule) {\n return rule.replace(/\\/style/gi, \"\\\\/style\");\n};\nvar cache = {};\n/**\n * computeId\n *\n * Compute and memoize a jsx id from a basedId and optionally props.\n */ function computeId(baseId, props) {\n if (!props) {\n return \"jsx-\" + baseId;\n }\n var propsToString = String(props);\n var key = baseId + propsToString;\n if (!cache[key]) {\n cache[key] = \"jsx-\" + stringHash(baseId + \"-\" + propsToString);\n }\n return cache[key];\n}\n/**\n * computeSelector\n *\n * Compute and memoize dynamic selectors.\n */ function computeSelector(id, css) {\n var selectoPlaceholderRegexp = /__jsx-style-dynamic-selector/g;\n // Sanitize SSR-ed CSS.\n // Client side code doesn't need to be sanitized since we use\n // document.createTextNode (dev) and the CSSOM api sheet.insertRule (prod).\n if (typeof window === \"undefined\") {\n css = sanitize(css);\n }\n var idcss = id + css;\n if (!cache[idcss]) {\n cache[idcss] = css.replace(selectoPlaceholderRegexp, id);\n }\n return cache[idcss];\n}\n\nfunction mapRulesToStyle(cssRules, options) {\n if (options === void 0) options = {};\n return cssRules.map(function(args) {\n var id = args[0];\n var css = args[1];\n return /*#__PURE__*/ React__default[\"default\"].createElement(\"style\", {\n id: \"__\" + id,\n // Avoid warnings upon render with a key\n key: \"__\" + id,\n nonce: options.nonce ? options.nonce : undefined,\n dangerouslySetInnerHTML: {\n __html: css\n }\n });\n });\n}\nvar StyleSheetRegistry = /*#__PURE__*/ function() {\n function StyleSheetRegistry(param) {\n var ref = param === void 0 ? {} : param, _styleSheet = ref.styleSheet, styleSheet = _styleSheet === void 0 ? null : _styleSheet, _optimizeForSpeed = ref.optimizeForSpeed, optimizeForSpeed = _optimizeForSpeed === void 0 ? false : _optimizeForSpeed;\n this._sheet = styleSheet || new StyleSheet({\n name: \"styled-jsx\",\n optimizeForSpeed: optimizeForSpeed\n });\n this._sheet.inject();\n if (styleSheet && typeof optimizeForSpeed === \"boolean\") {\n this._sheet.setOptimizeForSpeed(optimizeForSpeed);\n this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();\n }\n this._fromServer = undefined;\n this._indices = {};\n this._instancesCounts = {};\n }\n var _proto = StyleSheetRegistry.prototype;\n _proto.add = function add(props) {\n var _this = this;\n if (undefined === this._optimizeForSpeed) {\n this._optimizeForSpeed = Array.isArray(props.children);\n this._sheet.setOptimizeForSpeed(this._optimizeForSpeed);\n this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();\n }\n if (typeof window !== \"undefined\" && !this._fromServer) {\n this._fromServer = this.selectFromServer();\n this._instancesCounts = Object.keys(this._fromServer).reduce(function(acc, tagName) {\n acc[tagName] = 0;\n return acc;\n }, {});\n }\n var ref = this.getIdAndRules(props), styleId = ref.styleId, rules = ref.rules;\n // Deduping: just increase the instances count.\n if (styleId in this._instancesCounts) {\n this._instancesCounts[styleId] += 1;\n return;\n }\n var indices = rules.map(function(rule) {\n return _this._sheet.insertRule(rule);\n })// Filter out invalid rules\n .filter(function(index) {\n return index !== -1;\n });\n this._indices[styleId] = indices;\n this._instancesCounts[styleId] = 1;\n };\n _proto.remove = function remove(props) {\n var _this = this;\n var styleId = this.getIdAndRules(props).styleId;\n invariant(styleId in this._instancesCounts, \"styleId: `\" + styleId + \"` not found\");\n this._instancesCounts[styleId] -= 1;\n if (this._instancesCounts[styleId] < 1) {\n var tagFromServer = this._fromServer && this._fromServer[styleId];\n if (tagFromServer) {\n tagFromServer.parentNode.removeChild(tagFromServer);\n delete this._fromServer[styleId];\n } else {\n this._indices[styleId].forEach(function(index) {\n return _this._sheet.deleteRule(index);\n });\n delete this._indices[styleId];\n }\n delete this._instancesCounts[styleId];\n }\n };\n _proto.update = function update(props, nextProps) {\n this.add(nextProps);\n this.remove(props);\n };\n _proto.flush = function flush() {\n this._sheet.flush();\n this._sheet.inject();\n this._fromServer = undefined;\n this._indices = {};\n this._instancesCounts = {};\n };\n _proto.cssRules = function cssRules() {\n var _this = this;\n var fromServer = this._fromServer ? Object.keys(this._fromServer).map(function(styleId) {\n return [\n styleId,\n _this._fromServer[styleId]\n ];\n }) : [];\n var cssRules1 = this._sheet.cssRules();\n return fromServer.concat(Object.keys(this._indices).map(function(styleId) {\n return [\n styleId,\n _this._indices[styleId].map(function(index) {\n return cssRules1[index].cssText;\n }).join(_this._optimizeForSpeed ? \"\" : \"\\n\")\n ];\n })// filter out empty rules\n .filter(function(rule) {\n return Boolean(rule[1]);\n }));\n };\n _proto.styles = function styles(options) {\n return mapRulesToStyle(this.cssRules(), options);\n };\n _proto.getIdAndRules = function getIdAndRules(props) {\n var css = props.children, dynamic = props.dynamic, id = props.id;\n if (dynamic) {\n var styleId = computeId(id, dynamic);\n return {\n styleId: styleId,\n rules: Array.isArray(css) ? css.map(function(rule) {\n return computeSelector(styleId, rule);\n }) : [\n computeSelector(styleId, css)\n ]\n };\n }\n return {\n styleId: computeId(id),\n rules: Array.isArray(css) ? css : [\n css\n ]\n };\n };\n /**\n * selectFromServer\n *\n * Collects style tags from the document with id __jsx-XXX\n */ _proto.selectFromServer = function selectFromServer() {\n var elements = Array.prototype.slice.call(document.querySelectorAll('[id^=\"__jsx-\"]'));\n return elements.reduce(function(acc, element) {\n var id = element.id.slice(2);\n acc[id] = element;\n return acc;\n }, {});\n };\n return StyleSheetRegistry;\n}();\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(\"StyleSheetRegistry: \" + message + \".\");\n }\n}\nvar StyleSheetContext = /*#__PURE__*/ React.createContext(null);\nStyleSheetContext.displayName = \"StyleSheetContext\";\nfunction createStyleRegistry() {\n return new StyleSheetRegistry();\n}\nfunction StyleRegistry(param) {\n var configuredRegistry = param.registry, children = param.children;\n var rootRegistry = React.useContext(StyleSheetContext);\n var ref = React.useState(function() {\n return rootRegistry || configuredRegistry || createStyleRegistry();\n }), registry = ref[0];\n return /*#__PURE__*/ React__default[\"default\"].createElement(StyleSheetContext.Provider, {\n value: registry\n }, children);\n}\nfunction useStyleRegistry() {\n return React.useContext(StyleSheetContext);\n}\n\n// Opt-into the new `useInsertionEffect` API in React 18, fallback to `useLayoutEffect`.\n// https://github.com/reactwg/react-18/discussions/110\nvar useInsertionEffect = React__default[\"default\"].useInsertionEffect || React__default[\"default\"].useLayoutEffect;\nvar defaultRegistry = typeof window !== \"undefined\" ? createStyleRegistry() : undefined;\nfunction JSXStyle(props) {\n var registry = defaultRegistry ? defaultRegistry : useStyleRegistry();\n // If `registry` does not exist, we do nothing here.\n if (!registry) {\n return null;\n }\n if (typeof window === \"undefined\") {\n registry.add(props);\n return null;\n }\n useInsertionEffect(function() {\n registry.add(props);\n return function() {\n registry.remove(props);\n };\n // props.children can be string[], will be striped since id is identical\n }, [\n props.id,\n String(props.dynamic)\n ]);\n return null;\n}JSXStyle.dynamic = function(info) {\n return info.map(function(tagInfo) {\n var baseId = tagInfo[0];\n var props = tagInfo[1];\n return computeId(baseId, props);\n }).join(\" \");\n};\n\nexports.StyleRegistry = StyleRegistry;\nexports.createStyleRegistry = createStyleRegistry;\nexports.style = JSXStyle;\nexports.useStyleRegistry = useStyleRegistry;\n","module.exports = require('./dist/index').style\n","const { DOMAIN } = require('../constants/DOMAIN');\nconst { updateFromLsConfig } = require('./updateFromLsConfig');\nconst apiUrl = process.env.API_URL || `https://${DOMAIN}/api`;\n\nconst apiConfig = updateFromLsConfig({\n\tapiUrl,\n\tsportsUrl: process.env.SPORTS_URL || apiUrl,\n\tautobetUrl: process.env.AUTOBET_URL || apiUrl,\n\tslotsUrl: process.env.SLOTS_URL || apiUrl,\n\tdiceUrl: process.env.DICE_URL || apiUrl,\n\tcmsUrl: process.env.CMS_URL,\n\tsportsIframeUrl: process.env.SPORTS_IFRAME_URL || `https://sports.${DOMAIN}`,\n\tpayUrl: process.env.PAY_URL || apiUrl,\n});\n\nmodule.exports = {\n\tapiConfig,\n};\n","const { apiConfig } = require('./api.config');\n\nconst apiServerConfig = {\n\tapiUrl: process.env.API_SERVER_URL || apiConfig.apiUrl,\n\tsportsUrl: process.env.SPORTS_SERVER_URL || apiConfig.sportsUrl,\n\tslotsUrl: process.env.SLOTS_SERVER_URL || apiConfig.slotsUrl,\n\tcmsUrl: process.env.CMS_SERVER_URL || apiConfig.cmsUrl,\n};\n\nmodule.exports = {\n\tapiServerConfig,\n};\n","const { updateFromLsConfig } = require('./updateFromLsConfig');\nconst { serverConfig } = require('./server.config');\nconst cookieConfig = updateFromLsConfig({\n\thttpOnly: false,\n\tsecure: !serverConfig.isLocal,\n\tsameSite: serverConfig.isLocal ? null : 'lax',\n});\n\nmodule.exports = {\n\tcookieConfig,\n};\n","const languageConfig = {\n\tdefault: 'en',\n\tavailable: [\n\t\t{\n\t\t\tid: 'en',\n\t\t\tname: 'english',\n\t\t},\n\t\t{\n\t\t\tid: 'ru',\n\t\t\tname: 'pусский',\n\t\t},\n\t\t{\n\t\t\tid: 'ph',\n\t\t\tname: 'filipino',\n\t\t},\n\t\t{\n\t\t\tid: 'id',\n\t\t\tname: 'Indonesia',\n\t\t},\n\t\t{\n\t\t\tid: 'jp',\n\t\t\tname: '日本の',\n\t\t},\n\t\t{\n\t\t\tid: 'es',\n\t\t\tname: 'Español',\n\t\t},\n\t\t{\n\t\t\tid: 'pt',\n\t\t\tname: 'Português',\n\t\t},\n\t\t{\n\t\t\tid: 'de',\n\t\t\tname: 'Deutsch',\n\t\t},\n\t\t{\n\t\t\tid: 'fr',\n\t\t\tname: 'Français',\n\t\t},\n\t\t{\n\t\t\tid: 'tr',\n\t\t\tname: 'Türk',\n\t\t},\n\t\t{\n\t\t\tid: 'hi',\n\t\t\tname: 'हिंदू',\n\t\t},\n\t],\n\tdisabled: [\n\t\t{\n\t\t\tid: 'ar',\n\t\t\tname: 'अरबी',\n\t\t},\n\t\t{\n\t\t\tid: 'pl',\n\t\t\tname: 'Polski',\n\t\t},\n\t],\n};\n\nmodule.exports = {\n\tlanguageConfig,\n};\n","const serverConfig = {\n\tappPort: process.env.APP_PORT || process.env.PORT,\n\tapiKey: process.env.API_KEY,\n\tcmsKey: process.env.CMS_KEY,\n\tenvironment: process.env.NODE_ENV,\n\tdisableAccessLock: process.env.DISABLE_ACCESS_LOCK,\n\tisProduction:\n\t\tprocess.env.APP_ENV !== 'development' &&\n\t\tprocess.env.NODE_ENV !== 'development',\n\tisLocal:\n\t\tprocess.env.APP_ENV === 'development' &&\n\t\tprocess.env.NODE_ENV === 'development',\n\tisStaging:\n\t\tprocess.env.APP_ENV === 'development' &&\n\t\tprocess.env.NODE_ENV !== 'development',\n\tenableRateLimiter: process.env.ENABLE_RATE_LIMITER,\n\tnoCacheService: process.env.NO_CACHE_SERVICE,\n\tredis: process.env.NO_CACHE_SERVICE\n\t\t? null\n\t\t: {\n\t\t\t\tport: process.env.REDIS_PORT,\n\t\t\t\thost: process.env.REDIS_HOST,\n\t\t\t\tpassword: process.env.REDIS_PASSWORD,\n\t\t },\n\tstorageBucketId: {\n\t\tstaticFiles: process.env.BUCKET_ID,\n\t},\n\tnewRelic: {\n\t\tappName: process.env.NEW_RELIC_APP_NAME,\n\t},\n\tenableValidateAppUrlMiddleware:\n\t\tprocess.env.ENABLE_VALIDATE_APP_URL_MIDDLEWARE,\n};\n\nmodule.exports = {\n\tserverConfig,\n};\n","const { DOMAIN } = require('../constants/DOMAIN');\nconst { updateFromLsConfig } = require('./updateFromLsConfig');\n\nconst servicesConfig = updateFromLsConfig({\n\tsocketHost: process.env.SOCKET_HOST,\n\tsocketPort: process.env.SOCKET_PORT,\n\tpusherId: process.env.PUSHER_ID,\n\t// hCaptchaKey: process.env.API_URL.indexOf(`https://${DOMAIN}`) > -1 ? '589fb50c-c399-47e6-b917-895e3096943f' : '25197566-0097-4ee4-8732-4fc955007eb7',\n\tcaptchaSiteKey:\n\t\tprocess.env.API_URL && process.env.API_URL.indexOf(`https://${DOMAIN}`) > -1\n\t\t\t? '6Lfm6dEUAAAAACvu9PAbATy8FMTe9Tr2a7wG3mkQ'\n\t\t\t: '6LfaFNIUAAAAAJjjrrpTcjdJezfBKwztb9F4BQ9N',\n\tcaptchaSiteKeyV2:\n\t\tprocess.env.API_URL && process.env.API_URL.indexOf(`https://${DOMAIN}`) > -1\n\t\t\t? '6LdDf9MUAAAAADih1UuozSe_lvsCusJu7u1JYH5R'\n\t\t\t: '6LdxOI4UAAAAALIYb4FpNtU1OqgGFdCmem6ohlj8',\n\tlicenseId: 'apg-10281cf8-35d4-4f92-926f-7573b336f155',\n\tsentryDns: {\n\t\tserver: 'https://cdc3a73d540140d88c6056f30e6d4276@sentry.io/2961146',\n\t\tclient:\n\t\t\t'https://101d822f06c14ec6b650593462b50ec8@o271445.ingest.sentry.io/6699233',\n\t},\n\treleaseVersion: process.env.RELEASE_VERSION,\n});\n\nmodule.exports = {\n\tservicesConfig,\n};\n","const socialConfig = {\n\ttwitter: 'https://x.com/wolfdotbet',\n\tfacebook: 'https://facebook.com/wolfdotbet',\n\ttelegram: 'https://t.me/wolfdotbet',\n\tbitcointalk: 'https://bitcointalk.org/index.php?topic=5167730.0',\n\tinstagram: 'https://www.instagram.com/wolfdotbet',\n\tdiscord: 'https://discord.gg/QPZ8e3zWT4'\n};\n\nmodule.exports = {\n\tsocialConfig,\n};\n","const updateFromLsConfig = (config) => {\n\tif (process.browser && !process.env.PRODUCTION) {\n\t\tconst keys = Object.keys(config);\n\t\tconst lsData = {};\n\t\tconst fromServerConfig = { ...config };\n\n\t\tkeys.forEach(key => {\n\t\t\tlsData[key] = process.browser ? window.localStorage[key] : null;\n\t\t\tif (lsData[key]) {\n\t\t\t\tconfig[key] = lsData[key];\n\t\t\t}\n\t\t});\n\n\t\tconsole.log('updateFromLsConfig', keys, {\n\t\t\tlsData,\n\t\t\tconfig,\n\t\t\tfromServerConfig,\n\t\t});\n\t}\n\n\treturn config;\n};\n\nmodule.exports = {\n\tupdateFromLsConfig,\n};\n","const DOMAIN = 'wolfbet.com';\n\nmodule.exports = {\n\tDOMAIN,\n};\n","export const testMenuConfig = {\n\ttestGTM: false,\n\ttestGame: false,\n\ttestDeposits: false,\n\ttestAlerts: false,\n\ttestSentry: false,\n\ttestDispatch: false,\n};\n","import { Component, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\n\nexport const enhanceForwardRef = (Child) => {\n\tclass ForwardRef extends Component {\n\t\tstatic propTypes = {\n\t\t\tforwardedRef: PropTypes.any,\n\t\t};\n\n\t\trender() {\n\t\t\tconst { forwardedRef, ...rest } = this.props;\n\n\t\t\t// Assign the custom prop \"forwardedRef\" as a ref\n\t\t\treturn <Child ref={forwardedRef} {...rest} />;\n\t\t}\n\t}\n\n\t// Note the second param \"ref\" provided by React.forwardRef.\n\t// We can pass it along to LogProps as a regular prop, e.g. \"forwardedRef\"\n\t// And it can then be attached to the Component.\n\treturn forwardRef((props, ref) => {\n\t\treturn <ForwardRef {...props} forwardedRef={ref} />;\n\t});\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport classnames from 'classnames';\nimport { Loader } from '../loader/loader';\nimport { Tooltip } from '../tooltip';\nimport { enhanceForwardRef } from '../../wrappers/ehanceForwardRef';\nimport { ButtonStyle } from './button.style';\n\nclass Button extends React.PureComponent {\n\tstatic propTypes = {\n\t\tname: PropTypes.string.isRequired,\n\t\ttype: PropTypes.string,\n\t\tclassName: PropTypes.string,\n\t\tstyle: PropTypes.object,\n\t\tloader: PropTypes.bool,\n\t\tchildren: PropTypes.any,\n\t\tloadingId: PropTypes.string,\n\t\tloadingMessage: PropTypes.any,\n\t\tloadingActive: PropTypes.bool,\n\t\tdebounce: PropTypes.any,\n\t\tdisabled: PropTypes.bool,\n\t\tnoClassName: PropTypes.bool,\n\t\tnoButtonClass: PropTypes.bool,\n\t\tonClick: PropTypes.func,\n\t\ttooltip: PropTypes.any,\n\t\tlocalTheme: PropTypes.any,\n\t};\n\n\tcomponentWillUnmount() {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t}\n\t}\n\n\tonClick = (e) => {\n\t\tif (!this.props.onClick) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.props.loader) {\n\t\t\treturn;\n\t\t}\n\t\tconsole.log('button_onclick', this.props.name, e);\n\t\tthis.props.onClick(e);\n\t\te.stopPropagation();\n\t};\n\n\trender() {\n\t\t// console.log('Button.jsx', this.props.name, this.props.className, {...this.props});\n\t\tconst button = (\n\t\t\t<ButtonStyle\n\t\t\t\tlocalTheme={this.props.localTheme}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tname={this.props.name}\n\t\t\t\taria-label={this.props.name}\n\t\t\t\tnoClasses={this.props.noClassName}\n\t\t\t\tnoButtonClass={this.props.noButtonClass}\n\t\t\t\ttype={this.props.type || 'button'}\n\t\t\t\tstyle={this.props.style || {}}\n\t\t\t\tdata-class={`button-${this.props.className}`}\n\t\t\t\tclassName={classnames(this.props.className, {\n\t\t\t\t\tactive: this.props?.localTheme?.active,\n\t\t\t\t\tbutton: !(this.props.noClassName || this.props.noButtonClass),\n\t\t\t\t})}\n\t\t\t\tonClick={this.onClick}\n\t\t\t>\n\t\t\t\t{this.props.loadingId || this.props.loadingActive !== undefined ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<Loader\n\t\t\t\t\t\t\tactive={this.props.loadingActive}\n\t\t\t\t\t\t\tmessage={this.props.loadingMessage}\n\t\t\t\t\t\t\tmodule={this.props.loadingId}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>{this.props.children}</span>\n\t\t\t\t\t</Fragment>\n\t\t\t\t) : this.props.localTheme && this.props.localTheme.submit ? (\n\t\t\t\t\t<span>{this.props.children}</span>\n\t\t\t\t) : (\n\t\t\t\t\tthis.props.children\n\t\t\t\t)}\n\t\t\t</ButtonStyle>\n\t\t);\n\t\treturn this.props.tooltip ? (\n\t\t\t<Tooltip content={this.props.tooltip}>{button}</Tooltip>\n\t\t) : (\n\t\t\tbutton\n\t\t);\n\t}\n}\n\nButton = enhanceForwardRef(Button);\n\nconst mapStateToProps = (state, props) => ({\n\tloader: state.loader.modules[props.loadingId],\n});\n\nButton = connect(mapStateToProps, null, null, { forwardRef: true })(Button);\n\nexport { Button };\n","import styled, { css } from 'styled-components';\nimport { darken } from 'polished';\nimport { button } from '../../modules/style/mixins/button';\nimport { buttonSubmit } from '../../modules/style/mixins/buttonSubmit';\n\nconst getColorByType = (theme, props) => {\n\tif (theme && theme[0] === '#') {\n\t\treturn theme;\n\t}\n\tif (['clear', 'border'].indexOf(theme) > -1) {\n\t\treturn 'transparent';\n\t}\n\tif (theme === 'input') {\n\t\ttheme = 'inputBackgroundSolid';\n\t}\n\tif (theme === 'info') {\n\t\ttheme = 'inputBackgroundActive';\n\t}\n\treturn props.theme.colors[theme] || props.theme.colors.inputButton;\n};\n\nexport const buttonStyle = (props) => css`\n\t${props.noClasses\n\t\t? ''\n\t\t: button(getColorByType(props.localTheme?.type, props))}\n\t${props.localTheme && props.localTheme.type === 'border'\n\t\t? css`\n\t\t\t\tborder: 1px solid;\n\t\t `\n\t\t: ''}\n ${props.localTheme && props.localTheme.toLeft\n\t\t? css`\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-top: 10px;\n\t\t `\n\t\t: ''}\n ${props.localTheme && props.localTheme.toRight\n\t\t? css`\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-top: 10px;\n\t\t `\n\t\t: ''}\n ${props.localTheme && props.localTheme.active\n\t\t? css`\n\t\t\t\tcolor: ${props.theme.colors.active}!important;\n\t\t `\n\t\t: ''}\n ${props.localTheme && props.localTheme.submit\n\t\t? css`\n\t\t\t\t${buttonSubmit(\n\t\t\t\t\tprops.localTheme.submit === true\n\t\t\t\t\t\t? props.theme.colors.positive\n\t\t\t\t\t\t: getColorByType(props.localTheme.submit, props),\n\t\t\t\t)};\n\n\t\t\t\t@media (min-width: ${props.theme.media.minWidthDesktop}) {\n\t\t\t\t\twidth: auto;\n\t\t\t\t}\n\n\t\t\t\t@media (max-width: ${props.theme.media.maxWidthMobile}) {\n\t\t\t\t\tpadding: 10px 15px;\n\t\t\t\t}\n\t\t `\n\t\t: ''};\n\n\t${props.localTheme && props.localTheme.type === 'disabled'\n\t\t? css`\n\t\t\t\tbackground-color: ${darken(0.2, props.theme.colors.inputButton)};\n\t\t\t\tcolor: var(--color-white-white-50);\n\t\t `\n\t\t: ''}\n\t${props.localTheme && props.localTheme.small\n\t\t? css`\n\t\t\t\tpadding-left: 15px !important;\n\t\t\t\tpadding-right: 15px !important;\n\t\t `\n\t\t: ''}\n`;\n\nexport const ButtonStyle = styled.button`\n\t${buttonStyle}\n`;\n","import { css } from 'styled-components';\nimport { darken } from 'polished';\nimport { theme } from '../theme';\nimport { fontSize } from './fontSize';\n\nexport const buttonSubmit = (color: string) => {\n\treturn css`\n\t\t${fontSize({\n\t\t\tsizeDiff: 4,\n\t\t\tsizeDesktopDiff: 4,\n\t\t\tsizeBigScreenDiff: 4,\n\t\t\timportant: true,\n\t\t})};\n\t\talign-items: center;\n\t\tbackground-color: ${color};\n\t\tborder-radius: ${(props) => props.theme.layout.borderRadius};\n\t\tdisplay: flex;\n\t\theight: unset !important;\n\t\tjustify-content: center;\n\t\tmargin: 0;\n\t\toverflow: hidden;\n\t\tpadding: 15px 20px;\n\t\tposition: relative;\n\t\ttext-align: center;\n\t\twidth: 100%;\n\n\t\t.loader--active {\n\t\t\tposition: absolute;\n\n\t\t\ti,\n\t\t\tsvg {\n\t\t\t\tz-index: 2;\n\t\t\t}\n\t\t}\n\n\t\t&:disabled,\n\t\t&.button-disabled {\n\t\t\t&:before {\n\t\t\t\tbackground: ${darken(0.07, color)};\n\t\t\t}\n\n\t\t\tbackground-color: ${darken(0.1, color)};\n\t\t\tcolor: #dbdbdb;\n\t\t}\n\n\t\t@media (max-width: ${theme.media.maxWidthDesktop}) {\n\t\t\tpadding: 10px 15px;\n\t\t}\n\t`;\n};\n","import { css } from 'styled-components';\nimport { darken } from 'polished';\nimport { theme } from '../theme';\nimport { fontSize } from './fontSize';\n\nexport const button = (color: string = theme.colors.inputButton) => {\n\treturn css`\n\t\t${fontSize({ sizeBigScreen: theme.text.size.desktop })}\n\t\tbackground-color: ${color};\n\t\tborder: 1px solid transparent;\n\t\tborder-radius: ${theme.layout.borderRadius};\n\t\tcolor: ${theme.colors.text};\n\t\tcursor: pointer;\n\t\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t\tfont-weight: ${theme.text.weight.medium};\n\t\tline-height: 1;\n\t\tmargin: 0 5px;\n\t\tpadding: 10px 18px;\n\t\tposition: relative;\n\t\ttouch-action: manipulation;\n\t\ttransition: ${theme.layout.transition};\n\n\t\t.right-logo {\n\t\t\tposition: absolute;\n\t\t\tright: 20px;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&:disabled {\n\t\t\tbackground-color: ${darken(0.2, color)};\n\t\t\tcursor: default;\n\t\t}\n\n\t\t@media (min-width: ${theme.media.minWidthDesktop}) {\n\t\t\tborder-radius: ${theme.layout.borderRadius};\n\t\t}\n\n\t\t@media (max-width: ${theme.media.maxWidthSmallTablet}) {\n\t\t\tpadding: 7px 10px;\n\t\t}\n\n\t\t& > div > span {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: center;\n\t\t}\n\t`;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\n\nclass ClickOutsideWrapper extends React.PureComponent {\n\tstatic propTypes = {\n\t\tchildren: PropTypes.any,\n\t\tonClickOutside: PropTypes.func.isRequired,\n\t};\n\n\thandleClickOutside(event) {\n\t\tthis.props.onClickOutside(event);\n\t}\n\n\trender() {\n\t\treturn <>{this.props.children}</>;\n\t}\n}\n\nClickOutsideWrapper = enhanceComponent({\n\tClickOutsideWrapper,\n\tprops: {\n\t\tclickOutside: true,\n\t},\n});\n\nexport { ClickOutsideWrapper };\n","import { FC } from 'react';\nimport { mapApiCurrencyToLayoutCurrency } from '@common/controllers/currency/currenciesSettings';\nimport {\n\tCurrencyTokenType,\n\tCurrencyType,\n} from '../../../types/wallet/CurrencyType';\nimport { TokenSymbol } from './tokenSymbol';\n\nexport const CurrencySymbol: FC<{\n\tcurrency: CurrencyType | CurrencyTokenType;\n\tclasses?: string;\n}> = ({ currency, classes }) => {\n\tif (!currency) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<TokenSymbol\n\t\t\tclasses={classes}\n\t\t\ttoken={mapApiCurrencyToLayoutCurrency(currency)}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport Icon from '@common/components/icons/Icon';\nimport {\n\tCurrencyNetworkType,\n\tCurrencyTokenType,\n\tCurrencyType,\n} from '@legacyApp/types/wallet/CurrencyType';\nimport { mapApiTokenToLayoutToken } from '@common/controllers/currency/currenciesSettings';\n\nimport styles from '@legacyApp/client/components/currencySymbol/tokenSymbol.module.scss';\n\nexport const TokenSymbol: FC<{\n\ttoken: CurrencyType | CurrencyTokenType | CurrencyNetworkType;\n\tclasses?: string;\n\tstylesForWrapper?: Record<string, string | number>;\n}> = ({ token, classes, stylesForWrapper }) => {\n\tif (!token) {\n\t\treturn null;\n\t}\n\n\tconst token_ = mapApiTokenToLayoutToken(token);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`currency-logo ${styles.currencyLogo}`}\n\t\t\tdata-token={token_}\n\t\t\tstyle={stylesForWrapper}\n\t\t>\n\t\t\t<Icon\n\t\t\t\tdata-name={token_}\n\t\t\t\tclassName={classes}\n\t\t\t\tid={`currencies/${token_}`}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport const CSSClassNameCurrencyLogo = 'currency-logo';\n","import styled from 'styled-components';\nimport classnames from 'classnames';\nimport { NOTIFICATION_ICON_CLASS_NAME } from '../../notificationIcon/NotificationIcon';\n\ninterface DropdownElementStyledProps {\n\tdisabled?: boolean;\n}\n\nexport const DropdownElementStyled = styled.a.attrs<DropdownElementStyledProps>(\n\t(props) => ({\n\t\tclassName: classnames(\n\t\t\t'dropdown-menu__element text-style-sm-regular',\n\t\t\tprops.className,\n\t\t),\n\t}),\n)<DropdownElementStyledProps>`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding: 5px 10px;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: background 0.15s linear;\n\twhite-space: nowrap;\n\t${(props) => (props.disabled ? 'opacity: 0.6;' : '')}\n\n\t> button {\n\t\tmax-width: 50vw;\n\n\t\t.relative {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\timg {\n\t\t\theight: 30px;\n\t\t\twidth: 30px;\n\t\t\tmargin-right: 10px;\n\t\t}\n\n\t\tspan {\n\t\t\tmax-width: inherit;\n\t\t\tdisplay: inline-block;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t.${NOTIFICATION_ICON_CLASS_NAME} {\n\t\t\ttop: 0 !important;\n\t\t\tright: unset !important;\n\t\t\tleft: 3px !important;\n\t\t}\n\t}\n\n\t.dropdown-menu__element {\n\t\t&:first-child {\n\t\t\tborder-radius: 5px 5px 0 0;\n\t\t}\n\n\t\t&:last-child {\n\t\t\tborder-radius: 0 0 5px 5px;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: ${(props) => props.theme.colors.dropdownSelectBlue};\n\t\t}\n\n\t\t&_gray {\n\t\t\tcolor: #5390eb;\n\t\t}\n\n\t\t&_top-line {\n\t\t\tborder-top: 1px rgba(255, 255, 255, 0.2) solid;\n\t\t}\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthDesktop}) {\n\t\t\tpadding: 3px 7px;\n\n\t\t\t> button {\n\t\t\t\timg {\n\t\t\t\t\tmargin-right: 7px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n","import styled, { css } from 'styled-components';\n\nexport const StyledDropdownMenu = styled.div.attrs(() => ({\n\tclassName: 'dropdown-menu overflow-scrollbar--vertical',\n}))`\n\tposition: fixed;\n\tborder-radius: 8px;\n\topacity: ${(props) => (props.visible ? '1' : '0')};\n\toverflow: hidden;\n\tvisibility: ${(props) => (props.visible ? 'visible' : 'hidden')};\n\ttransition: visibility 0.2s linear, opacity 0.2s linear;\n\tpointer-events: ${(props) => (props.visible ? 'auto' : 'none')};\n\toverflow-y: auto;\n\tbackground-color: var(--color-dark-700);\n\tcolor: ${(props) => props.theme.colors.text};\n\tz-index: 9999999; // 7\n\tmin-width: 150px;\n\t${(props) =>\n\t\tprops.compact\n\t\t\t? css`\n\t\t\t\t\tmax-height: 250px !important;\n\n\t\t\t\t\t@media (max-width: ${props.theme.media.maxWidthTablet}) {\n\t\t\t\t\t\tmax-height: 230px !important;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''};\n\n\tnav {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&[data-id*='when-name'] {\n\t\t* {\n\t\t\ttext-transform: capitalize;\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthDesktop}) {\n\t\ttop: 55px; /*with stats bar was 75px*/\n\t}\n`;\n","import styled from 'styled-components';\nimport { boxNoHeight } from '../../modules/style/defaults';\n\nexport const InstallStyle = styled.div.attrs(() => ({\n\tclassName: 'install-box',\n}))`\n\t${boxNoHeight};\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tpadding-bottom: 10px;\n\tbackground-color: ${(props) => props.theme.colors.background};\n\n\t> div {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\tpadding-right: 10px;\n\t\t}\n\t}\n\n\tbutton {\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n`;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport { config } from '@legacyApp/client/config';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport Logo from '@public/img/wolf-icon.svg';\n\nimport { Button } from '@legacyApp/client/components/button';\nimport { InstallStyle } from '@legacyApp/client/components/install/install.style';\nimport { StyledHeaderLogo } from '@modules/header/HeaderLogo.styled';\n\nclass Install extends PureComponent {\n\tstatic propTypes = {\n\t\tallow: PropTypes.bool,\n\t\tcallback: PropTypes.any,\n\t};\n\n\trender() {\n\t\tif (!this.props.allow) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\t<InstallStyle>\n\t\t\t\t<div>\n\t\t\t\t\t<StyledHeaderLogo\n\t\t\t\t\t\tsrc={Logo}\n\t\t\t\t\t\talt={simpleTrans(\"Crypto Casino Wolfbet - Gambling games online\")}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\tlabel: 'Add {{appName}} to Home Screen',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tappName: config.appName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<Button name=\"install-pwa\" onClick={this.props.callback}>\n\t\t\t\t\t{trans({ label: 'Install' })}\n\t\t\t\t</Button>\n\t\t\t</InstallStyle>\n\t\t);\n\t}\n}\n\nInstall = enhanceComponent({\n\tInstall,\n});\n\nexport { Install };\n","import { connect } from 'react-redux';\nimport { Install } from './install';\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tallow: state.pwa.installActive && !state.pwa.mode,\n\t\tcallback: state.pwa.callback,\n\t};\n};\n\nconst InstallContainer = connect(mapStateToProps, null)(Install);\n\nexport default InstallContainer;\n","import { FC, useCallback, useEffect, useState } from 'react';\nimport { servicesConfig } from '@server/config/services.config';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { domPurifySanitize } from '@common/methods/domPurifySanitize';\nimport { initLicense } from '../../modules/app/vendorService';\nimport { onLoad } from '../../modules/app/appService';\nimport { isFeatureAvailable } from '../../modules/app/featureService';\nimport { useViewport } from '../../../hooks/render/useViewport';\nimport { config, FEATURES_TYPE } from '../../config';\n\nconst LICENCE_ID = servicesConfig.licenseId;\n\nconst License_: FC = () => {\n\tconst [element, save] = useState<string>(null);\n\n\tconst getLicenseElement = useCallback(() => {\n\t\t// console.log('initLicense', window[licenseId.split('-').join('_')]);\n\t\tif (window[LICENCE_ID.split('-').join('_')]) {\n\t\t\tif (window.location.host !== config.domain && NEXT_CONFIG.PRODUCTION) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (process.browser) {\n\t\t\t\t// @ts-expect-error invalid type\n\t\t\t\twindow?.[LICENCE_ID.split('-')?.join('_')]?.init();\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\t// console.log({element: document.getElementById(this.state.licenseId)});\n\t\t\t\tconst element = document.getElementById(LICENCE_ID);\n\t\t\t\tif (element) {\n\t\t\t\t\tsave(element.innerHTML);\n\t\t\t\t}\n\t\t\t}, 3000);\n\t\t}\n\t}, [save]);\n\n\tconst init = useCallback(() => {\n\t\tif (!isFeatureAvailable(FEATURES_TYPE.LICENSE)) {\n\t\t\treturn;\n\t\t}\n\t\tif (element) {\n\t\t\treturn;\n\t\t}\n\t\tinitLicense(() => {\n\t\t\tgetLicenseElement();\n\t\t});\n\t}, [element, getLicenseElement]);\n\n\tconst { active, ref } = useViewport({ rootMargin: '100px' });\n\n\tuseEffect(() => {\n\t\tif (active && !element) {\n\t\t\tonLoad(init);\n\t\t}\n\t}, [active, element, init]);\n\n\tif (!isFeatureAvailable(MODAL_ID.LICENSE)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName=\"license\"\n\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t__html: domPurifySanitize(element || ''),\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t);\n};\nexport const License = () => {\n\tif (!isFeatureAvailable(FEATURES_TYPE.LICENSE)) {\n\t\treturn null;\n\t}\n\treturn <License_ />;\n};\n","import styled, { css } from 'styled-components';\nimport { LoaderProps } from './loader';\n\nexport const StyledLoader = styled.span.attrs({\n\tclassName: 'loader',\n})<{\n\t$active?: boolean;\n\t$absolutePosition?: LoaderProps['absolutePosition'];\n\t$pointerEvents?: boolean;\n}>`\n\t${(props) =>\n\t\tprops.$active\n\t\t\t? css`\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tbackground: inherit;\n\t\t\t\t\tbackground-color: inherit;\n\t\t\t\t\tborder-radius: inherit;\n\t\t\t\t\tdisplay: flex !important;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tpointer-events: none;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t> div {\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tmargin-top: 10px;\n\n\t\t\t\t\t\tp {\n\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tsvg {\n\t\t\t\t\t\tanimation: rotation 0.7s linear infinite;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: 'display: none!important;'}\n\t${(props) => (props.$pointerEvents ? 'pointer-events: auto!important;' : '')}\n\n\t${(props) =>\n\t\tprops.$absolutePosition\n\t\t\t? css`\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 50%;\n\t\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t `\n\t\t\t: ''}\n`;\n\nexport const StyledLoaderContent = styled.div<{\n\t$loading: boolean;\n}>`\n\tposition: relative;\n\n\t* {\n\t\t* {\n\t\t\topacity: ${(props) => (props.$loading ? 0 : 1)};\n\t\t\ttransition: ${(props) => props.theme.layout.transition};\n\t\t}\n\t}\n\n\t${StyledLoader},\n\t${StyledLoader} * {\n\t\topacity: ${(props) => (props.$loading ? 1 : 0)};\n\t\tz-index: 1;\n\t}\n`;\n","import styled from 'styled-components';\n\nexport const StyledLoadingComponent = styled.div`\n\theight: 100%;\n\twidth: 100%;\n\n\t.loading-logo {\n\t\theight: 39px;\n\t\tmargin-top: 0;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t.loading-logo {\n\t\t\theight: 24px !important;\n\t\t}\n\n\t\tp {\n\t\t\tmargin: 0 0 5px;\n\t\t\tfont-size: 10px !important;\n\t\t}\n\n\t\tbutton {\n\t\t\tpadding: 5px 10px;\n\t\t\tfont-size: 10px !important;\n\t\t}\n\t}\n\n\t&[data-component*='.page'] {\n\t\tleft: 50%;\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\ttransform: translate(-50%, -50%);\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\tposition: fixed;\n\t\t}\n\t}\n\n\t&[data-component*='Modal'] {\n\t\tmargin-bottom: 50px;\n\t\tmin-height: 110px;\n\t}\n\n\t.chat-wrapper & {\n\t\t.loading-logo {\n\t\t\theight: 20px !important;\n\t\t}\n\n\t\tp {\n\t\t\tfont-size: 10px !important;\n\t\t\tmargin: 0 0 5px;\n\t\t}\n\n\t\tbutton {\n\t\t\tfont-size: 10px !important;\n\t\t\tpadding: 5px 10px;\n\t\t}\n\t}\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isFunction } from '@common/methods/isFunction';\nimport { Button } from '../../button';\nimport { enhanceComponent } from '../../../wrappers/enhanceComponent';\nimport { Loader } from '../loader';\nimport { LoadingLogo } from '../../loadingLogo/loading';\nimport { trans } from '../../../modules/translation/translate';\nimport { StyledLoadingComponent } from './LoadingComponent.styled';\n\nclass LoadingComponent extends React.PureComponent {\n\tstatic propTypes = {\n\t\tdata: PropTypes.any,\n\t\tid: PropTypes.any,\n\t\tgroup: PropTypes.any, // string, boolean\n\t\tloadingGroup: PropTypes.func,\n\t\tloadedGroup: PropTypes.func,\n\t\tsetGroupData: PropTypes.func,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t// console.log('loadingComponent', props.id, props.group);\n\t\tthis.toggleGroup(true, props);\n\t\tthis.interval = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setRetryInterval();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst isErrorChanged = this.props.data.error !== prevProps.data.error;\n\t\tconst isTimeoutChanged =\n\t\t\tthis.props.data.timedOut !== prevProps.data.timedOut;\n\t\tconst isRetryChanged = this.props.data.retry !== prevProps.data.retry;\n\n\t\tif (isErrorChanged && this.props.data.error) {\n\t\t\tconsole.error(this.props.data.error);\n\t\t}\n\n\t\tif (isRetryChanged) {\n\t\t\tthis.setRetryInterval();\n\t\t}\n\n\t\tif (\n\t\t\t(isErrorChanged || isTimeoutChanged || isRetryChanged) &&\n\t\t\tthis.props.group\n\t\t) {\n\t\t\tthis.props.setGroupData({\n\t\t\t\tgroup: this.props.group,\n\t\t\t\telement: this.props.id,\n\t\t\t\tdata: this.props.data,\n\t\t\t});\n\t\t}\n\t}\n\n\tsetRetryInterval() {\n\t\tif (isFunction(this.props?.data?.retry)) {\n\t\t\tif (this.interval) {\n\t\t\t\tclearInterval(this.interval);\n\t\t\t}\n\t\t\tthis.props.data.retry();\n\t\t\tthis.interval = setTimeout(() => {\n\t\t\t\tconsole.log('retry - update');\n\t\t\t\tif (isFunction(this.props?.data?.retry)) {\n\t\t\t\t\tthis.props.data.retry();\n\t\t\t\t}\n\t\t\t}, 5000);\n\t\t}\n\t}\n\n\ttoggleGroup = (bool, props = this.props) => {\n\t\tif (!props.group || !props.id) {\n\t\t\treturn;\n\t\t}\n\t\tconst func = bool ? props.loadingGroup : props.loadedGroup;\n\t\tconst data = {\n\t\t\tgroup: props.group,\n\t\t\telement: props.id,\n\t\t};\n\t\tfunc(data);\n\t};\n\n\tcomponentWillUnmount() {\n\t\tif (this.interval) {\n\t\t\tclearInterval(this.interval);\n\t\t}\n\t\tthis.toggleGroup(false, this.props);\n\t}\n\n\tretry = () => {\n\t\t// sentryError(new Error(`Retry loading component - ${this.props.id}`), this.props);\n\t\tthis.props.data.retry();\n\t};\n\n\trender() {\n\t\tif (\n\t\t\t!this.props.data.error &&\n\t\t\t!this.props.data.timedOut &&\n\t\t\t!this.props.data.pastDelay\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tconst additional =\n\t\t\tthis.props.data.error || this.props.data.timedOut ? (\n\t\t\t\t<div>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{this.props.data.error\n\t\t\t\t\t\t\t? trans({ label: 'Error during loading page element' })\n\t\t\t\t\t\t\t: this.props.data.timedOut\n\t\t\t\t\t\t\t? trans({ label: 'Taking a long time to load page element...' })\n\t\t\t\t\t\t\t: ''}{' '}\n\t\t\t\t\t\t({this.props.id})\n\t\t\t\t\t</p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tname={`retry-component-${this.props.id}`}\n\t\t\t\t\t\tonClick={this.retry}\n\t\t\t\t\t>\n\t\t\t\t\t\t{trans({ label: 'Retry' })}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) : null;\n\t\treturn (\n\t\t\t<StyledLoadingComponent data-component={this.props.id}>\n\t\t\t\t<Loader\n\t\t\t\t\tloader={<LoadingLogo />}\n\t\t\t\t\tactiveOnClick={!!additional}\n\t\t\t\t\tactive={true}\n\t\t\t\t\tadditional={additional}\n\t\t\t\t/>\n\t\t\t</StyledLoadingComponent>\n\t\t);\n\t}\n}\n\nLoadingComponent = enhanceComponent({\n\tLoadingComponent,\n});\n\nexport { LoadingComponent };\n","import { connect } from 'react-redux';\nimport {\n\tloaderGroupLoaded,\n\tloaderGroupLoading,\n\tloaderGroupSetData,\n} from '../../../store/loader/loader.actions';\nimport { LoadingComponent } from './loadingComponent';\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tloadingGroup: (payload) => dispatch(loaderGroupLoading(payload)),\n\t\tloadedGroup: (payload) => dispatch(loaderGroupLoaded(payload)),\n\t\tsetGroupData: (payload) => dispatch(loaderGroupSetData(payload)),\n\t};\n};\n\nconst LoadingComponentContainer = connect(\n\tnull,\n\tmapDispatchToProps,\n)(LoadingComponent);\n\nexport { LoadingComponentContainer };\n","import { FC } from 'react';\nimport { LoadingComponentContainer } from '../loadingComponent/loadingComponent.container';\n\nexport const Loading: FC<{\n\tdata: any;\n\tid: string;\n\tgroup: string | boolean;\n}> = (props) => {\n\treturn <LoadingComponentContainer {...props} />;\n};\n","// import LoadableLibrary from 'react-code-split';\nimport dynamic from 'next/dynamic';\nimport { Loader } from 'next/dist/shared/lib/dynamic';\nimport { Loading } from './Loading';\n\ninterface LoadableOpts<P> {\n\tloader: Loader<P>;\n\tssr?: boolean;\n}\n\nexport const Loadable = <P>(\n\topts: LoadableOpts<P>,\n\tid: string,\n\tgroup = false,\n\tloadingElement = null,\n) => {\n\treturn dynamic<P>(opts.loader, {\n\t\tssr: opts.ssr,\n\t\tloading: (props) =>\n\t\t\tloadingElement === true\n\t\t\t\t? null\n\t\t\t\t: loadingElement || Loading({ data: props, id, group }),\n\t});\n};\n","import React, { FC, ReactElement } from 'react';\nimport { faSyncAlt } from '@fortawesome/free-solid-svg-icons';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\nimport { useAppSelector } from '../../../hooks/store/useAppSelector';\nimport { StyledLoader } from './Loader.styled';\n\nconst checkActive = ({\n\tmodules,\n\tmodule,\n}: {\n\tmodules: Record<string, boolean>;\n\tmodule?: string | string[];\n}): boolean => {\n\tif (!Object.keys(modules).length) {\n\t\treturn false;\n\t}\n\tmodule = module ?? 'app';\n\tif (typeof module === 'string') {\n\t\treturn modules[module];\n\t}\n\tif (Array.isArray(module) && module.length) {\n\t\treturn !!module.find((el) => !!modules[el]);\n\t}\n\treturn false;\n};\n\nexport interface LoaderProps {\n\tmodule?: string | string[];\n\tmessage?: ReactElement;\n\tchildren?: ReactElement;\n\tactive?: boolean;\n\tadditional?: ReactElement;\n\tactiveOnClick?: boolean;\n\tloader?: ReactElement;\n\tabsolutePosition?: boolean;\n}\n\nlet Loader: FC<LoaderProps> = ({\n\tmodule,\n\tmessage,\n\tchildren,\n\tactive,\n\tadditional,\n\tactiveOnClick,\n\tloader,\n\tabsolutePosition,\n}) => {\n\tconst { modules } = useAppSelector((state) => {\n\t\treturn {\n\t\t\tmodules: state.loader.modules,\n\t\t};\n\t});\n\n\tconst isActive =\n\t\tactive !== undefined ? active : checkActive({ modules, module });\n\treturn (\n\t\t<>\n\t\t\t<StyledLoader\n\t\t\t\t$absolutePosition={absolutePosition}\n\t\t\t\t$active={isActive}\n\t\t\t\t$pointerEvents={activeOnClick}\n\t\t\t>\n\t\t\t\t{loader || <AwesomeIcon icon={faSyncAlt} />}\n\t\t\t\t{additional}\n\t\t\t</StyledLoader>\n\t\t\t{!isActive && message}\n\t\t\t{!isActive && children}\n\t\t</>\n\t);\n};\n\nLoader = enhanceComponent({\n\tLoader,\n});\n\nexport { Loader };\n","import React, {\n\tFC,\n\tPropsWithChildren,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport styled from 'styled-components';\n// import gif from './LoadingGifBase64';\nimport { FullscreenLoadingContext } from '@common/context/app/FullscreenLoading.context';\nimport { LoadingLogo } from '../loadingLogo/loading';\nimport { StyledLoader } from '../loader/Loader.styled';\nimport { config } from '../../config';\n\nexport const StyledFullscreenLoading = styled.div<{\n\t$active: boolean;\n\t$hide: boolean;\n}>`\n\talign-items: center;\n\tbackground-color: ${(props) => props.theme.colors.background};\n\tdisplay: ${(props) => (props.$hide ? 'flex' : 'none')};\n\tflex-direction: column;\n\theight: 100vh;\n\tjustify-content: center;\n\tleft: 0;\n\topacity: ${(props) => (props.$active ? '1' : '0')};\n\tposition: fixed;\n\ttext-align: center;\n\ttop: 0;\n\ttransition: ${(props) => props.theme.layout.transition};\n\twidth: 100%;\n\tz-index: 9999999; // 7\n\n\t.text-logo {\n\t\tmargin-top: 150px;\n\t\tz-index: 0;\n\t}\n`;\n\n// const StyledLoadingGif = styled.div`\n// \tbackground: url(${gif});\n// \tbackground-position: center;\n// \tbackground-repeat: no-repeat;\n// \tbackground-size: contain;\n// \theight: 150px;\n// \tleft: 50%;\n// \tposition: absolute;\n// \ttop: 50%;\n// \ttransform: translate(-50%, -50%);\n// \twidth: 150px;\n//\n// \t@media (max-width: ${props => props.theme.layout.maxWidthSmallTablet}) {\n// \t\twidth: 100px;\n// \t\theight: 100px;\n// \t}\n// `;\n\nexport const FullscreenLoading: FC<PropsWithChildren<any>> = ({ children }) => {\n\tconst [loaded, setLoaded] = useState(false);\n\tconst [hide, setHide] = useState(false);\n\tconst refTimeout = useRef(null);\n\n\tconst setLoaded_ = useCallback(\n\t\t(loaded_: boolean) => {\n\t\t\tif (loaded !== loaded_) {\n\t\t\t\tsetLoaded(loaded_);\n\t\t\t\tif (refTimeout.current) {\n\t\t\t\t\tclearTimeout(refTimeout.current);\n\t\t\t\t}\n\t\t\t\trefTimeout.current = setTimeout(() => {\n\t\t\t\t\tsetHide(loaded_);\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t[loaded],\n\t);\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif (refTimeout.current) {\n\t\t\t\tclearTimeout(refTimeout.current);\n\t\t\t}\n\t\t},\n\t\t[],\n\t);\n\n\treturn (\n\t\t<FullscreenLoadingContext.Provider\n\t\t\tvalue={{ loaded, setLoaded: setLoaded_ }}\n\t\t>\n\t\t\t{children}\n\t\t\t<StyledFullscreenLoading $hide={!hide} $active={!loaded}>\n\t\t\t\t<StyledLoader $active={true} $pointerEvents={false}>\n\t\t\t\t\t<LoadingLogo />\n\t\t\t\t</StyledLoader>\n\t\t\t\t<span className=\"text-logo show-desktop\">{config.logo}</span>\n\t\t\t\t{/*<StyledLoadingGif/>*/}\n\t\t\t</StyledFullscreenLoading>\n\t\t</FullscreenLoadingContext.Provider>\n\t);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Wolf from '@icons/wolf';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\n\nclass LoadingLogo extends React.PureComponent {\n\tstatic propTypes = {\n\t\theight: PropTypes.number,\n\t\tclassName: PropTypes.any,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.height ? { height: this.props.height } : undefined}\n\t\t\t\tclassName={`${CSSClassNameLoadingLogo} [&_svg]:h-full [&_svg]:animate-spin ${this.props.className}`}\n\t\t\t>\n\t\t\t\t<Wolf />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nLoadingLogo = enhanceComponent({\n\tLoadingLogo,\n});\n\nexport const CSSClassNameLoadingLogo = 'loading-logo';\n\nexport { LoadingLogo };\n","import React, { FC } from 'react';\nimport { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';\nimport classnames from 'classnames';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport {\n\tuseNotificationsData,\n\tuseNotificationsIsAny,\n} from '@common/selectors/notifications.selectors';\nimport { isNotificationTypeActive } from '../../modules/app/notificationService';\n\nexport const NOTIFICATION_ICON_CLASS_NAME = 'notification-icon';\n\nexport const NotificationIcon: FC<{\n\ttype?: string;\n\tnotification?: string;\n\ttypes?: Array<string>;\n\tclassName?: string;\n}> = (props) => {\n\tconst isLogged = useUserIsLogged();\n\tconst notifications = useNotificationsData();\n\tconst isAny = useNotificationsIsAny();\n\n\tif (!isLogged) {\n\t\treturn null;\n\t}\n\n\tconst { type, notification, types, className } = props;\n\n\tlet bool;\n\tif (!type && !notification && !types) {\n\t\tbool = isAny;\n\t} else if (notification) {\n\t\tbool = notifications[notification];\n\t} else if (types?.length) {\n\t\tbool = types.some((type) => {\n\t\t\treturn isNotificationTypeActive(type, notifications);\n\t\t});\n\t} else {\n\t\tbool = isNotificationTypeActive(type, notifications);\n\t}\n\n\tif (!bool) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<AwesomeIcon\n\t\t\ticon={faExclamationCircle}\n\t\t\tclassName={classnames(NOTIFICATION_ICON_CLASS_NAME, className)}\n\t\t/>\n\t);\n};\n","import styled, { css } from 'styled-components';\nimport classname from 'classnames';\nimport {\n\tborderRadius,\n\tboxNoHeight,\n\tinputHeight,\n} from '../../../modules/style/defaults';\nimport { fontSize } from '../../../modules/style/mixins/fontSize';\nimport { calcStyle } from '../../../modules/style/methods/calcStyle';\n\nconst gameBoxAdvancedSettingsRowsStyle = css`\n\tmargin-top: 15px;\n\tpadding-top: 20px;\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\tpadding: 5px;\n\t\tpadding-top: 10px;\n\t}\n`;\n\nconst advancedSettingsMainStyle = css`\n\talign-items: center;\n\tdisplay: flex;\n\tmargin-bottom: 10px;\n\tposition: relative;\n\n\t.dropdown {\n\t\tmargin: 0 10px 0 0 !important;\n\n\t\t> button {\n\t\t\t${inputHeight};\n\t\t\tmargin: 0 !important;\n\t\t\tpadding-left: 5px !important;\n\t\t\tpadding-right: 20px !important;\n\t\t\twhite-space: nowrap;\n\t\t\twidth: 100%;\n\n\t\t\ti {\n\t\t\t\tright: 10px;\n\t\t\t}\n\t\t}\n\t}\n\n\t> span {\n\t\tposition: absolute;\n\t\tright: 10px;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\n\t\t&:last-of-type {\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: calcStyle({\n\t\t\t\t\t\tmode: '-',\n\t\t\t\t\t\ta: props.theme.text.size.default,\n\t\t\t\t\t\tb: '2px',\n\t\t\t\t\t}),\n\t\t\t\t\timportant: true,\n\t\t\t\t})};\n\t\t}\n\t}\n`;\n\nexport const StyledConditionBlockActionSection = styled.div<{\n\t$borderSide: 'left' | 'right';\n\t$isEditMode?: boolean;\n}>`\n\tborder-${(props) => props.$borderSide}: 1px solid var(--color-dark-${(props) =>\n\tprops.$isEditMode ? '400' : '500'});\n\tdisplay: grid;\n\tgrid-template-columns: 1fr;\n\tjustify-content: center;\n\n\tdiv {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\theight: 100%;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\n\t\t&:not(:first-of-type) {\n\t\t\tborder-top: 1px solid var(--color-dark-${(props) =>\n\t\t\t\tprops.$isEditMode ? '400' : '500'});\n\t\t}\n\t}\n`;\n\ninterface StyledBorderBoxProps {\n\t$conditionType?: 'bets' | 'wallet';\n\t$isEditMode?: boolean;\n\t$isError?: boolean;\n\t$isNoEdit?: boolean;\n}\n\nexport const StyledBorderBox = styled.div.attrs<StyledBorderBoxProps>(\n\t(props) => ({\n\t\tclassName: classname('game-box', props.className),\n\t}),\n)<StyledBorderBoxProps>`\n\tborder-radius: 8px;\n\t${boxNoHeight};\n\tbackground-color: transparent;\n\tborder: 1px solid var(--color-dark-500);\n\ttransition: ${(props) => props.theme.layout.transition};\n\tposition: relative;\n\tmargin-bottom: 8px;\n\tcursor: pointer;\n\n\t&:last-of-type {\n\t\tmargin-bottom: 8px;\n\t}\n\n\t.input {\n\t\t@media (max-width: 450px) {\n\t\t\tpadding-right: 5px;\n\t\t\tpadding-left: 5px;\n\t\t}\n\t}\n\n\t.checkbox {\n\t\tmargin-bottom: 10px;\n\n\t\t&:last-of-type {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\n\t${(props) =>\n\t\tprops.$conditionType === 'bets'\n\t\t\t? css`\n\t\t\t\t\t@media (max-width: ${props.theme.media.maxWidthSmallTablet}) {\n\t\t\t\t\t\t[data-id*='when-type'] {\n\t\t\t\t\t\t\twidth: calc(100% - 45px) !important;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t[data-id*='when-name'] {\n\t\t\t\t\t\t\twidth: 40%;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''};\n\n\t${(props) =>\n\t\tprops.$conditionType === 'wallet'\n\t\t\t? css`\n\t\t\t\t\t@media (max-width: ${props.theme.media.maxWidthSmallTablet}) {\n\t\t\t\t\t\t[data-id*='when-name'] {\n\t\t\t\t\t\t\twidth: calc(100% - 45px) !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''};\n\n\t${(props) =>\n\t\tprops.$conditionType === 'bets' || props.$conditionType === 'wallet'\n\t\t\t? gameBoxAdvancedSettingsRowsStyle\n\t\t\t: ''};\n\n\t${(props) =>\n\t\tprops.$isEditMode\n\t\t\t? css`\n\t\t\t\t\tborder-color: ${props.theme.colors.active};\n\t\t\t `\n\t\t\t: ''};\n\n\t${(props) =>\n\t\tprops.$isError\n\t\t\t? css`\n\t\t\t\t\t${props.$isEditMode\n\t\t\t\t\t\t? ''\n\t\t\t\t\t\t: css`\n\t\t\t\t\t\t\t\tborder-color: ${props.theme.colors.negative};\n\t\t\t\t\t\t `};\n\t\t\t `\n\t\t\t: ''};\n\n\t${(props) =>\n\t\tprops.$isNoEdit\n\t\t\t? css`\n\t\t\t\t\tcursor: default;\n\t\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t `\n\t\t\t: ''};\n`;\n\nexport const StyledBorderBoxSwitch = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tgap: 8px;\n\tjustify-content: flex-start;\n\tpadding: 5px 10px;\n\t${borderRadius};\n\n\t> div {\n\t\tbackground-color: var(--color-dark-600);\n\t\tborder-radius: 3px;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tpadding: 2px;\n\t}\n`;\n\nexport const StyledBorderBoxCommand = styled.div`\n\t${boxNoHeight};\n\t${advancedSettingsMainStyle};\n\n\tmargin-bottom: 0;\n\tpadding: 15px 0;\n\n\t&:first-of-type {\n\t\tpadding-top: 20px !important;\n\t}\n\n\t> label {\n\t\tmargin-bottom: 0 !important;\n\t\tmin-width: 30px;\n\t\ttext-align: right;\n\t\tcolor: var(--color-dark-100);\n\t}\n\n\t.dropdown {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tpadding-bottom: 0 !important;\n\n\t\t.button-help {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\theight: 30px !important;\n\t\t\tjustify-content: center;\n\t\t\tmargin: 0 0 0 10px !important;\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 25px;\n\t\t}\n\n\t\tbutton:not(.button-help) {\n\t\t\tpadding-left: 10px !important;\n\t\t\tpadding-right: 30px !important;\n\t\t\ttext-align: left;\n\t\t\twidth: unset;\n\t\t}\n\t}\n\n\t.input-wrapper {\n\t\tmax-width: 200px;\n\t\tpadding: 0 !important;\n\t\tposition: relative;\n\n\t\tlabel {\n\t\t\tposition: absolute;\n\t\t\tright: 2px;\n\t\t\ttop: -20px;\n\t\t}\n\n\t\t.input-message {\n\t\t\tbottom: -14px;\n\t\t\tleft: 0;\n\t\t\tposition: absolute;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t.dropdown,\n\t.input-wrapper {\n\t\tmargin: 0 0 0 10px !important;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t> label {\n\t\t\tmin-width: 25px;\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthDesktop}) {\n\t\t.input-wrapper {\n\t\t\tlabel {\n\t\t\t\ttop: -20px;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tdisplay: block;\n\t\tpadding-top: 0;\n\n\t\t.dropdown,\n\t\t.input-wrapper {\n\t\t\twidth: 100%;\n\t\t\tmax-width: unset;\n\t\t\tmargin: 10px 0 0 !important;\n\t\t}\n\n\t\t.input-wrapper {\n\t\t\tlabel {\n\t\t\t\ttop: -15px;\n\t\t\t}\n\t\t}\n\n\t\t> label {\n\t\t\twidth: 45px;\n\t\t\tfloat: left;\n\t\t\theight: 35px;\n\t\t\tmargin-top: 10px;\n\t\t\tline-height: 35px;\n\t\t\tpadding-right: 10px;\n\t\t\tmargin-bottom: 0 !important;\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthMobile}) {\n\t\t> label {\n\t\t\theight: 30px;\n\t\t\tline-height: 30px;\n\t\t\tmargin-bottom: 0 !important;\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t[data-id*='command-name'] {\n\t\t\twidth: calc(100% - 45px);\n\t\t}\n\t}\n`;\n\nexport const StyledConditionBlockEdit = styled.div`\n\tmargin-top: 0;\n\twidth: 100%;\n\n\t${StyledBorderBox} {\n\t\tborder: none;\n\t\tmargin: 0;\n\t}\n`;\n\nexport const StyledBorderBoxMainSimple = styled.div.attrs({\n\tclassName: 'game-box--advanced-settings__main',\n})`\n\t${advancedSettingsMainStyle}\n\t> span {\n\t\tposition: relative;\n\t\ttop: unset;\n\t\tright: unset;\n\t\ttransform: unset;\n\t}\n`;\n","import styled from 'styled-components';\nimport { CSSClassNameCurrencyValue } from '@common/components/number/CurrencyValue';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport { StyledBorderBox } from '@legacyApp/client/components/strategy/conditionBlockEdit/ConditionBlockEdit.styled';\nimport { CSSClassNameCurrencyLogo } from '@legacyApp/client/components/currencySymbol/tokenSymbol';\nimport { CSSClassNameBalanceCurrencyValue } from '@common/components/number/balanceAmount/balanceAmount';\n\n\nexport const StyledExpertConfigTemplate = styled.span.attrs({\n\tclassName: 'text-style-caption-medium',\n})`\n\tcolor: ${(props) => props.theme.colors.textDisabled};\n\ttext-transform: uppercase;\n`;\n\nexport const StyledExpertConfig = styled.div.attrs({\n\tclassName: 'expert-config',\n})`\n\t${boxNoHeight};\n\tposition: relative;\n\tpadding: 8px;\n\n\tp {\n\t\tmargin-top: 4px !important;\n\t\tmargin-bottom: 4px;\n\t}\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\tmargin-right: 4px;\n\n\t\t.${CSSClassNameCurrencyLogo} {\n\t\t\tdisplay: inline-flex !important;\n\t\t\tmargin-right: 4px;\n\t\t}\n\n\t\t&:last-of-type {\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n\n\t.${CSSClassNameCurrencyValue} {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.${CSSClassNameBalanceCurrencyValue} {\n\t\tmargin-right: 0;\n\n\t\tspan {\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n`;\n\nexport const StyledExpertConfigDescription = styled.p.attrs({})`\n\tmargin: 8px 0 0;\n\tline-height: 1.5;\n\n\t* {\n\t\ttext-transform: lowercase;\n\t}\n\n\t&:first-of-type {\n\t\tmargin: 0 !important;\n\t}\n`;\n\nexport const StyledExpertBorderBox = styled(StyledBorderBox)`\n\tdisplay: grid;\n\tgrid-template-columns: 30px calc(100% - 60px) 30px;\n`;\n","import React, { FC } from 'react';\nimport ReactDOMServer from 'react-dom/server.browser';\nimport { isFunction } from '@common/methods/isFunction';\n\nconst Svg: FC<{\n\twidth?: number;\n\theight?: number;\n\tcontent: any;\n\tclassName?: string;\n\tviewBox?: string;\n\tminHeight?: number;\n\tminWidth?: number;\n\tfill?: any;\n\twrapperFill?: any;\n\tstyle?: any;\n}> = (props) => (\n\t<svg\n\t\tviewBox={props.viewBox ?? `0 0 ${props.width} ${props.height}`}\n\t\twidth={props.width}\n\t\tfill={props.wrapperFill}\n\t\theight={props.height}\n\t\tclassName={props.className}\n\t\tversion=\"1.1\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\txmlnsXlink=\"http://www.w3.org/1999/xlink\"\n\t\tstyle={{\n\t\t\t...(props.minWidth && { minWidth: `${props.minWidth}px` }),\n\t\t\t...(props.minHeight && { minHeight: `${props.minHeight}px` }),\n\t\t\t...props.style,\n\t\t}}\n\t>\n\t\t{isFunction(props.content) ? props.content(props) : props.content}\n\t</svg>\n);\n\nexport { Svg };\n\nexport function encodeSvg(reactElement) {\n\treturn (\n\t\t'data:image/svg+xml,' +\n\t\tescape(ReactDOMServer.renderToStaticMarkup(reactElement))\n\t);\n}\n","import dynamic from 'next/dynamic';\n\nexport const Tooltip = dynamic(() => import('./tooltip'));\nexport const TippyContent = dynamic(() => import('./tippyContent'));\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { availableGames } from '@modules/games/Game/constants/availableGames';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { DOMAIN } from '@server/constants/DOMAIN';\nimport { game_config } from '@legacyApp/client/game_config';\nimport { hour, minute, second } from '@legacyApp/client/modules/app/time';\n\nexport const FEATURES_TYPE = {\n\tSLOTS: 'slots',\n\tCHAT: 'chat',\n\tAFFILIATE_CAMPAIGN_USER: TABLE_ID.affiliateCampaignUsers,\n\tCHRISTMAS: 'christmas',\n\tONLINE_UPDATE: 'onlineUpdate',\n\tDARK: 'dark',\n\tPENDING_TRANSACTIONS: 'pendingTransaction',\n\tREFRESH_USER_DATA: 'refreshUserData',\n\tLICENSE: 'license',\n\tMY_BETS: 'myBets',\n\tPLINKO: 'plinko',\n\tWELCOME_MODAL: MODAL_ID.WELCOME_MODAL,\n\tNEW_COIN_MODAL: MODAL_ID.NEW_COIN_MODAL,\n\tDEPOSIT_SKINS: 'deposit_skins',\n\tFOOTER_PAYMENT_COMPANY: 'footer_payment_company',\n};\ntype FeatureId = keyof typeof FEATURES_TYPE;\nexport type FeatureType = (typeof FEATURES_TYPE)[FeatureId];\nexport const config = {\n\tappName: 'WOLFBET',\n\tlogo: 'WOLFBET',\n\tdomain: DOMAIN,\n\tdocumentationUrl: `https://${DOMAIN}/api/docs`,\n\taffiliateBannersUrl:\n\t\t'https://drive.google.com/drive/folders/1SC4nvkBD_L2yATebbYbf6E6jkGlnEqAk?usp=sharing',\n\tdefaultGame: 'dice',\n\tavailableGames,\n\tvalueMaxPrecision: 10,\n\tchatWidth: 320,\n\tchatWidthDesktop: 370,\n\twebsockets: true,\n\tlogger: !!(NEXT_CONFIG.DEV || NEXT_CONFIG.TEST),\n\t// logger: false,\n\tdecimals: {\n\t\tbet: 8,\n\t\tbalance: 10,\n\t\tpayout: 4,\n\t\twinChance: 2,\n\t\tbetValue: 2,\n\t},\n\tremind2faCounter: 3,\n\traceLeaderboard: 10,\n\traceWinners: 30,\n\ttransactionsPaginationLength: 25,\n\tchatStreamLength: 100,\n\ttransactionsMaxMyBetsLength: 500,\n\tautobetStoppedFromApiDelay: 2 * second,\n\ttransactionsClearTimeout: 5 * second,\n\trefreshUserDataTimeout: hour,\n\trefreshRaceTimeout: 20 * second,\n\trefreshPreparingRaceTimeout: 1.1 * minute,\n\trefreshAffiliateDataTimeout: 10 * second,\n\trefreshOnlineTimeout: 60 * second,\n\traceStartDelay: minute,\n\tdelayTransactionsUpdate: 0.3 * second,\n\tsentryStateUpdateInterval: 15 * second,\n\talertTimeout: 5 * second,\n\tlongAlertTimeout: 20 * second,\n\tunreadMessageTimeout: 5 * second,\n\tmentionedAlertTimeout: 10 * second,\n\t// dailyStreakModalCloseTimeout: second,\n\tlastRegisterTimeout: 15 * minute,\n\tuserRaceHistoryFetchExpire: hour,\n\tuserStatsFetchExpire: 10 * second,\n\tmaintenanceModeTimeout: minute,\n\tversionCheckTimeout: 60 * minute,\n\tserverErrorConnectionTimeout: 5 * second,\n\tserverConnectionTimeout: 90 * second,\n\tcaptchaDelay: 2 * minute,\n\tdefaultHotKeys: [\n\t\t{\n\t\t\tid: 'min_amount',\n\t\t\tsymbol: 'Q',\n\t\t\tkeyCode: 81,\n\t\t\tname: 'MIN bet amount',\n\t\t},\n\t\t{\n\t\t\tid: 'half_amount',\n\t\t\tsymbol: 'W',\n\t\t\tkeyCode: 87,\n\t\t\tname: '1/2 bet amount',\n\t\t},\n\t\t{\n\t\t\tid: 'double_amount',\n\t\t\tsymbol: 'E',\n\t\t\tkeyCode: 69,\n\t\t\tname: '2x bet amount',\n\t\t},\n\t],\n\tchartLimit: 250,\n\tchartBoostThreshold: 1,\n\tgames: {\n\t\t...game_config,\n\t\tmaxWinChance: 98, // isRequired\n\t\tflashbet: {\n\t\t\tminRolls: 10,\n\t\t\tmaxRolls: 25000,\n\t\t},\n\t\tautobet: {\n\t\t\tmaxRolls: 4000000000, // below max unsigned int\n\t\t\texpertModePercentCommandDecimals: 2,\n\t\t\tmaxStrategiesCount: 20,\n\t\t},\n\t},\n\tchat: {\n\t\trooms: [\n\t\t\t{\n\t\t\t\tname: 'english',\n\t\t\t\tid: 'english',\n\t\t\t\tsymbol: 'en',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'pусский',\n\t\t\t\tid: 'russian',\n\t\t\t\tsymbol: 'ru',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'português',\n\t\t\t\tid: 'portuguese',\n\t\t\t\tsymbol: 'pt',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'español',\n\t\t\t\tid: 'spanish',\n\t\t\t\tsymbol: 'es',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'filipino',\n\t\t\t\tid: 'filipino',\n\t\t\t\tsymbol: 'ph',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'indonesia',\n\t\t\t\tid: 'indonesian',\n\t\t\t\tsymbol: 'id',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'deutsch',\n\t\t\t\tid: 'german',\n\t\t\t\tsymbol: 'de',\n\t\t\t},\n\t\t\t// {\n\t\t\t// \tname: 'türk',\n\t\t\t// \tid: 'turkish',\n\t\t\t// \tsymbol: 'tr',\n\t\t\t// },\n\t\t\t{\n\t\t\t\tname: 'admin',\n\t\t\t\tid: 'admin',\n\t\t\t\tsymbol: 'admin',\n\t\t\t\tadmin: true,\n\t\t\t},\n\t\t],\n\t\tclearRoomTimeout: 10000,\n\t},\n\terrors: {\n\t\ttooManyFailedLogins: 'Too many failed login attempts',\n\t\tmaintenanceMode: 'maintenance mode',\n\t\tmoduleMaintenanceMode: 'Maintenance mode',\n\t\ttwoFactorAuth: 'Code is required.',\n\t\tsessionEnded: 'Unauthenticated.',\n\t},\n\tresponseErrorsToSentry: [\n\t\t'Playing hilo failed. Try again or contact support.',\n\t\t// 'Hilo not started.',\n\t\t// 'Incorrect sub nonce value given.',\n\t\t// 'Incorrect multiplier given.',\n\t\t'You cannot claim now! Try again later',\n\t\t'Multiple accounts detected',\n\t],\n\treplaceErrorsToSentry: {\n\t\t'read error on connection to': {\n\t\t\tlabel: 'Connection error #{{code}}',\n\t\t\toptions: { code: 1000 },\n\t\t\tnamespace: 'validation',\n\t\t},\n\t},\n\textendedAccessFunction: [] as FeatureType[],\n\tdisableFeatures: {\n\t\t[FEATURES_TYPE.NEW_COIN_MODAL]: false,\n\t\t[FEATURES_TYPE.WELCOME_MODAL]: true,\n\t\t[FEATURES_TYPE.PLINKO]: false,\n\t\t// [FEATURES_TYPE.MY_BETS]: NEXT_CONFIG.DEV,\n\t\t// [FEATURES_TYPE.REFRESH_USER_DATA]: true,\n\t\t[FEATURES_TYPE.LICENSE]: true,\n\t\t// [FEATURES_TYPE.SLOTS]: true,\n\t\t// [FEATURES_TYPE.CHAT]: true,\n\t\t[FEATURES_TYPE.AFFILIATE_CAMPAIGN_USER]: true,\n\t\t[FEATURES_TYPE.CHRISTMAS]: true,\n\t\t// [FEATURES_TYPE.DARK]: true,\n\t\t// [FEATURES_TYPE.VIP_BONUS_PAGE]: true,\n\t\t[FEATURES_TYPE.ONLINE_UPDATE]: NEXT_CONFIG.DEV,\n\t\t[FEATURES_TYPE.PENDING_TRANSACTIONS]: NEXT_CONFIG.DEV,\n\t\t[FEATURES_TYPE.DEPOSIT_SKINS]: false,\n\t\t[FEATURES_TYPE.FOOTER_PAYMENT_COMPANY]: false,\n\t} as Record<FeatureType, boolean>,\n\temails: {\n\t\tmarketing: `marketing@${DOMAIN}`,\n\t\tsupport: `support@${DOMAIN}`,\n\t},\n};\n","import {\n\tfaArrowDown,\n\tfaArrowLeft,\n\tfaArrowRight,\n\tfaArrowUp,\n} from '@fortawesome/free-solid-svg-icons';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\n\nexport const game_config: Record<\n\tGameType,\n\t{\n\t\tisAutobet: boolean;\n\t\tisFlashbet: boolean;\n\t\tisHighSpeedOption?: boolean;\n\t\thouseEdge?: number;\n\t\tmaxPayout?: number;\n\t\tminPayout?: number;\n\t\tmaxBetResult?: number;\n\t\tminBetResult?: number;\n\t\tbetValue?: number;\n\t\tresultAnimation?: boolean; // If game has to wait for animation to be finished before next bet\n\t\tpayout?: number;\n\t\tpayoutDecimal?: number;\n\t\twinChanceDecimal?: number;\n\t\toddsDecimal?: number;\n\t\thotkeys?: {\n\t\t\tid: string;\n\t\t\tsymbol?: string;\n\t\t\ticon?: any;\n\t\t\tkeyCode: number;\n\t\t\tname: string;\n\t\t\trule?: string[];\n\t\t}[];\n\t}\n> = {\n\t// TODO: NEW GAME FLAG\n\t[GameType.DICE]: {\n\t\tisAutobet: true,\n\t\tisFlashbet: true,\n\t\thouseEdge: 1, // isRequired\n\t\tmaxPayout: 9900, // isRequired\n\t\tminPayout: 1.0102, // isRequired\n\t\tmaxBetResult: 99.99,\n\t\tminBetResult: 0,\n\t\tbetValue: 50,\n\t\tresultAnimation: false,\n\t\thotkeys: [\n\t\t\t{\n\t\t\t\tid: 'roll',\n\t\t\t\tsymbol: 'SPACE',\n\t\t\t\tkeyCode: 32,\n\t\t\t\tname: 'Place bet / Stop autobet',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'lower_slider',\n\t\t\t\ticon: faArrowLeft,\n\t\t\t\tkeyCode: 37,\n\t\t\t\tname: 'Lower target',\n\t\t\t\trule: ['over', 'under', 'direct'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'higher_slider',\n\t\t\t\ticon: faArrowRight,\n\t\t\t\tkeyCode: 39,\n\t\t\t\tname: 'Higher target',\n\t\t\t\trule: ['over', 'under', 'direct'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'switch_direction',\n\t\t\t\tsymbol: 'R',\n\t\t\t\tkeyCode: 82,\n\t\t\t\tname: 'Switch over/under',\n\t\t\t\trule: ['over', 'under'],\n\t\t\t},\n\t\t],\n\t},\n\t[GameType.LIMBO]: {\n\t\tisAutobet: true,\n\t\tisFlashbet: true,\n\t\thouseEdge: 1, // isRequired\n\t\tmaxPayout: 1000000, // isRequired\n\t\tminPayout: 1.01, // isRequired\n\t\tpayout: 2,\n\t\tpayoutDecimal: 2,\n\t\twinChanceDecimal: 8,\n\t\tresultAnimation: false,\n\t\thotkeys: [\n\t\t\t{\n\t\t\t\tid: 'roll',\n\t\t\t\tsymbol: 'SPACE',\n\t\t\t\tkeyCode: 32,\n\t\t\t\tname: 'Place bet / Stop autobet',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'lower_target',\n\t\t\t\ticon: faArrowLeft,\n\t\t\t\tkeyCode: 37,\n\t\t\t\tname: 'Lower target',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'higher_target',\n\t\t\t\ticon: faArrowRight,\n\t\t\t\tkeyCode: 39,\n\t\t\t\tname: 'Higher target',\n\t\t\t},\n\t\t],\n\t},\n\t[GameType.PLINKO]: {\n\t\tisAutobet: true,\n\t\tisFlashbet: true,\n\t\tisHighSpeedOption: true,\n\t\thouseEdge: 1, // isRequired\n\t\tmaxPayout: 2000, // isRequired\n\t\tminPayout: 0, // isRequired\n\t\tpayout: null,\n\t\tpayoutDecimal: 1,\n\t\twinChanceDecimal: 2,\n\t\tresultAnimation: true,\n\t\thotkeys: [\n\t\t\t{\n\t\t\t\tid: 'roll',\n\t\t\t\tsymbol: 'SPACE',\n\t\t\t\tkeyCode: 32,\n\t\t\t\tname: 'Place bet / Stop autobet',\n\t\t\t},\n\t\t],\n\t},\n\t[GameType.HILO]: {\n\t\tisAutobet: false,\n\t\tisFlashbet: false,\n\t\thouseEdge: 1, // isRequired\n\t\tmaxPayout: 9900, // isRequired\n\t\tminPayout: 1.0102, // isRequired\n\t\tresultAnimation: false,\n\t\thotkeys: [\n\t\t\t{\n\t\t\t\tid: 'bet',\n\t\t\t\tsymbol: 'SPACE',\n\t\t\t\tkeyCode: 32,\n\t\t\t\tname: 'Place bet',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'cashout',\n\t\t\t\tsymbol: 'ENTER',\n\t\t\t\tkeyCode: 13,\n\t\t\t\tname: 'Cashout',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'draw',\n\t\t\t\tsymbol: 'SHIFT',\n\t\t\t\tkeyCode: 16,\n\t\t\t\tname: 'Skip current card',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'high',\n\t\t\t\ticon: faArrowUp,\n\t\t\t\tkeyCode: 38,\n\t\t\t\tname: 'Higher or the same',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'low',\n\t\t\t\ticon: faArrowDown,\n\t\t\t\tkeyCode: 40,\n\t\t\t\tname: 'Lower or the same',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'red',\n\t\t\t\tsymbol: 'A',\n\t\t\t\tkeyCode: 65,\n\t\t\t\tname: 'Red',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'black',\n\t\t\t\tsymbol: 'S',\n\t\t\t\tkeyCode: 83,\n\t\t\t\tname: 'Black',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'number',\n\t\t\t\tsymbol: 'Z',\n\t\t\t\tkeyCode: 90,\n\t\t\t\tname: '2-10',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'letter',\n\t\t\t\tsymbol: 'X',\n\t\t\t\tkeyCode: 88,\n\t\t\t\tname: 'JQKA',\n\t\t\t},\n\t\t],\n\t},\n\t[GameType.SPORTS]: {\n\t\tisAutobet: false,\n\t\tisFlashbet: false,\n\t\thouseEdge: 1, // isRequired\n\t\tmaxPayout: 9900, // isRequired\n\t\tminPayout: 1.0102, // isRequired\n\t\toddsDecimal: 2,\n\t\tpayoutDecimal: 2,\n\t},\n\t[GameType.SLOTS]: {\n\t\tisAutobet: false,\n\t\tisFlashbet: false,\n\t\tpayoutDecimal: 2,\n\t},\n};\n","import Redux from 'redux';\n\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const actionSimple = <T = any, S = any>(\n\tactionType: string,\n\toptions?: {\n\t\tlsKey?: LocalStorageKeysType;\n\t},\n): ((payload?: T, props?: S) => Redux.AnyAction) => {\n\treturn (payload, props) => {\n\t\t// console.log(actionType, jsonToString(payload));\n\t\tif (options && options.lsKey) {\n\t\t\tlsSet(options.lsKey, payload);\n\t\t}\n\t\treturn {\n\t\t\ttype: actionType,\n\t\t\tpayload,\n\t\t\tprops,\n\t\t};\n\t};\n};\n","export const createAffiliateLink = (shortcut) =>\n\tprocess.browser ? `${window.location.origin}?c=${shortcut}` : '';\n","import { urlAlphabet } from './url-alphabet/index.js'\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nlet nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","// import {\n// \tcontinents,\n// \tcountries,\n// \tlanguages\n// } from 'countries-list';\nimport { nanoid } from 'nanoid';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { getDeviceType } from '@common/methods/getDeviceType';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { getClientSize } from '@common/methods/getClientSize';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { config } from '@legacyApp/client/config';\nimport transactionService from '@modules/transactions/transactionsService';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { regexStrings } from '@legacyApp/client/modules/app/regexService';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nexport const cloneObj = (obj) => {\n\tif (null === obj || 'object' !== typeof obj) {\n\t\treturn obj;\n\t}\n\tlet copy = {};\n\tfor (let attr in obj) {\n\t\tif (obj.hasOwnProperty(attr)) {\n\t\t\tcopy[attr] = obj[attr];\n\t\t}\n\t}\n\treturn copy;\n};\n\nexport const copyToClipboard = (data) => {\n\tif (typeof data !== 'string') {\n\t\treturn;\n\t}\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\tconst input = document.createElement('input');\n\tinput.value = data;\n\tdocument.body.insertBefore(input, document.querySelector('#__next'));\n\tinput.select();\n\tdocument.execCommand('copy');\n\tinput.remove();\n};\n\nexport const cloneArr = (arr) => {\n\treturn arr.map((item) =>\n\t\tisArray(item)\n\t\t\t? cloneArr(item)\n\t\t\t: typeof item === 'object'\n\t\t\t? cloneObj(item)\n\t\t\t: item,\n\t);\n};\n\nexport const checkMobileValue = (mobileValue, desktopValue, isMobile) => {\n\treturn isMobile ? mobileValue : desktopValue;\n};\n\nexport const loop = (arr, fn, busy, err, i = 0) => {\n\tconst body = (ok, er) => {\n\t\ttry {\n\t\t\tconst r = fn(arr[i], i, arr);\n\t\t\tr && r.then ? r.then(ok).catch(er) : ok(r);\n\t\t} catch (e) {\n\t\t\ter(e);\n\t\t}\n\t};\n\tconst next = (ok, er) => () => loop(arr, fn, ok, er, ++i);\n\tconst run = (ok, er) =>\n\t\ti < arr.length ? new Promise(body).then(next(ok, er)).catch(er) : ok();\n\treturn busy ? run(busy, err) : new Promise(run);\n};\n\nexport const extractJSON = (str) => {\n\tlet firstOpen = 0,\n\t\tfirstClose,\n\t\tcandidate;\n\tfirstOpen = str.indexOf('{', firstOpen + 1);\n\tdo {\n\t\tfirstClose = str.lastIndexOf('}');\n\t\t// console.log('firstOpen: ' + firstOpen, 'firstClose: ' + firstClose);\n\t\tif (firstClose <= firstOpen) {\n\t\t\treturn null;\n\t\t}\n\t\tdo {\n\t\t\tcandidate = str.substring(firstOpen, firstClose + 1);\n\t\t\t// console.log('candidate: ' + candidate);\n\t\t\ttry {\n\t\t\t\tlet res = stringToJson(candidate, {});\n\t\t\t\t// console.log('...found');\n\t\t\t\treturn [res, firstOpen, firstClose + 1];\n\t\t\t} catch (e) {\n\t\t\t\t// console.log('...failed');\n\t\t\t}\n\t\t\tfirstClose = str.substr(0, firstClose).lastIndexOf('}');\n\t\t} while (firstClose > firstOpen);\n\t\tfirstOpen = str.indexOf('{', firstOpen + 1);\n\t} while (firstOpen !== -1);\n};\n\nexport const updateLockedView = (bool, action) => {\n\tconst action_ = bool ? 'add' : 'remove';\n\tconsole.log('lockedView', {\n\t\tbool,\n\t\taction,\n\t\taction_,\n\t});\n\tdocument.body.classList[action_]('locked-view');\n};\n\nexport const getId = (size = 12) => {\n\tif (size < 8) {\n\t\tthrow new Error('getId size prop is passed lower than 8');\n\t} // https://zelark.github.io/nano-id-cc/\n\treturn nanoid(size);\n};\n\nexport const capitalize = (string, type = 'upper') => {\n\tif (!string || typeof string !== 'string') {\n\t\treturn string;\n\t}\n\ttry {\n\t\tconst first =\n\t\t\ttype === 'upper'\n\t\t\t\t? string[0].toUpperCase()\n\t\t\t\t: type === 'lower'\n\t\t\t\t? string[0].toLowerCase()\n\t\t\t\t: string[0];\n\t\treturn first + string.substring(1).toLowerCase();\n\t} catch (error) {\n\t\tsentryError(error, {\n\t\t\tstring,\n\t\t});\n\t\treturn string;\n\t}\n};\n\nexport const checkIsMobile = () => {\n\tconst { width } = getClientSize();\n\treturn process.browser ? width <= 820 : false;\n};\n\nexport const checkIsMobileChat = () => {\n\tconst chatWidth =\n\t\tgetDeviceType() === 'desktopBig'\n\t\t\t? config.chatWidthDesktop\n\t\t\t: config.chatWidth;\n\tif (!process.browser) {\n\t\treturn false;\n\t}\n\tconst { width } = getClientSize();\n\treturn width <= 820 + chatWidth;\n};\n\nexport const checkMobileType = (type) => {\n\treturn type.indexOf('mobile') > -1;\n};\n\nexport const checkSmallMobile = (type) => {\n\treturn type === 'mobileSmall';\n};\n\nexport const checkTabletType = (type) => {\n\treturn checkMobileType(type) || type.indexOf('tablet') > -1;\n};\n\nexport const checkDesktop = (type) => {\n\treturn type.indexOf('desktop') > -1;\n};\n\nexport const checkTablet = (type) => {\n\treturn ['tablet', 'desktop', 'desktopBig'].indexOf(type) > -1;\n};\n\nexport const onLoad = async (callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\tif (document.readyState === 'complete') {\n\t\treturn callback();\n\t}\n\treturn new Promise((resolve) => {\n\t\twindow.addEventListener('load', () => resolve(callback()));\n\t});\n};\n\nexport const logStateChange = (prev, curr, type, label) => {\n\t// eslint-disable-next-line no-undef\n\tif (NEXT_CONFIG.PRODUCTION) {\n\t\treturn;\n\t}\n\n\tObject.entries(curr).forEach(([key, val]) => {\n\t\t// console.log(key, {\n\t\t// type, label, val1: prev[key], val,\n\t\t// });\n\t\tif (typeof val === 'function' || ['t', 'i18n'].indexOf(key) > -1) {\n\t\t\treturn;\n\t\t}\n\t\tconst val1 =\n\t\t\ttypeof prev[key] === 'object' ? jsonToString(prev[key]) : prev[key];\n\t\tconst val2 = typeof val === 'object' ? jsonToString(val) : val;\n\t\t// console.log(key, {\n\t\t// bool: val1 !== val2\n\t\t// });\n\t\treturn (\n\t\t\tval1 !== val2 &&\n\t\t\tconsole.log(\n\t\t\t\t`${type} ${label} -> '${key}' changed:`,\n\t\t\t\tprev[key],\n\t\t\t\t'vs',\n\t\t\t\tcurr[key],\n\t\t\t)\n\t\t);\n\t});\n};\n\nexport const avgArray = (array) => {\n\tlet sum = 0;\n\tarray.forEach((el) => (sum += el));\n\treturn sum / array.length;\n};\n\nexport const getCurrencyGtmId = (currency) => {\n\tswitch (currency.toLowerCase()) {\n\t\tcase 'btc': {\n\t\t\treturn 1;\n\t\t}\n\t\tcase 'doge': {\n\t\t\treturn 2;\n\t\t}\n\t\tcase 'eth': {\n\t\t\treturn 3;\n\t\t}\n\t\tcase 'ltc': {\n\t\t\treturn 4;\n\t\t}\n\t\tcase 'trx': {\n\t\t\treturn 5;\n\t\t}\n\t\tcase 'bch': {\n\t\t\treturn 6;\n\t\t}\n\t\tdefault: {\n\t\t\treturn 1;\n\t\t}\n\t}\n};\n\nexport const checkMobileDevice = () => {\n\tlet isMobileDevice = lsGet(LocalStorageKeys.MOBILE_DEVICE);\n\tif (!isMobileDevice && isMobileDevice !== false && process.browser) {\n\t\tisMobileDevice = !!(\n\t\t\tnavigator.userAgent.match(/Android/i) ||\n\t\t\tnavigator.userAgent.match(/webOS/i) ||\n\t\t\tnavigator.userAgent.match(/iPhone/i) ||\n\t\t\tnavigator.userAgent.match(/iPad/i) ||\n\t\t\tnavigator.userAgent.match(/iPod/i) ||\n\t\t\tnavigator.userAgent.match(/BlackBerry/i) ||\n\t\t\tnavigator.userAgent.match(/Windows Phone/i) ||\n\t\t\t(navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2)\n\t\t);\n\t\tlsSet(LocalStorageKeys.MOBILE_DEVICE, isMobileDevice);\n\t}\n\treturn isMobileDevice;\n};\n\nexport const hasNumber = (string) => {\n\treturn regexStrings.hasNumber.test(string);\n};\n\nexport const getLocationData = () => {\n\tconst lsData = lsGet(LocalStorageKeys.LOCATION_DATA);\n\tif (lsData) {\n\t\treturn lsData;\n\t}\n\t// const language = process.browser ? navigator.language.split('-')[0].toLowerCase() : 'en';\n\t// const countryKey = Object.keys(countries).find(countryKey => {\n\t// \tconst country = countries[countryKey];\n\t// \treturn country.languages.indexOf(language) > -1;\n\t// });\n\t// const country = countries[countryKey];\n\treturn {\n\t\tlanguage: process.browser ? navigator.language : 'en-US', // || languages[language],\n\t\t// country,\n\t\t// continent: country ? continents[country.continent] : false,\n\t\tdetails: false,\n\t};\n};\n\nexport const setLocationData = () => {\n\t// const lsData = ls.get(LocalStorageKeys.LOCATION_DATA);\n\t// if (lsData) return;\n\t// FetchService.fetch('https://ipapi.co/json').then(response => {\n\t// if (response.status !== 200) return;\n\t// return FetchService.getResponseData(response).then(data => {\n\t// if (!data || !data.languages) return;\n\t// lsSet(LocalStorageKeys.LOCATION_DATA, {\n\t// language: languages[data.languages],\n\t// country: countries[data.country_code],\n\t// continent: continents[data.continent_code],\n\t// details: data,\n\t// });\n\t// });\n\t// });\n};\n\nexport const currentVersion = () => {\n\tif (!process.browser) {\n\t\treturn false;\n\t}\n\tconst scripts = document.querySelectorAll('script') || [];\n\tconst script = nodeListToArray(scripts).find((el) => {\n\t\t// console.log('currentVersion', el.src, el);\n\t\treturn el.src && el.src.indexOf('chunks/commons.') > -1;\n\t});\n\tif (!script) {\n\t\treturn false;\n\t}\n\treturn script.src.split('chunks/commons.')[1].split('.js')[0];\n};\n\nexport const nodeListToArray = (list) => Array.apply(null, list);\n\nexport const insertAtArray = (array, index, ...elementsArray) => {\n\tarray.splice(index, 0, ...elementsArray);\n\treturn array;\n};\n\nexport const removeIndexArray = (array, index) => {\n\tarray.splice(index, 1);\n\treturn [...array];\n};\n\nexport const saveLanguage = (lang) => {\n\tif (!process.browser) {\n\t\treturn false;\n\t}\n\tdocument.head.parentElement.setAttribute(LocalStorageKeys.LANGUAGE, lang);\n\tlsSet(LocalStorageKeys.LANGUAGE, lang);\n};\n\nexport const getLanguage = () => {\n\treturn lsGet(LocalStorageKeys.LANGUAGE);\n};\n\nexport const parseTimestampId = (id) => {\n\tif (!id) {\n\t\treturn id;\n\t}\n\treturn id.split('_')[0];\n};\n\nexport const handleDeprecatedBrowserData = () => {\n\tif (!cookieService.get(CookiesKeys.DEPRECATED_LANG_CLEARED)) {\n\t\tlsClear(LocalStorageKeys.I18NEXT_LNG);\n\t\tcookieService.set(CookiesKeys.DEPRECATED_LANG_CLEARED, true);\n\t}\n\n\tif (!cookieService.get(CookiesKeys.DEPRECATED_CHAT_ROOM_CLEARED)) {\n\t\tlsClear(LocalStorageKeys.CHAT_ROOM);\n\t\tcookieService.set(CookiesKeys.DEPRECATED_CHAT_ROOM_CLEARED, true);\n\t}\n\n\treturn {};\n};\n\nexport const camelCaseToSentence = (string) => {\n\tconst result = string.replace(/([A-Z])/g, ' $1');\n\treturn result.charAt(0).toUpperCase() + result.slice(1);\n};\n\nexport const filterArrayDuplicates = (array, keys) => {\n\tif (!array || !array.length) {\n\t\treturn array;\n\t}\n\tconst isSimpleElementsArray = !array.some((el) => typeof el === 'object');\n\tif (isSimpleElementsArray) {\n\t\treturn array.filter(function (item, pos) {\n\t\t\treturn array.indexOf(item) === pos;\n\t\t});\n\t}\n\treturn array.filter(\n\t\t(el, index, self) =>\n\t\t\tself.findIndex((t) =>\n\t\t\t\ttransactionService.isDuplicate(el, t, keys, true),\n\t\t\t) === index,\n\t);\n};\n\nexport const sequenceArray = (length) => {\n\treturn [...Array(length).keys()];\n};\n\nexport const isArray = (data) => Array.isArray(data);\n\nexport const shuffleArray = (array) =>\n\t[...array].sort(() => Math.random() - 0.5);\n","import { Howl, Howler } from 'howler';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { Sounds } from '@common/constants/config/sounds';\nimport { isAudioActive } from '../../store/audio/audio.actions';\n\nclass audioClass {\n\tpublic srcPrefix: string;\n\tpublic sounds: Partial<Record<Sounds, Howl>>;\n\tpublic intervals: Partial<Record<Sounds, NodeJS.Timeout>>;\n\tpublic volume: number;\n\n\tconstructor() {\n\t\tthis.srcPrefix = NEXT_CONFIG.PUBLIC_SRC + '/audio/';\n\t\tthis.sounds = {};\n\t\tthis.intervals = {};\n\t\tthis.volume = 0.1;\n\t}\n\n\tplay(id: Sounds, interval: number | boolean = false, volume?: number) {\n\t\tif (!this.isAudioActive(id) || !this.parseSoundId(id)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sound = this.getSound(id);\n\t\tif (this.isPlaying(sound)) {\n\t\t\tsound.stop();\n\t\t}\n\t\tif (volume) {\n\t\t\tthis.setVolume(id, volume);\n\t\t}\n\t\tif (this.intervals[id]) {\n\t\t\tclearInterval(this.intervals[id]);\n\t\t}\n\t\tif (typeof interval !== 'number') {\n\t\t\tsound.loop(!!interval);\n\t\t} else if (interval && interval >= 1) {\n\t\t\tthis.intervals[id] = setInterval(() => {\n\t\t\t\tsound.play();\n\t\t\t}, interval);\n\t\t\treturn;\n\t\t}\n\t\treturn sound.play();\n\t}\n\n\tisPlaying(sound: Howl) {\n\t\treturn sound.playing();\n\t}\n\n\tgetSrc(fileName: Sounds): string {\n\t\tif (!fileName) {\n\t\t\treturn '';\n\t\t}\n\t\treturn `${this.srcPrefix}${this.parseSoundId(fileName)}.mp3`;\n\t}\n\n\tsetVolume(id: Sounds, volume: number = this.volume) {\n\t\tthis.getSound(id).volume(volume);\n\t}\n\n\tinitSound(id: Sounds): Howl {\n\t\tif (!id || !this.parseSoundId(id)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.sounds[id] = new Howl({\n\t\t\tsrc: [this.getSrc(id)],\n\t\t});\n\t\tthis.setVolume(id);\n\t\treturn this.sounds[id];\n\t}\n\n\tgetSound(id: Sounds): Howl {\n\t\treturn !this.sounds[id] ? this.initSound(id) : this.sounds[id];\n\t}\n\n\tisAudioActive(id?: Sounds): boolean {\n\t\t// console.log('isAudioActive', {\n\t\t// disableSound: !dispatch(isAudioActive()),\n\t\t// bool: dispatch(isAudioActive()),\n\t\t// });\n\t\tif (!this.parseSoundId(id)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn isAudioActive();\n\t}\n\n\tmuteAll(bool: boolean) {\n\t\tif (!this.isAudioActive()) {\n\t\t\treturn;\n\t\t}\n\t\tHowler.mute(bool);\n\t}\n\n\tstop(id: Sounds) {\n\t\tif (!this.isAudioActive(id)) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.getSound(id).stop();\n\t}\n\n\tbackgroundAudio(bool = true) {\n\t\tconst func = bool ? 'play' : 'stop';\n\t\tthis[func](Sounds.background, true);\n\t\tthis[func](Sounds['every-30-bg'], 10000);\n\t}\n\n\tstopAll() {\n\t\tObject.keys(this.sounds).forEach((id) => {\n\t\t\tthis.getSound(id as Sounds).stop();\n\t\t});\n\t\tObject.keys(this.intervals).forEach((id) => {\n\t\t\tclearInterval(this.intervals[id]);\n\t\t});\n\t}\n\n\tstartAll() {\n\t\tthis.backgroundAudio(true);\n\t}\n\n\tparseSoundId(id: Sounds) {\n\t\treturn id;\n\t}\n}\n\nconst audioService = new audioClass();\n\nexport default audioService;\n","import { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { setOption } from '../../modules/app/optionsService';\n\nexport const isAudioActive = (): boolean => {\n\treturn !!lsGet(LocalStorageKeys.OPTIONS, {}).sound;\n};\n\nexport const setDisableSound = (bool: boolean) => {\n\tsetOption('sound', !bool);\n};\n","import axios, { AxiosRequestConfig } from 'axios';\nimport { createHeaders } from '../../../methods/fetch/createHeaders';\n\nconst createConfig = (config?: AxiosRequestConfig): AxiosRequestConfig => {\n\treturn {\n\t\t...(config || {}),\n\t\theaders: {\n\t\t\t...createHeaders({ body: null }),\n\t\t\t...(config?.headers || {}),\n\t\t},\n\t};\n};\n\nexport const post = async (\n\turl: string,\n\tdata?: any,\n\tconfig?: AxiosRequestConfig,\n) => {\n\t// console.log('axios - post', url, { data, config });\n\treturn await axios.post(url, data, createConfig(config));\n\t// .then(result => {\n\t// \tconsole.log('axios - post - result', url, { data, config, result: result?.data });\n\t// \treturn result;\n\t// });\n};\n\nexport const get = async (url: string, config?: AxiosRequestConfig) => {\n\t// console.log('axios - get', url, config);\n\treturn await axios.get(url, createConfig(config));\n\t// .then(result => {\n\t// \tconsole.log('axios - get - result', url, config, result?.data);\n\t// \treturn result;\n\t// })\n\t// .catch(error => {\n\t// \tconsole.log('axios - get - error', url, { config, error });\n\t// \tthrow error;\n\t// });\n};\n","import { jsonToString } from '@common/methods/jsonToString';\nimport { mathService } from '../math/mathService';\nimport { config } from '../../config';\nimport { CurrencyType } from '../../../types/wallet/CurrencyType';\nimport { BalanceElement } from '../../../types/balance/BalancesArray';\nimport { sentryError } from './sentryService';\nimport { isCurrencyDisabled } from './currencyService';\nimport { getBalanceNative } from './userService';\n\nexport const getBalance = (\n\tbalances: BalanceElement[],\n\tcurrency: CurrencyType,\n) => {\n\treturn balances.find(\n\t\t(el) => el.currency.toLowerCase() === currency.toLowerCase(),\n\t);\n};\nexport const getRealBalanceNative = (\n\tbalances,\n\tcurrency: CurrencyType,\n): number => {\n\tif (Array.isArray(balances)) {\n\t\tconst value = getBalance(balances, currency);\n\t\treturn value && value.amount !== undefined\n\t\t\t? Number(value.amount)\n\t\t\t: undefined;\n\t}\n\treturn balances[currency] ? parseFloat(balances[currency]) : undefined;\n};\n\nexport const checkIsNoBalance = (balances: BalanceElement[]) => {\n\treturn !balances.some(\n\t\t(el) =>\n\t\t\tNumber(el.amount) >\n\t\t\tmathService.getMinValueByPrecision(config.decimals.bet),\n\t);\n};\nexport const checkBalancesArray = (source, balances: BalanceElement[] = []) => {\n\tconst verified = [];\n\tbalances.forEach((el) => {\n\t\tif (!getBalanceNative(verified, el.currency)) {\n\t\t\tif (!isCurrencyDisabled(el.currency)) {\n\t\t\t\tverified.push(el);\n\t\t\t}\n\t\t}\n\t});\n\treturn verified;\n};\nexport const updateBalance = (\n\tbalance: BalanceElement = {\n\t\tcurrency: null,\n\t\tamount: null,\n\t\tamount_usd: null,\n\t},\n\tbalances: BalanceElement[],\n) => {\n\tconst array = [...balances];\n\tconst index = array.findIndex(\n\t\t(el) => el.currency.toLowerCase() === balance.currency.toLowerCase(),\n\t);\n\tif (index > -1) {\n\t\tarray[index] = {\n\t\t\t...array[index],\n\t\t\t...balance,\n\t\t};\n\t\treturn array;\n\t}\n\treturn [...array, balance];\n};\nexport const updateBalances = (\n\tcurr: BalanceElement[] | BalanceElement,\n\tprev: BalanceElement[],\n\tfrom: any,\n) => {\n\tif (!curr) {\n\t\tsentryError('No current balance on updateBalances', {\n\t\t\tcurr: jsonToString(curr),\n\t\t\tprev: jsonToString(prev),\n\t\t\tfrom: jsonToString(from),\n\t\t});\n\t}\n\tif (!Array.isArray(curr)) {\n\t\treturn updateBalance(curr, prev);\n\t}\n\tlet array = [...prev];\n\tif (Array.isArray(curr)) {\n\t\tcurr.forEach((balance) => (array = updateBalance(balance, array)));\n\t}\n\treturn array;\n};\nexport const balancesChanged = (\n\tbalances: BalanceElement[],\n\tlastBalances: BalanceElement[],\n) => {\n\tconst changedArray = [];\n\tfor (let i = 0; i < balances.length; i++) {\n\t\tconst balance = balances[i];\n\t\tconst lastBalance = getBalance(lastBalances, balance.currency);\n\t\tif (\n\t\t\t!lastBalance ||\n\t\t\t(lastBalance && lastBalance.amount !== balance.amount)\n\t\t) {\n\t\t\tchangedArray.push(balance.currency);\n\t\t}\n\t}\n\treturn changedArray;\n};\nexport const isBalancesChanged = (\n\tbalances: BalanceElement[],\n\tlastBalances: BalanceElement[],\n): boolean => {\n\treturn !!balancesChanged(balances, lastBalances).length;\n};\n","import { mathService } from '../math/mathService';\nimport { sentryError } from './sentryService';\nimport { parseTimestampId } from './appService';\n\nexport const cardsColorsArray = ['♦', '♥', '♠', '♣'];\nexport const cardsValuesArray = [\n\t'A',\n\t'2',\n\t'3',\n\t'4',\n\t'5',\n\t'6',\n\t'7',\n\t'8',\n\t'9',\n\t'10',\n\t'J',\n\t'Q',\n\t'K',\n];\n\nexport const cardsArray = [];\n\ncardsColorsArray.forEach((color) => {\n\tcardsValuesArray.forEach((value) => {\n\t\tcardsArray.push(color + value);\n\t});\n});\n\n// console.log({cardsArray});\n\nexport const countCardsType = 13;\nexport const countCardsTypeNumber = 9;\nexport const countCardsTypeLetter = countCardsType - countCardsTypeNumber;\n\nexport const getCardById = (id) => {\n\treturn cardsArray[id];\n};\n\nexport const getCardId = (card) => {\n\tif (!card) {\n\t\treturn card;\n\t}\n\tconst index = cardsArray.indexOf(parseCard(card));\n\tif (index === -1) {\n\t\tsentryError(new Error(`Invalid card symbol ${card}`), {\n\t\t\tcard,\n\t\t\tparsed: parseCard(card),\n\t\t\tindex,\n\t\t});\n\t}\n\treturn index;\n};\n\nexport const parseCard = parseTimestampId;\n\nexport const isRedCard = (code) => {\n\tif (!code) {\n\t\treturn false;\n\t}\n\treturn ['♦', '♥'].indexOf(getColorFromCardCode(code)) > -1;\n};\n\nexport const getRandomCard = (current) => {\n\t// return '♦J';\n\tconst card = getCardById(\n\t\tmathService.randomIntInRange(0, cardsArray.length - 1),\n\t);\n\tif (card === current) {\n\t\treturn getRandomCard(current);\n\t}\n\treturn card;\n};\n\nexport const getColorFromCardCode = (code) => {\n\tif (!code) {\n\t\treturn false;\n\t}\n\treturn code[0];\n};\n\nexport const getValueFromCardCode = (code) => {\n\tif (!code) {\n\t\treturn false;\n\t}\n\treturn parseCard(code).replace(code[0], '');\n};\n","import {\n\tcurrenciesSettings,\n\tDEFAULT_CURRENCY,\n} from '@common/controllers/currency/currenciesSettings';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport sortService, { DIRECTION } from './sortService';\n\nexport const isCurrencyDisabled = (currency) => {\n\t// console.log('isCurrencyDisabled', wallet, !isFeatureAvailable(wallet.toLowerCase());\n\treturn !currenciesSettings.getSettings(currency);\n};\n\nexport const getInitialCurrency = (availableCurrencies = []) => {\n\treturn getCurrency(availableCurrencies);\n};\n\nexport const getCurrency = (availableCurrencies = []) => {\n\tavailableCurrencies = availableCurrencies.filter(\n\t\t(el) => !isCurrencyDisabled(el.currency),\n\t);\n\tlet currency = lsGet(LocalStorageKeys.ACTIVE_CURRENCY);\n\tconst index = availableCurrencies.findIndex((el) => el.currency === currency);\n\tif (index > -1) {\n\t\treturn currency;\n\t}\n\tif (availableCurrencies.length) {\n\t\treturn availableCurrencies.sort((a, b) =>\n\t\t\tsortService.sort(DIRECTION.DESC, a.amount, b.amount),\n\t\t)[0].currency;\n\t}\n\treturn DEFAULT_CURRENCY;\n};\n\nexport const saveActiveCurrency = (currency) => {\n\tlsSet(LocalStorageKeys.ACTIVE_CURRENCY, currency);\n};\n\nexport const resetActiveCurrency = () => {\n\tlsClear(LocalStorageKeys.ACTIVE_CURRENCY);\n};\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nvar PairwiseOperator = /*@__PURE__*/ (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n var pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n };\n return PairwiseSubscriber;\n}(Subscriber));\n//# sourceMappingURL=pairwise.js.map\n","/** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nvar WithLatestFromOperator = /*@__PURE__*/ (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add(subscribeToResult(_this, observable, undefined, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n","import {\n\tcatchError,\n\tmap,\n\tmergeMap,\n\tpairwise,\n\twithLatestFrom,\n} from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { ofType } from 'redux-observable';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { isFunction } from '@common/methods/isFunction';\nimport { RootState } from '../../store/configure.store';\nimport { sentryError } from './sentryService';\n\nexport interface CallBackData<P = any> {\n\taction: P;\n\tstore$: {\n\t\tvalue: RootState;\n\t};\n\taction$: any;\n\tid: string;\n}\n\nexport const epic = <P = any>(\n\tid: string,\n\t{\n\t\tactions,\n\t\tcallback,\n\t}: {\n\t\tactions: any;\n\t\tcallback: (data: CallBackData<P>) => any;\n\t},\n) => {\n\tconst ofTypeWrapper = getOfTypeWrapper(id, actions);\n\treturn (action$, store$) => {\n\t\treturn action$.pipe(\n\t\t\tofTypeWrapper(),\n\t\t\tmergeMap((action: P) => {\n\t\t\t\tconst data: CallBackData<P> = {\n\t\t\t\t\taction,\n\t\t\t\t\tstore$,\n\t\t\t\t\taction$,\n\t\t\t\t\tid,\n\t\t\t\t};\n\t\t\t\tlet callbackResponse;\n\t\t\t\ttry {\n\t\t\t\t\tcallbackResponse = callback(data);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tsentryError(error, {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\taction,\n\t\t\t\t\t\taction$,\n\t\t\t\t\t\tstore$,\n\t\t\t\t\t});\n\t\t\t\t\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\treturn of();\n\t\t\t\t}\n\t\t\t\tif (!callbackResponse) {\n\t\t\t\t\tsentryError(new Error(`Invalid epic response - ${id}`), {\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\tcallbackResponse,\n\t\t\t\t\t});\n\t\t\t\t\treturn of();\n\t\t\t\t}\n\t\t\t\treturn callbackResponse || of();\n\t\t\t}),\n\t\t\tcatchError((error) => {\n\t\t\t\tsentryError(error, {\n\t\t\t\t\tid,\n\t\t\t\t\tstore$,\n\t\t\t\t\taction$,\n\t\t\t\t});\n\t\t\t\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\treturn of();\n\t\t\t}),\n\t\t);\n\t};\n};\n\nexport interface OldStateCallBackData<P = any> extends CallBackData<P> {\n\toldState: RootState;\n\tnewState: RootState;\n}\n\nexport const epicOldState = <P = any>(\n\tid: string,\n\t{\n\t\tactions,\n\t\tcallback,\n\t}: {\n\t\tactions: any;\n\t\tcallback: (data: OldStateCallBackData<P>) => any;\n\t},\n) => {\n\tconst ofTypeWrapper = getOfTypeWrapper(id, actions);\n\treturn (action$, store$) => {\n\t\tconst statePairs$ = store$.pipe(pairwise());\n\t\treturn action$.pipe(\n\t\t\tofTypeWrapper(),\n\t\t\twithLatestFrom(statePairs$),\n\t\t\tmap(([_, [oldState, newState]]) => {\n\t\t\t\tconst data = {\n\t\t\t\t\taction: _,\n\t\t\t\t\tnewState,\n\t\t\t\t\toldState,\n\t\t\t\t\tstore$,\n\t\t\t\t\taction$,\n\t\t\t\t\tid,\n\t\t\t\t};\n\t\t\t\tconst callbackResponse = callback(data);\n\t\t\t\tif (!callbackResponse) {\n\t\t\t\t\t// console.log(callbackResponse);\n\t\t\t\t\tsentryError(`Invalid epicOldState response - ${id}`, {\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\tcallbackResponse,\n\t\t\t\t\t});\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t\t// console.log(id, {actions, callbackResponse});\n\t\t\t\treturn callbackResponse;\n\t\t\t}),\n\t\t\tcatchError((error) => {\n\t\t\t\tsentryError(error, {\n\t\t\t\t\tid,\n\t\t\t\t});\n\t\t\t\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}),\n\t\t);\n\t};\n};\n\nconst getOfTypeWrapper = (id, actions) => {\n\treturn isFunction(actions) ? () => actions(ofType) : () => ofType(actions);\n};\n","import { trans } from '../translation/translate';\n\nexport const parseApiInfo = (info, noTranslationCheck, namespace) => {\n\tif (!info) {\n\t\treturn info || null;\n\t}\n\tif (typeof info === 'string') {\n\t\treturn trans({\n\t\t\tlabel: info,\n\t\t\tnoTranslationCheck: noTranslationCheck,\n\t\t\tnamespace: namespace,\n\t\t});\n\t}\n\tif (typeof info === 'object') {\n\t\tif (!Object.keys(info).length) {\n\t\t\treturn null;\n\t\t}\n\t\tlet message = info;\n\t\tif (info) {\n\t\t\tif (info.message) {\n\t\t\t\tmessage = info.message;\n\t\t\t}\n\t\t\tif (info.error) {\n\t\t\t\tmessage = info.error;\n\t\t\t}\n\t\t\tif (info.errors) {\n\t\t\t\tmessage = info.errors[0];\n\t\t\t}\n\t\t}\n\t\treturn trans({\n\t\t\tlabel: message,\n\t\t\toptions: info?.values || message?.values,\n\t\t\tcomponents: info?.components || message?.components,\n\t\t\tnoTranslationCheck: noTranslationCheck,\n\t\t\tnamespace: info?.namespace || namespace,\n\t\t});\n\t}\n\treturn info || null;\n};\n\nexport const getStringApiInfo = (info) => {\n\tif (!info) {\n\t\treturn info;\n\t}\n\tif (typeof info === 'string') {\n\t\treturn info;\n\t}\n\tif (typeof info === 'object' && info.message) {\n\t\treturn info.message;\n\t}\n\treturn info;\n};\n","import { cookieService } from '@common/controllers/cookieService';\nimport { config, FeatureType } from '@legacyApp/client/config';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nexport const isFeatureAvailable = (id: FeatureType) => {\n\tif (!config.disableFeatures[id]) {\n\t\t// console.log('isFeatureAvailable', id, 'not-disabled');\n\t\treturn true;\n\t}\n\tif (\n\t\t!config.extendedAccessFunction ||\n\t\tconfig.extendedAccessFunction.indexOf(id) === -1\n\t) {\n\t\t// console.log('isFeatureAvailable', id, 'disabled');\n\t\treturn false;\n\t}\n\t// console.log('isFeatureAvailable', id, 'extended', cookieService.get('extendedAccess'));\n\treturn !!cookieService.get(CookiesKeys.EXTENDED_ACCESS);\n};\n\nexport const checkIfUserCanAccess = (state: RootState) => {\n\t// console.log('extendedAccessEpic', {\n\t// \tisLogin: config.loginsWithExtendedAccess.indexOf(store$.value.user.name) > -1,\n\t// \tbool: config.loginsWithExtendedAccess.indexOf(store$.value.user.name) > -1 || store$.value.user.isAdmin || !!store$.value.vip.level?.level,\n\t// \tisAdmin: store$.value.user.isAdmin,\n\t// \tlevel: store$.value.vip.level?.level,\n\t// });\n\treturn (\n\t\tstate.user.isAdmin || state.user.isModerator\n\t\t// || !!state.vip.level?.level\n\t);\n};\n","import { onLoad } from './appService';\n\nexport interface FetchScriptOptions {\n\tnoCache?: boolean;\n\tcallback?: any;\n\tonerror?: any;\n\ttype?: string;\n}\n\nexport const fetchScript_ = async (\n\turl: string,\n\toptions?: FetchScriptOptions,\n) => {\n\tif (!process.browser) {\n\t\treturn null;\n\t}\n\tconst element = document.querySelector(`script[src=\"${url}\"]`);\n\tif (element) {\n\t\tif (options?.noCache && element.remove) {\n\t\t\telement.remove();\n\t\t} else {\n\t\t\tif (options?.callback) {\n\t\t\t\toptions.callback(null);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn fetch(url)\n\t\t.then((response) => {\n\t\t\tif (!response?.ok) {\n\t\t\t\tthrow response;\n\t\t\t}\n\t\t\tconsole.log('fetchScript response', url, { response });\n\t\t\treturn response.blob();\n\t\t})\n\t\t.then(function (myBlob) {\n\t\t\tconsole.log('fetchScript blob', url, { myBlob });\n\t\t\tconst objectURL = URL.createObjectURL(myBlob);\n\t\t\tconst sc = document.createElement('script');\n\t\t\tsc.setAttribute('src', objectURL);\n\t\t\tsc.setAttribute('type', options?.type || 'text/javascript');\n\t\t\tdocument.head.appendChild(sc);\n\t\t\tif (options?.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t\treturn null;\n\t\t})\n\t\t.catch((error) => {\n\t\t\tif (options?.onerror) {\n\t\t\t\toptions.onerror(error);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n};\n\nexport const fetchScript = async (\n\turl: string,\n\toptions?: FetchScriptOptions,\n): Promise<unknown> => {\n\treturn await onLoad(() => {\n\t\treturn new Promise((resolve) => {\n\t\t\tif (!process.browser) {\n\t\t\t\treturn resolve(null);\n\t\t\t}\n\t\t\tconst element = document.querySelector(`script[src=\"${url}\"]`);\n\t\t\tif (element) {\n\t\t\t\tif (options?.noCache && element.remove) {\n\t\t\t\t\telement.remove();\n\t\t\t\t} else {\n\t\t\t\t\tif (options?.callback) {\n\t\t\t\t\t\toptions.callback(null);\n\t\t\t\t\t}\n\t\t\t\t\treturn resolve(null);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst script = document.createElement('script');\n\t\t\tconst scripts = document.getElementsByTagName('script');\n\t\t\tconst scriptsLast = scripts[scripts.length - 1];\n\t\t\tscript.async = true;\n\t\t\tscript.onload = (ev) => {\n\t\t\t\tif (options?.callback) {\n\t\t\t\t\treturn resolve(options.callback(ev));\n\t\t\t\t}\n\t\t\t\treturn resolve(null);\n\t\t\t};\n\t\t\tscript.onerror = function (event, source, lineno, colno, error) {\n\t\t\t\tif (options?.onerror) {\n\t\t\t\t\treturn resolve(options.onerror(event, source, lineno, colno, error));\n\t\t\t\t}\n\t\t\t\treturn resolve(null);\n\t\t\t};\n\t\t\tscript.src = url;\n\t\t\tif (options?.type) {\n\t\t\t\tscript.type = options.type;\n\t\t\t}\n\t\t\t// script.setAttribute('crossorigin','*');\n\t\t\tscriptsLast.parentNode.insertBefore(script, scriptsLast);\n\t\t});\n\t});\n};\n","import { servicesConfig } from '@server/config/services.config';\nimport { fetchScript } from '@legacyApp/client/modules/app/fetchScript';\n\nexport const installRecaptcha = (callback, onerror, captchaKey?: string) => {\n\tfetchScript(\n\t\t`https://recaptcha.net/recaptcha/api.js?render=${\n\t\t\tcaptchaKey || servicesConfig.captchaSiteKey\n\t\t}`,\n\t\t{\n\t\t\tcallback,\n\t\t\tonerror,\n\t\t},\n\t);\n};\n","import { servicesConfig } from '@server/config/services.config';\nimport { isFunction } from '@common/methods/isFunction';\nimport { CAPTCHA_RETRY_LIMIT } from '../captcha.constants';\nimport { installRecaptcha } from './installRecaptcha';\n\nexport const getCaptcha = (siteKey?: string, counter = 0) => {\n\tif (!servicesConfig.captchaSiteKey) {\n\t\treturn '9e4a9bb91dd36ebeb665beb2d413b7b1f6d0876f37b238b797415233ad05a749';\n\t}\n\tconst grecaptcha = window?.['grecaptcha'];\n\tif (!grecaptcha) {\n\t\treturn new Promise((resolve) => {\n\t\t\tinstallRecaptcha(\n\t\t\t\t() => {\n\t\t\t\t\tresolve(getCaptcha());\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\treturn resolve(false);\n\t\t\t\t},\n\t\t\t\tsiteKey,\n\t\t\t);\n\t\t});\n\t}\n\tif (!isFunction(grecaptcha?.execute)) {\n\t\tif (counter > CAPTCHA_RETRY_LIMIT) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t\treturn new Promise((resolve) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tresolve(getCaptcha(null, counter + 1));\n\t\t\t}, 500);\n\t\t});\n\t}\n\treturn grecaptcha;\n};\n","export const CAPTCHA_RETRY_LIMIT = 20;\n","import { servicesConfig } from '@server/config/services.config';\nimport { getCaptcha } from './getCaptcha';\n\nexport const executeCaptcha = async (action) => {\n\tconst captcha = await getCaptcha();\n\tif (!captcha) {\n\t\treturn false;\n\t}\n\treturn captcha\n\t\t.execute(servicesConfig.captchaSiteKey, {\n\t\t\taction,\n\t\t})\n\t\t.catch((error) => {\n\t\t\tconsole.error('grecaptcha.execute - error', error, {\n\t\t\t\tkey: servicesConfig.captchaSiteKey,\n\t\t\t\taction,\n\t\t\t});\n\t\t\treturn false;\n\t\t});\n};\n","import { jsonToString } from '@common/methods/jsonToString';\nimport { config } from '../../config';\nimport FetchService from './fetchService';\n\n// const timeArray = [];\n\nexport const request = (url, options, fromState, token = {}) => {\n\t// const start = window.performance.now();\n\t// if (url.indexOf('auto/play') > -1) {\n\tlet timeout = null;\n\treturn new Promise((resolve, reject) => {\n\t\tif (!process.browser) {\n\t\t\treturn false;\n\t\t\t// const method = options.method ? options.method : options.data ? 'POST' : 'GET';\n\t\t\t// const cancelTokenSource = axios.CancelToken.source();\n\t\t\t// if (!FetchService.isUrl(url, ['/flash/play'])) {\n\t\t\t// \ttimeout = setTimeout(() => {\n\t\t\t// \t\tdelete FetchService.state[url];\n\t\t\t// \t\tcancelTokenSource.cancel();\n\t\t\t// \t\treturn resolve({\n\t\t\t// \t\t\tstatus: 0,\n\t\t\t// \t\t\tresponseText: jsonToString({\n\t\t\t// \t\t\t\terror: 'Connection timeout, please check your internet connection',\n\t\t\t// \t\t\t}),\n\t\t\t// \t\t});\n\t\t\t// \t}, config.serverConnectionTimeout);\n\t\t\t// }\n\t\t\t// return axios({\n\t\t\t// \t...options,\n\t\t\t// \tmethod,\n\t\t\t// \turl,\n\t\t\t// \tcancelToken: cancelTokenSource.token\n\t\t\t// }).then(response => {\n\t\t\t// \tif (timeout) clearTimeout(timeout);\n\t\t\t// \tFetchService.state[url] = response;\n\t\t\t// \tFetchService.addFromStateExpire(url, fromState);\n\t\t\t// \treturn resolve(response);\n\t\t\t// }).catch(error => {\n\t\t\t// \tdelete FetchService.state[url];\n\t\t\t// \tconsole.error('axios - error', error);\n\t\t\t// \tif (timeout) clearTimeout(timeout);\n\t\t\t// \treturn resolve({\n\t\t\t// \t\terror: {\n\t\t\t// \t\t\t...error\n\t\t\t// \t\t},\n\t\t\t// \t\tstatus: 0,\n\t\t\t// \t\tresponseText: jsonToString({\n\t\t\t// \t\t\terror: 'Connection failed, please check your internet connection',\n\t\t\t// \t\t}),\n\t\t\t// \t});\n\t\t\t// });\n\t\t}\n\n\t\t// console.log(url, options);\n\t\tconst xhr = new XMLHttpRequest();\n\t\ttoken.cancel = function () {\n\t\t\t// SPECIFY CANCELLATION\n\t\t\tdelete FetchService.state[url];\n\t\t\txhr.abort(); // abort request\n\t\t\treject('canceled'); // reject the promise\n\t\t};\n\t\tif (!FetchService.isUrl(url, ['/flash/play'])) {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\t// sentryError(new Error(`Request abort - ${url}`), {\n\t\t\t\t// url,\n\t\t\t\t// options,\n\t\t\t\t// fromState,\n\t\t\t\t// xhr,\n\t\t\t\t// });\n\t\t\t\tdelete FetchService.state[url];\n\t\t\t\txhr.abort();\n\t\t\t\tresolve({\n\t\t\t\t\txhr,\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\tresponseText: jsonToString({\n\t\t\t\t\t\terror: 'Connection timeout, please check your internet connection',\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}, config.serverConnectionTimeout);\n\t\t}\n\t\txhr.open(options.method, url);\n\t\tif (options.headers) {\n\t\t\tObject.keys(options.headers).forEach((key) =>\n\t\t\t\txhr.setRequestHeader(key, options.headers[key]),\n\t\t\t);\n\t\t}\n\t\t// if (options.credentials) xhr.withCredentials = true;\n\t\txhr.onload = () => {\n\t\t\ttoken.cancel = null;\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}\n\t\t\tFetchService.state[url] = xhr;\n\t\t\tFetchService.addFromStateExpire(url, fromState);\n\t\t\t// console.timeEnd('autobet-request-2-api');\n\t\t\t// const end = window.performance.now();\n\t\t\t// timeArray.push(end - start);\n\t\t\t// console.log(`autobet-request-2-api - ${end-start}ms / ${timeArray.reduce((previousValue, currentValue) => previousValue + currentValue) / timeArray.length}ms`);\n\t\t\t// console.time('autobet-request-3');\n\t\t\t// console.log('loaded', url, xhr.getAllResponseHeaders(), { xhr });\n\t\t\t// if (url.indexOf('auto/start') > -1) {\n\t\t\t// \tconst data = '';\n\t\t\t// \tresolve({\n\t\t\t// \t\tresponseText: data,\n\t\t\t// \t\tresponse: data,\n\t\t\t// \t\tstatus: null,\n\t\t\t// \t});\n\t\t\t// }\n\t\t\tresolve(xhr);\n\t\t};\n\t\txhr.onerror = (error) => {\n\t\t\ttoken.cancel = null;\n\t\t\tdelete FetchService.state[url];\n\t\t\tconsole.error('xhr - error', error, xhr);\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}\n\t\t\tresolve({\n\t\t\t\txhr,\n\t\t\t\terror: {\n\t\t\t\t\t...error,\n\t\t\t\t},\n\t\t\t\tstatus: 0,\n\t\t\t\tresponseText: jsonToString({\n\t\t\t\t\terror: `Connection failed, please check your internet connection - (${url})`,\n\t\t\t\t}),\n\t\t\t});\n\t\t};\n\t\t// console.log('options - body', url, options.body, options);\n\t\txhr.send(options.body);\n\t});\n\t// }\n\t// return fetch(url, options).then(response => {\n\t// // if (!NEXT_CONFIG.PRODUCTION) console.timeEnd(timeId);\n\t// // if (url.indexOf('auto/play') > -1) {\n\t// // console.timeEnd('autobet-request-2-api');\n\t// // const end = window.performance.now();\n\t// // timeArray.push(end - start);\n\t// // console.log(`autobet-request-2-api - ${end-start}ms / ${timeArray.reduce((previousValue, currentValue) => previousValue + currentValue) / timeArray.length}ms`);\n\t// // console.time('autobet-request-3');\n\t// // }\n\t// FetchService.state[url] = response;\n\t// FetchService.addFromStateExpire(url, fromState);\n\t// return response.clone();\n\t// }).catch(error => {\n\t// // if (!NEXT_CONFIG.PRODUCTION) console.timeEnd(timeId);\n\t// delete FetchService.state[url];\n\t// throw error;\n\t// });\n};\n","import { isFunction } from '@common/methods/isFunction';\nimport { checkIsUrlWithCaptcha } from '@modules/captcha/methods/checkIsUrlWithCaptcha';\nimport { executeCaptcha } from '@modules/captcha/methods/executeCaptcha';\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { config } from '../../config';\nimport { isWindowVisible } from '../../../methods/app/isWindowVisible';\nimport { parseApiUrl } from '../../../methods/fetch/parseApiUrl';\nimport { createHeaders } from '../../../methods/fetch/createHeaders';\nimport { request } from './requestService';\n\nclass FetchClass {\n\tconstructor() {\n\t\tthis.state = {};\n\t\tthis.requestHistory = {};\n\t\tthis.waitingRequests = {};\n\t\tthis.fromStateExpire = {};\n\n\t\tif (process.browser) {\n\t\t\tdocument.addEventListener('visibilitychange', () => {\n\t\t\t\tthis.releaseWaitingRequests();\n\t\t\t});\n\t\t}\n\t}\n\n\tparseApiUrl(uri) {\n\t\treturn parseApiUrl(uri);\n\t}\n\n\tgetParameters(parameters, url, loaderId) {\n\t\tif (!checkIsUrlWithCaptcha(url, loaderId)) {\n\t\t\treturn this.parseParameters(parameters);\n\t\t}\n\t\treturn executeCaptcha(loaderId)\n\t\t\t.then((token) => {\n\t\t\t\tif (!parameters.body) {\n\t\t\t\t\tparameters.body = {};\n\t\t\t\t}\n\t\t\t\tparameters.body['g-recaptcha-response'] = token;\n\t\t\t\tif (!parameters.method || parameters.method === 'GET') {\n\t\t\t\t\tparameters.method = 'POST';\n\t\t\t\t}\n\t\t\t\treturn this.parseParameters(parameters);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.error('executeCaptcha - error', error);\n\t\t\t\tthrow error;\n\t\t\t});\n\t}\n\n\tparseParameters(parameters) {\n\t\tif (parameters.body) {\n\t\t\tparameters.body =\n\t\t\t\ttypeof parameters.body === 'string' ||\n\t\t\t\tparameters?.headers?.['Content-Type'] === null ||\n\t\t\t\t(parameters?.headers?.['Content-Type'] &&\n\t\t\t\t\tparameters?.headers?.['Content-Type'] !== 'application/json')\n\t\t\t\t\t? parameters.body\n\t\t\t\t\t: jsonToString(parameters.body);\n\t\t}\n\t\tconst parsed = {\n\t\t\t...parameters,\n\t\t\theaders: {\n\t\t\t\t...createHeaders({ body: parameters.body }),\n\t\t\t\t...(parameters.headers || {}),\n\t\t\t},\n\t\t\tcredentials: 'same-origin',\n\t\t};\n\t\tif (parameters?.headers?.['Content-Type'] === null) {\n\t\t\tdelete parsed.headers['Content-Type'];\n\t\t}\n\t\treturn parsed;\n\t}\n\n\tfetch = (url, options = {}, fromState, token = {}) => {\n\t\t// console.log('fetch', {url, options, fromState, token, x: {...this}});\n\t\t// console.log('document.hidden', !isVisible(), this.waitingRequests[url], this);\n\n\t\tif (this.waitingRequests[url] && !this.waitingRequests[url].released) {\n\t\t\t// console.log(url, 'Fetch false - waiting request', this);\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tthis.waitingRequests[url].resolve.push(resolve);\n\t\t\t});\n\t\t}\n\n\t\tif (!isWindowVisible() && !this.noRepeatOnMaintenaceUrl(url)) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tthis.waitingRequests[url] = {\n\t\t\t\t\tresolve: [resolve],\n\t\t\t\t\tcallback: () => FetchService.fetch(url, options, fromState),\n\t\t\t\t\treleased: false,\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\tif (this.state[url] === 'pending') {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\t// return resolve(false);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tresolve(FetchService.fetch(url, options, true));\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t}\n\n\t\tif (this.state[url] && fromState && !this.isFromStateExpired(url)) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tconst result = isFunction(this.state[url].clone)\n\t\t\t\t\t? this.state[url].clone()\n\t\t\t\t\t: this.state[url];\n\t\t\t\tif (result.status === 200) {\n\t\t\t\t\treturn resolve(result);\n\t\t\t\t}\n\t\t\t\tdelete this.state[url];\n\t\t\t\tresolve(FetchService.fetch(url, options, fromState));\n\t\t\t});\n\t\t}\n\n\t\tthis.state[url] = 'pending';\n\n\t\t// const timeId = `time - ${url}`;\n\t\t// if (!NEXT_CONFIG.PRODUCTION) {\n\t\t// console.time(timeId);\n\t\t// }\n\n\t\t// console.log({url, options});\n\t\t// if (url.indexOf('auto/play') > -1) {\n\t\t// // console.timeEnd('autobet-request-1');\n\t\t// console.time('autobet-request-2-api');\n\t\t// }\n\t\treturn request(url, options, fromState, token).catch((error) => {\n\t\t\tif (this.state[url]) {\n\t\t\t\tdelete this.state[url];\n\t\t\t}\n\t\t\t// console.log('request - error');\n\t\t\tthrow error;\n\t\t});\n\t};\n\n\tgetResponseData(response) {\n\t\tif (!response) {\n\t\t\treturn new Promise((resolve) => resolve(false));\n\t\t}\n\t\tif (isFunction(response.json)) {\n\t\t\ttry {\n\t\t\t\treturn response.json();\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('getResponse ERROR', {\n\t\t\t\t\terror,\n\t\t\t\t\tresponse,\n\t\t\t\t});\n\t\t\t\treturn response.text().then((result) =>\n\t\t\t\t\tstringToJson(result, {\n\t\t\t\t\t\ttext: result,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn new Promise((resolve) =>\n\t\t\tresolve(\n\t\t\t\tstringToJson(response.responseText, {\n\t\t\t\t\ttext: response.responseText,\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\n\taddFromStateExpire(url, value) {\n\t\tif (value && typeof value !== 'boolean') {\n\t\t\tthis.fromStateExpire[url] = new Date().getTime() + value;\n\t\t}\n\t}\n\n\tisFromStateExpired(url) {\n\t\treturn (\n\t\t\tthis.fromStateExpire[url] &&\n\t\t\tthis.fromStateExpire[url] <= new Date().getTime()\n\t\t);\n\t}\n\n\treleaseWaitingRequests = () => {\n\t\t// console.log('document.hidden - releaseWaiting', !isVisible(), this);\n\t\tif (!isWindowVisible()) {\n\t\t\treturn;\n\t\t}\n\t\tconst keys = Object.keys(this.waitingRequests);\n\t\tif (!keys.length) {\n\t\t\treturn;\n\t\t}\n\t\tkeys.map((key) => {\n\t\t\t// console.log('document.hidden - release', key);\n\t\t\tthis.waitingRequests[key].released = true;\n\t\t\tconst response = this.waitingRequests[key].callback();\n\t\t\tthis.waitingRequests[key].resolve.forEach((resolve) => {\n\t\t\t\tresolve(response);\n\t\t\t});\n\t\t});\n\t\tthis.waitingRequests = {};\n\t};\n\n\taddToHistory(url, status, data, parameters) {\n\t\tif (\n\t\t\t// this.noRepeatOnMaintenaceUrl(url) ||\n\t\t\tthis.isUrl(url, [\n\t\t\t\t'/chat/messages',\n\t\t\t\t'/site/stats',\n\t\t\t\t'/bet/last',\n\t\t\t\t'/user/bets',\n\t\t\t\t'/user/deposits',\n\t\t\t\t'/stats/race',\n\t\t\t\t'/user/friends',\n\t\t\t\t'/user/friends/requests',\n\t\t\t\t'/user/rakeback/levels',\n\t\t\t\t'/user/rooms/open',\n\t\t\t\t'/user/strategies',\n\t\t\t\t'/user/online',\n\t\t\t]) &&\n\t\t\tstatus === 200\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\t// console.log('addToHistory', this.requestHistory);\n\t\tconst json = {\n\t\t\ttimestamp: new Date(),\n\t\t\turl,\n\t\t\tstatus,\n\t\t\tdata,\n\t\t\tparameters,\n\t\t};\n\t\tif (!this.requestHistory[url]) {\n\t\t\treturn (this.requestHistory[url] = [json]);\n\t\t}\n\t\tif (this.requestHistory[url].length > 5) {\n\t\t\tthis.requestHistory[url] = this.requestHistory[url].slice(1);\n\t\t}\n\t\tthis.requestHistory[url].push(json);\n\t}\n\n\twasFetched(id) {\n\t\treturn !!this.getRequest(id, this.requestHistory);\n\t}\n\n\tgetRequest(id, data, strict) {\n\t\tconst key = Object.keys(data).find((el) =>\n\t\t\tstrict ? el === id : el.indexOf(id) > -1,\n\t\t);\n\t\tif (!key) {\n\t\t\treturn false;\n\t\t}\n\t\treturn data[key];\n\t}\n\n\tisWaiting(id) {\n\t\treturn this.getRequest(id, this.waitingRequests);\n\t}\n\n\tisState(id) {\n\t\treturn this.getRequest(id, this.state, true);\n\t}\n\n\tisPending(id) {\n\t\treturn this.getRequest(id, this.state, true) === 'pending';\n\t}\n\n\tisUrl = (url, array) => {\n\t\treturn array.some((el) => url.indexOf(el) > -1);\n\t};\n\n\tcanRetryFailedUrl(url) {\n\t\treturn this.isUrl(url, ['/manual/play', '/auto/play', '/flash/play']);\n\t}\n\n\tnoRepeatOnMaintenaceUrl = (url) => {\n\t\treturn this.isUrl(url, [\n\t\t\t'/manual/play',\n\t\t\t'/auto/play',\n\t\t\t'/flash/play',\n\t\t\t'/withdraw/order',\n\t\t\t'/user/online',\n\t\t]);\n\t};\n\n\tnoUnavailableService = (url) => {\n\t\treturn this.isUrl(url, ['/slots/play']);\n\t};\n\n\tclearState(query) {\n\t\tif (!query) {\n\t\t\tthis.state = {};\n\t\t}\n\t\tconst keys = Object.keys(this.state);\n\t\tkeys\n\t\t\t.filter((key) => {\n\t\t\t\treturn key.indexOf(query) > -1;\n\t\t\t})\n\t\t\t.forEach((key) => {\n\t\t\t\tdelete this.state[key];\n\t\t\t});\n\t}\n\n\tisMaintenanceMode = (status, data) => {\n\t\tif (\n\t\t\tstatus === 404 &&\n\t\t\tdata &&\n\t\t\tdata.text &&\n\t\t\tdata.text.indexOf(\n\t\t\t\t'<a href=//www.google.com/><span id=logo aria-label=Google>',\n\t\t\t) > -1\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\treturn (\n\t\t\tstatus === 503 && data && data.error === config.errors.maintenanceMode\n\t\t);\n\t};\n}\n\nconst FetchService = new FetchClass();\n\nexport default FetchService;\n","import FetchService from '../../../LegacyApp/client/modules/app/fetchService';\n\nexport const checkIsUrlWithCaptcha = (url) => {\n\t// console.log('captchaUrl', {url, loaderId});\n\treturn FetchService.isUrl(url, [\n\t\t// '/login',\n\t\t// '/register',\n\t\t'/user/change/login',\n\t\t'/user/change/email',\n\t\t'/user/email/change',\n\t\t'/user/change/password',\n\t\t'/2fa/install',\n\t\t'/2fa/disable',\n\t\t'/user/new-password',\n\t\t'/user/set-new-password',\n\t\t'/user/resend/email-verification',\n\t\t'/user/daily-streak/claim',\n\t\t'/withdraw/order',\n\t]);\n};\n","import Fingerprint from 'fingerprintjs2';\nimport md5 from 'md5';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { stringToJson } from '@common/methods/stringToJson';\n\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nlet data = cookieService.get(CookiesKeys.INSP_FRGCH);\nif (data) {\n\tdata = stringToJson(data);\n}\n\nexport const parseData = (el) => {\n\tif (el && el.value && typeof el.value === 'object') {\n\t\tif (el.value.length) {\n\t\t\treturn el.value.join(',');\n\t\t}\n\t\treturn jsonToString(el.value);\n\t}\n\treturn el.value + '';\n};\n\nexport const browserFingerprint = () => {\n\treturn new Promise((resolve) => {\n\t\tconst simpleFingerprint = [\n\t\t\t'platform',\n\t\t\t'timezone',\n\t\t\t'language',\n\t\t\t'fonts',\n\t\t\t'webglVendorAndRenderer',\n\t\t\t'screenResolution',\n\t\t];\n\t\tconst advancedFingerprint = ['webgl', 'canvas'];\n\t\tFingerprint.get(\n\t\t\t{\n\t\t\t\tfonts: {\n\t\t\t\t\textendedJsFonts: false,\n\t\t\t\t},\n\t\t\t\texcludes: {\n\t\t\t\t\t// canvas: true,\n\t\t\t\t\taudio: true,\n\t\t\t\t\t// webgl: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(components) => {\n\t\t\t\t// console.log(components);\n\t\t\t\treturn resolve({\n\t\t\t\t\tsimple: components\n\t\t\t\t\t\t.filter((el) => simpleFingerprint.indexOf(el.key) > -1)\n\t\t\t\t\t\t.map(parseData)\n\t\t\t\t\t\t.join(';'),\n\t\t\t\t\tadvanced: components\n\t\t\t\t\t\t.filter((el) => advancedFingerprint.indexOf(el.key) > -1)\n\t\t\t\t\t\t.map(parseData)\n\t\t\t\t\t\t.join(';'),\n\t\t\t\t\tdetails: {\n\t\t\t\t\t\tuserAgent: components.find((el) => el.key === 'userAgent').value,\n\t\t\t\t\t\ttimezone: components.find((el) => el.key === 'timezone').value,\n\t\t\t\t\t\tlanguage: components.find((el) => el.key === 'language').value,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t});\n};\n\nexport const getBcheck = () => {\n\treturn new Promise((resolve) => {\n\t\tif (data) {\n\t\t\treturn resolve(data);\n\t\t}\n\t\treturn browserFingerprint().then((fingerprint) => {\n\t\t\tdata = {\n\t\t\t\tmd1: md5(fingerprint.simple),\n\t\t\t\tmd2: md5(fingerprint.advanced),\n\t\t\t\tdetails: fingerprint.details,\n\t\t\t};\n\t\t\tcookieService.set(CookiesKeys.INSP_FRGCH, jsonToString(data), {\n\t\t\t\texpires: 1,\n\t\t\t});\n\t\t\treturn resolve(data);\n\t\t});\n\t});\n};\n\nif (process.browser) {\n\tbrowserFingerprint().then((fingerprint) => {\n\t\tdata = {\n\t\t\tmd1: md5(fingerprint.simple),\n\t\t\tmd2: md5(fingerprint.advanced),\n\t\t\tdetails: fingerprint.details,\n\t\t};\n\t\t// console.log('fingerprint', {\n\t\t// fingerprint,\n\t\t// data,\n\t\t// });\n\t});\n}\n","import Router from 'next/router';\n\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { config } from '@legacyApp/client/config';\nimport { game_config } from '@legacyApp/client/game_config';\nimport { getBalanceNative } from '@legacyApp/client/modules/app/userService';\nimport { getMarginMultiplier } from '@legacyApp/client/modules/app/validateService';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport { getLimits } from '@legacyApp/methods/currency/getLimits';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { getGamesList } from '@modules/games/Game/methods/getGamesList';\n\nconst getGameValueDecimal = (type, game) => {\n\tif (!game) {\n\t\treturn config.decimals[type];\n\t}\n\n\tif (!game_config[game]) {\n\t\tconsole.warn(`Brak konfiguracji dla gry: ${game}`);\n\t\treturn config.decimals[type];\n\t}\n\n\treturn game_config[game][`${type}Decimal`]\n\t\t? game_config[game][`${type}Decimal`]\n\t\t: config.decimals[type];\n};\n\nexport const getWinChanceDecimal = (game) => {\n\treturn getGameValueDecimal('winChance', game);\n};\n\nexport const getPayoutDecimal = (game) => {\n\treturn getGameValueDecimal('payout', game);\n};\n\nexport const getPayout = (winChance, game = 'dice') => {\n\tif (!game) {\n\t\tthrow new Error(`game is undefined for ${winChance}`);\n\t}\n\n\tif (typeof game !== 'string') {\n\t\tsentryError(new Error('Invalid game format'), {\n\t\t\tgame,\n\t\t\twinChance,\n\t\t});\n\t\treturn false;\n\t}\n\n\tif (!game_config[game]) {\n\t\tthrow new Error(`Invalid game in getPayout: ${game} / ${winChance}`);\n\t}\n\n\tif (!isTrueOrZero(game_config[game].minPayout)) {\n\t\tthrow new Error(`No minimum payout value for game: ${game} / ${winChance}`);\n\t}\n\n\tif (!isTrueOrZero(game_config[game].maxPayout)) {\n\t\tthrow new Error(`No maximum payout value for game: ${game} / ${winChance}`);\n\t}\n\n\tif (!winChance) {\n\t\treturn winChance;\n\t}\n\n\tconst decimal = getPayoutDecimal(game);\n\n\tconst result = roundNumber(\n\t\t(100 / winChance) * getMarginMultiplier(game),\n\t\tdecimal,\n\t);\n\n\treturn result < game_config[game].minPayout\n\t\t? game_config[game].minPayout\n\t\t: result > game_config[game].maxPayout\n\t\t? game_config[game].maxPayout\n\t\t: result;\n};\n\nexport const getProfit = (bet, payout) => {\n\tif (!bet) {\n\t\treturn 0;\n\t}\n\n\treturn roundNumber(\n\t\tparseFloat(bet) * (parseFloat(payout) - 1),\n\t\tconfig.decimals.balance,\n\t);\n};\n\nexport const getWinChanceFromPayout = (payout, game) => {\n\tif (!game) {\n\t\tthrow new Error('game is undefined');\n\t}\n\n\tif (!game_config[game]) {\n\t\tthrow new Error(\n\t\t\t`Invalid game in getWinChanceFromPayout: ${game} / ${payout}`,\n\t\t);\n\t}\n\n\tif (!isTrueOrZero(game_config[game].minPayout)) {\n\t\tthrow new Error(`No minimum payout value for game: ${game} / ${payout}`);\n\t}\n\n\tif (!isTrueOrZero(game_config[game].maxPayout)) {\n\t\tthrow new Error(`No maximum payout value for game: ${game} / ${payout}`);\n\t}\n\n\tpayout = mathService.parseValue(payout);\n\n\tconst decimal = getWinChanceDecimal(game);\n\n\tif (roundNumber(payout, decimal) <= game_config[game].minPayout) {\n\t\treturn config.games.maxWinChance;\n\t}\n\n\tif (payout >= game_config[game].maxPayout) {\n\t\tpayout = game_config[game].maxPayout;\n\t}\n\n\treturn roundNumber(\n\t\t(getMarginMultiplier(game) / mathService.parseValue(payout)) * 100,\n\t\tdecimal,\n\t);\n};\n\nexport const validateProfitAmount = ({ value, currency, game }) => {\n\tvalue = mathService.parseValue(value);\n\n\tconst max = getLimits({ currency, game })?.profit_maximum;\n\n\tif (max && value && value > max) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: 'Exceeds max profit for this game',\n\t\t\t\tvalues: {\n\t\t\t\t\tvalue: max,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\terror: null,\n\t};\n};\n\nexport const getMinBetAmount = ({ currency, game }) => {\n\treturn (\n\t\tgetLimits({ currency, game })?.amount_minimum ||\n\t\tmathService.getMinValueByPrecision(config.decimals.bet)\n\t);\n};\n\nexport const validateBetAmount = ({\n\tvalue,\n\tbalances,\n\tisLogged,\n\tcurrency,\n\tcheckBalance,\n\tgame,\n}) => {\n\tif (value === '') {\n\t\treturn {\n\t\t\terror: 'Please, check your bet amount',\n\t\t};\n\t}\n\n\tconst balance =\n\t\tbalances && currency ? getBalanceNative(balances, currency) : false;\n\n\tconst min = getMinBetAmount({ currency, game });\n\n\tif (!parseFloat(value) || (parseFloat(value) < min && value <= balance)) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: 'Amount must be greater than {{min}} {{currency}}',\n\t\t\t\tvalues: {\n\t\t\t\t\tmin: scientificToDecimal(min),\n\t\t\t\t\tcurrency: currency ? currency.toUpperCase() : '',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tif (\n\t\tbalances === undefined ||\n\t\tcurrency === undefined ||\n\t\tisLogged === undefined\n\t) {\n\t\treturn {\n\t\t\terror: false,\n\t\t};\n\t}\n\n\tconst max = getLimits({ currency, game })?.amount_maximum;\n\n\tif (max && value && parseFloat(value) > max) {\n\t\treturn {\n\t\t\terror: 'Exceeds max bet amount for this game',\n\t\t};\n\t}\n\n\tif (isLogged && balance < min && checkBalance) {\n\t\treturn {\n\t\t\terror: 'You have insufficient balance. Please deposit first',\n\t\t};\n\t}\n\n\tif (\n\t\tisLogged &&\n\t\tbalance > min &&\n\t\t(!value || parseFloat(value) > balance) &&\n\t\tcheckBalance\n\t) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: 'Amount exceeded your {{currency}} account balance',\n\t\t\t\tvalues: {\n\t\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\terror: false,\n\t};\n};\n\nexport const isAmountReset = (value) => {\n\treturn !value && parseFloat(value) !== 0;\n};\n\nexport const validBetData = (payload) => {\n\t// TODO: NEW GAME FLAG\n\tif (payload.game === 'dice' && !payload.rule && !payload.bet_value) {\n\t\treturn false;\n\t}\n\n\tif (payload.game === 'plinko' && !payload.risk && !payload.rows) {\n\t\treturn false;\n\t}\n\n\tconst isMultiplierCorrect =\n\t\tpayload.game === 'plinko' ? true : payload.multiplier;\n\treturn (\n\t\tpayload &&\n\t\tisMultiplierCorrect &&\n\t\tpayload.amount &&\n\t\tpayload.game &&\n\t\tpayload.currency\n\t);\n};\n\nexport const getBetProfit = (state, amount, payout) => {\n\tif (state === 'loss') {\n\t\treturn `-${amount}`;\n\t}\n\n\treturn getProfit(amount, payout);\n};\n\nexport const isGameSessionActive = (state, game) => {\n\t// TODO: NEW GAME FLAG\n\tif (game === 'hilo') {\n\t\treturn state.hilo?.sessionActive;\n\t}\n\n\treturn state.gameAutobet?.id[game];\n};\n\nexport const mapGameBetResult = (game, bet) => {\n\t// TODO: NEW GAME FLAG\n\tif (game === 'limbo') {\n\t\treturn `${bet.result_value}x`;\n\t}\n\n\tif (game === 'plinko') {\n\t\treturn `${Number(bet.multiplier).toFixed(1)}x`;\n\t}\n\n\treturn bet.result_value;\n};\n\nexport const isEveryGame = (data, callback) => {\n\tif (!data) {\n\t\tif (callback) {\n\t\t\treturn callback(false);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\treturn Object.keys(data).every((game) =>\n\t\tcallback ? callback(data[game]) : data[game],\n\t);\n};\n\nexport const isInputActive = (id, state) => {\n\tif (!state.game?.activeInputs[id]) {\n\t\treturn false;\n\t}\n\n\tif (state.game?.activeInputs[id].modal === undefined) {\n\t\treturn state.game?.activeInputs[id].default;\n\t}\n\n\treturn state.game?.activeInputs[id].modal;\n};\n\nexport const getGameFromUrl = () => {\n\tconst path =\n\t\tRouter?.router?.asPath || (process.browser ? window.location.href : null);\n\n\tconst game = getGamesList().find(\n\t\t(game) => path.split('?')[0].indexOf(game) > -1,\n\t);\n\n\treturn game || null;\n};\n","import { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { getPerGameInitObject } from './getPerGameInitObject';\n\nexport const getSessionInitObject = (value, type) => {\n\treturn getPerGameInitObject(value, type, LocalStorageKeys.STATS);\n};\n\nexport const getSessionIdFromBet = (bet) => {\n\treturn `${bet.game.name}`;\n};\n\nexport const updateStatsLocalStorage = (data) => {\n\tlsSet(LocalStorageKeys.STATS, data);\n};\n\nexport const clearStatsLocalStorage = () => {\n\tlsClear(LocalStorageKeys.STATS);\n};\n\nexport const parseAutobetProfitHistory = (data, initValue) => {\n\treturn data.map((el, index) => {\n\t\treturn {\n\t\t\t...el,\n\t\t\tx: index + 1,\n\t\t\ty: roundNumber(el.y - initValue),\n\t\t};\n\t});\n};\n","import { getGamesList } from '@modules/games/Game/methods/getGamesList';\nimport { isFunction } from '@common/methods/isFunction';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\n\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport type ParseValue<T = any> = (game: GameType, value: T, initValue: T) => T;\nexport type ValueFunc<T = any> = (game: GameType) => T;\n\nexport const getInitValue = <T = any>(\n\tvalue: T | Partial<Record<GameType | 'default', T | ValueFunc<T>>>,\n\tgame: GameType,\n) => {\n\tif (typeof value !== 'object') {\n\t\treturn value;\n\t}\n\tif (value[game]) {\n\t\treturn isFunction(value[game]) ? value[game](game) : value[game];\n\t}\n\tif ('default' in value && value.default) {\n\t\treturn isFunction(value.default)\n\t\t\t? // @ts-expect-error invalid type\n\t\t\t value.default(game)\n\t\t\t: value.default;\n\t}\n\treturn value;\n};\n\nexport const getPerGameInitObject = <T = any>(\n\tvalue: T | Partial<Record<GameType | 'default', T | ValueFunc<T>>>,\n\ttype: string,\n\tcookieName: LocalStorageKeysType,\n\tnoTotal: boolean,\n\tparseValue: ParseValue<T>,\n) => {\n\tconst result: Partial<Record<GameType | 'total', T>> = {};\n\tconst lsValues = cookieName && type ? lsGet(cookieName) : false;\n\tgetGamesList().forEach((game) => {\n\t\tconst initValue = getInitValue<T>(value, game);\n\t\tresult[game] =\n\t\t\ttype && lsValues && lsValues[type]\n\t\t\t\t? lsValues[type][game] || initValue\n\t\t\t\t: initValue;\n\t\tif (parseValue) {\n\t\t\tresult[game] = parseValue(game, result[game], initValue);\n\t\t}\n\t\tif (!noTotal) {\n\t\t\tresult.total =\n\t\t\t\ttype && lsValues && lsValues[type]\n\t\t\t\t\t? lsValues[type].total || initValue\n\t\t\t\t\t: initValue;\n\t\t}\n\t});\n\t// console.log('getPerGameInitObject', {\n\t// value, type, cookieName, noTotal,\n\t// result,\n\t// lsValues,\n\t// });\n\treturn result;\n};\n","import { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport {\n\tcardsValuesArray,\n\tcountCardsType,\n\tcountCardsTypeLetter,\n\tcountCardsTypeNumber,\n\tgetValueFromCardCode,\n} from './cardsService';\nimport { getWinChanceDecimal } from './gameService';\n\nexport const getHiloWinChance = (type, activeCard) => {\n\tif (['red', 'black'].indexOf(type) > -1) {\n\t\treturn 50;\n\t}\n\n\tconst winChanceDecimal = getWinChanceDecimal('hilo');\n\n\tif (type === 'number') {\n\t\treturn roundNumber(\n\t\t\t(countCardsTypeNumber / countCardsType) * 100,\n\t\t\twinChanceDecimal,\n\t\t);\n\t}\n\n\tif (type === 'letter') {\n\t\treturn roundNumber(\n\t\t\t(countCardsTypeLetter / countCardsType) * 100,\n\t\t\twinChanceDecimal,\n\t\t);\n\t}\n\n\tlet index = cardsValuesArray.indexOf(getValueFromCardCode(activeCard));\n\n\tif (type === 'high') {\n\t\tif (index === 0) {\n\t\t\tindex++;\n\t\t}\n\t\treturn roundNumber(\n\t\t\t((cardsValuesArray.length - index) / cardsValuesArray.length) * 100,\n\t\t\twinChanceDecimal,\n\t\t);\n\t}\n\n\tif (type === 'low') {\n\t\tif (index === cardsValuesArray.length - 1) {\n\t\t\tindex--;\n\t\t}\n\t\treturn roundNumber(\n\t\t\t((index + 1) / cardsValuesArray.length) * 100,\n\t\t\twinChanceDecimal,\n\t\t);\n\t}\n\n\treturn 0;\n};\n\nexport const getHiloStatus = (status) => {\n\tswitch (status) {\n\t\tcase 1: {\n\t\t\treturn 'win';\n\t\t}\n\t\tcase 0: {\n\t\t\treturn 'lose';\n\t\t}\n\t\tcase 2: {\n\t\t\treturn 'skip';\n\t\t}\n\t\tcase 3: {\n\t\t\treturn 'ongoing';\n\t\t}\n\t\tcase 4: {\n\t\t\treturn 'initialized';\n\t\t}\n\t\tdefault: {\n\t\t\treturn '';\n\t\t}\n\t}\n};\n\nexport const checkHiloLoadingModules = (modules) => {\n\treturn (\n\t\tmodules.getHiloSession || modules.cashoutHiloBet || modules.placeHiloBet\n\t);\n};\n\n// const checkHiloWinChance = () => {\n// ['♦A', '♦2', '♦3', '♦4', '♦5', '♦6', '♦7', '♦8', '♦9', '♦10', '♦J', '♦Q', '♦K'].forEach(activeCard => {\n// console.log(`checkHiloWinChance - ${activeCard}`, {\n// high: getHiloWinChance('high', activeCard),\n// low: getHiloWinChance('low', activeCard),\n// });\n// });\n// };\n//\n// checkHiloWinChance();\n","import { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { NOTIFICATION_ID } from '../../store/notification/notification.constants';\nimport { checkMobileDevice } from './appService';\n\nconst config = {\n\theader: 'all',\n\t[MODAL_ID.NEW_FEATURES]: [NOTIFICATION_ID.NEW_FEATURES],\n\t[ROUTING_ID.USER_SETTINGS]: [\n\t\tNOTIFICATION_ID.HAS_EMAIL_TO_VERIFY,\n\t\tNOTIFICATION_ID.HAS_PASSWORD_TO_SET,\n\t\tNOTIFICATION_ID.HAS_KYC_TO_VERIFY,\n\t],\n\t[ROUTING_ID.USER_VIP]: [\n\t\tNOTIFICATION_ID.HAS_BONUS_CODE,\n\t\tNOTIFICATION_ID.HAS_VIP_WHEEL_TO_SPIN,\n\t],\n};\n\nexport const isNotificationTypeActive = (type, data) => {\n\t// console.log('isNotificationTypeActive', {\n\t// type,\n\t// data,\n\t// config,\n\t// });\n\tif (!config[type]) {\n\t\treturn false;\n\t}\n\treturn config[type].some((el) => data[el]);\n};\n\nexport const hasEmailToVerify = (state) => {\n\treturn state.user.hasEmailToVerify;\n};\n\nexport const hasKycToVerify = (state) => {\n\treturn state.user.hasKycToVerify;\n};\n\nexport const hasPasswordToSet = (state) => {\n\treturn !checkMobileDevice() && state.user.hasPasswordToSet;\n};\n","import { setReducer } from '@legacyApp/methods/store/setReducer';\nimport { AUTOBET_SET_MODE } from '@modules/games/Game/store/gameAutobet/gameAutobet.constants';\nimport { isFunction } from '@common/methods/isFunction';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { RESET_USER_DATA } from '../../../store/user/user.constants';\nimport { APP_INITIALIZED } from '../../../store/app/app.constants';\nimport transactionService from '../../../../../modules/transactions/transactionsService';\nimport {\n\tgetSessionIdFromBet,\n\tgetSessionInitObject,\n} from '../gameSessionService';\nimport { getPerGameInitObject } from '../getPerGameInitObject';\nimport {\n\tTRANSACTIONS_SET,\n\tTRANSACTIONS_UPDATE,\n} from '../../../store/transactions/transactions.constants';\nimport { DIRECTION } from '../sortService';\nimport { setPerGame } from './setPerGame';\n\nexport const incrementReducer = (\n\tname,\n\tincrementAction,\n\tresetAction,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = getSessionInitObject(0, name),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn getSessionInitObject(0, name);\n\t\t\t}\n\t\t\tcase incrementAction:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[getSessionIdFromBet(action.payload)]:\n\t\t\t\t\t\tstate[getSessionIdFromBet(action.payload)] + 1,\n\t\t\t\t\ttotal: state.total + 1,\n\t\t\t\t};\n\t\t\tcase resetAction:\n\t\t\t\treturn getSessionInitObject(0);\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const addReducer = (name, addAction, resetAction, initAction) => {\n\treturn (\n\t\tstate = getSessionInitObject(0, name),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn getSessionInitObject(0, name);\n\t\t\t}\n\t\t\tcase addAction:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload.game]: roundNumber(\n\t\t\t\t\t\tstate[action.payload.game] + action.payload.value,\n\t\t\t\t\t),\n\t\t\t\t\ttotal: state.total + action.payload.value,\n\t\t\t\t};\n\t\t\tcase resetAction:\n\t\t\t\treturn getSessionInitObject(0);\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const streakReducer = (\n\tname,\n\taddAction,\n\toppositeAction,\n\tresetAction,\n\tisAuto,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = getSessionInitObject(0, name),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\t// {\n\t\t// auto: true,\n\t\t// value: 0.024324,\n\t\t// game: 'dice',\n\t\t// }\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn getSessionInitObject(0, name);\n\t\t\t}\n\t\t\tcase addAction:\n\t\t\t\tif (isAuto && !action.payload.auto) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload.game]: roundNumber(\n\t\t\t\t\t\tstate[action.payload.game] + action.payload.value,\n\t\t\t\t\t),\n\t\t\t\t\ttotal: state.total + action.payload.value,\n\t\t\t\t};\n\t\t\tcase oppositeAction:\n\t\t\t\tif (isAuto && !action.payload.auto) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload.game]: 0,\n\t\t\t\t\ttotal: 0,\n\t\t\t\t};\n\t\t\tcase resetAction:\n\t\t\t\treturn getSessionInitObject(0);\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const setWithResetReducer = (name, setAction, reset, initAction) => {\n\treturn (\n\t\tstate = getSessionInitObject(0, name),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\t// {\n\t\t// auto: true,\n\t\t// value: 0.024324,\n\t\t// game: 'dice',\n\t\t// }\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn getSessionInitObject(0, name);\n\t\t\t}\n\t\t\tcase setAction:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload.game]: action.payload.value,\n\t\t\t\t\ttotal: action.payload.value,\n\t\t\t\t};\n\t\t\tcase reset:\n\t\t\t\treturn getSessionInitObject(0);\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const setPerGameUserReducer = (\n\tinitValue,\n\tsetAction,\n\tparseValue,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = getPerGameInitObject(initValue, false, false, true),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tif (action.type === RESET_USER_DATA) {\n\t\t\treturn getPerGameInitObject(initValue, false, false, true, parseValue);\n\t\t}\n\t\treturn setPerGame({\n\t\t\tstate,\n\t\t\taction,\n\t\t\tinitValue,\n\t\t\tsetAction,\n\t\t\tparseValue,\n\t\t\tinitAction,\n\t\t});\n\t};\n};\n\nexport const setPerGameArrayUserReducer = (\n\tinitValue,\n\tsetAction,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = getPerGameInitObject(initValue, false, false, true),\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn getPerGameInitObject(initValue, false, false, true);\n\t\t\t}\n\t\t\tcase setAction:\n\t\t\t\tif (!action.payload.game) {\n\t\t\t\t\tconst value =\n\t\t\t\t\t\ttypeof action.payload === 'object'\n\t\t\t\t\t\t\t? action.payload.value\n\t\t\t\t\t\t\t: action.payload;\n\t\t\t\t\treturn getPerGameInitObject(\n\t\t\t\t\t\t[...(value || initValue)],\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload.game]: [...(action.payload.value || initValue)],\n\t\t\t\t};\n\t\t\tcase RESET_USER_DATA:\n\t\t\t\treturn getPerGameInitObject(initValue, false, false, true);\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const setUserReducerOld = (\n\tinit,\n\tsetAction,\n\tappInitCallback,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = init,\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\tif (setAction === AUTOBET_SET_MODE) {\n\t\t\t\t\tconsole.log(AUTOBET_SET_MODE, appInitCallback(state));\n\t\t\t\t}\n\t\t\t\treturn isFunction(appInitCallback) ? appInitCallback(state) : state;\n\t\t\t}\n\t\t\tcase setAction:\n\t\t\t\treturn action.payload;\n\t\t\tcase RESET_USER_DATA:\n\t\t\t\treturn init;\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const callbackUserReducer = (\n\tinit,\n\tsetAction,\n\tcallback,\n\tappInitCallback,\n\tinitAction,\n) => {\n\treturn (\n\t\tstate = init,\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase initAction || APP_INITIALIZED: {\n\t\t\t\treturn isFunction(appInitCallback) ? appInitCallback(state) : state;\n\t\t\t}\n\t\t\tcase setAction:\n\t\t\t\treturn callback({\n\t\t\t\t\taction,\n\t\t\t\t\tstate,\n\t\t\t\t});\n\t\t\tcase RESET_USER_DATA:\n\t\t\t\treturn init;\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nexport const transactionReducer = (id, userData) => {\n\treturn (\n\t\tstate = [],\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase TRANSACTIONS_SET: {\n\t\t\t\tif (action.id !== id) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\treturn transactionService.sortTransactions(\n\t\t\t\t\taction.payload,\n\t\t\t\t\tDIRECTION.DESC,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase TRANSACTIONS_UPDATE: {\n\t\t\t\tif (action.id !== id) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\treturn transactionService.addNewToList({\n\t\t\t\t\tlabel: id,\n\t\t\t\t\telement: action.payload,\n\t\t\t\t\tlist: state,\n\t\t\t\t});\n\t\t\t}\n\t\t\tcase RESET_USER_DATA:\n\t\t\t\tif (!userData) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const staticReducer = (data) => {\n\treturn (state = data) => state;\n};\n\nexport { setReducer };\n","import Redux from 'redux';\nimport { APP_INITIALIZED } from '../../../store/app/app.constants';\nimport { getPerGameInitObject, ParseValue } from '../getPerGameInitObject';\n\nexport const setPerGame = <T = any>({\n\tstate,\n\taction,\n\tinitValue,\n\tsetAction,\n\tparseValue,\n\tinitAction,\n}: {\n\tstate: T;\n\taction: Redux.AnyAction;\n\tinitValue: T;\n\tsetAction: string;\n\tparseValue?: ParseValue<T>;\n\tinitAction?: string;\n}) => {\n\tswitch (action.type) {\n\t\tcase initAction || APP_INITIALIZED: {\n\t\t\treturn getPerGameInitObject(\n\t\t\t\tinitValue,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t\tparseValue,\n\t\t\t);\n\t\t}\n\t\tcase setAction:\n\t\t\tif (!action.payload.game) {\n\t\t\t\tconst value =\n\t\t\t\t\ttypeof action.payload === 'object'\n\t\t\t\t\t\t? action.payload.value\n\t\t\t\t\t\t: action.payload;\n\t\t\t\treturn getPerGameInitObject(\n\t\t\t\t\tvalue,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\ttrue,\n\t\t\t\t\tparseValue,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.game]: parseValue\n\t\t\t\t\t? parseValue(\n\t\t\t\t\t\t\taction.payload.game,\n\t\t\t\t\t\t\taction.payload.value,\n\t\t\t\t\t\t\tstate[action.payload.game],\n\t\t\t\t\t )\n\t\t\t\t\t: action.payload.value,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n","import { regexString } from './regexString';\n\nexport const regexStrings = {\n\tchatUserName: /(^|[^@\\w])@(\\w{1,100})[:][A-Za-z0-9\\-._]*/g,\n\tchatBetDetails: (games) =>\n\t\tnew RegExp(`(${games})(:|: )(#|%23)[A-Za-z0-9-._]*`, 'g'),\n\tchatEmoji: [\n\t\t/<span class=\"emoji emoji-sizer\" style=\"background-image:url\\(https:\\/\\/cdn\\.jsdelivr\\.net\\/emojione\\/assets\\/3\\.0\\/png\\/32\\/[A-Za-z0-9-]*\\.png\\)\" ?data-codepoints=\"[A-Za-z0-9-]*\"><\\/span>/gm,\n\t\t/<img src=\" https:\\/\\/cdn\\.jsdelivr\\.net\\/emojione\\/assets\\/3\\.0\\/png\\/32\\/[A-Za-z0-9-]*\\.png\" ?class=\"emoji\" ?data-codepoints=\"[A-Za-z0-9-]*\" \\/>/gm,\n\t],\n\tchatCurrency: (currencies) =>\n\t\tnew RegExp(\n\t\t\t`^(${currencies})$|(?<=\\\\s|^)(${currencies})(?=\\\\s|$|[\\\\d])|(?<=[\\\\s\\\\d])(${currencies})(?=\\\\s|$)`,\n\t\t\t'gm',\n\t\t),\n\tchatStrategy: /(STRATEGY)(:|: )(#|%23|)[A-Za-z0-9\\-._]*/g,\n\ttrivia: /(trivia)(:|: )[A-Za-z0-9\\-._]*/g,\n\ttriviaWinner: /(trivia_winner)(:|: )[A-Za-z0-9\\-._]*/g,\n\tuserName: (name) => new RegExp(`(^|[^@\\\\w])@(${name})\\\\b`, 'ig'),\n\tscientificNotationNumber: /\\d+\\.?\\d*e[+-]*\\d+/i,\n\thasNumber: /\\d/,\n\turl: /(https?:\\/\\/[^\\s]+)/g,\n\tapiVersion: /(\\/v)[0-9]*/g,\n};\n\nexport const regexStringMulti = (regex, string /*, showLog*/) => {\n\tlet regexMatch;\n\tconst matches = [];\n\twhile ((regexMatch = regexString(regex, string)) != null) {\n\t\tmatches.push(regexMatch);\n\t\t// \tif (showLog)\n\t\t// \t\t// console.log('match found at ' + regexMatch.index, {\n\t\t// \t\t// \tregex,\n\t\t// \t\t// \tregexMatch,\n\t\t// \t\t// \tstring,\n\t\t// \t\t// });\n\t}\n\n\t// if (showLog)\n\t// console.log(`replaceRegexWith matches ${regex}`, {\n\t// \tmatches,\n\t// \tstring\n\t// });\n\treturn matches;\n};\n","export const regexString = (regex: RegExp, string: string): RegExpExecArray => {\n\treturn regex.exec(string);\n};\n","import Router from 'next/router';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { generateUserSportsBetSlipsHistory } from '@modules/sports/services/sports.services';\nimport { getPathLocalized } from '@common/methods/getPathLocalized/getPathLocalized';\n\nclass RoutingClass {\n\tconstructor() {\n\t\tthis.routes = [\n\t\t\t{\n\t\t\t\turi: '',\n\t\t\t\tid: ROUTING_ID.HOME,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'casino/:game',\n\t\t\t\tid: ROUTING_ID.GAME,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'login',\n\t\t\t\tid: ROUTING_ID.LOGIN,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t\t// static: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'register',\n\t\t\t\tid: ROUTING_ID.REGISTER,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t\t// static: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'access_denied',\n\t\t\t\tid: ROUTING_ID.ACCESS_DENIED,\n\t\t\t\tstatic: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/deposit',\n\t\t\t\tid: ROUTING_ID.USER_DEPOSIT,\n\t\t\t\tisPrivate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/withdraw',\n\t\t\t\tid: ROUTING_ID.USER_WITHDRAW,\n\t\t\t\tisPrivate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/settings',\n\t\t\t\tid: ROUTING_ID.USER_SETTINGS,\n\t\t\t\tisPrivate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/transactions',\n\t\t\t\tid: ROUTING_ID.USER_ALL_TRANSACTIONS,\n\t\t\t\tisPrivate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: generateUserSportsBetSlipsHistory({ state: 'pending' }),\n\t\t\t\tid: ROUTING_ID.USER_SPORTS_HISTORY,\n\t\t\t\tisPrivate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/email/verified',\n\t\t\t\tid: ROUTING_ID.USER_EMAIL_VERIFIED,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/email/verification-failed',\n\t\t\t\tid: ROUTING_ID.USER_EMAIL_VERIFICATION_FAILED,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/account/blocked',\n\t\t\t\tid: ROUTING_ID.USER_ACCOUNT_BLOCKED,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/account/blocked-error',\n\t\t\t\tid: ROUTING_ID.USER_ACCOUNT_BLOCKED_ERROR,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/new-password/*',\n\t\t\t\tid: ROUTING_ID.USER_NEW_PASSWORD,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/affiliate',\n\t\t\t\tid: ROUTING_ID.USER_AFFILIATE,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'vip',\n\t\t\t\tid: ROUTING_ID.USER_VIP,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/vip/bonus-code',\n\t\t\t\tid: ROUTING_ID.USER_VIP_BONUS_CODE,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'user/verification',\n\t\t\t\tid: ROUTING_ID.USER_VERIFICATION,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'faq',\n\t\t\t\tid: ROUTING_ID.FAQ,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'terms',\n\t\t\t\tid: ROUTING_ID.TERMS,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'provably-fair',\n\t\t\t\tid: ROUTING_ID.PROVABLY_FAIR,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'remind-password',\n\t\t\t\tid: ROUTING_ID.REMIND_PASSWORD,\n\t\t\t\tisOnlyPublic: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'promotions',\n\t\t\t\tid: ROUTING_ID.PROMOTIONS,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'ranking',\n\t\t\t\tid: ROUTING_ID.RANKING,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'bets',\n\t\t\t\tid: ROUTING_ID.BETS,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'casino',\n\t\t\t\tid: ROUTING_ID.CASINO\n\t\t\t}\n\t\t];\n\t}\n\n\tgetRoutes() {\n\t\treturn [\n\t\t\t...this.routes,\n\t\t\t{\n\t\t\t\turi: 'sportsbook',\n\t\t\t\tid: ROUTING_ID.SPORTS_BOOK,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'sports',\n\t\t\t\tid: ROUTING_ID.SPORTS,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'sports/live',\n\t\t\t\tid: ROUTING_ID.SPORTS_LIVE,\n\t\t\t},\n\t\t\t{\n\t\t\t\turi: 'sports/menu',\n\t\t\t\tid: ROUTING_ID.SPORTS_MENU,\n\t\t\t},\n\t\t];\n\t}\n\n\tto(id, validUri) {\n\t\tconst splitedId = this.splitId(id);\n\t\treturn this.createUrl(\n\t\t\tvalidUri ? splitedId[0] : this.getUri(splitedId[0]),\n\t\t\tsplitedId[1],\n\t\t);\n\t}\n\n\tsplitId(id) {\n\t\treturn id.split('?');\n\t}\n\n\tgetRoute(uri) {\n\t\turi = uri[0] === '/' ? uri.substring(1) : uri;\n\t\turi = uri[0] === '/' ? uri.substring(1) : uri;\n\t\tif (uri.indexOf('new-password') > -1) {\n\t\t\tconst uriArray = uri.split('/');\n\t\t\tconst token = uriArray[uriArray.length - 1];\n\t\t\turi = uri.replace(token, '*');\n\t\t}\n\t\tif (uri.indexOf('casino/') > -1) {\n\t\t\turi = 'casino/:game';\n\t\t}\n\t\treturn this.getRoutes().find((el) => el.uri === uri);\n\t}\n\n\tcreateUrl(uri, query) {\n\t\treturn `${uri ? `${uri[0] === '/' ? uri : `/${uri}`}` : '/'}${\n\t\t\tquery ? `?${query}` : ''\n\t\t}`;\n\t}\n\n\tgetRouteById(id) {\n\t\treturn this.getRoutes().find((el) => el.id === id);\n\t}\n\n\tgetUri(id) {\n\t\tconst element = this.getRouteById(id);\n\t\treturn element ? element.uri : '';\n\t}\n\n\tredirect(id, validUri, noLocale) {\n\t\tconst pathname = this.to(id, validUri);\n\t\t// console.log('static - redirect', { id, validUri, location: window.location.origin, pathname, res: `${window.location.origin}${noLocale ? pathname : getPathLocalized({ pathname })}` });\n\t\tif (process.browser) {\n\t\t\twindow.location.href = `${window.location.origin}${\n\t\t\t\tnoLocale ? pathname : getPathLocalized({ pathname })\n\t\t\t}`;\n\t\t}\n\t}\n\n\tdynamicRedirect(id, validUri) {\n\t\t// console.log('dynamic - redirect', { id, validUri, to: this.to(id, validUri) });\n\t\treturn Router.push(this.to(id, validUri));\n\t}\n\n\tgetId(uri) {\n\t\tconst route = this.getRoute(uri);\n\t\treturn route ? route.id : '';\n\t}\n}\n\nexport default new RoutingClass();\n","import { servicesConfig } from '@server/config/services.config';\n\nlet moduleResolve = null;\nlet sentryInstance = null;\n\nconst getSentry = async () => {\n\tif (sentryInstance) {\n\t\treturn sentryInstance;\n\t}\n\tif (moduleResolve) {\n\t\treturn moduleResolve;\n\t}\n\tmoduleResolve = new Promise(async (resolve) => {\n\t\t// eslint-disable-next-line @next/next/no-assign-module-variable\n\t\tconst module = await import('./sentryClass');\n\t\tsentryInstance = new module.sentryClass(servicesConfig.sentryDns.client);\n\t\tresolve(sentryInstance);\n\t});\n\treturn moduleResolve;\n};\n\n// window.onerror = (\n// message,\n// source,\n// lineno,\n// colno,\n// error\n// ) => {\n// const data = {\n// message,\n// source,\n// lineno,\n// colno,\n// };\n// if (sentryService.excludeError(data)) return;\n// sentryError(error, data);\n// };\n\n// const sentryService = null;\n\nexport const sentryUpdateState = async (state) => {\n\tconst instance = await getSentry();\n\tinstance.updateState(state);\n};\n\nexport const sentryUpdateUser = async (state) => {\n\tconst instance = await getSentry();\n\tinstance.updateUser(state);\n};\n\nexport const sentryError = async (error, errorInfo, state) => {\n\tconst instance = await getSentry();\n\n\tif (state) {\n\t\tsentryUpdateUser(state);\n\t\tsentryUpdateState(state);\n\t}\n\tinstance.sendError(error, errorInfo);\n};\n","export enum DIRECTION {\n\tASC = 'asc',\n\tDESC = 'desc',\n}\n\nexport type Direction = true | false | DIRECTION.ASC | DIRECTION.DESC | 1 | 0;\n\ntype Value = number | string | boolean;\n\nclass SortClass {\n\tpublic invalidValue: string;\n\n\tconstructor() {\n\t\tthis.invalidValue = '-';\n\t}\n\n\t// eslint-disable-next-line max-params\n\tsort(\n\t\tdirection: Direction,\n\t\tmainValueA: Value = 0,\n\t\tmainValueB: Value = 0,\n\t\tsecondIterationValueA: Value = 0,\n\t\tsecondIterationValueB: Value = 0,\n\t\tthirdIterationValueA: Value = 0,\n\t\tthirdIterationValueB: Value = 0,\n\t) {\n\t\tconst direction_ = this.getDirection(direction);\n\n\t\tif (this.isValid(mainValueB) && !this.isValid(mainValueA)) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (this.isValid(mainValueA) && !this.isValid(mainValueB)) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tlet spaceshipResult = this.spaceship(mainValueA, mainValueB);\n\n\t\tif (!spaceshipResult) {\n\t\t\tspaceshipResult = this.spaceship(\n\t\t\t\tsecondIterationValueA,\n\t\t\t\tsecondIterationValueB,\n\t\t\t);\n\t\t}\n\n\t\tif (!spaceshipResult) {\n\t\t\tspaceshipResult = this.spaceship(\n\t\t\t\tthirdIterationValueA,\n\t\t\t\tthirdIterationValueB,\n\t\t\t);\n\t\t}\n\n\t\treturn spaceshipResult * direction_;\n\t}\n\n\tisValid(value) {\n\t\treturn value && value !== this.invalidValue;\n\t}\n\n\t// direction:\n\t// true,1 - DIRECTION.DESC\n\t// false,-1 - DIRECTION.ASC\n\tgetDirection(direction: Direction): number {\n\t\tif (typeof direction === 'boolean') {\n\t\t\treturn direction ? 1 : -1;\n\t\t}\n\t\tif (typeof direction === 'string') {\n\t\t\treturn direction === DIRECTION.DESC ? 1 : -1;\n\t\t}\n\t\treturn direction;\n\t}\n\n\tspaceship(a, b) {\n\t\tif (a > b) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (a < b) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t}\n}\n\nexport default new SortClass();\n","import { apiServerConfig } from '@server/config/api.server.config';\nimport { MatchType } from '@modules/sports/types/Match/MatchType';\nimport { getIdFromSlug } from '@modules/sports/methods/getIdFromSlug';\nimport {\n\tBetSlipDetailsProgressState,\n\tBetSlipDetailsState,\n} from '@modules/sports/types/BetSlipDetails/BetSlipDetailsType';\nimport { filterArrayDuplicates } from './appService';\nimport FetchService from './fetchService';\nimport { getTimestamp } from './timeService';\n\nexport const isLive = (\n\tmatch: Partial<MatchType>,\n\tstate?: BetSlipDetailsState,\n): boolean => {\n\tif (match?.type === 'live') {\n\t\treturn true;\n\t}\n\tif (state && state !== BetSlipDetailsProgressState.PENDING) {\n\t\treturn false;\n\t}\n\treturn !!(\n\t\tmatch?.open_for_live && getTimestamp(match?.start_at) < getTimestamp()\n\t);\n};\n\nexport const isScore = (match: Partial<MatchType>): boolean => {\n\treturn isLive(match) && match?.has_scoring;\n};\n\nexport const checkMultiOnMatch = (list = []): boolean => {\n\tif (!list?.length) {\n\t\treturn true;\n\t}\n\tconst filteredList = filterArrayDuplicates(list.map((el) => el.matchId));\n\treturn list?.length !== filteredList?.length;\n};\n\nexport const getSportsApiUrl = (uri: string): string => {\n\treturn FetchService.parseApiUrl({\n\t\tapiUrl: apiServerConfig.sportsUrl,\n\t\turi: `/v2/sportsbetting${uri}`,\n\t});\n\t// console.log('getSportsApiUrl', path, apiServerConfig, uri);\n\t// return path;\n};\n\nexport const getSportsListApiUrl = (type?: 'live' | 'upcoming'): string => {\n\treturn getSportsApiUrl(`/sports/${type || ''}`);\n};\n\nexport const getTournamentsListApiUrl = (\n\tsportId: number,\n\ttype?: 'featured',\n): string => {\n\treturn getSportsApiUrl(`/tournaments/${sportId}${type ? `/${type}` : ''}`);\n};\n\nexport const getSportUri = (id: number | string, slug: string): string => {\n\treturn `/sports/${slug}`;\n};\n\nexport const getTeamUri = (sportData, teamData) => {\n\treturn `${getSportUri(sportData.id, sportData.slug)}/team/${teamData.slug}-${\n\t\tteamData.id\n\t}`;\n};\n\nexport const getCategoryUri = (sportData, categoryData) => {\n\treturn `${getSportUri(sportData.id, sportData.slug)}/${categoryData.slug}-${\n\t\tcategoryData.id\n\t}`;\n};\n\nexport const getTournamentUri = (sportData, categoryData, tournamentData) => {\n\tconst categoryUri = getCategoryUri(sportData, categoryData);\n\tif (!tournamentData.slug) {\n\t\treturn categoryUri;\n\t}\n\treturn `${categoryUri}/${tournamentData.slug}-${tournamentData.id}`;\n};\n\nexport const getSportFromUri = (uri: string): [number, string] => {\n\tconst slugs = uri.split('/');\n\tconst sportIndex = slugs.indexOf('sports');\n\t// console.log('getSportFromUri _______________________');\n\t// console.log('getSportFromUri', {uri, slugs, sportIndex});\n\tif (sportIndex === -1) {\n\t\tthrow new Error(`Uri not from sports app in getSportFromUri - ${uri}`);\n\t}\n\tif (!slugs[sportIndex + 1]) {\n\t\tthrow new Error(`No sport in uri in getSportFromUri - ${uri}`);\n\t}\n\tconst sports =\n\t\tslugs[sportIndex + 1].indexOf('-') > -1\n\t\t\t? slugs[sportIndex + 1].split('-')\n\t\t\t: [slugs[sportIndex + 1]];\n\t// console.log('getSportFromUri', {sports, slugs, sportIndex, uri});\n\tconst id = parseFloat(sports[sports.length - 1]);\n\t// console.log('getSportFromUri', {uri, id});\n\tif (id) {\n\t\tsports.pop();\n\t}\n\tlet slug = sports.join('-');\n\t// console.log('getSportFromUri', {slug, id: id || getIdFromSlug(slug)});\n\tif (slug === 'undefined') {\n\t\tslug = '';\n\t}\n\treturn [id || getIdFromSlug(slug), slug];\n};\n","export const second = 1000;\nexport const minute = second * 60;\nexport const hour = 60 * minute;\nexport const day = 24 * hour;\nexport const week = 7 * day;\nexport const month = 30 * day;\nexport const year = 365 * day;\n","import moment from 'dayjs';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { day, minute, second } from './time';\n\nconst getMidnightDate = (date = new Date()) => {\n\tdate = getDate(date);\n\tconsole.log(\n\t\t'getMidnightDate',\n\t\t`${date.getFullYear()}-${dateNumber(date.getMonth() + 1)}-${dateNumber(\n\t\t\tdate.getDate(),\n\t\t)}T00:00:00.000Z`,\n\t);\n\treturn new Date(\n\t\t`${date.getFullYear()}-${dateNumber(date.getMonth() + 1)}-${dateNumber(\n\t\t\tdate.getDate(),\n\t\t)}T00:00:00.000Z`,\n\t);\n};\n\nconst getNonOffsetMidnightDate = (date = new Date()) => {\n\tdate = getDate(date);\n\treturn new Date(\n\t\t`${date.getFullYear()}-${dateNumber(date.getMonth() + 1)}-${dateNumber(\n\t\t\tdate.getDate(),\n\t\t)}T00:00:00.000Z`,\n\t);\n};\n\nconst getNonOffsetDate = (date = new Date()) => {\n\tdate = getDate(date);\n\treturn getTimestamp(date) + getOffset(date);\n};\n\nconst getOffset = (date = new Date()) => {\n\treturn date.getTimezoneOffset() * minute * -1;\n};\n\nconst getTimezoneDateFromUnix = (date = new Date()) => {\n\tdate = getDate(date);\n\treturn getTimestamp(date) - getOffset(date);\n};\n\nconst getDayFromDate = (value = 0, date = new Date()) => {\n\tdate = getDate(date);\n\treturn new Date(date.getTime() + day * value);\n};\n\nconst getYearFromDate = (value = 0, date = new Date()) => {\n\tdate = getDate(date);\n\treturn new Date(\n\t\t`${date.getFullYear() + value}-${dateNumber(\n\t\t\tdate.getMonth() + 1,\n\t\t)}-${dateNumber(date.getDate())}T00:00:00.000Z`,\n\t);\n};\n\nconst dateNumber = (number) => {\n\treturn parseFloat(number) >= 10 ? number : `0${number}`;\n};\n\nconst getTimestamp = (date) => {\n\tif (typeof date === 'number') {\n\t\t// console.log('getTimestamp', {\n\t\t// \tdate,\n\t\t// \trounded: roundNumber(date, -9, 'ceil'),\n\t\t// \tcurr: new Date().getTime(),\n\t\t// });\n\t\tif (roundNumber(date, -9, 'ceil') > new Date().getTime()) {\n\t\t\treturn date;\n\t\t} else {\n\t\t\treturn date * second;\n\t\t}\n\t}\n\treturn getDate(date).getTime();\n};\n\nconst getDate = (string) => {\n\tif (!string) {\n\t\treturn new Date();\n\t}\n\treturn isDateObject(string) ? string : new Date(moment(string).valueOf());\n};\n\nconst isDateObject = (date) => {\n\treturn typeof date === 'object';\n};\n\nconst formatToTime = (date, seconds) => {\n\tconst format = seconds ? 'HH:mm:ss' : 'HH:mm';\n\treturn moment(date).format(format);\n};\n\nconst formatToFullDate = (date) => {\n\treturn moment(date).format('YYYY-MM-DD HH:mm:ss');\n};\n\nexport const formatToFullDateNoSeconds = (date) => {\n\treturn moment(date).format('YYYY-MM-DD HH:mm');\n};\n\nconst formatDate = (date, format) => {\n\treturn moment(date).format(format);\n};\n\nconst formatToDate = (date) => {\n\treturn moment(date).format('YYYY-MM-DD');\n};\n\nconst parseTimestamp = (timestamp) => {\n\treturn timestamp\n\t\t? typeof timestamp === 'number'\n\t\t\t? timestamp * 1000\n\t\t\t: getTimezoneDateFromUnix(timestamp)\n\t\t: timestamp;\n};\n\nexport {\n\tgetMidnightDate,\n\tgetDayFromDate,\n\tgetYearFromDate,\n\tgetTimestamp,\n\tgetDate,\n\tisDateObject,\n\tformatToTime,\n\tformatToFullDate,\n\tformatToDate,\n\tgetNonOffsetDate,\n\tgetNonOffsetMidnightDate,\n\tgetOffset,\n\tgetTimezoneDateFromUnix,\n\tparseTimestamp,\n\tformatDate,\n};\n","import { cookieService } from '@common/controllers/cookieService';\n\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nexport const getTokenFromPreloadedState = (preloadedState) => {\n\t// console.log('getTokenFromPreloadedState', from, preloadedState);\n\tpreloadedState = stringToJson(preloadedState, preloadedState);\n\tconst token =\n\t\tpreloadedState && preloadedState.data && preloadedState.data.access_token\n\t\t\t? preloadedState.data\n\t\t\t: undefined;\n\tif (token && process.browser) {\n\t\tcookieService.clear(CookiesKeys.PRELOADED_STATE);\n\t}\n\treturn token;\n};\n\nexport const getServerToken = (ctx) => {\n\tif (!ctx || !ctx.res) {\n\t\treturn undefined;\n\t}\n\tconst preloadedStateToken = getTokenFromPreloadedState(\n\t\tctx.res.locals.preloadedState || ctx.req.cookies.preloaded_state,\n\t\t'serverToken2',\n\t);\n\t// console.log('getServerToken', {\n\t// \tctxResLocals: ctx.res.locals,\n\t// \tctxReqCookies: ctx.req.cookies,\n\t// \tcookiesToken: ctx.req.cookies.token,\n\t// \tpreloadedStateToken,\n\t// });\n\treturn ctx.req.cookies.token || preloadedStateToken || undefined;\n};\n","import { cookieService } from '@common/controllers/cookieService';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { getTokenFromPreloadedState } from '@legacyApp/methods/auth/getServerToken';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nconst getStorageToken = (ctx) => {\n\t// console.log('checkToken', {\n\t// \tlsToken: lsGet(LocalStorageKeys.TOKEN),\n\t// \tcookieToken: cookieService.get(LocalStorageKeys.TOKEN),\n\t// \tpreloadedStateToken: getTokenFromPreloadedState(cookieService.get('preloaded_state', null, ctx), 'checkToken'),\n\t// });\n\treturn (\n\t\tlsGet(LocalStorageKeys.TOKEN) ||\n\t\tcookieService.get(LocalStorageKeys.TOKEN, null, ctx) ||\n\t\tgetTokenFromPreloadedState(\n\t\t\tcookieService.get(CookiesKeys.PRELOADED_STATE, null, ctx),\n\t\t\t'checkToken',\n\t\t)\n\t);\n};\n\nconst parseServerToken = (token) => {\n\ttoken = stringToJson(token, {});\n\t// console.log('parseServerToken', token);\n\tif (!!token && (token.access_token || token.expires_in)) {\n\t\treturn {\n\t\t\tvalue: token.access_token,\n\t\t\texpire:\n\t\t\t\ttypeof token.expires_in === 'string'\n\t\t\t\t\t? getTimestamp(token.expires_in)\n\t\t\t\t\t: token.expires_in * 1000,\n\t\t};\n\t}\n\treturn token;\n};\n\nconst isValid = (token) =>\n\ttoken &&\n\ttoken.value &&\n\ttoken.expire &&\n\tgetTimestamp(token.expire) > getTimestamp();\n\nexport const checkToken = (token, ctx) => {\n\tlet checkedToken = token;\n\tif (checkedToken === undefined) {\n\t\tcheckedToken = getStorageToken(ctx);\n\t}\n\tcheckedToken = parseServerToken(checkedToken);\n\t// console.log('checkToken', {\n\t// \ttoken,\n\t// \tcheckedToken,\n\t// \tcurr: getTimestamp(),\n\t// \ttok: checkedToken ? getTimestamp(checkedToken.expire) : false,\n\t// \tisValid: isValid(checkedToken),\n\t// });\n\tif (isValid(checkedToken)) {\n\t\tcookieService.set(LocalStorageKeys.TOKEN, checkedToken);\n\t\tlsSet(LocalStorageKeys.TOKEN, checkedToken);\n\t\treturn checkedToken;\n\t}\n\tlsClear(LocalStorageKeys.TOKEN);\n\tcookieService.clear(LocalStorageKeys.TOKEN);\n\treturn {\n\t\tvalue: false,\n\t\texpire: false,\n\t};\n};\n\nclass TokenClass {\n\ttoken = checkToken();\n\n\tset(token) {\n\t\tthis.token = checkToken(token);\n\t}\n}\n\nexport const tokenService = new TokenClass();\n","import { HIDDEN_USER } from '@common/constants/user/HIDDEN_USER';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { config } from '../../config';\nimport { getRealBalanceNative } from './balanceService';\nimport { sentryError } from './sentryService';\n\nconst getBalanceNative = (balances, currency) => {\n\treturn getRealBalanceNative(balances, currency) || 0;\n};\n\nexport const getBalanceObject = (balances, currency) => {\n\treturn balances.find(\n\t\t(el) => el.currency.toLowerCase() === currency.toLowerCase(),\n\t);\n};\n\nconst isRemind2fa = () => {\n\tconst counter = lsGet(LocalStorageKeys.REMIND_TFA_COUNTER);\n\tif (!counter || counter + 1 < config.remind2faCounter) {\n\t\t!counter\n\t\t\t? lsSet(LocalStorageKeys.REMIND_TFA_COUNTER, 1)\n\t\t\t: lsSet(LocalStorageKeys.REMIND_TFA_COUNTER, counter + 1);\n\t\treturn false;\n\t}\n\tlsClear(LocalStorageKeys.REMIND_TFA_COUNTER);\n\treturn true;\n};\n\nexport const checkSeeds = (seedHashed, seed, uuid) => {\n\tlet seedHashedList = lsGet(LocalStorageKeys.SEED_HASHED_LIST) || uuid;\n\n\t// console.log('checkSeeds', {\n\t// seed, seedHashed, uuid, seedHashedList, bool: seedHashedList.indexOf(seedHashed) === -1,\n\t// });\n\n\tif (seedHashedList.indexOf(uuid) === -1) {\n\t\tseedHashedList = `${uuid}`;\n\t\tlsSet(LocalStorageKeys.SEED_HASHED_LIST, seedHashedList);\n\t}\n\n\tconst bool = seedHashedList.indexOf(seedHashed) === -1;\n\n\tif (!seed) {\n\t\tif (!bool) {\n\t\t\tsentryError('New seed_hashed leaked', {\n\t\t\t\tseedHashed,\n\t\t\t\tseed,\n\t\t\t\tuuid,\n\t\t\t\tseedHashedList,\n\t\t\t\tbool,\n\t\t\t});\n\t\t}\n\t\treturn bool;\n\t}\n\n\tif (bool) {\n\t\tseedHashedList += `_${seedHashed}`;\n\t}\n\tlsSet(LocalStorageKeys.SEED_HASHED_LIST, seedHashedList);\n\treturn true;\n};\n\nconst getLastRegisterTimestampFromLocalStorage = () => {\n\treturn lsGet(LocalStorageKeys.LAST_REGISTER_TIMESTAMP) || false;\n};\n\nconst setLastRegisterTimestampToLocalStorage = (value) => {\n\treturn lsSet(LocalStorageKeys.LAST_REGISTER_TIMESTAMP, value);\n};\n\nexport const createAuthToken = (token) => (token ? `Bearer ${token}` : '');\n\nexport const parsePrivateData = (id, data, preferences, userData) => {\n\t// console.log('parsePrivateData', {\n\t// data: {...data},\n\t// preferences,\n\t// userData,\n\t// });\n\tif (!preferences.privacy.public_bets.bool) {\n\t\tif (data && data.user && data.user.uuid && userData.id === data.user.uuid) {\n\t\t\tdata.user = {\n\t\t\t\tlogin: HIDDEN_USER,\n\t\t\t\tuuid: data.user.uuid,\n\t\t\t};\n\t\t}\n\t}\n\tdata.data_id = id;\n\t// console.log('parsePrivateData', {\n\t// data,\n\t// });\n\treturn data;\n};\n\nexport {\n\tgetBalanceNative,\n\tisRemind2fa,\n\tgetLastRegisterTimestampFromLocalStorage,\n\tsetLastRegisterTimestampToLocalStorage,\n};\n","import { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { config } from '../../config';\nimport { getLimits } from '../../../methods/currency/getLimits';\nimport { game_config } from '../../game_config';\nimport {\n\tgetPayout,\n\tgetPayoutDecimal,\n\tgetProfit,\n\tgetWinChanceDecimal,\n\tgetWinChanceFromPayout,\n\tisInputActive,\n\tvalidateBetAmount,\n\tvalidateProfitAmount,\n} from './gameService';\nimport { getHiloWinChance } from './hiloService';\n\nexport const getMaxWinChance = () => {\n\treturn config.games.maxWinChance;\n};\n\nexport const getMinWinChance = (game) => {\n\treturn getWinChanceFromPayout(game_config[game].maxPayout, game);\n};\n\nexport const getMaxPayout = (game = 'dice') => {\n\tif (!game) {\n\t\tthrow new Error('game undefined');\n\t}\n\treturn game_config[game].maxPayout;\n};\n\nexport const getMarginMultiplier = (game = 'dice') => {\n\tconst parameter = 100;\n\treturn roundNumber((parameter - game_config[game].houseEdge) / parameter, 2);\n};\n\nexport const validateWinChance = (value, game, exclude = []) => {\n\tif (!game) {\n\t\tthrow new Error('game undefined');\n\t}\n\tvalue = roundNumber(value, getWinChanceDecimal(game));\n\tif (value === '') {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: '',\n\t\t\terror: { label: 'Please, type win chance value' },\n\t\t};\n\t}\n\tconst maxWinChance = getMaxWinChance();\n\tif (value && value > maxWinChance && exclude.indexOf('max') === -1) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: maxWinChance,\n\t\t\terror: {\n\t\t\t\tlabel: 'Win chance must be lower or equal to {{value}}',\n\t\t\t\toptions: {\n\t\t\t\t\tvalue: maxWinChance,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\tconst minWinChance = getMinWinChance(game);\n\tconst excludeMin = exclude.indexOf('min') > -1;\n\tif (!value || value < 0 || (value < minWinChance && !excludeMin)) {\n\t\t// console.log('validateWinChance', {\n\t\t// value,\n\t\t// minWinChance,\n\t\t// });\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: excludeMin ? 0 : minWinChance,\n\t\t\terror: {\n\t\t\t\tlabel: excludeMin\n\t\t\t\t\t? 'Win chance must be greater than {{value}}'\n\t\t\t\t\t: 'Win chance must be greater or equal {{value}}',\n\t\t\t\toptions: {\n\t\t\t\t\tvalue: excludeMin ? 0 : minWinChance,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\treturn {\n\t\tvalid: true,\n\t\tamount: value,\n\t\terror: false,\n\t};\n};\n\nexport const validatePayout = (value, game, exclude = []) => {\n\tif (!game) {\n\t\tthrow new Error('game undefined');\n\t}\n\tvalue = roundNumber(value, getPayoutDecimal(game));\n\tif (!game_config[game].maxPayout && !value) {\n\t\treturn {\n\t\t\tvalid: true,\n\t\t\tamount: value,\n\t\t\terror: false,\n\t\t};\n\t}\n\tconst min = roundNumber(\n\t\tgetPayout(getMaxWinChance(), game),\n\t\tgetPayoutDecimal(game),\n\t);\n\tconst max = getMaxPayout(game);\n\tif (value === '') {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: '',\n\t\t\terror: { label: 'Please, type payout value' },\n\t\t};\n\t}\n\tif (value && value > max && exclude.indexOf('max') === -1) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: max,\n\t\t\terror: {\n\t\t\t\tlabel: 'Payout must be lower or equal to {{max}}',\n\t\t\t\toptions: {\n\t\t\t\t\tmax,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\tconst excludeMin = exclude.indexOf('min') > -1;\n\tif (!value || value < 0 || (value < min && !excludeMin)) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tamount: excludeMin ? 0 : min,\n\t\t\terror: {\n\t\t\t\tlabel: excludeMin\n\t\t\t\t\t? 'Payout must be greater than {{min}}'\n\t\t\t\t\t: 'Payout must be greater or equal to {{min}}',\n\t\t\t\toptions: {\n\t\t\t\t\tmin: excludeMin ? 0 : min,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\treturn {\n\t\tvalid: true,\n\t\tamount: value,\n\t\terror: false,\n\t};\n};\n\nexport const isFormError = (state, game, mode = null, checkBalance = true) => {\n\tconst gameState = state.game;\n\t// console.log('isFormError', { state, game, gameState, mode, checkBalance });\n\tconst isChanceValidate = ['hilo'].indexOf(game) === -1;\n\tif (gameState?.betAmount[game] === '') {\n\t\tconsole.log(\n\t\t\t{\n\t\t\t\tstate,\n\t\t\t\tgame,\n\t\t\t\tcheckBalance,\n\t\t\t},\n\t\t\tgameState?.betAmount[game],\n\t\t);\n\t\treturn {\n\t\t\ttype: 'betAmount',\n\t\t\terror: isInputActive('betAmount', state)\n\t\t\t\t? 'Please, check your bet amount'\n\t\t\t\t: true,\n\t\t};\n\t}\n\tif (gameState?.payoutValue[game] === '' && isChanceValidate) {\n\t\t// console.log({state, game, checkBalance}, gameState?.payoutValue[game]);\n\t\treturn {\n\t\t\ttype: 'payoutValue',\n\t\t\terror: isInputActive('payoutValue', state)\n\t\t\t\t? 'Please, type payout value'\n\t\t\t\t: true,\n\t\t};\n\t}\n\tif (gameState?.winChanceValue[game] === '' && isChanceValidate) {\n\t\t// console.log({state, game, checkBalance}, gameState?.winChanceValue[game]);\n\t\treturn {\n\t\t\ttype: 'winChanceValue',\n\t\t\terror: isInputActive('winChanceValue', state)\n\t\t\t\t? 'Please, type win chance value'\n\t\t\t\t: true,\n\t\t};\n\t}\n\tif (state.gameValidation?.profitError[game] && isChanceValidate) {\n\t\t// console.log({state, game, checkBalance}, state.gameValidation?.profitError[game]);\n\t\treturn {\n\t\t\ttype: 'profitValue',\n\t\t\terror: state.gameValidation?.profitError[game],\n\t\t};\n\t}\n\tconst validateWinChanceResult = isChanceValidate\n\t\t? validateWinChance(gameState?.winChanceValue[game], game)\n\t\t: {\n\t\t\t\tvalid: true,\n\t\t };\n\tconst validateBetAmountResult = validateBetAmount({\n\t\tvalue: gameState?.betAmount[game],\n\t\tbalances: state.balance.balances,\n\t\tisLogged: state.user.isLogged,\n\t\tcurrency: state.user.activeCurrency,\n\t\tcheckBalance,\n\t\tgame,\n\t});\n\tconst validatePayoutResult = isChanceValidate\n\t\t? validatePayout(gameState?.payoutValue[game], game)\n\t\t: {\n\t\t\t\tvalid: true,\n\t\t };\n\tif (\n\t\t!validateWinChanceResult.valid ||\n\t\t!validatePayoutResult.valid ||\n\t\tvalidateBetAmountResult.error\n\t) {\n\t\treturn {\n\t\t\tvalidators: {\n\t\t\t\twinChance: validateWinChanceResult.valid\n\t\t\t\t\t? false\n\t\t\t\t\t: validateWinChanceResult,\n\t\t\t\tpayout: validatePayoutResult.valid ? false : validatePayoutResult,\n\t\t\t\tbetAmount: validateBetAmountResult.error\n\t\t\t\t\t? validateBetAmountResult\n\t\t\t\t\t: false,\n\t\t\t},\n\t\t\terror: true,\n\t\t};\n\t}\n\tif (mode === 'flash') {\n\t\tif (\n\t\t\tstate.gameAutobet?.rolls < config.games.flashbet.minRolls ||\n\t\t\tstate.gameAutobet?.rolls > config.games.flashbet.maxRolls ||\n\t\t\t!state.gameAutobet?.rolls\n\t\t) {\n\t\t\treturn {\n\t\t\t\ttype: 'rolls',\n\t\t\t\terror: true,\n\t\t\t};\n\t\t}\n\t}\n\tif (\n\t\tmode === 'auto' &&\n\t\tstate.gameAutobet.rolls > config.games.autobet.maxRolls\n\t) {\n\t\treturn {\n\t\t\ttype: 'rolls',\n\t\t\terror: true,\n\t\t};\n\t}\n\tconst maxProfit = getLimits({\n\t\tcurrency: state.user.activeCurrency,\n\t\tgame,\n\t})?.profit_maximum;\n\t// console.log({\n\t// \tmaxProfit,\n\t// \tcurrency: state.user.activeCurrency,\n\t// \tgame,\n\t// \tlimits: getLimits({ currency: state.user.activeCurrency, game }),\n\t// });\n\tif (maxProfit) {\n\t\tif (game === 'hilo') {\n\t\t\tconst bool = ['high', 'low', 'red', 'black', 'number', 'letter'].every(\n\t\t\t\t(el) =>\n\t\t\t\t\tgetProfit(\n\t\t\t\t\t\tstate.game?.betAmount[game],\n\t\t\t\t\t\tgetPayout(getHiloWinChance(el, state.hilo?.activeCard), game),\n\t\t\t\t\t) > maxProfit,\n\t\t\t);\n\t\t\tif (bool) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'profit',\n\t\t\t\t\terror: {\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t'Possible profit on every option exceeded max profit ({{value}} {{currency}})',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalue: maxProfit,\n\t\t\t\t\t\t\tcurrency: state.user.activeCurrency.toUpperCase(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tconst validateProfitResult = validateProfitAmount({\n\t\t\t\tvalue: getProfit(\n\t\t\t\t\tstate.game?.betAmount[game],\n\t\t\t\t\tgameState?.payoutValue[game],\n\t\t\t\t),\n\t\t\t\tgame,\n\t\t\t\tcurrency: state.user.activeCurrency,\n\t\t\t});\n\t\t\tif (validateProfitResult?.error) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'profit',\n\t\t\t\t\terror: {\n\t\t\t\t\t\tlabel: 'Exceeds max profit for this game',\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\terror: false,\n\t};\n};\n","import { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { pushOneSignal } from '../../store/onesignal/onesignal.epic';\nimport { onLoad } from './appService';\nimport { isFeatureAvailable } from './featureService';\nimport { fetchScript } from './fetchScript';\n\nexport const initSpinePlayer = () => {\n\tfetchScript(\n\t\t'https://esotericsoftware.com/files/spine-player/3.7/spine-player.js',\n\t);\n};\n\n// export const initInspectLet = (user) => {\n// if (user.uuid !== 'a7d5cbf5-1952-4a76-902b-6db0e70d3f5f') return;\n// window.__insp = window.__insp || [];\n// __insp.push(['wid', 695676246]);\n// var ldinsp = function(){\n// if(typeof window.__inspld != 'undefined') return;\n// window.__inspld = 1;\n// var insp = document.createElement('script');\n// insp.type = 'text/javascript';\n// insp.async = true;\n// insp.id = 'inspsync';\n// insp.src = ('https:' === document.location.protocol ? 'https' : 'http') + '://cdn.inspectlet.com/inspectlet.js?wid=695676246&r=' + Math.floor(new Date().getTime()/3600000);\n// var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(insp, x);\n// };\n// setTimeout(ldinsp, 0);\n// };\n\nexport const initOneSignal = async () => {\n\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\treturn;\n\t}\n\treturn await fetchScript(\n\t\t'https://cdn.onesignal.com/sdks/OneSignalSDK.js',\n\t).then(() => {\n\t\tpushOneSignal(() => {\n\t\t\twindow.OneSignal.init({\n\t\t\t\tautoResubscribe: true,\n\t\t\t\tpath: '/OneSignalSDKUpdaterWorker.js',\n\t\t\t\tappId: !NEXT_CONFIG.PRODUCTION\n\t\t\t\t\t? '64a5ba80-f8ac-49c6-866d-b2bc02fd1451'\n\t\t\t\t\t: 'e1ed1a8e-bb03-4c25-b1b3-1daa4f9d62fd',\n\t\t\t});\n\t\t});\n\t});\n};\n\nexport const initLicense = (callback) => {\n\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\treturn;\n\t}\n\tif (isFeatureAvailable(MODAL_ID.LICENSE)) {\n\t\tfetchScript(\n\t\t\t'https://10281cf8-35d4-4f92-926f-7573b336f155.snippet.antillephone.com/apg-seal.js',\n\t\t\t{\n\t\t\t\tcallback,\n\t\t\t},\n\t\t);\n\t}\n};\n\nconst initGTM = () => {\n\tif (!NEXT_CONFIG.PRODUCTION) {\n\t\treturn;\n\t}\n\t(function (w, d, s, l, i) {\n\t\tw[l] = w[l] || [];\n\t\tw[l].push({\n\t\t\t'gtm.start': new Date().getTime(),\n\t\t\tevent: 'gtm.js',\n\t\t});\n\t\tvar f = d.getElementsByTagName(s)[0],\n\t\t\tj = d.createElement(s),\n\t\t\tdl = l !== 'dataLayer' ? '&l=' + l : '';\n\t\tj.async = true;\n\t\tj.defer = true;\n\t\tj.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;\n\t\tf.parentNode.insertBefore(j, f);\n\t})(window, document, 'script', 'appWolfLayer', 'GTM-MLW94ZL');\n};\n\nconst initVendor = () => {\n\tonLoad(() => {\n\t\tinitGTM();\n\t\t// initInspectLet();\n\t});\n};\n\nexport { initVendor };\n","import CryptoJS from 'crypto-js';\n// import forge from 'node-forge';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { LinesType, Risk } from '@modules/games/PlinkoGame/types';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { mathService } from '../math/mathService';\nimport { sentryError } from './sentryService';\nimport { getMarginMultiplier } from './validateService';\n\nconst separator = '_';\n\nexport const getHash = (client_seed, server_seed, nonce) => {\n\t// if (!(!!server_seed && !!client_seed && (!!nonce || typeof nonce === 'number'))) {\n\t// return false;\n\t// }\n\t// console.log('hash', {first: server_seed, second: `${client_seed}${separator}${nonce}`});\n\treturn hmac_sha256(server_seed, `${client_seed}${separator}${nonce}`);\n};\n\nexport const sha256 = (m) => {\n\treturn CryptoJS.SHA256(m).toString();\n};\n\nexport const hmac_sha256 = (K, m) => {\n\treturn CryptoJS.HmacSHA256(K, m).toString();\n\t// const hmac = forge.hmac.create();\n\t// hmac.start('sha256', K);\n\t// hmac.update(m);\n\t// console.log('hmac', {\n\t// stake: hmac.digest().toHex(),\n\t// crypto: CryptoJS.HmacSHA256(m,K).toString(),\n\t// });\n\t// return hmac.digest().toHex();\n};\n\nexport const betSubnonceVerification = (\n\tclient_seed,\n\tserver_seed,\n\tnonce,\n\tcallback,\n\tbetSubnonceLength,\n) => {\n\tconst hash = getHash(client_seed, server_seed, `${nonce}${separator}0`);\n\tif (!hash) {\n\t\treturn null;\n\t}\n\tif (betSubnonceLength && betSubnonceLength > 1) {\n\t\treturn {\n\t\t\thash: hash,\n\t\t\tdata: new Array(100).fill(0).map((el, index) => {\n\t\t\t\treturn callback(\n\t\t\t\t\tgetHash(client_seed, server_seed, `${nonce}${separator}${index}`),\n\t\t\t\t).toString();\n\t\t\t}),\n\t\t};\n\t}\n\treturn {\n\t\thash,\n\t\tdata: callback(hash).toString(),\n\t};\n};\n\nexport const betVerification = (betHash, maxResults) => {\n\tif (!betHash || !maxResults) {\n\t\treturn null;\n\t}\n\tconst floats = new Array(4).fill(0).map((el, index) => {\n\t\tconst hex = betHash.substr(index * 2, 2);\n\t\t// console.log({hex, index, betHash, float: parseInt(hex, 16)});\n\t\treturn parseInt(hex, 16);\n\t});\n\tlet sum = 0;\n\tfloats.forEach((float, index) => {\n\t\t// console.log({float, sum, index, res: (float / Math.pow(256, index))});\n\t\tsum += roundNumber(float / Math.pow(256, index + 1), 10);\n\t});\n\t// console.log(round(sum * maxResults, 0, 'floor'));\n\treturn sum * maxResults;\n};\n\nexport const diceVerification = (\n\tclient_seed,\n\tserver_seed,\n\tnonce,\n): {\n\thash: string;\n\tdata: string;\n} => {\n\tconst hash = getHash(client_seed, server_seed, nonce);\n\t// console.log('Dice hash', hash);\n\tif (!hash) {\n\t\treturn null;\n\t}\n\n\tlet index = 0;\n\tlet lucky = parseInt(hash.substr(index, 5), 16);\n\twhile (lucky >= 1000000) {\n\t\tlucky = parseInt(hash.substr(index, 5), 16);\n\t\tindex += 5;\n\t}\n\n\treturn {\n\t\thash,\n\t\tdata: mathService.divide(lucky % 10000, 100, 2).toString(),\n\t};\n};\n\nexport const gameVerification = (\n\tclient_seed,\n\tserver_seed,\n\tnonce,\n\tmaxResults,\n\tmaxSubnonce = null,\n) => {\n\treturn betSubnonceVerification(\n\t\tclient_seed,\n\t\tserver_seed,\n\t\tnonce,\n\t\t(hash) => betVerification(hash, maxResults),\n\t\tmaxSubnonce,\n\t);\n};\n\nexport const hiloFullTailVerification = (client_seed, server_seed, nonce) => {\n\tif (!client_seed || !server_seed || !nonce) {\n\t\treturn;\n\t}\n\tconst array = [];\n\tconst maxValue = 52;\n\tlet subnonce = 0;\n\twhile (array.length < maxValue || subnonce > 1000000) {\n\t\tconst hash = getHash(client_seed, server_seed, `${nonce}_${subnonce}`);\n\t\tconst result = betVerification(hash, maxValue);\n\t\tif (!isTrueOrZero(result)) {\n\t\t\tbreak;\n\t\t}\n\t\tif (result >= maxValue) {\n\t\t\tsentryError(\n\t\t\t\tnew Error(\n\t\t\t\t\t`Wrong bet result - result: ${result}; subnonce: ${subnonce}`,\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tclient_seed,\n\t\t\t\t\tserver_seed,\n\t\t\t\t\tnonce,\n\t\t\t\t\tsubnonce,\n\t\t\t\t\tresult,\n\t\t\t\t},\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tif (array.indexOf(result) === -1) {\n\t\t\tarray.push(result);\n\t\t}\n\t\tsubnonce++;\n\t}\n\t// console.log({array, subnonce});\n\tif (array.length < maxValue) {\n\t\tsentryError(new Error('No full hilo tail'), {\n\t\t\tclient_seed,\n\t\t\tserver_seed,\n\t\t\tnonce,\n\t\t\tsubnonce,\n\t\t\tarray,\n\t\t});\n\t}\n\treturn {\n\t\tarray,\n\t\tsubnonce,\n\t};\n};\n\nexport const limboResult = (float) => {\n\tconst normalizedFloat = Math.max(float, 0.01);\n\tconst floatPoint = (1e8 / normalizedFloat) * getMarginMultiplier('limbo');\n\tconst clampedFloatPoint = Math.min(floatPoint, 9900000);\n\tconst crashPoint = Math.floor(clampedFloatPoint * 100) / 100;\n\t// console.log('limboResult', {\n\t// float,\n\t// floatPoint,\n\t// normalizedFloat,\n\t// clampedFloatPoint,\n\t// crashPoint,\n\t// result: Math.max(crashPoint, 1),\n\t// margin: getMarginMultiplier('limbo'),\n\t// });\n\treturn Math.max(crashPoint, 1);\n};\n\nexport const hiloResult = (float) => {\n\treturn roundNumber(float, 0, 'floor');\n};\n\nexport const plinkoResult = (\n\tfloats: Array<number | string>,\n\trisk: Risk,\n\tlines: LinesType,\n) => {\n\tconst path = [];\n\tfor (let i = 0; i < lines; i++) {\n\t\tpath.push(floats[i] >= 1 ? 1 : 0);\n\t}\n\treturn {\n\t\tresult: path.reduce((acc, el) => acc + el, 0),\n\t\tpath,\n\t};\n};\n","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}\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 Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _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}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _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}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _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}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n/**\r\n * This class represents a basic channel.\r\n */\nvar Channel = /*#__PURE__*/function () {\n function Channel() {\n _classCallCheck(this, Channel);\n }\n\n _createClass(Channel, [{\n key: \"listenForWhisper\",\n value:\n /**\r\n * Listen for a whisper event on the channel instance.\r\n */\n function listenForWhisper(event, callback) {\n return this.listen('.client-' + event, callback);\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"notification\",\n value: function notification(callback) {\n return this.listen('.Illuminate\\\\Notifications\\\\Events\\\\BroadcastNotificationCreated', callback);\n }\n /**\r\n * Stop listening for a whisper event on the channel instance.\r\n */\n\n }, {\n key: \"stopListeningForWhisper\",\n value: function stopListeningForWhisper(event, callback) {\n return this.stopListening('.client-' + event, callback);\n }\n }]);\n\n return Channel;\n}();\n\n/**\r\n * Event name formatter\r\n */\nvar EventFormatter = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function EventFormatter(namespace) {\n _classCallCheck(this, EventFormatter);\n\n this.namespace = namespace; //\n }\n /**\r\n * Format the given event name.\r\n */\n\n\n _createClass(EventFormatter, [{\n key: \"format\",\n value: function format(event) {\n if (event.charAt(0) === '.' || event.charAt(0) === '\\\\') {\n return event.substr(1);\n } else if (this.namespace) {\n event = this.namespace + '.' + event;\n }\n\n return event.replace(/\\./g, '\\\\');\n }\n /**\r\n * Set the event namespace.\r\n */\n\n }, {\n key: \"setNamespace\",\n value: function setNamespace(value) {\n this.namespace = value;\n }\n }]);\n\n return EventFormatter;\n}();\n\n/**\r\n * This class represents a Pusher channel.\r\n */\n\nvar PusherChannel = /*#__PURE__*/function (_Channel) {\n _inherits(PusherChannel, _Channel);\n\n var _super = _createSuper(PusherChannel);\n\n /**\r\n * Create a new class instance.\r\n */\n function PusherChannel(pusher, name, options) {\n var _this;\n\n _classCallCheck(this, PusherChannel);\n\n _this = _super.call(this);\n _this.name = name;\n _this.pusher = pusher;\n _this.options = options;\n _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n _this.subscribe();\n\n return _this;\n }\n /**\r\n * Subscribe to a Pusher channel.\r\n */\n\n\n _createClass(PusherChannel, [{\n key: \"subscribe\",\n value: function subscribe() {\n this.subscription = this.pusher.subscribe(this.name);\n }\n /**\r\n * Unsubscribe from a Pusher channel.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {\n this.pusher.unsubscribe(this.name);\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n this.on(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Listen for all events on the channel instance.\r\n */\n\n }, {\n key: \"listenToAll\",\n value: function listenToAll(callback) {\n var _this2 = this;\n\n this.subscription.bind_global(function (event, data) {\n if (event.startsWith('pusher:')) {\n return;\n }\n\n var namespace = _this2.options.namespace.replace(/\\./g, '\\\\');\n\n var formattedEvent = event.startsWith(namespace) ? event.substring(namespace.length + 1) : '.' + event;\n callback(formattedEvent, data);\n });\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n if (callback) {\n this.subscription.unbind(this.eventFormatter.format(event), callback);\n } else {\n this.subscription.unbind(this.eventFormatter.format(event));\n }\n\n return this;\n }\n /**\r\n * Stop listening for all events on the channel instance.\r\n */\n\n }, {\n key: \"stopListeningToAll\",\n value: function stopListeningToAll(callback) {\n if (callback) {\n this.subscription.unbind_global(callback);\n } else {\n this.subscription.unbind_global();\n }\n\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n this.on('pusher:subscription_succeeded', function () {\n callback();\n });\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n this.on('pusher:subscription_error', function (status) {\n callback(status);\n });\n return this;\n }\n /**\r\n * Bind a channel to an event.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n this.subscription.bind(event, callback);\n return this;\n }\n }]);\n\n return PusherChannel;\n}(Channel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n _inherits(PusherPrivateChannel, _PusherChannel);\n\n var _super = _createSuper(PusherPrivateChannel);\n\n function PusherPrivateChannel() {\n _classCallCheck(this, PusherPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n }]);\n\n return PusherPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherEncryptedPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n _inherits(PusherEncryptedPrivateChannel, _PusherChannel);\n\n var _super = _createSuper(PusherEncryptedPrivateChannel);\n\n function PusherEncryptedPrivateChannel() {\n _classCallCheck(this, PusherEncryptedPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherEncryptedPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n }]);\n\n return PusherEncryptedPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher presence channel.\r\n */\n\nvar PusherPresenceChannel = /*#__PURE__*/function (_PusherChannel) {\n _inherits(PusherPresenceChannel, _PusherChannel);\n\n var _super = _createSuper(PusherPresenceChannel);\n\n function PusherPresenceChannel() {\n _classCallCheck(this, PusherPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n this.on('pusher:subscription_succeeded', function (data) {\n callback(Object.keys(data.members).map(function (k) {\n return data.members[k];\n }));\n });\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n this.on('pusher:member_added', function (member) {\n callback(member.info);\n });\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n this.on('pusher:member_removed', function (member) {\n callback(member.info);\n });\n return this;\n }\n }]);\n\n return PusherPresenceChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Socket.io channel.\r\n */\n\nvar SocketIoChannel = /*#__PURE__*/function (_Channel) {\n _inherits(SocketIoChannel, _Channel);\n\n var _super = _createSuper(SocketIoChannel);\n\n /**\r\n * Create a new class instance.\r\n */\n function SocketIoChannel(socket, name, options) {\n var _this;\n\n _classCallCheck(this, SocketIoChannel);\n\n _this = _super.call(this);\n /**\r\n * The event callbacks applied to the socket.\r\n */\n\n _this.events = {};\n /**\r\n * User supplied callbacks for events on this channel.\r\n */\n\n _this.listeners = {};\n _this.name = name;\n _this.socket = socket;\n _this.options = options;\n _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n _this.subscribe();\n\n return _this;\n }\n /**\r\n * Subscribe to a Socket.io channel.\r\n */\n\n\n _createClass(SocketIoChannel, [{\n key: \"subscribe\",\n value: function subscribe() {\n this.socket.emit('subscribe', {\n channel: this.name,\n auth: this.options.auth || {}\n });\n }\n /**\r\n * Unsubscribe from channel and ubind event callbacks.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {\n this.unbind();\n this.socket.emit('unsubscribe', {\n channel: this.name,\n auth: this.options.auth || {}\n });\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n this.on(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n this.unbindEvent(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n this.on('connect', function (socket) {\n callback(socket);\n });\n return this;\n }\n /**\r\n * Register a callback to be called anytime an error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n return this;\n }\n /**\r\n * Bind the channel's socket to an event and store the callback.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n var _this2 = this;\n\n this.listeners[event] = this.listeners[event] || [];\n\n if (!this.events[event]) {\n this.events[event] = function (channel, data) {\n if (_this2.name === channel && _this2.listeners[event]) {\n _this2.listeners[event].forEach(function (cb) {\n return cb(data);\n });\n }\n };\n\n this.socket.on(event, this.events[event]);\n }\n\n this.listeners[event].push(callback);\n return this;\n }\n /**\r\n * Unbind the channel's socket from all stored event callbacks.\r\n */\n\n }, {\n key: \"unbind\",\n value: function unbind() {\n var _this3 = this;\n\n Object.keys(this.events).forEach(function (event) {\n _this3.unbindEvent(event);\n });\n }\n /**\r\n * Unbind the listeners for the given event.\r\n */\n\n }, {\n key: \"unbindEvent\",\n value: function unbindEvent(event, callback) {\n this.listeners[event] = this.listeners[event] || [];\n\n if (callback) {\n this.listeners[event] = this.listeners[event].filter(function (cb) {\n return cb !== callback;\n });\n }\n\n if (!callback || this.listeners[event].length === 0) {\n if (this.events[event]) {\n this.socket.removeListener(event, this.events[event]);\n delete this.events[event];\n }\n\n delete this.listeners[event];\n }\n }\n }]);\n\n return SocketIoChannel;\n}(Channel);\n\n/**\r\n * This class represents a Socket.io private channel.\r\n */\n\nvar SocketIoPrivateChannel = /*#__PURE__*/function (_SocketIoChannel) {\n _inherits(SocketIoPrivateChannel, _SocketIoChannel);\n\n var _super = _createSuper(SocketIoPrivateChannel);\n\n function SocketIoPrivateChannel() {\n _classCallCheck(this, SocketIoPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SocketIoPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.socket.emit('client event', {\n channel: this.name,\n event: \"client-\".concat(eventName),\n data: data\n });\n return this;\n }\n }]);\n\n return SocketIoPrivateChannel;\n}(SocketIoChannel);\n\n/**\r\n * This class represents a Socket.io presence channel.\r\n */\n\nvar SocketIoPresenceChannel = /*#__PURE__*/function (_SocketIoPrivateChann) {\n _inherits(SocketIoPresenceChannel, _SocketIoPrivateChann);\n\n var _super = _createSuper(SocketIoPresenceChannel);\n\n function SocketIoPresenceChannel() {\n _classCallCheck(this, SocketIoPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SocketIoPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n this.on('presence:subscribed', function (members) {\n callback(members.map(function (m) {\n return m.user_info;\n }));\n });\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n this.on('presence:joining', function (member) {\n return callback(member.user_info);\n });\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n this.socket.emit('client event', {\n channel: this.name,\n event: \"client-\".concat(eventName),\n data: data\n });\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n this.on('presence:leaving', function (member) {\n return callback(member.user_info);\n });\n return this;\n }\n }]);\n\n return SocketIoPresenceChannel;\n}(SocketIoPrivateChannel);\n\n/**\r\n * This class represents a null channel.\r\n */\n\nvar NullChannel = /*#__PURE__*/function (_Channel) {\n _inherits(NullChannel, _Channel);\n\n var _super = _createSuper(NullChannel);\n\n function NullChannel() {\n _classCallCheck(this, NullChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullChannel, [{\n key: \"subscribe\",\n value:\n /**\r\n * Subscribe to a channel.\r\n */\n function subscribe() {//\n }\n /**\r\n * Unsubscribe from a channel.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {//\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n return this;\n }\n /**\r\n * Listen for all events on the channel instance.\r\n */\n\n }, {\n key: \"listenToAll\",\n value: function listenToAll(callback) {\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n return this;\n }\n /**\r\n * Register a callback to be called anytime an error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n return this;\n }\n /**\r\n * Bind a channel to an event.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n return this;\n }\n }]);\n\n return NullChannel;\n}(Channel);\n\n/**\r\n * This class represents a null private channel.\r\n */\n\nvar NullPrivateChannel = /*#__PURE__*/function (_NullChannel) {\n _inherits(NullPrivateChannel, _NullChannel);\n\n var _super = _createSuper(NullPrivateChannel);\n\n function NullPrivateChannel() {\n _classCallCheck(this, NullPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n return this;\n }\n }]);\n\n return NullPrivateChannel;\n}(NullChannel);\n\n/**\r\n * This class represents a null presence channel.\r\n */\n\nvar NullPresenceChannel = /*#__PURE__*/function (_NullChannel) {\n _inherits(NullPresenceChannel, _NullChannel);\n\n var _super = _createSuper(NullPresenceChannel);\n\n function NullPresenceChannel() {\n _classCallCheck(this, NullPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n return this;\n }\n }]);\n\n return NullPresenceChannel;\n}(NullChannel);\n\nvar Connector = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function Connector(options) {\n _classCallCheck(this, Connector);\n\n /**\r\n * Default connector options.\r\n */\n this._defaultOptions = {\n auth: {\n headers: {}\n },\n authEndpoint: '/broadcasting/auth',\n userAuthentication: {\n endpoint: '/broadcasting/user-auth',\n headers: {}\n },\n broadcaster: 'pusher',\n csrfToken: null,\n bearerToken: null,\n host: null,\n key: null,\n namespace: 'App.Events'\n };\n this.setOptions(options);\n this.connect();\n }\n /**\r\n * Merge the custom options with the defaults.\r\n */\n\n\n _createClass(Connector, [{\n key: \"setOptions\",\n value: function setOptions(options) {\n this.options = _extends(this._defaultOptions, options);\n var token = this.csrfToken();\n\n if (token) {\n this.options.auth.headers['X-CSRF-TOKEN'] = token;\n this.options.userAuthentication.headers['X-CSRF-TOKEN'] = token;\n }\n\n token = this.options.bearerToken;\n\n if (token) {\n this.options.auth.headers['Authorization'] = 'Bearer ' + token;\n this.options.userAuthentication.headers['Authorization'] = 'Bearer ' + token;\n }\n\n return options;\n }\n /**\r\n * Extract the CSRF token from the page.\r\n */\n\n }, {\n key: \"csrfToken\",\n value: function csrfToken() {\n var selector;\n\n if (typeof window !== 'undefined' && window['Laravel'] && window['Laravel'].csrfToken) {\n return window['Laravel'].csrfToken;\n } else if (this.options.csrfToken) {\n return this.options.csrfToken;\n } else if (typeof document !== 'undefined' && typeof document.querySelector === 'function' && (selector = document.querySelector('meta[name=\"csrf-token\"]'))) {\n return selector.getAttribute('content');\n }\n\n return null;\n }\n }]);\n\n return Connector;\n}();\n\n/**\r\n * This class creates a connector to Pusher.\r\n */\n\nvar PusherConnector = /*#__PURE__*/function (_Connector) {\n _inherits(PusherConnector, _Connector);\n\n var _super = _createSuper(PusherConnector);\n\n function PusherConnector() {\n var _this;\n\n _classCallCheck(this, PusherConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh Pusher connection.\r\n */\n\n\n _createClass(PusherConnector, [{\n key: \"connect\",\n value: function connect() {\n if (typeof this.options.client !== 'undefined') {\n this.pusher = this.options.client;\n } else if (this.options.Pusher) {\n this.pusher = new this.options.Pusher(this.options.key, this.options);\n } else {\n this.pusher = new Pusher(this.options.key, this.options);\n }\n }\n /**\r\n * Sign in the user via Pusher user authentication (https://pusher.com/docs/channels/using_channels/user-authentication/).\r\n */\n\n }, {\n key: \"signin\",\n value: function signin() {\n this.pusher.signin();\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return this.channel(name).listen(event, callback);\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n if (!this.channels[name]) {\n this.channels[name] = new PusherChannel(this.pusher, name, this.options);\n }\n\n return this.channels[name];\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n if (!this.channels['private-' + name]) {\n this.channels['private-' + name] = new PusherPrivateChannel(this.pusher, 'private-' + name, this.options);\n }\n\n return this.channels['private-' + name];\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivateChannel\",\n value: function encryptedPrivateChannel(name) {\n if (!this.channels['private-encrypted-' + name]) {\n this.channels['private-encrypted-' + name] = new PusherEncryptedPrivateChannel(this.pusher, 'private-encrypted-' + name, this.options);\n }\n\n return this.channels['private-encrypted-' + name];\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n if (!this.channels['presence-' + name]) {\n this.channels['presence-' + name] = new PusherPresenceChannel(this.pusher, 'presence-' + name, this.options);\n }\n\n return this.channels['presence-' + name];\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {\n var _this2 = this;\n\n var channels = [name, 'private-' + name, 'private-encrypted-' + name, 'presence-' + name];\n channels.forEach(function (name, index) {\n _this2.leaveChannel(name);\n });\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {\n if (this.channels[name]) {\n this.channels[name].unsubscribe();\n delete this.channels[name];\n }\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.pusher.connection.socket_id;\n }\n /**\r\n * Disconnect Pusher connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.pusher.disconnect();\n }\n }]);\n\n return PusherConnector;\n}(Connector);\n\n/**\r\n * This class creates a connnector to a Socket.io server.\r\n */\n\nvar SocketIoConnector = /*#__PURE__*/function (_Connector) {\n _inherits(SocketIoConnector, _Connector);\n\n var _super = _createSuper(SocketIoConnector);\n\n function SocketIoConnector() {\n var _this;\n\n _classCallCheck(this, SocketIoConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh Socket.io connection.\r\n */\n\n\n _createClass(SocketIoConnector, [{\n key: \"connect\",\n value: function connect() {\n var _this2 = this;\n\n var io = this.getSocketIO();\n this.socket = io(this.options.host, this.options);\n this.socket.on('reconnect', function () {\n Object.values(_this2.channels).forEach(function (channel) {\n channel.subscribe();\n });\n });\n return this.socket;\n }\n /**\r\n * Get socket.io module from global scope or options.\r\n */\n\n }, {\n key: \"getSocketIO\",\n value: function getSocketIO() {\n if (typeof this.options.client !== 'undefined') {\n return this.options.client;\n }\n\n if (typeof io !== 'undefined') {\n return io;\n }\n\n throw new Error('Socket.io client not found. Should be globally available or passed via options.client');\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return this.channel(name).listen(event, callback);\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n if (!this.channels[name]) {\n this.channels[name] = new SocketIoChannel(this.socket, name, this.options);\n }\n\n return this.channels[name];\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n if (!this.channels['private-' + name]) {\n this.channels['private-' + name] = new SocketIoPrivateChannel(this.socket, 'private-' + name, this.options);\n }\n\n return this.channels['private-' + name];\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n if (!this.channels['presence-' + name]) {\n this.channels['presence-' + name] = new SocketIoPresenceChannel(this.socket, 'presence-' + name, this.options);\n }\n\n return this.channels['presence-' + name];\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {\n var _this3 = this;\n\n var channels = [name, 'private-' + name, 'presence-' + name];\n channels.forEach(function (name) {\n _this3.leaveChannel(name);\n });\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {\n if (this.channels[name]) {\n this.channels[name].unsubscribe();\n delete this.channels[name];\n }\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.socket.id;\n }\n /**\r\n * Disconnect Socketio connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.socket.disconnect();\n }\n }]);\n\n return SocketIoConnector;\n}(Connector);\n\n/**\r\n * This class creates a null connector.\r\n */\n\nvar NullConnector = /*#__PURE__*/function (_Connector) {\n _inherits(NullConnector, _Connector);\n\n var _super = _createSuper(NullConnector);\n\n function NullConnector() {\n var _this;\n\n _classCallCheck(this, NullConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh connection.\r\n */\n\n\n _createClass(NullConnector, [{\n key: \"connect\",\n value: function connect() {//\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return new NullChannel();\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n return new NullChannel();\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n return new NullPrivateChannel();\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivateChannel\",\n value: function encryptedPrivateChannel(name) {\n return new NullPrivateChannel();\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n return new NullPresenceChannel();\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {//\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {//\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return 'fake-socket-id';\n }\n /**\r\n * Disconnect the connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {//\n }\n }]);\n\n return NullConnector;\n}(Connector);\n\n/**\r\n * This class is the primary API for interacting with broadcasting.\r\n */\n\nvar Echo = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function Echo(options) {\n _classCallCheck(this, Echo);\n\n this.options = options;\n this.connect();\n\n if (!this.options.withoutInterceptors) {\n this.registerInterceptors();\n }\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n\n _createClass(Echo, [{\n key: \"channel\",\n value: function channel(_channel) {\n return this.connector.channel(_channel);\n }\n /**\r\n * Create a new connection.\r\n */\n\n }, {\n key: \"connect\",\n value: function connect() {\n if (this.options.broadcaster == 'pusher') {\n this.connector = new PusherConnector(this.options);\n } else if (this.options.broadcaster == 'socket.io') {\n this.connector = new SocketIoConnector(this.options);\n } else if (this.options.broadcaster == 'null') {\n this.connector = new NullConnector(this.options);\n } else if (typeof this.options.broadcaster == 'function') {\n this.connector = new this.options.broadcaster(this.options);\n }\n }\n /**\r\n * Disconnect from the Echo server.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.connector.disconnect();\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"join\",\n value: function join(channel) {\n return this.connector.presenceChannel(channel);\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(channel) {\n this.connector.leave(channel);\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(channel) {\n this.connector.leaveChannel(channel);\n }\n /**\r\n * Leave all channels.\r\n */\n\n }, {\n key: \"leaveAllChannels\",\n value: function leaveAllChannels() {\n for (var channel in this.connector.channels) {\n this.leaveChannel(channel);\n }\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(channel, event, callback) {\n return this.connector.listen(channel, event, callback);\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"private\",\n value: function _private(channel) {\n return this.connector.privateChannel(channel);\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivate\",\n value: function encryptedPrivate(channel) {\n return this.connector.encryptedPrivateChannel(channel);\n }\n /**\r\n * Get the Socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.connector.socketId();\n }\n /**\r\n * Register 3rd party request interceptiors. These are used to automatically\r\n * send a connections socket id to a Laravel app with a X-Socket-Id header.\r\n */\n\n }, {\n key: \"registerInterceptors\",\n value: function registerInterceptors() {\n if (typeof Vue === 'function' && Vue.http) {\n this.registerVueRequestInterceptor();\n }\n\n if (typeof axios === 'function') {\n this.registerAxiosRequestInterceptor();\n }\n\n if (typeof jQuery === 'function') {\n this.registerjQueryAjaxSetup();\n }\n\n if ((typeof Turbo === \"undefined\" ? \"undefined\" : _typeof(Turbo)) === 'object') {\n this.registerTurboRequestInterceptor();\n }\n }\n /**\r\n * Register a Vue HTTP interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerVueRequestInterceptor\",\n value: function registerVueRequestInterceptor() {\n var _this = this;\n\n Vue.http.interceptors.push(function (request, next) {\n if (_this.socketId()) {\n request.headers.set('X-Socket-ID', _this.socketId());\n }\n\n next();\n });\n }\n /**\r\n * Register an Axios HTTP interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerAxiosRequestInterceptor\",\n value: function registerAxiosRequestInterceptor() {\n var _this2 = this;\n\n axios.interceptors.request.use(function (config) {\n if (_this2.socketId()) {\n config.headers['X-Socket-Id'] = _this2.socketId();\n }\n\n return config;\n });\n }\n /**\r\n * Register jQuery AjaxPrefilter to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerjQueryAjaxSetup\",\n value: function registerjQueryAjaxSetup() {\n var _this3 = this;\n\n if (typeof jQuery.ajax != 'undefined') {\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (_this3.socketId()) {\n xhr.setRequestHeader('X-Socket-Id', _this3.socketId());\n }\n });\n }\n }\n /**\r\n * Register the Turbo Request interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerTurboRequestInterceptor\",\n value: function registerTurboRequestInterceptor() {\n var _this4 = this;\n\n document.addEventListener('turbo:before-fetch-request', function (event) {\n event.detail.fetchOptions.headers['X-Socket-Id'] = _this4.socketId();\n });\n }\n }]);\n\n return Echo;\n}();\n\nexport { Channel, Echo as default };\n","import Pusher from 'pusher-js';\nimport Echo from 'laravel-echo';\nimport { servicesConfig } from '@server/config/services.config';\nimport { websocketSetConnectionState } from '../../store/websocket/websocket.actions';\nimport {\n\tWebsocketChannelType,\n\tWebsocketEventType,\n} from '../../store/websocket/websocket.constants';\n\nclass websocketClass {\n\tinstance = null;\n\n\tgetInstance(dispatch) {\n\t\tif (this.instance) {\n\t\t\treturn this.instance;\n\t\t}\n\t\tthis.instance = null;\n\t\tif (process.browser) {\n\t\t\tconst options = {\n\t\t\t\tcluster: 'eu',\n\t\t\t\tbroadcaster: 'pusher',\n\t\t\t\tkey: servicesConfig.pusherId,\n\t\t\t\twsHost: servicesConfig.socketHost,\n\t\t\t\t...(parseInt(servicesConfig.socketPort) && {\n\t\t\t\t\twssPort: servicesConfig.socketPort,\n\t\t\t\t}),\n\t\t\t\tdisableStats: true,\n\t\t\t\tenabledTransports: ['ws', 'flash'],\n\t\t\t\tforceTLS: true,\n\t\t\t};\n\t\t\twindow['Pusher'] = Pusher;\n\t\t\tconst instance = new Echo(options);\n\t\t\tthis.instance = instance;\n\t\t\tthis.handleInstance(instance, dispatch);\n\t\t\treturn instance;\n\t\t}\n\t\treturn null;\n\t}\n\n\thandleInstance(instance = this.instance, dispatch) {\n\t\tif (!instance?.connector?.pusher) {\n\t\t\treturn setTimeout(() => {\n\t\t\t\treturn this.handleInstance(this.instance, dispatch);\n\t\t\t}, 1000);\n\t\t}\n\t\tconst pusher = instance.connector.pusher;\n\t\t// pusher.connection.bind('error', (error) => {\n\t\t// \tsentryError(error, pusher);\n\t\t// });\n\t\tdispatch(websocketSetConnectionState(pusher.connection.state));\n\t\tpusher.connection.bind('state_change', (states) => {\n\t\t\tdispatch(websocketSetConnectionState(states.current));\n\t\t});\n\t}\n\n\tisEventExist(\n\t\tchannel: WebsocketChannelType,\n\t\tevent: WebsocketEventType,\n\t\tchannels,\n\t) {\n\t\t// console.log('isEventExist', {channel, event, data: channels, result: channels[channel]?.pusher?.channels?.channels[channel]?.callbacks?._callbacks[`_${event}`]});\n\t\treturn channels[channel]?.pusher?.channels?.channels[channel]?.callbacks\n\t\t\t?._callbacks[`_${event}`];\n\t}\n\n\tgetMessage(data) {\n\t\tconst { message } = data;\n\t\treturn message;\n\t}\n}\n\nconst websocketService = new websocketClass();\n\nexport default websocketService;\n","/*\r\n * bignumber.js v9.1.1\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>\r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\nvar\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n/*\r\n * Create and return a BigNumber constructor.\r\n */\r\nfunction clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, P.lt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, P.gt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n function maxOrMin(args, method) {\r\n var n,\r\n i = 1,\r\n m = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n n = new BigNumber(args[i]);\r\n\r\n // If any number is NaN, return NaN.\r\n if (!n.s) {\r\n m = n;\r\n break;\r\n } else if (method.call(m, n)) {\r\n m = n;\r\n }\r\n }\r\n\r\n return m;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = n / pows10[d - j - 1] % 10 | 0;\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) t = xc, xc = yc, yc = t, y.s = -y.s;\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) zc = xc, xc = yc, yc = zc, i = xcL, xcL = ycL, ycL = i;\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) t = yc, yc = xc, xc = t, b = a;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) i = g1, g1 = g2, g2 = i, len -= i;\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n P[Symbol.toStringTag] = 'BigNumber';\r\n\r\n // Node.js v10.12.0+\r\n P[Symbol.for('nodejs.util.inspect.custom')] = P.valueOf;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n}\r\n\r\n\r\n// PRIVATE HELPER FUNCTIONS\r\n\r\n// These functions don't need access to variables,\r\n// e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\nfunction bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n}\r\n\r\n\r\n// Return a coefficient array as a string of base 10 digits.\r\nfunction coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n}\r\n\r\n\r\n// Compare the value of BigNumbers x and y.\r\nfunction compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n}\r\n\r\n\r\n/*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\nfunction intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n}\r\n\r\n\r\n// Assumes finite n.\r\nfunction isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n}\r\n\r\n\r\nfunction toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n}\r\n\r\n\r\nfunction toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\n\r\n// EXPORT\r\n\r\n\r\nexport var BigNumber = clone();\r\n\r\nexport default BigNumber;\r\n","import BigNumber from 'bignumber.js';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { config } from '../../config';\n\nclass MathServiceClass {\n\t// BigNumber operations\n\t// Multiply a and b\n\tmultiply(a = 1, b = 1, precision = config.valueMaxPrecision) {\n\t\tif (!a) {\n\t\t\ta = 0;\n\t\t}\n\t\tb = isNaN(parseFloat(b)) ? 1 : parseFloat(b);\n\t\tconst bigA = new BigNumber(`${a}`);\n\t\tconst result = bigA.times(`${b}`);\n\t\tif (result.decimalPlaces() < precision) {\n\t\t\tprecision = result.decimalPlaces();\n\t\t}\n\t\treturn roundNumber(result, precision);\n\t}\n\n\t// Divide a and b\n\tdivide(a, b = 1, precision = config.valueMaxPrecision) {\n\t\tif (!a) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst bigA = new BigNumber(`${a}`);\n\t\tconst result = bigA.dividedBy(`${b}`);\n\t\tif (result.decimalPlaces() < precision) {\n\t\t\tprecision = result.decimalPlaces();\n\t\t}\n\t\treturn roundNumber(result, precision);\n\t}\n\n\t// Add a and b\n\tadd(a = 1, b = 1) {\n\t\tif (!a) {\n\t\t\ta = 0;\n\t\t}\n\t\tconst bigA = new BigNumber(`${a}`);\n\t\treturn parseFloat(bigA.plus(`${b}`));\n\t}\n\n\t// Subtract b from a\n\tsubtract(a = 1, b = 1) {\n\t\tif (!a) {\n\t\t\ta = 0;\n\t\t}\n\t\tconst bigA = new BigNumber(`${a}`);\n\t\treturn parseFloat(bigA.minus(`${b}`));\n\t}\n\n\t// Return percent of number\n\tpercentage(number = 1, percentage = 100) {\n\t\tif (!number) {\n\t\t\tnumber = 1;\n\t\t}\n\t\tconst bigPercentage = new BigNumber(percentage);\n\t\treturn parseFloat(bigPercentage.times(number).dividedBy(100));\n\t}\n\n\tgetMinValueByPrecision(precision = config.decimals.bet, value = 10) {\n\t\treturn Math.pow(value, precision * -1);\n\t}\n\n\tparseSeparatorFloat(string, separator) {\n\t\tif (typeof string === 'number') {\n\t\t\treturn string;\n\t\t}\n\t\tif (typeof string !== 'string') {\n\t\t\treturn undefined;\n\t\t}\n\t\tstring = string.split(separator);\n\t\tstring = string.join('');\n\t\treturn parseFloat(string);\n\t}\n\n\tgetDecimalPartLength(value, separator = '.') {\n\t\tvalue = value.toString();\n\t\treturn value.split(separator)[0].length;\n\t}\n\n\tgetFloatPartLength(value, separator = '.') {\n\t\tvalue = value.toString();\n\t\treturn value.split(separator)[1] ? value.split(separator)[1].length : 0;\n\t}\n\n\t// Return exact float value of given number (number might be string)\n\tparseBigFloat(value, precision = 8) {\n\t\tvalue = value.toString();\n\t\tvalue = value.split(',').join('.');\n\t\treturn parseFloat(new BigNumber(parseFloat(value)).toFixed(precision));\n\t}\n\n\t// Return exact float value of given number (number might be string)\n\tparseBigFloatWithTrailingZeros(value, precision = 8) {\n\t\tvalue = value.toString();\n\t\tvalue = value.split(',').join('.');\n\t\treturn parseFloat(\n\t\t\tnew BigNumber(parseFloat(value)).toFixed(precision),\n\t\t).toFixed(precision);\n\t}\n\n\ttoFixedNoRound(a, precision = 8, options) {\n\t\tconst bigA = new BigNumber(`${a}`);\n\t\tlet fixedValue = bigA.toFixed(precision, 1);\n\t\tif (options && options.fixedZero && bigA.equals(0)) {\n\t\t\tfixedValue = parseFloat(fixedValue).toFixed(precision);\n\t\t}\n\t\treturn fixedValue;\n\t}\n\n\tparseValue(number, precision = 8) {\n\t\tif (typeof number === 'undefined') {\n\t\t\treturn null;\n\t\t}\n\t\tconst rounded = roundNumber(new BigNumber(`${number}`), precision);\n\t\treturn isNaN(rounded) ? '' : rounded;\n\t}\n\n\tabs(value) {\n\t\tconst x = new BigNumber(value);\n\t\treturn x.abs().toNumber();\n\t}\n\n\tisNumberDiff(a, b) {\n\t\treturn parseFloat(a) !== parseFloat(b) && a !== b;\n\t}\n\n\tcurrencyValue(amount, currency, minDecimal, maxDecimal) {\n\t\tif (!isTrueOrZero(maxDecimal)) {\n\t\t\tmaxDecimal =\n\t\t\t\tcurrency && currency.toLowerCase() === 'usd' ? 2 : config.decimals.bet;\n\t\t}\n\t\tif (!isTrueOrZero(minDecimal)) {\n\t\t\tminDecimal = 0;\n\t\t}\n\t\tconst options = {\n\t\t\tminimumFractionDigits: minDecimal,\n\t\t\tmaximumFractionDigits: minDecimal > maxDecimal ? minDecimal : maxDecimal,\n\t\t};\n\t\tif (!currency) {\n\t\t\treturn parseFloat(amount)\n\t\t\t\t.toLocaleString('en-US', options)\n\t\t\t\t.split(',')\n\t\t\t\t.join(' ');\n\t\t}\n\t\tif (currency.toLowerCase() === 'usd') {\n\t\t\tconst value = parseFloat(amount)\n\t\t\t\t.toLocaleString('en-US', {\n\t\t\t\t\t...options,\n\t\t\t\t\tstyle: 'currency',\n\t\t\t\t\tcurrency: 'USD',\n\t\t\t\t})\n\t\t\t\t.split(',')\n\t\t\t\t.join(' ')\n\t\t\t\t.replace('-', '');\n\n\t\t\treturn amount >= 0\n\t\t\t\t? value\n\t\t\t\t: `${value.slice(0, value.indexOf('$') + 1)}-${value.slice(\n\t\t\t\t\t\tvalue.indexOf('$') + 1,\n\t\t\t\t )}`;\n\t\t}\n\t\tif (currency.length !== 3) {\n\t\t\treturn `${parseFloat(amount)\n\t\t\t\t.toLocaleString('ru-RU', options)\n\t\t\t\t.split(',')\n\t\t\t\t.join('.')} ${currency.toUpperCase()}`;\n\t\t}\n\t\treturn parseFloat(amount)\n\t\t\t.toLocaleString('ru-RU', {\n\t\t\t\t...options,\n\t\t\t\tstyle: 'currency',\n\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t})\n\t\t\t.split(',')\n\t\t\t.join('.');\n\t}\n\n\trandomIntInRange = (min, max) => {\n\t\t// min and max included\n\t\treturn Math.floor(Math.random() * (max - min + 1) + min);\n\t};\n}\n\nconst mathService = new MathServiceClass();\n\nexport { MathServiceClass, mathService };\n","import styled, { css } from 'styled-components';\nimport { StyledTabsTableWrapper } from '@common/components/layout/Table/components/Table.styled';\nimport { HeaderHeight } from '@modules/header/Header.styled';\nimport { clearfix } from '../defaults';\nimport { dashboard, dashboard_v2 } from '../mixins/dashboard';\n\nexport interface StyledMainDashboardProps {\n\tclassName?: string;\n\tnoBigDesktop?: boolean;\n\tfullSizeTopComponent?: boolean;\n}\n\nexport const CSSClassNameBreadcrumbsFooter = 'breadcrumbs-footer';\n\nconst mainDashboardMixin = css`\n\tpadding-bottom: 7px;\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\tpadding-bottom: 25px;\n\t}\n\n\t${StyledTabsTableWrapper} {\n\t\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t\tdisplay: block;\n\t\t\twidth: ${(props) => props.theme.layout.container.big};\n\t\t\tmax-width: 100%;\n\t\t\tmargin: 0 auto;\n\t\t\t${clearfix};\n\t\t}\n\t}\n\n\t&:nth-of-type(1):not(.${CSSClassNameBreadcrumbsFooter}) {\n\t\t${HeaderHeight(\n\t\t\t(height) => css`\n\t\t\t\tpadding-top: ${height};\n\t\t\t`,\n\t\t)};\n\t}\n`;\n\nexport const StyledMainDashboard = styled.section.attrs({\n\tclassName: 'main-dashboard' as string,\n})<StyledMainDashboardProps>`\n\t${(props) => dashboard(undefined, props.noBigDesktop)}\n\t${mainDashboardMixin};\n`;\n\nexport const StyledMainDashboardV2 = styled.section.attrs({\n\tclassName: 'main-dashboard' as string,\n})<StyledMainDashboardProps>`\n\t${(props) => dashboard_v2(undefined, props.noBigDesktop)}\n\t${mainDashboardMixin};\n`;\n","// eslint-disable-next-line import/named\nimport styled, { css, StyledComponentProps } from 'styled-components';\nimport classname from 'classnames';\nimport { borderRadius, boxNoHeight, userSelectText } from '../defaults';\n\nexport enum DescriptionBoxBackground {\n\tINFO = 'info',\n\tERROR = 'error',\n\tGOLD = 'gold',\n}\n\nexport interface DescriptionBoxProps\n\textends StyledComponentProps<any, any, any, any> {\n\t$background?: boolean | string | DescriptionBoxBackground;\n\t$small?: boolean;\n\tclassName?: string;\n}\n\nconst getBackground = (props: DescriptionBoxProps) => {\n\tif (!props.$background) {\n\t\treturn '';\n\t}\n\tlet color =\n\t\ttypeof props.$background === 'boolean'\n\t\t\t? props.theme.ui.colors['dark-500']\n\t\t\t: props.$background;\n\tif (props.$background === DescriptionBoxBackground.INFO) {\n\t\tcolor = props.theme.colors.alertInfo;\n\t}\n\tif (props.$background === DescriptionBoxBackground.ERROR) {\n\t\tcolor = props.theme.colors.alertError;\n\t}\n\tif (props.$background === DescriptionBoxBackground.GOLD) {\n\t\tcolor = props.theme.colors.gold;\n\t}\n\treturn css`\n\t\tbackground-color: ${color};\n\t\tmargin-bottom: 20px;\n\t\tpadding: ${props.$small ? '0 15px' : '25px 30px'};\n\t`;\n};\n\nexport const DescriptionBoxStyle = styled.div.attrs<DescriptionBoxProps>(\n\t(props) => ({\n\t\tclassName: classname(\n\t\t\t'description-box text-style-md-regular',\n\t\t\tprops.className,\n\t\t),\n\t}),\n)<DescriptionBoxProps>`\n\t${boxNoHeight};\n\t${userSelectText};\n\t${borderRadius};\n\t${getBackground};\n\t${(props) => (props.$small && !props.$background ? 'padding: 0 15px;' : '')}\n`;\n","import { css } from 'styled-components';\nimport { lighten, rgba } from 'polished';\n\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\n\n// .cut-text\nexport const cutTextStyle = css`\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`;\n\n// .box-no-height\nexport const boxNoHeight = css`\n\tfloat: left;\n\twidth: 100%;\n`;\n\n// .box\nexport const box = css`\n\t${boxNoHeight};\n\theight: 100%;\n`;\n\n// .no-wrap\nexport const noWrap = css`\n\twhite-space: nowrap;\n`;\n\n// @mixin borderRadius\nexport const borderRadius = css`\n\tborder-radius: ${(props) => props.theme.layout.borderRadius}!important;\n`;\n\n// .no-hover\nexport const noHover = css`\n\t&:hover {\n\t\tbackground-color: inherit;\n\t\tcolor: inherit;\n\t\topacity: inherit !important;\n\t}\n`;\n\n// .container\nexport const container = css`\n\t${box};\n\tmargin: 10px 0;\n`;\n\n// .flex\nexport const flex = css`\n\tdisplay: flex !important;\n`;\n\n// .flex-wrap\nexport const flexWrap = css`\n\t${flex};\n\tflex-wrap: wrap;\n`;\n\n// .flex-column\nexport const flexColumn = css`\n\t${flex};\n\tflex-direction: column;\n`;\n\n// .flex-center-column\nexport const flexCenterColumn = css`\n\t${flex};\n\talign-items: center !important;\n`;\n\n// .flex-start-column\nexport const flexStartColumn = css`\n\t${flex};\n\talign-items: flex-start !important;\n`;\n\n// .flex-center\nexport const flexCenter = css`\n\t${flex};\n\talign-items: center !important;\n\tjustify-content: center !important;\n`;\n\n// .flex-horizontal-center\nexport const flexHorizontalCenter = css`\n\t${flex};\n\tjustify-content: center !important;\n`;\n\n// .flex-horizontal-start\nexport const flexHorizontalStart = css`\n\t${flex};\n\tjustify-content: flex-start !important;\n`;\n\n// .flex-vertical-start\nexport const flexVerticalStart = css`\n\t${flex};\n\talign-items: flex-start !important;\n`;\n\n// .flex-vertical-center\nexport const flexVerticalCenter = css`\n\t${flex};\n\talign-items: center !important;\n`;\n\n// .flex-space-between\nexport const flexSpaceBetween = css`\n\t${flex};\n\tjustify-content: space-between;\n`;\n\n// .flex-space-around\nexport const flexSpaceAround = css`\n\t${flex};\n\tjustify-content: space-around;\n`;\n\n// .hint\nexport const hint = css`\n\tborder-color: ${(props) => props.theme.colors.secondText};\n\tcolor: ${(props) => props.theme.colors.secondText};\n`;\n\n// .hint-dark\nexport const hintDark = css`\n\tborder-color: ${(props) => props.theme.colors.inputBackgroundSolid};\n\tcolor: ${(props) => props.theme.colors.inputBackgroundSolid};\n`;\n\nexport const hintParagraph = css`\n\t${hint};\n\t${fontSize({\n\t\tsizeDiff: -3,\n\t\tsizeDesktopDiff: -4,\n\t\tsizeBigScreenDiff: -5,\n\t\timportant: true,\n\t})}\n`;\n\n// mixin chatIcon\nexport const chatIcon = css`\n\talign-items: center;\n\tbackground-color: ${(props) => props.theme.colors.inputBackgroundSolid};\n\tborder-radius: 100%;\n\tbottom: 20px;\n\tbox-shadow: 0 0 17px 0\n\t\t${(props) => lighten(0.2, props.theme.colors.inputBackground)};\n\tcursor: pointer;\n\tdisplay: flex;\n\tfont-size: 18px;\n\theight: 50px;\n\tjustify-content: center;\n\tposition: fixed;\n\ttransition: ${(props) => props.theme.layout.transition};\n\twidth: 50px;\n\tz-index: 999; // 3\n\n\t&:hover {\n\t\topacity: 0.8;\n\t}\n`;\n\nexport const transition = css`\n\ttransition: ${(props) => props.theme.layout.transition};\n`;\n\n// .onclick\nexport const onclick = css`\n\tcursor: pointer;\n`;\n\n// .noclick\nexport const noclick = css`\n\tpointer-events: none !important;\n\n\t* {\n\t\tpointer-events: none !important;\n\t}\n`;\n\n// .user-select-text\nexport const userSelectText = css`\n\tuser-select: text !important;\n\n\t* {\n\t\tuser-select: text !important;\n\t}\n`;\n\n// .clearfix\nexport const clearfix = css`\n\t&:after {\n\t\tclear: both;\n\t\tcontent: '';\n\t\tdisplay: table;\n\t}\n`;\n\nexport const inputHeightWithMove = (x = 0) => css`\n\theight: ${(props) => calcStyle({ a: props.theme.layout.input.height, b: x })};\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\theight: ${(props) =>\n\t\t\tcalcStyle({ a: props.theme.layout.input.heightDesktop, b: x })};\n\t}\n`;\n\n// mixin inputHeight\nexport const inputHeight = css`\n\t${inputHeightWithMove()};\n`;\n\nexport const userSelectTextStyle = css`\n\tuser-select: text !important;\n\n\t* {\n\t\tuser-select: text !important;\n\t}\n`;\n\nexport const alignRight = css`\n\ttext-align: right;\n`;\n\nexport const alignCenter = css`\n\ttext-align: center;\n`;\n\nexport const textDisabled = css`\n\tcolor: ${(props) => props.theme.colors.textDisabled};\n`;\n\nexport const bannerBox = css`\n\t${boxNoHeight};\n\tbackground-color: ${(props) => props.theme.colors.rowTitleBg};\n\tborder-radius: ${(props) => props.theme.layout.borderRadius};\n\tpadding: 10px;\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\tpadding: 15px;\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\tpadding: 20px;\n\t}\n`;\n\n// .icon__arow-down\nexport const iconArrowDown = css`\n\tmargin-top: -2px;\n\n\t&:after {\n\t\tcontent: '';\n\t\twidth: 6px;\n\t\theight: 6px;\n\t\tdisplay: block;\n\t\tborder-right: 2px solid #fff;\n\t\tborder-bottom: 2px solid #fff;\n\t\ttransform: rotate(45deg);\n\t}\n\n\t&.opened {\n\t\tmargin-top: 2px;\n\n\t\t&:after {\n\t\t\ttransform: rotate(-135deg);\n\t\t}\n\t}\n`;\n\nexport const verticalMatchDetailsLayoutRow = css`\n\tdisplay: grid;\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tgrid-auto-flow: column;\n\tgrid-template-rows: 50% 50%;\n\t${fontSize({ size: '12px', sizeDesktop: '14px', sizeBigScreen: '16px' })};\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\t${cutTextStyle};\n\t}\n`;\n\nexport const verticalMatchDetailsLayoutTitle = css`\n\talign-items: flex-end;\n\tcolor: ${(props) => rgba(props.theme.colors.text, 0.35)};\n\tdisplay: flex;\n\t${fontSize({ size: '8px', sizeDesktop: '10px', sizeBigScreen: '12px' })};\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tleft: 0;\n\tposition: absolute;\n\ttop: -18px;\n\twhite-space: nowrap;\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthDesktop}) {\n\t\ttop: -16px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\ttop: -14px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tfont-size: 7px;\n\t\ttop: -12px;\n\t}\n`;\n","import { roundNumber } from '@common/methods/roundNumber/roundNumber';\n\nexport const calcStyle = ({\n\tmode = '+',\n\ta = '0',\n\tb = '0',\n\tsuffix = 'px',\n}: {\n\ta: number | string;\n\tb: number | string;\n\tmode?: string;\n\tsuffix?: string;\n}) => {\n\t// console.log({mode, a, b, suffix});\n\ta = typeof a === 'string' ? parseFloat(a.replace(suffix, '')) : a;\n\tb = typeof b === 'string' ? parseFloat(b.replace(suffix, '')) : b;\n\tswitch (mode) {\n\t\tcase '+':\n\t\t\treturn `${roundNumber(a + b, 4)}${suffix}`;\n\t\tcase '-':\n\t\t\treturn `${roundNumber(a - b, 4)}${suffix}`;\n\t\tcase '*':\n\t\t\treturn `${roundNumber(a * b, 4)}${suffix}`;\n\t\tcase '/':\n\t\t\treturn `${roundNumber(a / b, 4)}${suffix}`;\n\t\tdefault:\n\t\t\treturn `${a}${suffix}`;\n\t}\n};\n","import { css } from 'styled-components';\nimport { isFunction } from '@common/methods/isFunction';\n\nexport const chatViewport = (callback: (viewportPadding: string) => any) => {\n\tif (!callback || !isFunction(callback)) {\n\t\treturn '';\n\t}\n\n\treturn css`\n\t\t.chat-visible.left-menu-hidden & {\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\t${callback('0px')};\n\t\t\t}\n\n\t\t\t@media (min-width: ${(props) =>\n\t\t\t\t\tprops.theme.media.minWidthDesktop}) and (max-width: ${(props) =>\n\t\t\t\t\tprops.theme.media.maxWidthDesktop}) {\n\t\t\t\t${(props) => callback(props.theme.layout.chat.width)};\n\t\t\t}\n\n\t\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t\t${(props) => callback(props.theme.layout.chat.widthDesktop)};\n\t\t\t}\n\t\t}\n\n\t\t.chat-hidden.left-menu-visible & {\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\t${callback('0px')};\n\t\t\t}\n\n\t\t\t@media (min-width: ${(props) =>\n\t\t\t\t\tprops.theme.media.minWidthDesktop}) and (max-width: ${(props) =>\n\t\t\t\t\tprops.theme.media.maxWidthDesktop}) {\n\t\t\t\t${(props) => callback(props.theme.layout.chat.leftMenuWidth)};\n\t\t\t}\n\n\t\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t\t${(props) => callback(props.theme.layout.chat.leftMenuWidthDesktop)};\n\t\t\t}\n\t\t}\n\n\t\t.chat-hidden.left-menu-hidden & {\n\t\t\t${callback('0px')};\n\t\t}\n\t`;\n};\n","import { css } from 'styled-components';\n\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { VIP_LEVELS_COLORS } from '@modules/vip/constants/vip.config';\n\nexport const buttonRound = (size: string) => {\n\treturn css`\n\t\tbackground-color: ${theme.colors.inputBackgroundSolid};\n\t\tborder-radius: 100%;\n\t\theight: ${size}!important;\n\t\tpadding: 10px;\n\t\twidth: ${size}!important;\n\t`;\n};\n\nexport const getLevelColor = (level: number, noUnranked = false) => {\n\tconst colorLabel =\n\t\t!level && !noUnranked\n\t\t\t? 'unranked'\n\t\t\t: level\n\t\t\t? VIP_LEVELS_COLORS[level]\n\t\t\t: null;\n\tif (!colorLabel) {\n\t\treturn false;\n\t}\n\treturn theme.colors.level[colorLabel];\n};\n\nexport const customColorLayout = (color: string) => {\n\treturn css`\n\t\tbackground-color: ${color};\n\n\t\t.main {\n\t\t\tbackground-color: ${color};\n\t\t}\n\n\t\t.header {\n\t\t\tbackground-color: transparent;\n\n\t\t\t&.scrolled,\n\t\t\t&.dark {\n\t\t\t\tbackground-color: rgba(${color}, 0.85);\n\t\t\t}\n\t\t}\n\n\t\th2 {\n\t\t\tborder-color: rgba(255, 255, 255, 0.35);\n\t\t}\n\t`;\n};\n\nexport const mediumLayout = customColorLayout('#18263b');\n\nexport const sectionsPadding = (width, viewportPadding = '0') => {\n\treturn css`\n\t\t@media (min-width: ${width}) and (max-width: ${calcStyle({\n\t\t\t\ta: width,\n\t\t\t\tb: viewportPadding,\n\t\t\t})}) {\n\t\t\tpadding-left: 15px;\n\t\t\tpadding-right: 15px;\n\t\t}\n\n\t\t@media (min-width: ${calcStyle({ a: width, b: viewportPadding })}) {\n\t\t\tpadding-left: calc(((100% - ${width}) / 2) + 15px);\n\t\t\tpadding-right: calc(((100% - ${width}) / 2) + 15px);\n\t\t}\n\t`;\n};\n\nexport const borderRadiusValue = (callback) => {\n\treturn css`\n\t\t${(props) => callback(props.theme.layout.borderRadius, props)};\n\t`;\n};\n\nexport const textGradient = (gradientString: string, defaultColor: string) => {\n\treturn css`\n\t\t// eslint-disable-next-line no-alert\n\t\tbackground: ${defaultColor}; /* fallback for old browsers */\n\t\tbackground: ${gradientString}; /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n\t\tbackground-clip: text;\n\t\t-webkit-background-clip: text;\n\t\ttext-fill-color: transparent;\n\t\t-webkit-text-fill-color: transparent;\n\t\tcolor: transparent;\n\t`;\n};\n\nexport const spaceTypeSide = (\n\tspaceType: string,\n\tside: string,\n\tsize: number,\n\timportant?: boolean,\n) => {\n\treturn css`\n\t\t.${spaceType}-${side}-${size}${important ? '-important' : ''} {\n\t\t\t${spaceType}-${side}: ${size}px${important ? '!important' : ''};\n\t\t}\n\t`;\n};\n\nexport const spaces = (size: number) => {\n\treturn css`\n\t\t${spaceTypeSide('margin', 'left', size)};\n\t\t${spaceTypeSide('margin', 'top', size)};\n\t\t${spaceTypeSide('margin', 'bottom', size)};\n\t\t${spaceTypeSide('margin', 'right', size)};\n\t\t${spaceTypeSide('margin', 'left', size, true)};\n\t\t${spaceTypeSide('margin', 'top', size, true)};\n\t\t${spaceTypeSide('margin', 'bottom', size, true)};\n\t\t${spaceTypeSide('margin', 'right', size, true)};\n\t\t${spaceTypeSide('padding', 'left', size)};\n\t\t${spaceTypeSide('padding', 'top', size)};\n\t\t${spaceTypeSide('padding', 'bottom', size)};\n\t\t${spaceTypeSide('padding', 'right', size)};\n\t\t${spaceTypeSide('padding', 'left', size, true)};\n\t\t${spaceTypeSide('padding', 'top', size, true)};\n\t\t${spaceTypeSide('padding', 'bottom', size, true)};\n\t\t${spaceTypeSide('padding', 'right', size, true)};\n\t`;\n};\n\nexport const handleHover = (styles) => {\n\t/* This feature is replaced by tailwind (WOL-3984) - input component (src/ui/components/link/index.tsx).\n\tIn the case of mobile, we use \"active\" for all styles passed to handleHover,\n\tand for desktop and pointer devices we use \"hover\". In the case of input, it was resolved\n\tas follows: \"active:underline minWidthDesktop:hover:underline minWidthDesktop:active:no-underline\"\n\tMatch the styles passed to handleHover for the following use by replacing underline */\n\n\treturn css`\n\t\t@media (hover: hover) and (pointer: fine) {\n\t\t\t&:hover {\n\t\t\t\t${styles};\n\t\t\t}\n\t\t}\n\n\t\t@media not (hover: hover) and (pointer: fine) {\n\t\t\t&:active {\n\t\t\t\t${styles};\n\t\t\t}\n\t\t}\n\t`;\n};\n","import { css } from 'styled-components';\nimport { importantFunc } from './importantFunc';\n\nexport const currencyLogoStyle = ({ size, important = true }) => {\n\tconst importantLabel = importantFunc(important);\n\treturn css`\n\t\theight: ${size}${importantLabel};\n\t\tmin-width: ${size}${importantLabel};\n\t\twidth: ${size}${importantLabel};\n\n\t\tsvg {\n\t\t\theight: ${size}${importantLabel};\n\t\t\tmin-width: ${size}${importantLabel};\n\t\t\twidth: ${size}${importantLabel};\n\t\t}\n\t`;\n};\n","import { css } from 'styled-components';\n\nexport const dashboard = (callback = null, noBigDesktop = false) => {\n\tconst padding = {\n\t\tdefault: '20px',\n\t\tmobile: '15px',\n\t\tdesktop: '15px',\n\t};\n\treturn css`\n\t\t${callback\n\t\t\t? callback(padding.default, '100%')\n\t\t\t: css`\n\t\t\t\t\tfloat: left;\n\t\t\t\t\tpadding-left: ${padding.default};\n\t\t\t\t\tpadding-right: ${padding.default};\n\t\t\t\t\twidth: 100%;\n\t\t\t `};\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthMobile}) {\n\t\t\t${callback\n\t\t\t\t? callback(padding.mobile, '100%')\n\t\t\t\t: css`\n\t\t\t\t\t\tpadding-left: ${padding.mobile};\n\t\t\t\t\t\tpadding-right: ${padding.mobile};\n\t\t\t\t `}\n\t\t}\n\n\t\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t\t${(props) =>\n\t\t\t\tcallback\n\t\t\t\t\t? callback(padding.desktop, props.theme.layout.container.small)\n\t\t\t\t\t: css`\n\t\t\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\t\t\tmax-width: ${props.theme.layout.container.small};\n\t\t\t\t\t\t\tpadding-left: ${padding.desktop};\n\t\t\t\t\t\t\tpadding-right: ${padding.desktop};\n\t\t\t\t\t `}\n\t\t}\n\n\t\t${!noBigDesktop &&\n\t\t((props) => css`\n\t\t\t@media (min-width: ${props.theme.media.minWidthBigDesktop}) {\n\t\t\t\t${callback\n\t\t\t\t\t? callback(padding.default, props.theme.layout.container.big)\n\t\t\t\t\t: css`\n\t\t\t\t\t\t\tmax-width: ${props.theme.layout.container.big};\n\t\t\t\t\t `}\n\t\t\t}\n\t\t`)}\n\t`;\n};\n\nexport const padding_v2 = {\n\tdefault: '80px',\n\tdesktop: '40px',\n\ttablet: '20px',\n\tmobile: '15px',\n};\n\nexport const dashboard_v2 = (callback = null, noBigDesktop = false) => {\n\tconst padding = padding_v2;\n\tconst width = {\n\t\tbig: '1600px',\n\t\tmedium: '1280px',\n\t};\n\treturn css`\n\t\t${callback\n\t\t\t? callback(padding.tablet, '100%')\n\t\t\t: css`\n\t\t\t\t\tfloat: left;\n\t\t\t\t\tpadding-left: ${padding.tablet};\n\t\t\t\t\tpadding-right: ${padding.tablet};\n\t\t\t\t\twidth: 100%;\n\t\t\t `};\n\n\t\t@media (max-width: ${(props) => props.theme.media_v2.max_mobile_medium}) {\n\t\t\t${callback\n\t\t\t\t? callback(padding.mobile, '100%')\n\t\t\t\t: css`\n\t\t\t\t\t\tpadding-left: ${padding.mobile};\n\t\t\t\t\t\tpadding-right: ${padding.mobile};\n\t\t\t\t `}\n\t\t}\n\n\t\t@media (min-width: ${(props) => props.theme.media_v2.min_tablet_large}) {\n\t\t\t${callback\n\t\t\t\t? callback(padding.desktop, width.medium)\n\t\t\t\t: css`\n\t\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\t\tmax-width: ${width.medium};\n\t\t\t\t\t\tpadding-left: ${padding.desktop};\n\t\t\t\t\t\tpadding-right: ${padding.desktop};\n\t\t\t\t `}\n\t\t}\n\n\t\t${!noBigDesktop &&\n\t\t((props) => css`\n\t\t\t@media (min-width: ${props.theme.media_v2.min_desktop_medium}) {\n\t\t\t\t${callback\n\t\t\t\t\t? callback(padding.default, width.big)\n\t\t\t\t\t: css`\n\t\t\t\t\t\t\tmax-width: ${width.big};\n\t\t\t\t\t\t\tpadding-left: ${padding.default};\n\t\t\t\t\t\t\tpadding-right: ${padding.default};\n\t\t\t\t\t `}\n\t\t\t}\n\t\t`)}\n\t`;\n};\n","import { css } from 'styled-components';\nimport { theme } from '../theme';\nimport { calcStyle } from '../methods/calcStyle';\nimport { importantFunc } from './importantFunc';\n\ninterface FontSize {\n\tsize?: string;\n\tsizeDiff?: number;\n\tsizeDesktop?: string;\n\tsizeDesktopDiff?: number;\n\tminWidth?: string;\n\tsizeBigScreen?: string;\n\tsizeBigScreenDiff?: number;\n\tminBigWidth?: string;\n\timportant?: boolean;\n\tlabel?: string;\n}\n\nexport const fontSize = ({\n\tsize = theme.text.size.default,\n\tsizeDiff = 0,\n\tsizeDesktop = theme.text.size.desktop,\n\tsizeDesktopDiff = 0,\n\tminWidth = theme.media.minWidthDesktop,\n\tsizeBigScreen = null,\n\tsizeBigScreenDiff = null,\n\tminBigWidth = theme.media.minWidthBigDesktop,\n\timportant = null,\n\tlabel = 'font-size',\n}: FontSize = {}) => {\n\tconst importantLabel = importantFunc(important);\n\treturn css`\n\t\t${label}: ${sizeDiff\n\t\t\t? calcStyle({\n\t\t\t\t\ta: size,\n\t\t\t\t\tb: sizeDiff,\n\t\t\t })\n\t\t\t: size}${importantLabel};\n\n\t\t@media (min-width: ${minWidth}) {\n\t\t\t${label}: ${sizeDesktopDiff\n\t\t\t\t? calcStyle({\n\t\t\t\t\t\ta: sizeDesktop,\n\t\t\t\t\t\tb: sizeDesktopDiff,\n\t\t\t\t })\n\t\t\t\t: sizeDesktop}${importantLabel};\n\t\t}\n\n\t\t${sizeBigScreen || sizeBigScreenDiff\n\t\t\t? css`\n\t\t\t\t\t@media (min-width: ${minBigWidth}) {\n\t\t\t\t\t\t${label}: ${sizeBigScreenDiff\n\t\t\t\t\t\t\t? calcStyle({\n\t\t\t\t\t\t\t\t\ta: sizeBigScreen || theme.text.size.bigScreen,\n\t\t\t\t\t\t\t\t\tb: sizeBigScreenDiff || 0,\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: sizeBigScreen}${importantLabel};\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\t`;\n};\n","export const importantFunc = (bool) => (bool ? '!important' : '');\n","import { css } from 'styled-components';\nimport { parseImageSrc } from '@common/components/default/Image/Image';\nimport { FooterStyle } from '@common/components/footer/Footer';\n\nexport const transactionsBackground = css`\n\tposition: relative;\n\n\t&:after,\n\t&:before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&:after {\n\t\tbackground: url(${parseImageSrc('/img/main/transactions-bg.png')});\n\t\tbackground-position: top;\n\t\t//background-attachment: fixed;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: cover;\n\t\tz-index: 0;\n\t}\n\n\t&:before {\n\t\tbackground: linear-gradient(\n\t\t\t180deg,\n\t\t\trgba(0, 0, 0, 1) 0%,\n\t\t\trgba(5, 27, 56, 1) 15%\n\t\t);\n\t\tz-index: 0;\n\t}\n\n\t.main {\n\t\tbackground-color: transparent;\n\t\tz-index: 1;\n\t}\n\n\t.header {\n\t\tbackground-color: transparent;\n\t}\n\n\t${FooterStyle} {\n\t\tz-index: 1;\n\t}\n`;\n","import { rgba } from 'polished';\n\nconst getCardVariables = () => {\n\tconst widthScale = 2.3;\n\tconst heightScale = 3.5;\n\tconst heightToWidthScale = heightScale / widthScale;\n\tconst cardScale = 70;\n\tconst smallScale = cardScale / 3;\n\treturn {\n\t\twidthScale,\n\t\theightScale,\n\t\theightToWidthScale,\n\t\tcardScale: `${cardScale}px`,\n\t\tsmallScale: `${smallScale}px`,\n\t\tsmallHeight: `${heightScale * smallScale}px`,\n\t\tsmallWidth: `${widthScale * smallScale}px`,\n\t\theight: `${heightScale * cardScale}px`,\n\t\twidth: `${widthScale * cardScale}px`,\n\t};\n};\n\nconst header = {\n\theight: '50px', // with stats bar was 70px\n\theightDesktop: '60px', // with stats bar was 75px\n\theightBigDesktop: '60px', // with stats bar was 82px\n\tcolor: '#ffffff',\n\tmobile: `${45 * 0.7}px`,\n} as const;\n\nconst colors = {\n\tgreen: '#00bb39',\n\tblue: '#343434',\n\tred: '#FF0000',\n\tlightblue: '#0553c5',\n\tturquoise: '#1bd6fe',\n\tskyblue: '#1eaffc',\n\tbackground: '#0c1420',\n\tbackgroundLight: '#003ea7',\n\theaderActiveBackground: '#051b36',\n\t// headerActiveBackground: '#152234',\n\ttableBorder: '#495763',\n\ttableBorderLight: '#3a4959',\n\tseoTableBackground: '#1F2739',\n\tseoTableBackgroundTh: '#2A3547',\n\tseoTableBackgroundTdOdd: '#232D3B',\n\tseoTableBackgroundTdEven: '#1B2431',\n\tseoTableBackgroundHover: '#3E4A5A',\n\tinputBackgroundSolid: '#072349',\n\tinputBackground: 'rgba(7, 35, 73, 0.87)',\n\tinputBackgroundActive: '#002a5b',\n\tinputButton: '#0a58b9',\n\tinputBackgroundDisabled: '#011429',\n\tinputLightBackgroundSolid: '#013672',\n\tinputLightBackground: `${rgba('#013672', 0.87)}`,\n\tinputLightBackgroundActive: '#023f86',\n\tmodalBackground: `${rgba('rgb(3, 27, 60)', 0.93)}`,\n\tmodalBorderColor: '#1f1f1f',\n\tmodalBackgroundSolid: 'rgb(3, 27, 60)',\n\tbuttonDefaultBackground: 'rgba(7, 35, 73, 0.87)',\n\tveryLightBlue: '#a0ccff',\n\tsecondText: '#4272b4',\n\tplaceholderText: '#3d70ca',\n\tgold: '#e0b201',\n\tgrey: '#9c9c9c',\n\tactive: 'rgba(64,139,252,1)',\n\tborderColor: '#495763',\n\tpasswordValidationColor: '#2d5482',\n\tmodalBg: '#001126',\n\tsectionsBorder: '#0e386b',\n\ttext: '#ffffff',\n\ttextDisabled: '#a8a8a8',\n\talertError: '#990015',\n\talertInfo: '#1d5dca',\n\tnegative: '#d00226',\n\tnegativeLight: '#f1001c',\n\tpositive: '#1AA529',\n\tpositiveLight: '#1dbb2f',\n\trowTitleBg: '#072349',\n\trowContentBg: '#0e2f5c',\n\tsettingsMenuBg: '#132136',\n\tsettingsPanelBg: '#080f1a',\n\tdropdownBlue: '#0554ca',\n\tdropdownSelectBlue: '#0043a6',\n\ttableBorderColorLight: '#3a4959',\n\tdarkActive: '#0F3460',\n\tautobetButtonsBackground: '#0e3b6f',\n\torange: '#FFA500',\n\torangeBanner: '#ff8400',\n\tlevel: {\n\t\tunranked: '#4d4d4d',\n\t\tbronze: '#bf623d',\n\t\tsilver: '#bfbfbf',\n\t\tgold: '#c1a73d',\n\t\tdiamond: '#713899',\n\t},\n} as const;\n\nexport const theme = {\n\tui: {\n\t\tcolors: {\n\t\t\twhite: 'rgba(255,255,255,1)',\n\t\t\t'blue-dark': 'rgba(50,109,203,1)',\n\t\t\t'blue-brand-blue': 'rgba(13,110,255,1)',\n\t\t\t'blue-blue-light': 'rgba(64,139,252,1)',\n\t\t\t'blue-blue-lightest': 'rgba(194,219,255,1)',\n\t\t\t'white-white-50': 'rgba(255,255,255,0.500)',\n\t\t\t'white-white-20': 'rgba(255,255,255,0.200)',\n\t\t\t'white-white-5': 'rgba(255,255,255,0.050)',\n\n\t\t\t/* App BG */\n\t\t\t'dark-900': 'rgba(17,26,41,1)',\n\t\t\t'dark-800': 'rgba(23,30,41,1)',\n\t\t\t'dark-700': 'rgba(28,37,51,1)',\n\n\t\t\t/* Border */\n\t\t\t'dark-600': 'rgba(34,47,66,1)',\n\n\t\t\t/* Button border */\n\t\t\t'dark-500': 'rgba(40,55,77,1)',\n\t\t\t'dark-400': 'rgba(47,69,102,1)',\n\t\t\t'dark-300': 'rgba(77,93,118,1)',\n\n\t\t\t/* Secondary btn disabled */\n\t\t\t'dark-200': 'rgba(109,125,151,1)',\n\t\t\t'dark-100': 'rgba(131,146,170,1)',\n\t\t\t'dark-50': 'rgba(184,198,220,1)',\n\t\t\t'gradient-secondary-button': '#263752',\n\t\t\t'gradient-secondary-button-hover': '#22334c',\n\t\t\t'other-primary-gradient-from': '#3d87f9',\n\t\t\t'other-primary-gradient-to': '#1566df',\n\t\t\t'gradient-primary-button':\n\t\t\t\t'linear-gradient(to right, #3d87f9 0%,#1566df 100%)',\n\t\t\t'gradient-primary-button-hover':\n\t\t\t\t'linear-gradient(to right, #1c6eed 0%,#0144a8 100%)',\n\t\t\t'gradient-tab-icon-active':\n\t\t\t\t'linear-gradient(to right, #4b8bf1 0%,#184ea3 99.99%,#184ca0 100%)',\n\t\t\t'gradient-green': 'linear-gradient(to right, #4cc274 0%,#18d458 100%)',\n\t\t\t'gradient-pink': 'linear-gradient(to right, #f04cc2 0%,#ff08ba 100%)',\n\t\t\t'gradient-blue': 'linear-gradient(to right, #3c87f9 0%,#1370ff 100%)',\n\t\t\t'other-success': 'rgba(38,168,82,1)',\n\t\t\t'other-pink': 'rgba(240,76,194,1)',\n\t\t\t'other-cyan': 'rgba(79,200,210,1)',\n\t\t},\n\t},\n\tcolors: {\n\t\t...colors,\n\t\tbuttonDefaultBackground: colors.inputBackground,\n\t},\n\ttext: {\n\t\tsize: {\n\t\t\tdefault: '12px',\n\t\t\tdesktop: '16px',\n\t\t\tbigScreen: '18px',\n\t\t},\n\t\tweight: {\n\t\t\tthin: 100,\n\t\t\textraLight: 200,\n\t\t\tlight: 300,\n\t\t\tregular: 400,\n\t\t\tmedium: 500,\n\t\t\tsemiBold: 600,\n\t\t\tbold: 700,\n\t\t\textraBold: 800,\n\t\t\tblack: 900,\n\t\t},\n\t\theight: {\n\t\t\tregular: 1.25,\n\t\t},\n\t\tfonts: {\n\t\t\tBlack: 'LatoBlack, Arial Black, sans-serif',\n\t\t\tBold: 'FontBold, LatoBlack, Arial Black, sans-serif',\n\t\t\tRegular: 'FontRegular, Maven Pro, Inter, Arial, sans-serif',\n\t\t},\n\t},\n\tlayout: {\n\t\tnoBorder: '0 solid transparent',\n\t\tborderRadius: '4px',\n\t\ttransition: '300ms',\n\t\tboxShadow: '0 0 45px -15px black',\n\t\tbottomMenuHeight: '60px',\n\t\tfooterHeight: '180px',\n\t\tsideFullPadding: '20px',\n\t\tverticalPadding: '15px',\n\t\tbuttonMargin: '15px',\n\t\tcontainer: {\n\t\t\tsmall: '1080px',\n\t\t\tbig: '1440px',\n\t\t},\n\t\tgame: {\n\t\t\tbottomIndentation: '70px',\n\t\t\tsideMargin: '40px',\n\t\t\tmobile: '138px',\n\t\t\tmobileAutobet: '78px',\n\t\t\ttablet: '244px',\n\t\t\ttabletAutobet: '246px',\n\t\t},\n\t\theader,\n\t\ttable: {\n\t\t\tminTableWidth: '1050px',\n\t\t\tcellHeight: '30px',\n\t\t},\n\t\tchat: {\n\t\t\twidth: '320px',\n\t\t\twidthDesktop: '320px',\n\t\t\tinputHeightBigDesktop: '100px',\n\t\t\tinputHeightDesktop: '85px',\n\t\t\tinputHeight: '75px',\n\t\t\theaderHeight: header.height, // with stats bar $headerHeight - 15px\n\t\t\theaderHeightDesktop: header.heightDesktop, // with stats bar $headerHeightDesktop - 29px\n\t\t\theaderHeightBigDesktop: header.heightBigDesktop, // with stats bar $headerHeightBigDesktop - 37px\n\t\t\tleftMenuWidth: '320px',\n\t\t\tleftMenuWidthDesktop: '320px',\n\t\t},\n\t\tcard: {\n\t\t\t...getCardVariables(),\n\t\t},\n\t\tinput: {\n\t\t\theight: '35px',\n\t\t\theightMobile: '30px',\n\t\t\theightDesktop: '44px',\n\t\t\theightBigDesktop: '54px',\n\t\t},\n\t},\n\tmedia: {\n\t\tmaxWidthVerySmall: '359px',\n\t\tmaxWidthMobile: '420px',\n\t\tmaxWidthSmallTablet: '620px',\n\t\tmaxWidthTablet: '820px',\n\t\tmaxWidthDesktop: '1450px',\n\t\tminWidthMobile: '360px',\n\t\tminWidthSmallTablet: '421px',\n\t\tminWidthTablet: '621px',\n\t\tminWidthDesktop: '821px',\n\t\tminWidthBigDesktop: '1451px',\n\t},\n\tmedia_v2: {\n\t\tmin_mobile_medium: '321px',\n\t\tmin_mobile_large: '421px',\n\t\tmin_tablet_small: '541px',\n\t\tmin_tablet_medium: '631px',\n\t\tmin_tablet_large: '721px',\n\t\tmin_desktop_small: '991px',\n\t\tmin_desktop_medium: '1281px',\n\t\tmin_desktop_large: '1321px',\n\t\tmax_mobile_small: '320px',\n\t\tmax_mobile_medium: '420px',\n\t\tmax_mobile_large: '540px',\n\t\tmax_tablet_small: '630px',\n\t\tmax_tablet_medium: '720px',\n\t\tmax_tablet_large: '990px',\n\t\tmax_desktop_small: '1280px',\n\t\tmax_desktop_medium: '1320px',\n\t},\n\tmedia_specific: {\n\t\tmax_alerts_mobile: '600px',\n\t},\n\tempty: '',\n} as const;\nexport type ThemeType = typeof theme;\n","export enum TransNamespace {\n\tCOMMON = 'common',\n\tSPORTS = 'sports',\n\tSLOTS = 'slots',\n\tHOME_PAGE = 'homePage',\n\tVIP_BONUS_CODE = 'vipBonusCode',\n\tVIP = 'vip',\n\tUSER = 'user',\n\tSPORTS_PAGE_CONTENT = 'sportsPageContent',\n\tHOME_SLOTS_PAGE_CONTENT = 'homeSlotsPageContent',\n\tDICE_PAGE_CONTENT = 'dicePageContent',\n\tHILO_PAGE_CONTENT = 'hiloPageContent',\n\tLIMBO_PAGE_CONTENT = 'limboPageContent',\n\tPLINKO_PAGE_CONTENT = 'plinkoPageContent',\n\tHOME_PAGE_CONTENT = 'homePageContent',\n\tVALIDATION = 'validation',\n\tAFFILIATE = 'affiliate',\n\tFEATURES = 'features',\n\tCASINO = 'casino',\n\tREDIRECT_PAGE = 'redirectPage',\n\tPROMOTIONS_PAGE = 'promotionsPage',\n\tFAQ_PAGE = 'faqPage',\n\tPROVABLY_FAIR_PAGE = 'provablyFairPage',\n\tREGISTER_PAGE = 'registerPage',\n\tWELCOME_LAYOUT = 'welcomeLayout',\n\tLOGIN_PAGE = 'loginPage',\n\tWALLET = 'wallet',\n\tRACE = 'race',\n\tCONTENT_MODAL = 'contentModal',\n\tCHAT = 'chat',\n}\n","import { TransProps } from '@legacyApp/client/modules/translation/translate';\n\nexport const checkIsTransProps = (name: unknown): name is TransProps =>\n\ttypeof name === 'object' && name !== null && 'label' in name;\n","import { TransNamespace } from './TransNamespace';\n\nexport const DEFAULT_NAMESPACE = TransNamespace.COMMON;\n","import { Trans, useTranslation } from 'next-i18next';\nimport { FC, useCallback, useEffect } from 'react';\nimport { translationService } from '@legacyApp/client/modules/translation/translationService';\nimport { useAddNamespace } from '@legacyApp/hooks/translation/useAddNamespace';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { DEFAULT_NAMESPACE } from '@legacyApp/client/modules/translation/translate.constants';\nimport { useForceUpdateWithTimeout } from '@legacyApp/hooks/app/useForceRerender';\nimport { getTranslationFromInstance } from '@legacyApp/methods/i18n/getTranslationFromInstance';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\n\nconst Interpolate: FC<{\n\ttranslation: string;\n\toptions: Record<string, string | number>;\n}> = ({ translation, options }) => {\n\treturn <>{translationService.interpolate(translation, options)}</>;\n};\n\nexport const TranslateWrapper = ({\n\ttranslateKey,\n\toptions,\n\tcomponents,\n\tnamespace = DEFAULT_NAMESPACE,\n\tnoTranslationCheck = false,\n}: {\n\ttranslateKey: any;\n\toptions?: Record<string, any>;\n\tcomponents?: any;\n\ttranslation?: string;\n\tnamespace?: TransNamespace;\n\tnoTranslationCheck?: boolean;\n}) => {\n\tconst { t, i18n, ready } = useTranslation(namespace);\n\tuseAddNamespace({ key: translateKey, namespace, noTranslationCheck });\n\tconst forceRerender = useForceUpdateWithTimeout({\n\t\ttimeout: 300,\n\t\tcounter: 10,\n\t});\n\n\tconst get = useCallback(() => {\n\t\tif (!ready) {\n\t\t\treturn null;\n\t\t}\n\t\treturn getTranslationFromInstance({\n\t\t\ti18n,\n\t\t\tnamespace,\n\t\t\tkey: translateKey,\n\t\t});\n\t}, [i18n, namespace, ready, translateKey]);\n\tconst translation = useStateEffect(get);\n\n\tuseEffect(() => {\n\t\tif (!ready) {\n\t\t\treturn;\n\t\t}\n\t\tif (!translation) {\n\t\t\tforceRerender();\n\t\t}\n\t}, [forceRerender, ready, translation]);\n\n\tif (!ready) {\n\t\treturn translateKey;\n\t}\n\n\tif (components) {\n\t\tconst TransProps = {\n\t\t\ti18n,\n\t\t\ti18nKey: translateKey,\n\t\t\tnamespace,\n\t\t\tvalues: options,\n\t\t\tt,\n\t\t\tcomponents: components?.props?.children,\n\t\t};\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{/*<span className='text-gold'>*/}\n\t\t\t\t{/*\ttranslateKey: {translateKey} / namespace: {namespace} / options: {jsonToString(options)} / components: {components || 'null'}*/}\n\t\t\t\t{/*</span>{' '}*/}\n\t\t\t\t<Trans {...TransProps}>{components ? undefined : translateKey}</Trans>\n\t\t\t</>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{/*<span className=\"text-negative\">*/}\n\t\t\t{/*\ttranslation: {translation} / translateKey: {translateKey} / namespace:{' '}*/}\n\t\t\t{/*\t{namespace} / options: {jsonToString(options)}*/}\n\t\t\t{/*</span>{' '}*/}\n\t\t\t<Interpolate\n\t\t\t\ttranslation={\n\t\t\t\t\ttranslation ||\n\t\t\t\t\tt(translateKey, {\n\t\t\t\t\t\tns: namespace,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\toptions={options}\n\t\t\t/>\n\t\t</>\n\t);\n};\n","import React, { ReactChildren, ReactElement } from 'react';\nimport { TranslateWrapper } from '@common/components/localization/Translate/Translate';\nimport { parseApiInfo } from '../app/errorsService';\nimport { OmitInterface } from '../../../types/default/OmitInterface';\nimport { TransNamespace } from './TransNamespace';\nimport { DEFAULT_NAMESPACE } from './translate.constants';\nimport { mapTransData } from './translationService';\n\nexport type TransOptions = Record<string, string | number>;\n\nexport type TransLabelType =\n\t| string\n\t| boolean\n\t| {\n\t\t\tmessage?: string;\n\t\t\tvalues?: TransOptions;\n\t\t\tprops?: {\n\t\t\t\ttranslateKey?: string;\n\t\t\t\tchildren?: ReactChildren;\n\t\t\t};\n\t };\n\nexport interface TransProps {\n\tlabel:\n\t\t| string\n\t\t| [TransLabelType, TransNamespace]\n\t\t| TransLabelType\n\t\t| TransProps;\n\toptions?: TransOptions;\n\tcomponents?: ReactElement;\n\tnoTranslationCheck?: boolean;\n\tnamespace?: TransNamespace;\n}\n\nexport const trans = ({\n\tlabel,\n\toptions = null,\n\tcomponents = null,\n\tnoTranslationCheck = null,\n\tnamespace = DEFAULT_NAMESPACE,\n}: TransProps) => {\n\tif (Array.isArray(label)) {\n\t\t[label, namespace] = label;\n\t} else if (typeof label === 'object') {\n\t\tif (!label) {\n\t\t\treturn null;\n\t\t}\n\t\tif ('label' in label) {\n\t\t\treturn trans(label);\n\t\t}\n\t\tif (!label?.message) {\n\t\t\tif (label?.props?.translateKey) {\n\t\t\t\treturn (\n\t\t\t\t\t// @ts-expect-error invalid type\n\t\t\t\t\t<TranslateWrapper {...label.props} />\n\t\t\t\t);\n\t\t\t} // trans component saved to localstorage (ex autobet expert mode error)\n\t\t\tif (label?.props) {\n\t\t\t\treturn label;\n\t\t\t}\n\t\t\tconsole.error('trans', { label });\n\t\t\treturn null;\n\t\t}\n\t}\n\tif (typeof label !== 'string') {\n\t\treturn parseApiInfo(label, noTranslationCheck, namespace);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<TranslateWrapper\n\t\t\t\toptions={mapTransData(options)}\n\t\t\t\tcomponents={components}\n\t\t\t\ttranslateKey={label}\n\t\t\t\tnamespace={namespace}\n\t\t\t\tnoTranslationCheck={noTranslationCheck}\n\t\t\t/>\n\t\t</>\n\t);\n};\nexport const Trans = trans;\n\nexport const createNamespaceTrans =\n\t(namespace: TransProps['namespace']) =>\n\t(props: OmitInterface<TransProps, 'namespace'>) =>\n\t\ttrans({\n\t\t\t...props,\n\t\t\tnamespace,\n\t\t});\n\nexport const transUser = createNamespaceTrans(TransNamespace.USER);\nexport const TransUser = transUser;\n\nexport const transSports = createNamespaceTrans(TransNamespace.SPORTS);\nexport const TransSports = transSports;\n\nexport const transSlots = createNamespaceTrans(TransNamespace.SLOTS);\nexport const TransSlots = transSlots;\n\nexport const transValidation = createNamespaceTrans(TransNamespace.VALIDATION);\n\nexport const transChat = createNamespaceTrans(TransNamespace.CHAT);\nexport const transWallet = createNamespaceTrans(TransNamespace.WALLET);\nexport const TransVip = createNamespaceTrans(TransNamespace.VIP);\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { isFunction } from '@common/methods/isFunction';\nimport { parseImageSrc } from '@common/components/default/Image/Image';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport FetchService from '../app/fetchService';\nimport { scientificToDecimal } from '../../../methods/math/scientificToDecimal';\nimport { DEFAULT_NAMESPACE } from './translate.constants';\n\nexport const changeLanguage = (lang) => {\n\tconsole.log(lang);\n\t// if (i18n.language === lang) return;\n\t// i18n.changeLanguage(lang);\n\t// console.log('%changeLanguage', 'color: #07d607; font-size: 20px', {\n\t// lang,\n\t// inst: i18n,\n\t// },);\n};\n\nexport class TranslationServiceClass {\n\ttimeout = null;\n\n\ttranslateString(key, t = (value) => value, allow) {\n\t\tif (!key) {\n\t\t\treturn '';\n\t\t}\n\t\tif (typeof key === 'string') {\n\t\t\tthis.checkTranslationExistence(key);\n\t\t\treturn t(key);\n\t\t}\n\t\tif (isFunction(key)) {\n\t\t\tthis.checkTranslationExistence(key);\n\t\t\treturn key(t);\n\t\t}\n\t\treturn allow ? key : '(Invalid translation)';\n\t}\n\n\tinterpolate(string, data) {\n\t\tif (!data) {\n\t\t\treturn string || null;\n\t\t}\n\t\tconst keys = Object.keys(data);\n\t\tif (!keys.length) {\n\t\t\treturn string || null;\n\t\t}\n\t\tkeys.forEach((key) => {\n\t\t\tstring = string.split(`{{${key}}}`).join(data[key]);\n\t\t});\n\t\treturn string || null;\n\t}\n\n\tcheckTranslationExistence(\n\t\tkey: string,\n\t\tnamespace = DEFAULT_NAMESPACE,\n\t\tcallbackAfterFetch?: () => void,\n\t) {\n\t\tif (key === 'Translate key added') {\n\t\t\treturn;\n\t\t}\n\t\tconst json = this.getTranslationObject(\n\t\t\tnamespace,\n\t\t\tundefined,\n\t\t\tcallbackAfterFetch,\n\t\t);\n\t\t// console.log('checkTranslationExistence', { json: json?.[key], key, namespace });\n\t\tif (json?.[key] || (!json && namespace === DEFAULT_NAMESPACE)) {\n\t\t\treturn;\n\t\t}\n\t\t// if (!json) {\n\t\t// \tconsole.error(`Missing translations Namespace - ${namespace}`, key);\n\t\t// }\n\t\t// if (json && !json?.[key]) console.log('checkTranslationExistence', {key, x: json?.[key], namespace});\n\t\tif (!NEXT_CONFIG.DEV) {\n\t\t\treturn;\n\t\t}\n\t\t// if (key === 'Sort by') {\n\t\t// console.log('checkTranslationExistence', {\n\t\t// \tkey,\n\t\t// \tnamespace,\n\t\t// \tjsonKey: json?.[key],\n\t\t// \tjson,\n\t\t// });\n\t\t// }\n\t\tif (key) {\n\t\t\tthis.addMissingTranslation(key, namespace);\n\t\t}\n\t}\n\n\taddMissingTranslation(key, namespace = DEFAULT_NAMESPACE) {\n\t\tif (!NEXT_CONFIG.DEV) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = lsGet(LocalStorageKeys.MISSING_TRANSLATIONS) || [];\n\t\t// if (key === 'Sort by') console.log('addMissingTranslation', {\n\t\t// \tkey,\n\t\t// \tdata,\n\t\t// });\n\t\tif (typeof key === 'object') {\n\t\t\tif (!key?.props?.translateKey) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tkey = key.props.translateKey;\n\t\t}\n\t\tkey = `${namespace}:${key}`;\n\t\tif (data.indexOf(key) === -1) {\n\t\t\t// console.log('Key not exist: ', key);\n\t\t\tdata.push(key);\n\t\t\tlsSet(LocalStorageKeys.MISSING_TRANSLATIONS, data);\n\t\t}\n\t\tthis.updateMissingTranslations();\n\t}\n\n\tupdateMissingTranslations() {\n\t\tif (!NEXT_CONFIG.DEV) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t}\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tconst data = lsGet(LocalStorageKeys.MISSING_TRANSLATIONS);\n\t\t\tif (!data || !data.length) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn FetchService.fetch(\n\t\t\t\t'/api/check_translation',\n\t\t\t\tFetchService.parseParameters({\n\t\t\t\t\tbody: jsonToString({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t}),\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t}),\n\t\t\t).then((response) => {\n\t\t\t\tif (response.error) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst array = lsGet(LocalStorageKeys.MISSING_TRANSLATIONS);\n\t\t\t\tif (!array || !array.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlsSet(\n\t\t\t\t\tLocalStorageKeys.MISSING_TRANSLATIONS,\n\t\t\t\t\tarray.filter((el) => data.indexOf(el) === -1),\n\t\t\t\t);\n\t\t\t});\n\t\t}, 5000);\n\t}\n\n\tgetTranslationObject(\n\t\tnamespace = DEFAULT_NAMESPACE,\n\t\tlang = 'en',\n\t\tcallbackAfterFetch = null,\n\t) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-var-requires\n\t\tconst { i18n } = require('next-i18next');\n\t\tif (!i18n) {\n\t\t\treturn null;\n\t\t}\n\t\tconst language = i18n.language || lang;\n\t\tconst resourceBundle = i18n.getResourceBundle(language, namespace);\n\t\tif (!resourceBundle) {\n\t\t\tconst url = parseImageSrc(\n\t\t\t\t`/translations/${language}/${namespace}.json?v=${NEXT_CONFIG.RELEASE_VERSION}`,\n\t\t\t);\n\t\t\tconst isPending = FetchService.isPending(url);\n\t\t\tif (!isPending) {\n\t\t\t\t// console.log('getTranslationObject', { namespace, data: i18n?.store?.data, language: i18n?.language, lang });\n\t\t\t\t// console.log(i18n);\n\t\t\t\tFetchService.fetch(url, { method: 'GET' }, true).then((response) => {\n\t\t\t\t\tFetchService.getResponseData(response).then((data) => {\n\t\t\t\t\t\t// console.log('resourceBundle', { language, namespace, isPending, url }, data);\n\t\t\t\t\t\ti18n.addResourceBundle(language, namespace, data, true, true);\n\t\t\t\t\t\ti18n.reloadResources(language, namespace);\n\t\t\t\t\t\tif (isFunction(callbackAfterFetch)) {\n\t\t\t\t\t\t\tcallbackAfterFetch();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn i18n.getResourceBundle(language, namespace);\n\t}\n}\n\nexport const mapTransData = (data: any) => {\n\tif (!data) {\n\t\treturn data;\n\t}\n\n\tObject.keys(data).forEach((key) => {\n\t\tif (typeof data[key] === 'number') {\n\t\t\tdata[key] = scientificToDecimal(data[key]);\n\t\t}\n\t\tif (data[key] === 'usdt') {\n\t\t\tdata[key] = 'usd';\n\t\t}\n\t\tif (data[key] === 'USDT') {\n\t\t\tdata[key] = 'USD';\n\t\t}\n\t});\n\n\treturn data;\n};\n\nexport const translationService = new TranslationServiceClass();\n\nexport const simpleTrans = (\n\tstring: string,\n\tdata?: any,\n\tnamespace = DEFAULT_NAMESPACE,\n) => {\n\tif (!data) {\n\t\ttranslationService.checkTranslationExistence(string, namespace);\n\t}\n\t// eslint-disable-next-line @typescript-eslint/no-var-requires\n\tconst { i18n } = require('next-i18next');\n\t// console.log('simpleTrans', { string, data, namespace, language: i18n?.language, t: i18n.t(`${namespace}:${string}`, data) });\n\tif (!isFunction(i18n?.getFixedT)) {\n\t\treturn translationService.interpolate(string, mapTransData(data));\n\t}\n\tconst t = i18n.getFixedT(null, namespace);\n\t// console.log('simpleTrans - result', i18n.t(`${namespace}:${string}`, data), {string: `${namespace}:${string}`, data});\n\treturn t(string, mapTransData(data));\n};\n","import { actionSimple } from '../../modules/app/actionService';\nimport {\n\tSET_AFFILIATE_CODE,\n\tSET_AFFILIATE_UTM_SOURCE,\n\tSUBMIT_CAMPAIGN,\n\tWITHDRAW_AVAILABLE_COMMISSIONS,\n} from './affiliate.constants';\n\nexport const submitCampaign = actionSimple(SUBMIT_CAMPAIGN);\n\nexport const withdrawAvailableCommissions = actionSimple(\n\tWITHDRAW_AVAILABLE_COMMISSIONS,\n);\n\nexport const setAffiliateCode = actionSimple(SET_AFFILIATE_CODE);\n\nexport const setAffiliateUtmSource = actionSimple(SET_AFFILIATE_UTM_SOURCE);\n","export const SUBMIT_CAMPAIGN = 'SUBMIT_CAMPAIGN';\n\nexport const SET_AFFILIATE_CODE = 'SET_AFFILIATE_CODE';\nexport const SET_AFFILIATE_UTM_SOURCE = 'SET_AFFILIATE_UTM_SOURCE';\n\nexport const WITHDRAW_AVAILABLE_COMMISSIONS = 'WITHDRAW_AVAILABLE_COMMISSIONS';\n","import {\n\tADD_PENDING_ALERT,\n\tCLOSE_ALERT,\n\tDELETE_ALERT,\n\tHANDLE_ALERT,\n\tSHOW_ALERT,\n\tTOGGLE_SERVER_SEED_ALERT,\n} from './alerts.constants';\n\nconst handleAlert = (payload) => {\n\treturn {\n\t\ttype: HANDLE_ALERT,\n\t\tpayload,\n\t};\n};\n\nconst toggleServerSeedAlert = (bool) => {\n\treturn {\n\t\ttype: TOGGLE_SERVER_SEED_ALERT,\n\t\tbool,\n\t};\n};\n\nconst showAlert = (alertType, message, noTimeout, id) => {\n\treturn {\n\t\ttype: SHOW_ALERT,\n\t\talertType,\n\t\tmessage,\n\t\tnoTimeout,\n\t\tid: id || new Date().getTime(),\n\t};\n};\n\nconst closeAlert = (id, force, timeout) => {\n\treturn {\n\t\ttype: CLOSE_ALERT,\n\t\tid,\n\t\tforce,\n\t\ttimeout,\n\t};\n};\n\nconst deleteAlert = (id, force) => {\n\treturn {\n\t\ttype: DELETE_ALERT,\n\t\tid,\n\t\tforce,\n\t};\n};\n\nconst addPendingAlert = (payload) => {\n\treturn {\n\t\ttype: ADD_PENDING_ALERT,\n\t\tpayload,\n\t};\n};\n\nexport {\n\tshowAlert,\n\tcloseAlert,\n\tdeleteAlert,\n\thandleAlert,\n\ttoggleServerSeedAlert,\n\taddPendingAlert,\n};\n","export const HANDLE_ALERT = 'HANDLE_ALERT';\n\nexport const TOGGLE_SERVER_SEED_ALERT = 'TOGGLE_SERVER_SEED_ALERT';\n\nexport const SHOW_ALERT = 'SHOW_ALERT';\nexport const CLOSE_ALERT = 'CLOSE_ALERT';\nexport const DELETE_ALERT = 'DELETE_ALERT';\nexport const ADD_PENDING_ALERT = 'ADD_PENDING_ALERT';\n","import { jsonToString } from '@common/methods/jsonToString';\nimport { sentryError } from '../../modules/app/sentryService';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { Trans } from '../../modules/translation/translate';\nimport { actionSimple } from '../../modules/app/actionService';\nimport {\n\tAPP_CALLBACK,\n\tAPP_CHECK_VERSION,\n\tAPP_CLOSES,\n\tAPP_EXPORT_DATA,\n\tAPP_GO_TO,\n\tAPP_IMPORT_DATA,\n\tAPP_INITIALIZED,\n\tAPP_NEW_VERSION,\n\tAPP_SET_CSRF,\n\tAPP_SET_SOURCE,\n\tCHECK_NEW_FEATURES,\n\tHANDLE_COMMANDS,\n\tLISTEN_COMMANDS,\n\tMENU_HIDE,\n\tMENU_TOGGLE,\n\tSIDE_MENU_HIDE,\n\tSIDE_MENU_TOGGLE,\n\tSET_CONTENT_DEVICE_TYPE,\n\tSET_DEVICE_TYPE,\n\tSET_EXTENDED_ACCESS,\n\tSET_HEIGHT,\n\tSET_LANGUAGE,\n\tSET_LOCKED_VIEW,\n\tSET_MOBILE,\n\tSET_MOBILE_CHAT,\n\tSET_PATH,\n\tSET_VISIBLE,\n\tSET_WIDTH,\n\tTOGGLE_MAINTENANCE_MODE,\n\tUPDATE_SENTRY_STATE,\n\tUPDATE_URL_QUERY,\n} from './app.constants';\n\nexport const appExportData = (payload) => ({\n\ttype: APP_EXPORT_DATA,\n\tpayload,\n});\n\nexport const appCallback = (callback) => {\n\treturn {\n\t\ttype: APP_CALLBACK,\n\t\tcallback,\n\t};\n};\n\nexport const appImportData = (payload) => ({\n\ttype: APP_IMPORT_DATA,\n\tpayload,\n});\n\nexport const appGoTo = (id, validUri = false) => {\n\treturn {\n\t\ttype: APP_GO_TO,\n\t\tid,\n\t\tvalidUri,\n\t};\n};\n\nexport const checkNewFeatures = (onlyCheck) => {\n\treturn {\n\t\ttype: CHECK_NEW_FEATURES,\n\t\tonlyCheck,\n\t};\n};\n\nexport const setLanguage = (payload) => {\n\treturn {\n\t\ttype: SET_LANGUAGE,\n\t\tpayload,\n\t};\n};\n\nexport const listenCommands = () => {\n\treturn {\n\t\ttype: LISTEN_COMMANDS,\n\t};\n};\n\nexport const handleCommands = (payload) => {\n\treturn {\n\t\ttype: HANDLE_COMMANDS,\n\t\tpayload,\n\t};\n};\n\nexport const appInitialized = (source) => {\n\treturn {\n\t\ttype: APP_INITIALIZED,\n\t\tsource,\n\t};\n};\n\nexport const setPath = (payload) => {\n\treturn {\n\t\ttype: SET_PATH,\n\t\tpayload,\n\t};\n};\n\nexport const setMobile = (bool) => {\n\treturn {\n\t\ttype: SET_MOBILE,\n\t\tbool,\n\t};\n};\n\nexport const setMobileChat = (bool) => {\n\treturn {\n\t\ttype: SET_MOBILE_CHAT,\n\t\tbool,\n\t};\n};\n\nexport const setVisible = (bool) => {\n\treturn {\n\t\ttype: SET_VISIBLE,\n\t\tbool,\n\t};\n};\n\nexport const hideMenu = () => {\n\treturn {\n\t\ttype: MENU_HIDE,\n\t};\n};\n\nexport const toggleMenu = (bool) => {\n\treturn {\n\t\ttype: MENU_TOGGLE,\n\t\tbool,\n\t};\n};\n\nexport const hideSideMenu = () => {\n\treturn {\n\t\ttype: SIDE_MENU_HIDE,\n\t};\n};\n\nexport const toggleSideMenu = (bool) => {\n\treturn {\n\t\ttype: SIDE_MENU_TOGGLE,\n\t\tbool,\n\t};\n};\n\nexport const setLockedView = (id, payload) => {\n\tif (typeof id !== 'string') {\n\t\tpayload = id;\n\t\tid = 'all';\n\t}\n\treturn {\n\t\ttype: SET_LOCKED_VIEW,\n\t\tpayload,\n\t\tid,\n\t};\n};\n\nexport const setHeight = (payload) => {\n\treturn {\n\t\ttype: SET_HEIGHT,\n\t\tpayload,\n\t};\n};\n\nexport const setWidth = (payload) => {\n\treturn {\n\t\ttype: SET_WIDTH,\n\t\tpayload,\n\t};\n};\n\nexport const setDeviceType = (payload) => {\n\treturn {\n\t\ttype: SET_DEVICE_TYPE,\n\t\tpayload,\n\t};\n};\n\nexport const setContentDeviceType = (payload) => ({\n\ttype: SET_CONTENT_DEVICE_TYPE,\n\tpayload,\n});\n\nexport const updateUrlQuery = (payload) => {\n\treturn {\n\t\ttype: UPDATE_URL_QUERY,\n\t\tpayload,\n\t};\n};\n\nexport const toggleMaintenanceMode = (payload) => {\n\treturn {\n\t\ttype: TOGGLE_MAINTENANCE_MODE,\n\t\tpayload,\n\t};\n};\n\nexport const appCloses = () => {\n\treturn {\n\t\ttype: APP_CLOSES,\n\t};\n};\n\nexport const updateSentryState = () => {\n\treturn {\n\t\ttype: UPDATE_SENTRY_STATE,\n\t};\n};\n\nexport const getComponentErrorName = (instance) => {\n\tconst _reactInternalFiber = instance._reactInternalFiber;\n\tlet name = '';\n\tif (_reactInternalFiber && _reactInternalFiber.elementType) {\n\t\tif (\n\t\t\t_reactInternalFiber.elementType['[[Scopes]]'] &&\n\t\t\t_reactInternalFiber.elementType['[[Scopes]]'].find(\n\t\t\t\t(el) => el.WrappedComponent,\n\t\t\t)\n\t\t) {\n\t\t\tname = _reactInternalFiber.elementType['[[Scopes]]'].find(\n\t\t\t\t(el) => el.WrappedComponent,\n\t\t\t).name;\n\t\t}\n\t\tname = _reactInternalFiber.elementType.displayName;\n\t}\n\treturn name;\n};\n\nexport const handleComponentError = ({ instance, error, info }) => {\n\treturn (dispatch, getState) => {\n\t\t// console.log(instance);\n\t\t// You can also log the error to an error reporting service\n\t\tconst name = getComponentErrorName(instance);\n\t\tconst errorInfo = {\n\t\t\tinfo,\n\t\t\talert: `Something went wrong, please refresh the page and try again. //${name}`,\n\t\t\terror,\n\t\t\tcomponentInstance: {\n\t\t\t\tprops: jsonToString({\n\t\t\t\t\t...instance.props,\n\t\t\t\t\thandleComponentError: null,\n\t\t\t\t}),\n\t\t\t\tstate: jsonToString(instance.state),\n\t\t\t\tcontext: jsonToString(instance.context),\n\t\t\t\trefs: jsonToString(instance.refs),\n\t\t\t},\n\t\t};\n\t\t// console.log({...errorInfo});\n\t\tsentryError(error, errorInfo, getState());\n\t\tdispatch(\n\t\t\tshowAlert(\n\t\t\t\t'error',\n\t\t\t\t<>\n\t\t\t\t\t<Trans\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t'Something went wrong, please refresh the page and try again.'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>{' '}\n\t\t\t\t\t[{name}]\n\t\t\t\t</>,\n\t\t\t),\n\t\t);\n\t};\n};\n\nexport const getState = () => {\n\treturn (dispatch, getState) => {\n\t\treturn getState();\n\t};\n};\n\nexport const setExtendedAccess = (payload) => ({\n\ttype: SET_EXTENDED_ACCESS,\n\tpayload,\n});\n\nexport const appCheckVersion = () => ({\n\ttype: APP_CHECK_VERSION,\n});\n\nexport const appNewVersion = () => ({\n\ttype: APP_NEW_VERSION,\n});\n\nexport const appSetCsrf = (payload) => ({\n\ttype: APP_SET_CSRF,\n\tpayload,\n});\n\nexport const appSetSource = actionSimple(APP_SET_SOURCE);\n","export const APP_INITIALIZED = 'APP_INITIALIZED';\nexport const APP_CALLBACK = 'APP_CALLBACK';\nexport const SET_LANGUAGE = 'SET_LANGUAGE';\n\nexport const LISTEN_COMMANDS = 'LISTEN_COMMANDS';\nexport const HANDLE_COMMANDS = 'HANDLE_COMMANDS';\n\nexport const SET_MOBILE = 'SET_MOBILE';\nexport const SET_MOBILE_CHAT = 'SET_MOBILE_CHAT';\nexport const SET_DEVICE_TYPE = 'SET_DEVICE_TYPE';\nexport const SET_CONTENT_DEVICE_TYPE = 'SET_CONTENT_DEVICE_TYPE';\nexport const SET_WIDTH = 'SET_WIDTH';\nexport const SET_HEIGHT = 'SET_HEIGHT';\nexport const SET_VISIBLE = 'SET_VISIBLE';\nexport const SET_EXTENDED_ACCESS = 'SET_EXTENDED_ACCESS';\n\nexport const UPDATE_URL_QUERY = 'UPDATE_URL_QUERY'; // to url and store\n\nexport const MENU_HIDE = 'MENU_HIDE';\nexport const MENU_TOGGLE = 'MENU_TOGGLE';\n\nexport const SIDE_MENU_HIDE = 'SIDE_MENU_HIDE';\nexport const SIDE_MENU_TOGGLE = 'SIDE_MENU_TOGGLE';\n\nexport const APP_GO_TO = 'APP_GO_TO';\n\nexport const SET_PATH = 'SET_PATH';\n\nexport const SET_LOCKED_VIEW = 'SET_LOCKED_VIEW';\n\nexport const CHECK_NEW_FEATURES = 'CHECK_NEW_FEATURES';\n\nexport const APP_CLOSES = 'APP_CLOSES';\n\nexport const UPDATE_SENTRY_STATE = 'UPDATE_SENTRY_STATE';\n\nexport const TOGGLE_MAINTENANCE_MODE = 'TOGGLE_MAINTENANCE_MODE';\n\nexport const APP_EXPORT_DATA = 'APP_EXPORT_DATA';\nexport const APP_IMPORT_DATA = 'APP_IMPORT_DATA';\n\nexport const APP_CHECK_VERSION = 'APP_CHECK_VERSION';\nexport const APP_NEW_VERSION = 'APP_NEW_VERSION';\nexport const APP_SET_CSRF = 'APP_SET_CSRF';\nexport const APP_SET_SOURCE = 'APP_SET_SOURCE';\n\nexport const APP_COMMANDS = {\n\tCHAT_REFRESH: 'command.chat.refresh',\n\tAPP_REFRESH: 'command.frontend.refresh',\n\tRAKEBACK_LEVEL_INCREASED: 'command.rakeback.openLevelUpdateModal',\n\tBONUS_CODE_GRANTED: 'command.bonusCode.new',\n\tOPEN_INSANE_BONUS_CODE_MODAL: 'command.bonusCodes.openBonusCodeInsaneModal',\n\tOPEN_INSANE_BONUS_CODE_ALERT: 'command.bonusCodes.openBonusCodeInsaneAlert',\n\tSLOTS_BET_AMOUNT_LIMIT: 'slots.alert.bet.amount.limit',\n\tSLOTS_GAME_ACTION: 'slots.game.action',\n} as const;\ntype AppCommandsKeys = keyof typeof APP_COMMANDS;\nexport type AppCommandsType = (typeof APP_COMMANDS)[AppCommandsKeys];\n","import { actionSimple } from '../../modules/app/actionService';\nimport {\n\tCANCEL_CONFIRM,\n\tCLEAR_CONFIRM,\n\tDO_CONFIRM,\n\tSET_CONFIRM,\n\tSET_CONFIRM_CALLBACK,\n\tSET_CONFIRM_CALLBACK_CANCEL,\n} from './confirm.constants';\nimport { Confirm } from './confirm.types';\n\nexport const setConfirm = actionSimple<Confirm>(SET_CONFIRM);\n\nexport const setConfirmCallback = actionSimple(SET_CONFIRM_CALLBACK);\n\nexport const setConfirmCallbackDispatch = (payload) => {\n\treturn (dispatch) => {\n\t\tdispatch(setConfirmCallback(() => payload(dispatch)));\n\t};\n};\n\nexport const setConfirmCallbackCancel = actionSimple(\n\tSET_CONFIRM_CALLBACK_CANCEL,\n);\n\nexport const setConfirmCallbackCancelDispatch = (payload) => {\n\treturn (dispatch) => {\n\t\tdispatch(setConfirmCallbackCancel(() => payload(dispatch)));\n\t};\n};\n\nexport const clearConfirm = actionSimple(CLEAR_CONFIRM);\n\nexport const doConfirm = actionSimple(DO_CONFIRM);\n\nexport const cancelConfirm = actionSimple(CANCEL_CONFIRM);\n","export const SET_CONFIRM = 'SET_CONFIRM';\nexport const SET_CONFIRM_CALLBACK = 'SET_CONFIRM_CALLBACK';\nexport const SET_CONFIRM_CALLBACK_CANCEL = 'SET_CONFIRM_CALLBACK_CANCEL';\nexport const CLEAR_CONFIRM = 'CLEAR_CONFIRM';\nexport const DO_CONFIRM = 'DO_CONFIRM';\nexport const CANCEL_CONFIRM = 'CANCEL_CONFIRM';\n","import { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { actionSimple } from '../../modules/app/actionService';\nimport {\n\tCONVERTER_SET_CONFIRM,\n\tCONVERTER_SET_CURRENCY,\n\tCONVERTER_SWITCH_CURRENCY,\n} from './converter.constants';\n\nexport const converterSetCurrency = actionSimple(CONVERTER_SET_CURRENCY);\nexport const converterSetConfirm = actionSimple(CONVERTER_SET_CONFIRM);\nexport const converterSwitchCurrency = actionSimple(CONVERTER_SWITCH_CURRENCY);\n\nexport const converterToUsd = (\n\tvalue,\n\tcurrency,\n\tprecision,\n\tdirection,\n\tforce,\n) => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!currency) {\n\t\t\tcurrency = state.user.activeCurrency;\n\t\t}\n\t\t// console.log('converterToUsd - 1', {\n\t\t// wallet, value: parseFloat(value), precision\n\t\t// });\n\t\tif (currency === 'usd' || (state.converter.currency !== 'usd' && !force)) {\n\t\t\treturn value;\n\t\t}\n\t\tconst price = state.stats.price[currency];\n\t\tif (!price) {\n\t\t\treturn 0;\n\t\t}\n\t\t// console.log('converterToUsd - 2', {\n\t\t// price, wallet, value: parseFloat(value), precision, result: round(parseFloat(value) * price, precision)\n\t\t// });\n\t\treturn roundNumber(parseFloat(value) * price, precision, direction);\n\t};\n};\n\nexport const converterToNative = (\n\tvalue,\n\tcurrency,\n\tprecision,\n\tdirection,\n\tforce,\n) => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!currency) {\n\t\t\tcurrency = state.user.activeCurrency;\n\t\t}\n\t\t// console.log('converterToNative - 1', {\n\t\t// wallet, value: parseFloat(value), precision\n\t\t// });\n\t\tif (currency === 'usd' || (state.converter.currency !== 'usd' && !force)) {\n\t\t\treturn value;\n\t\t}\n\t\tconst price = state.stats.price[currency];\n\t\tif (!price) {\n\t\t\treturn 0;\n\t\t}\n\t\t// console.log('converterToNative - 2', {\n\t\t// price, wallet, value: parseFloat(value), precision, result: round(parseFloat(value) / price, precision)\n\t\t// });\n\t\treturn roundNumber(parseFloat(value) / price, precision, direction);\n\t};\n};\n","export const CONVERTER_SET_CURRENCY = 'CONVERTER_SET_CURRENCY';\nexport const CONVERTER_SWITCH_CURRENCY = 'CONVERTER_SWITCH_CURRENCY';\nexport const CONVERTER_SET_CONFIRM = 'CONVERTER_SET_CONFIRM';\n","export const DROPDOWN_SET_ACTIVE = 'DROPDOWN_SET_ACTIVE';\nexport const DROPDOWN_SET_CONTENT = 'DROPDOWN_SET_CONTENT';\nexport const DROPDOWN_DELETE = 'DROPDOWN_DELETE';\nexport const DROPDOWN_ADD = 'DROPDOWN_ADD';\nexport const DROPDOWN_TOGGLE = 'DROPDOWN_TOGGLE';\n","import { actionSimple } from '../../modules/app/actionService';\nimport { FETCH_RESPONSE } from './fetch.constants';\n\nexport const fetchResponse = actionSimple(FETCH_RESPONSE);\n","export const FETCH_RESPONSE = 'FETCH_RESPONSE';\n","import { modalOpenInfo } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\n\nexport const responseModal = (data, requestData) => {\n\treturn (dispatch) => {\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(\n\t\t\tmodalOpenInfo({\n\t\t\t\tid: MODAL_ID.RESPONSE_INFO,\n\t\t\t\tprops: {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\t...data.modalInfo,\n\t\t\t\t\t},\n\t\t\t\t\trequestData,\n\t\t\t\t\ttitle: 'Information',\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { codeRequired } from '../twoFactorAuthentication/twoFactorAuthentication.actions';\nimport { config } from '../../config';\nimport {\n\tgetStringApiInfo,\n\tparseApiInfo,\n} from '../../modules/app/errorsService';\nimport { userSessionEnded } from '../user/user.actions';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport { sentryError } from '../../modules/app/sentryService';\nimport { getTimestamp } from '../../modules/app/timeService';\nimport routingService from '../../modules/app/routingService';\nimport { cloudflareError } from './methods/cloudflareError';\nimport { responseModal } from './methods/responseModal';\n\nexport const handleErrorsAction = (\n\tdata,\n\turl,\n\tparameters,\n\tmethod,\n\tloaderId,\n\tisStatic,\n\tdisable,\n) => {\n\treturn (dispatch) => {\n\t\t// console.log('handleErrorsAction', {\n\t\t// data, url, parameters, method, loaderId, disable, isStatic\n\t\t// });\n\t\tif (parameters && parameters.body) {\n\t\t\tlet body = {};\n\t\t\ttry {\n\t\t\t\tbody =\n\t\t\t\t\ttypeof parameters.body === 'string'\n\t\t\t\t\t\t? stringToJson(parameters.body, {})\n\t\t\t\t\t\t: parameters.body;\n\t\t\t} catch (error) {\n\t\t\t\t// logger(parameters.body);\n\t\t\t\tthrow new Error(error);\n\t\t\t}\n\t\t\tparameters.body = body;\n\t\t}\n\t\tconst requestData = {\n\t\t\tmessage: `Response from (${loaderId}): ${method} -> '${url}'`,\n\t\t\tdata,\n\t\t\tparameters,\n\t\t\turl,\n\t\t\terrorTimestamp: getTimestamp(),\n\t\t};\n\t\treturn new Promise((resolve) => {\n\t\t\tconst result = [];\n\t\t\tif (\n\t\t\t\tdata.status &&\n\t\t\t\tdata.text &&\n\t\t\t\tdata.text.indexOf('403 Forbidden') > -1 &&\n\t\t\t\tdata.status === 403\n\t\t\t) {\n\t\t\t\troutingService.redirect(`/${ROUTING_ID.ACCESS_DENIED}`, true, true);\n\t\t\t\treturn resolve(false);\n\t\t\t}\n\t\t\tif (data.error) {\n\t\t\t\tif (data.error === config.errors.twoFactorAuth && !isStatic) {\n\t\t\t\t\treturn dispatch(\n\t\t\t\t\t\tcodeRequired(url, parameters, method, resolve, loaderId),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (data.error && data.error === config.errors.sessionEnded) {\n\t\t\t\t\tresult.push(userSessionEnded());\n\t\t\t\t} else if (!disable) {\n\t\t\t\t\tresult.push(dispatchError(data.error, requestData, isStatic));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdata.status &&\n\t\t\t\tdata.text &&\n\t\t\t\t(data.text.indexOf('Cloudflare') > -1 ||\n\t\t\t\t\tdata.text.indexOf('cloudflare') > -1) &&\n\t\t\t\tdata.status !== 502\n\t\t\t) {\n\t\t\t\tdispatch(cloudflareError(data, requestData));\n\t\t\t\treturn resolve(false);\n\t\t\t}\n\t\t\tif (!disable || data.text) {\n\t\t\t\tif (\n\t\t\t\t\t!data ||\n\t\t\t\t\t(data &&\n\t\t\t\t\t\t(Object.keys(data).length === 1 ||\n\t\t\t\t\t\t\t(Object.keys(data).length === 2 && data.text)) &&\n\t\t\t\t\t\tdata.status &&\n\t\t\t\t\t\tdata.status !== 200)\n\t\t\t\t) {\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\tdata = {};\n\t\t\t\t\t}\n\t\t\t\t\t// sentryError(new Error(`${url} - ${message}`), requestData);\n\t\t\t\t\tlet errorDetails = `${\n\t\t\t\t\t\tloaderId ||\n\t\t\t\t\t\turl.replace(`${config.domain}/api`, '').replace('https://', '')\n\t\t\t\t\t}/${data.status || '-'}`;\n\t\t\t\t\tlet error = trans({\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t'Connection problem, please refresh page or contact support ({{errorDetails}})',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\terrorDetails,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tif (data.status) {\n\t\t\t\t\t\tif (data.status === 502 && method === 'POST') {\n\t\t\t\t\t\t\terror = trans({\n\t\t\t\t\t\t\t\tlabel: 'Temporary server downtime, please try again in 10min',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\terrorDetails,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (data.status === 'failed') {\n\t\t\t\t\t\t\terror = trans({\n\t\t\t\t\t\t\t\tlabel: 'Connection problem, please try again in 10min',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\terrorDetails,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tresult.push(showAlert('error', error));\n\t\t\t\t}\n\t\t\t\tif (data?.message && !data?.room) {\n\t\t\t\t\tconst type =\n\t\t\t\t\t\tdata.message.toLowerCase().indexOf('success') > -1\n\t\t\t\t\t\t\t? 'success'\n\t\t\t\t\t\t\t: 'info';\n\t\t\t\t\tresult.push(showAlert(type, parseApiInfo(data.message), isStatic));\n\t\t\t\t}\n\t\t\t\tif (data?.errors) {\n\t\t\t\t\t// sentryError(new Error(`${url} - Multiple errors`), requestData);\n\t\t\t\t\tresult.push(dispatchError(data.errors, requestData, isStatic));\n\t\t\t\t}\n\t\t\t\tif (data?.modalInfo) {\n\t\t\t\t\tresult.push(responseModal(data, requestData));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (result?.length) {\n\t\t\t\tdispatch(result);\n\t\t\t}\n\t\t\treturn resolve(data);\n\t\t});\n\t};\n};\n\nexport const dispatchError = (data, requestData, isStatic) => {\n\t// console.log('dispatchError', data);\n\treturn (dispatch, getState) => {\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\tconst result = [];\n\t\tif (typeof data === 'object' && !data.length && !data.message) {\n\t\t\tconst keys = Object.keys(data);\n\t\t\tif (keys) {\n\t\t\t\tkeys.forEach((el) => {\n\t\t\t\t\tresult.push(dispatchError(data[el], requestData, isStatic));\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (typeof data === 'object' && data.length) {\n\t\t\tresult.push(dispatchError(data[0], requestData, isStatic));\n\t\t} else {\n\t\t\tconst dataString = getStringApiInfo(data);\n\t\t\tconst replaceErrors = config.replaceErrorsToSentry;\n\t\t\tconst replaceErrorKeys = Object.keys(replaceErrors);\n\t\t\tconst replaceErrorIndex = replaceErrorKeys.findIndex((errorKey) => {\n\t\t\t\treturn dataString.indexOf(errorKey) === 0;\n\t\t\t});\n\t\t\tif (replaceErrorIndex > -1) {\n\t\t\t\t// sentryError(new Error(`Replaced error: ${requestData.url} | ${dataString}`), requestData, getState());\n\t\t\t\tresult.push(\n\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\tparseApiInfo(replaceErrors[replaceErrorKeys[replaceErrorIndex]]),\n\t\t\t\t\t\tisStatic,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst errorsArray = config.responseErrorsToSentry;\n\t\t\t\tconst errorIndex = errorsArray.indexOf(dataString);\n\t\t\t\tif (errorIndex > -1) {\n\t\t\t\t\tsentryError(\n\t\t\t\t\t\tnew Error(`${requestData.url} | ${errorsArray[errorIndex]}`),\n\t\t\t\t\t\trequestData,\n\t\t\t\t\t\tgetState(),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tresult.push(showAlert('error', parseApiInfo(data), isStatic));\n\t\t\t}\n\t\t}\n\t\tif (result.length) {\n\t\t\tdispatch(result);\n\t\t}\n\t};\n};\n","import { modalOpenInfo, openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { trans } from '../../../modules/translation/translate';\nimport { DescriptionBoxStyle } from '../../../modules/style/components/descriptionBox.style';\nimport { TransNamespace } from '../../../modules/translation/TransNamespace';\n\nexport const cloudflareError = (data, requestData) => {\n\treturn (dispatch) => {\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\tif (data.text.indexOf('Checking if the site connection is secure') > -1) {\n\t\t\tdispatch(\n\t\t\t\topenModal(\n\t\t\t\t\tMODAL_ID.REFRESH,\n\t\t\t\t\t'cloudflareError',\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<DescriptionBoxStyle\n\t\t\t\t\t\t\t\t$background={'info'}\n\t\t\t\t\t\t\t\tclassName=\"no-margin no-padding padding-side-20\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t\t'Due to the security reasons we need to check site connection, please refresh the page',\n\t\t\t\t\t\t\t\t\t\tnamespace: TransNamespace.VALIDATION,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</DescriptionBoxStyle>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tdispatch(\n\t\t\tmodalOpenInfo({\n\t\t\t\tid: MODAL_ID.CLOUDFLATE_ERROR,\n\t\t\t\tprops: {\n\t\t\t\t\terror: data,\n\t\t\t\t\trequestData,\n\t\t\t\t\ttitle: 'Connection problem',\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { of } from 'rxjs';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { isFunction } from '@common/methods/isFunction';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\nimport { createAuthToken } from '../../modules/app/userService';\nimport { userSessionEnded } from '../user/user.actions';\nimport FetchService from '../../modules/app/fetchService';\nimport { serverDataClear } from '../serverData/serverData.actions';\nimport { config } from '../../config';\nimport { toggleMaintenanceMode } from '../app/app.actions';\nimport { getStatsData } from '../globalStatistics/globalStatistics.actions';\nimport { codeRequired } from '../twoFactorAuthentication/twoFactorAuthentication.actions';\nimport { loaderThunk } from '../loader/loader.actions';\nimport { tokenService, checkToken } from '../../modules/app/tokenService';\nimport { getStringApiInfo } from '../../modules/app/errorsService';\nimport { second } from '../../modules/app/time';\nimport { handleErrorsAction } from './errors.thunk';\nimport { fetchResponse } from './fetch.actions';\n\nlet fetchErrorCounter = {};\n\nconst fetchCheckLimit = 3;\n\nconst OMIT_ERROR_HANDLING_ERRORS = ['canceled'];\n\nexport const parseProps = (props) => {\n\t// parsing due to old implementation of passing parameters to fetch, must keep proper order\n\treturn Object.keys({\n\t\turl: props.url,\n\t\tparameters: props.parameters,\n\t\tmethod: props.method,\n\t\tloaderId: props.loaderId,\n\t\tlockByModal: props.lockByModal,\n\t\tdisableErrorHandler: props.disableErrorHandler,\n\t\ttwoFactorAuth: props.twoFactorAuth,\n\t\tfromState: props.fromState,\n\t\tbypassCaptcha: props.bypassCaptcha,\n\t\tdelay: props.delay,\n\t\ttoken: props.token,\n\t}).map((key) => props[key]);\n};\n\nexport const fetchApi = (\n\turl,\n\tparameters = undefined,\n\tmethod = undefined,\n\tloaderId = undefined,\n\tlockByModal = undefined,\n\tdisableErrorHandler = undefined,\n\ttwoFactorAuth = undefined,\n\tfromState = undefined,\n\tbypassCaptcha = undefined,\n\tdelay = undefined,\n\ttoken = undefined,\n) => {\n\tif (url?.url) {\n\t\treturn fetchLocal(\n\t\t\t...parseProps({\n\t\t\t\t...url,\n\t\t\t\turl: FetchService.parseApiUrl(url.url),\n\t\t\t}),\n\t\t);\n\t}\n\treturn fetchLocal(\n\t\tFetchService.parseApiUrl(url),\n\t\tparameters,\n\t\tmethod,\n\t\tloaderId,\n\t\tlockByModal,\n\t\tdisableErrorHandler,\n\t\ttwoFactorAuth,\n\t\tfromState,\n\t\tbypassCaptcha,\n\t\tdelay,\n\t\ttoken,\n\t);\n};\n\nexport const fetchApiAction = (props, callback, callbackCatch) => {\n\treturn fetchLocalAction(\n\t\t{\n\t\t\t...props,\n\t\t\turl: FetchService.parseApiUrl(props.url),\n\t\t},\n\t\tcallback,\n\t\tcallbackCatch,\n\t);\n};\nexport const fetchLocalAction = (props, callback, catchCallback) => {\n\treturn (dispatch) => {\n\t\tconst response = dispatch(fetchLocal(...parseProps(props)));\n\t\treturn dispatch(\n\t\t\tfetchResponse({\n\t\t\t\tresponse,\n\t\t\t\tcallback: callback ? callback : () => [],\n\t\t\t\tcatchCallback: catchCallback ? catchCallback : () => of(),\n\t\t\t}),\n\t\t);\n\t};\n};\nexport const fetchLocal = (\n\turl,\n\tparameters,\n\tmethod,\n\tloaderId,\n\tlockByModal,\n\tdisableErrorHandler,\n\ttwoFactorAuth,\n\tfromState,\n\tbypassCaptcha,\n\tdelay,\n\ttoken,\n) => {\n\treturn (dispatch) => {\n\t\t// WOL-4802: [FRONT] Improvements of fetchLocal\n\t\t// if (url && FetchService.isState(url) === 'pending') {\n\t\t// \treturn new Promise((resolve) => {\n\t\t// \t\tsetTimeout(() => {\n\t\t// \t\t\tresolve(FetchService.fetch(url, options, true));\n\t\t// \t\t}, 100);\n\t\t// \t});\n\t\t// }\n\n\t\t// console.log(`fetchLocal - start ${url}`, {parameters, method, loaderId, lockByModal, disableErrorHandler, twoFactorAuth});\n\t\tif (twoFactorAuth) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\treturn dispatch(\n\t\t\t\t\tcodeRequired(url, parameters, method, resolve, loaderId),\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\tdispatch(loaderThunk(true, loaderId));\n\t\treturn new Promise((resolve) => {\n\t\t\tconst callback = () => {\n\t\t\t\treturn resolve(\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tfetchWrapper(\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\tdisableErrorHandler,\n\t\t\t\t\t\t\tloaderId,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\tdispatch(loaderThunk(false, loaderId));\n\t\t\t\t\t\t\t// console.log('fetchLocal - result', {result, url, parameters, method, lockByModal, fromState, disableErrorHandler, loaderId, bypassCaptcha});\n\t\t\t\t\t\t\treturn result\n\t\t\t\t\t\t\t\t? dispatch(\n\t\t\t\t\t\t\t\t\t\thandleErrorsAction(\n\t\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\t\t\t\t\tloaderId,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tdisableErrorHandler,\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: result;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!disableErrorHandler &&\n\t\t\t\t\t\t\t\tOMIT_ERROR_HANDLING_ERRORS.indexOf(error) === -1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\thandleErrorsAction(\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\t\t\t\tloaderId,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconsole.error('fetchLocal - error', error, {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// sentryError(error, { url, parameters, method });\n\t\t\t\t\t\t\tdispatch(loaderThunk(false, loaderId));\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t};\n\t\t\tif (!delay) {\n\t\t\t\treturn callback();\n\t\t\t}\n\t\t\tsetTimeout(() => callback(), delay);\n\t\t});\n\t};\n};\nexport const handleStaticResponse = (data, status, options) => {\n\treturn (dispatch) => {\n\t\treturn dispatch(handleWrapperResponse(data, status, options)).then(\n\t\t\t(result) => {\n\t\t\t\tdispatch(serverDataClear());\n\t\t\t\tcookieService.clear(CookiesKeys.PRELOADED_STATE);\n\t\t\t\treturn (!options.disableErrors && result) || result.text\n\t\t\t\t\t? dispatch(\n\t\t\t\t\t\t\thandleErrorsAction(\n\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\toptions.url,\n\t\t\t\t\t\t\t\toptions.parameters,\n\t\t\t\t\t\t\t\toptions.method,\n\t\t\t\t\t\t\t\toptions.loaderId,\n\t\t\t\t\t\t\t\toptions.isStatic,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t )\n\t\t\t\t\t: result;\n\t\t\t},\n\t\t);\n\t};\n};\nexport const handleWrapperResponse = (\n\tdata,\n\tresponseParams,\n\t{\n\t\turl,\n\t\tparameters,\n\t\tmethod,\n\t\tlockByModal,\n\t\tfromState,\n\t\tdisableErrors,\n\t\tisStatic,\n\t\ttoken,\n\t},\n) => {\n\tconst { status } = responseParams;\n\treturn (dispatch, getState) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\t// console.log('handleWrapperResponse', {data, status}, {url, parameters, method, lockByModal, fromState, disableErrors, isStatic});\n\t\t\tconst state = getState();\n\t\t\tif (OMIT_ERROR_HANDLING_ERRORS.indexOf(data) > -1) {\n\t\t\t\treturn reject(data);\n\t\t\t}\n\t\t\tif (FetchService.isMaintenanceMode(status, data)) {\n\t\t\t\treturn dispatch(\n\t\t\t\t\thandleMaintenanceMode(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\t\tisStatic,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (status === 444) {\n\t\t\t\treturn dispatch(\n\t\t\t\t\thandleRepeatRequest(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tresponseParams,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\t\tisStatic,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (status >= 500 || !status || !data || status === 429) {\n\t\t\t\treturn dispatch(\n\t\t\t\t\thandleFailedRequest(\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tresponseParams,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tparameters,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\t\tisStatic,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (fetchErrorCounter[url]) {\n\t\t\t\tdelete fetchErrorCounter[url];\n\t\t\t}\n\t\t\tFetchService.addToHistory(url, status, data, parameters);\n\t\t\tif (state.app.maintenanceMode) {\n\t\t\t\tdispatch(toggleMaintenanceMode(false));\n\t\t\t}\n\t\t\tif (typeof data === 'object' && data.length !== undefined) {\n\t\t\t\tdata = {\n\t\t\t\t\tdata,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn resolve({\n\t\t\t\t...data,\n\t\t\t\t...(data.hasOwnProperty('status')\n\t\t\t\t\t? { responseStatus: status }\n\t\t\t\t\t: { status }),\n\t\t\t});\n\t\t});\n\t};\n};\n\nconst handleRepeatRequest = (\n\tdata,\n\tresponseParams,\n\t{ url, parameters, method, lockByModal, fromState, token, disableErrors },\n\tresolve,\n\tdefaultTimeout = second,\n) => {\n\treturn (dispatch) => {\n\t\tconst { headers } = responseParams;\n\t\tconst timeout = (parseFloat(headers['retry-after']) || 1) * defaultTimeout;\n\t\t// console.log('handleFailedRequest - setTimeout', { url, parameters, method, headers, timeout });\n\t\treturn setTimeout(() => {\n\t\t\tresolve(\n\t\t\t\tdispatch(\n\t\t\t\t\tfetchWrapper(\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tparameters,\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\tfromState,\n\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t}, timeout);\n\t};\n};\n\nconst handleMaintenanceMode = (\n\tdata,\n\tstatus,\n\t{\n\t\turl,\n\t\tparameters,\n\t\tmethod,\n\t\tlockByModal,\n\t\tfromState,\n\t\tdisableErrors,\n\t\tisStatic,\n\t\ttoken,\n\t},\n\tresolve,\n) => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!state.app.maintenanceMode) {\n\t\t\tdispatch(toggleMaintenanceMode(true));\n\t\t}\n\t\tif (isStatic) {\n\t\t\treturn resolve(false);\n\t\t}\n\t\tif (FetchService.noRepeatOnMaintenaceUrl(url)) {\n\t\t\tdispatch(getStatsData());\n\t\t\tif (!disableErrors) {\n\t\t\t\tdispatch(\n\t\t\t\t\thandleErrorsAction(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t},\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tparameters,\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn resolve(false);\n\t\t}\n\t\treturn setTimeout(() => {\n\t\t\tresolve(\n\t\t\t\tdispatch(\n\t\t\t\t\tfetchWrapper(\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tparameters,\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\tfromState,\n\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t}, config.maintenanceModeTimeout);\n\t};\n};\nconst handleUnavailableService = (data, status, { url }, resolve) => {\n\treturn (dispatch) => {\n\t\tif (FetchService.noUnavailableService(url)) {\n\t\t\treturn resolve({\n\t\t\t\tdata,\n\t\t\t\tstatus,\n\t\t\t});\n\t\t}\n\t\tconst dataString = getStringApiInfo(data?.error);\n\t\tconst showUrl = dataString !== config.errors.moduleMaintenanceMode;\n\t\tdispatch(\n\t\t\topenModal(\n\t\t\t\tMODAL_ID.MAINTENANCE_MODULE,\n\t\t\t\t'fetch_503',\n\t\t\t\tshowUrl ? { url, status } : null,\n\t\t\t),\n\t\t);\n\t\treturn resolve(false);\n\t};\n};\nconst handleFailedRequest = (\n\tdata,\n\tresponseParams,\n\t{\n\t\turl,\n\t\tparameters,\n\t\tmethod,\n\t\tlockByModal,\n\t\tfromState,\n\t\tisStatic,\n\t\ttoken,\n\t\tdisableErrors,\n\t},\n\tresolve,\n) => {\n\treturn (dispatch) => {\n\t\t// console.log('handleFailedRequest', {data}, {status}, {url, parameters, method, lockByModal, fromState, disableErrors, isStatic, fetchErrorCounter});\n\t\tif (!fetchErrorCounter[url]) {\n\t\t\tfetchErrorCounter[url] = 0;\n\t\t}\n\t\tif (\n\t\t\tfetchCheckLimit > fetchErrorCounter[url] &&\n\t\t\t(FetchService.canRetryFailedUrl(url) || responseParams.status === 503) &&\n\t\t\t!isStatic\n\t\t) {\n\t\t\tfetchErrorCounter[url] += 1;\n\t\t\treturn dispatch(\n\t\t\t\thandleRepeatRequest(\n\t\t\t\t\tdata,\n\t\t\t\t\tresponseParams,\n\t\t\t\t\t{\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tparameters,\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\tfromState,\n\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\tisStatic,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t},\n\t\t\t\t\tresolve,\n\t\t\t\t\tconfig.serverErrorConnectionTimeout,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (fetchErrorCounter[url]) {\n\t\t\tdelete fetchErrorCounter[url];\n\t\t}\n\t\tif (responseParams.status === 503) {\n\t\t\treturn dispatch(\n\t\t\t\thandleUnavailableService(\n\t\t\t\t\tdata,\n\t\t\t\t\tresponseParams.status,\n\t\t\t\t\t{\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tparameters,\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\tfromState,\n\t\t\t\t\t\tisStatic,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t},\n\t\t\t\t\tresolve,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\t// console.log('handleFailedRequest - resolve', {data}, {status});\n\t\treturn resolve({\n\t\t\t...data,\n\t\t\t...(data.status\n\t\t\t\t? { responseStatus: responseParams.status }\n\t\t\t\t: { status: responseParams.status }),\n\t\t});\n\t};\n};\nexport const fetchWrapper = (\n\turl,\n\tparameters = {},\n\tmethod = 'GET',\n\tlockByModal,\n\tfromState,\n\tdisableErrors,\n\tloaderId,\n\ttoken,\n) => {\n\treturn (dispatch, getState) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst state = getState();\n\t\t\t// if (captchaUrlV2(url, loaderId) && !state.captcha.token && !bypassCaptcha && !state.captcha.lastCheckTimestamp && !state.captcha.bypass) {\n\t\t\t// dispatch(showAlert('error', 'Please, validate captcha'));\n\t\t\t// return resolve(false);\n\t\t\t// }\n\t\t\t// console.log('fetchWrapper', {url,\n\t\t\t// parameters,\n\t\t\t// method,\n\t\t\t// lockByModal,\n\t\t\t// fromState,\n\t\t\t// disableErrors,\n\t\t\t// loaderId} );\n\t\t\tif (!parameters.method) {\n\t\t\t\tparameters = {\n\t\t\t\t\t...parameters,\n\t\t\t\t\tmethod,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (parameters['Authorization'] || tokenService.token.value) {\n\t\t\t\tif (url.indexOf('auto/play') === -1) {\n\t\t\t\t\t// console.log('fetchWrapper', url, `${tokenService.value}`);\n\t\t\t\t\tif (!checkToken(tokenService.token).value) {\n\t\t\t\t\t\tif (state.user.isLogged) {\n\t\t\t\t\t\t\tdispatch(userSessionEnded());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lockByModal && !state.user.isLogged) {\n\t\t\t\t\t\t\tdispatch(openModal(MODAL_ID.NEW_ACCOUNT, url));\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// console.log('fetchWrapper', {tokenService});\n\t\t\t\t\t\treturn resolve({});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst {\n\t\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t\tAuthorization,\n\t\t\t\t\t...data\n\t\t\t\t} = parameters;\n\t\t\t\tparameters = {\n\t\t\t\t\t...(data || {}),\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t...(parameters.headers || {}),\n\t\t\t\t\t\tAuthorization: createAuthToken(\n\t\t\t\t\t\t\ttokenService.token.value || checkToken(),\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlet status = undefined;\n\t\t\tconst getParametersResult = FetchService.getParameters(\n\t\t\t\tparameters,\n\t\t\t\turl,\n\t\t\t\tloaderId,\n\t\t\t);\n\t\t\tconst callback = isFunction(getParametersResult.then)\n\t\t\t\t? () => {\n\t\t\t\t\t\treturn getParametersResult.then((result) => {\n\t\t\t\t\t\t\treturn FetchService.fetch(url, result, fromState, token).catch(\n\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\tconsole.error('fetch - error', error, {\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t }\n\t\t\t\t: () => {\n\t\t\t\t\t\treturn FetchService.fetch(\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tgetParametersResult,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t).catch((error) => {\n\t\t\t\t\t\t\t// console.error('fetch - error', error, {\n\t\t\t\t\t\t\t// \tgetParametersResult\n\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t});\n\t\t\t\t };\n\t\t\tconst handleResult = (response, responseParams) => {\n\t\t\t\treturn resolve(\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\thandleWrapperResponse(response, responseParams, {\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\tparameters: getParametersResult,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tlockByModal,\n\t\t\t\t\t\t\tfromState,\n\t\t\t\t\t\t\tdisableErrors,\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t};\n\t\t\treturn callback()\n\t\t\t\t.then((response) => {\n\t\t\t\t\tstatus = response.status;\n\t\t\t\t\tconst headers = {};\n\t\t\t\t\tconst allHeaders = isFunction(response?.getAllResponseHeaders)\n\t\t\t\t\t\t? response.getAllResponseHeaders()\n\t\t\t\t\t\t: '';\n\t\t\t\t\tallHeaders\n\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t.split(/[\\r\\n]+/)\n\t\t\t\t\t\t.forEach((string) => {\n\t\t\t\t\t\t\tconst [key, value] = string.split(': ');\n\t\t\t\t\t\t\theaders[key] = value;\n\t\t\t\t\t\t});\n\t\t\t\t\tif (status === 403 && NEXT_CONFIG.DEV) {\n\t\t\t\t\t\tconsole.error(new Error(`Invalid Authorization - ${url}`));\n\t\t\t\t\t}\n\t\t\t\t\treturn FetchService.getResponseData(response)\n\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t// console.log('getResponse', data, response);\n\t\t\t\t\t\t\treturn handleResult(data, { status, headers });\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t// console.error('getResponseData - error', error);\n\t\t\t\t\t\t\treturn handleResult(error, { status, headers });\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\t// console.error('fetchWrapper - error', error);\n\t\t\t\t\treturn handleResult(error, { status });\n\t\t\t\t});\n\t\t});\n\t};\n};\n","import {\n\tFORM_VERIFICATION_SET_GAME,\n\tRESET_CAMPAIGN_FORM,\n\tRESET_FORMS,\n\tRESET_PASSWORD_FORM,\n\tRESET_USERNAME_FORM,\n\tRESET_VERIFICATION_FORM,\n\tSET_CLIENT_SEED,\n\tSET_NONCE,\n\tSET_SERVER_SEED,\n\tUPDATE_CAMPAIGN_CODE,\n\tUPDATE_CAMPAIGN_NAME,\n\tUPDATE_FORM,\n\tUPDATE_PASSWORD_CONFIRM_VALUE,\n\tUPDATE_PASSWORD_VALIDATE,\n\tUPDATE_PASSWORD_VALUE,\n\tUPDATE_USERNAME_VALIDATE,\n\tUPDATE_USERNAME_VALUE,\n} from './forms.constants';\n\nconst resetForms = () => {\n\treturn {\n\t\ttype: RESET_FORMS,\n\t};\n};\n\nconst resetPasswordForm = () => {\n\treturn {\n\t\ttype: RESET_PASSWORD_FORM,\n\t};\n};\n\nconst resetUsernameForm = () => {\n\treturn {\n\t\ttype: RESET_USERNAME_FORM,\n\t};\n};\n\nconst resetVerificationForm = () => {\n\treturn {\n\t\ttype: RESET_VERIFICATION_FORM,\n\t};\n};\n\nconst updatePasswordConfirmValue = (payload) => {\n\treturn {\n\t\ttype: UPDATE_PASSWORD_CONFIRM_VALUE,\n\t\tpayload,\n\t};\n};\n\nconst updatePasswordValue = (payload) => {\n\treturn {\n\t\ttype: UPDATE_PASSWORD_VALUE,\n\t\tpayload,\n\t};\n};\n\nconst updatePasswordValidate = (payload) => {\n\treturn {\n\t\ttype: UPDATE_PASSWORD_VALIDATE,\n\t\tpayload,\n\t};\n};\n\nconst updateUsernameValue = (payload) => {\n\treturn {\n\t\ttype: UPDATE_USERNAME_VALUE,\n\t\tpayload,\n\t};\n};\n\nconst updateUsernameValidate = (payload) => {\n\treturn {\n\t\ttype: UPDATE_USERNAME_VALIDATE,\n\t\tpayload,\n\t};\n};\n\nconst setClientSeed = (payload) => {\n\treturn {\n\t\ttype: SET_CLIENT_SEED,\n\t\tpayload,\n\t};\n};\n\nconst setServerSeed = (payload) => {\n\treturn {\n\t\ttype: SET_SERVER_SEED,\n\t\tpayload,\n\t};\n};\n\nconst setNonce = (payload) => {\n\treturn {\n\t\ttype: SET_NONCE,\n\t\tpayload,\n\t};\n};\n\nconst formVerificationSetGame = (payload) => ({\n\ttype: FORM_VERIFICATION_SET_GAME,\n\tpayload,\n});\n\nconst updateCampaignName = (payload) => {\n\treturn {\n\t\ttype: UPDATE_CAMPAIGN_NAME,\n\t\tpayload,\n\t};\n};\n\nconst updateCampaignCode = (payload) => {\n\treturn {\n\t\ttype: UPDATE_CAMPAIGN_CODE,\n\t\tpayload,\n\t};\n};\n\nconst resetCampaignForm = () => {\n\treturn {\n\t\ttype: RESET_CAMPAIGN_FORM,\n\t};\n};\n\nexport const updateForm = ({ section, field, value }) => {\n\treturn {\n\t\ttype: UPDATE_FORM,\n\t\tpayload: {\n\t\t\tsection,\n\t\t\tfield,\n\t\t\tvalue,\n\t\t},\n\t};\n};\n\nexport {\n\tresetForms,\n\tresetPasswordForm,\n\tresetUsernameForm,\n\tupdatePasswordConfirmValue,\n\tupdatePasswordValue,\n\tupdatePasswordValidate,\n\tupdateUsernameValue,\n\tupdateUsernameValidate,\n\tsetClientSeed,\n\tsetNonce,\n\tsetServerSeed,\n\tresetVerificationForm,\n\tupdateCampaignCode,\n\tupdateCampaignName,\n\tresetCampaignForm,\n\tformVerificationSetGame,\n};\n","export const UPDATE_PASSWORD_VALUE = 'UPDATE_PASSWORD_VALUE';\nexport const UPDATE_PASSWORD_CONFIRM_VALUE = 'UPDATE_PASSWORD_CONFIRM_VALUE';\nexport const UPDATE_PASSWORD_VALIDATE = 'UPDATE_PASSWORD_VALIDATE';\n\nexport const UPDATE_USERNAME_VALUE = 'UPDATE_USERNAME_VALUE';\nexport const UPDATE_USERNAME_VALIDATE = 'UPDATE_USERNAME_VALIDATE';\nexport const UPDATE_FORM = 'UPDATE_FORM';\n\nexport const UPDATE_CAMPAIGN_NAME = 'UPDATE_CAMPAIGN_NAME';\nexport const UPDATE_CAMPAIGN_CODE = 'UPDATE_CAMPAIGN_CODE';\n\nexport const SET_CLIENT_SEED = 'SET_CLIENT_SEED';\nexport const SET_SERVER_SEED = 'SET_SERVER_SEED';\nexport const SET_NONCE = 'SET_NONCE';\nexport const FORM_VERIFICATION_SET_GAME = 'FORM_VERIFICATION_SET_GAME';\n\nexport const RESET_FORMS = 'RESET_FORMS';\nexport const RESET_PASSWORD_FORM = 'RESET_PASSWORD_FORM';\nexport const RESET_USERNAME_FORM = 'RESET_USERNAME_FORM';\nexport const RESET_VERIFICATION_FORM = 'RESET_VERIFICATION_FORM';\nexport const RESET_CAMPAIGN_FORM = 'RESET_CAMPAIGN_FORM';\n","import { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport {\n\tprivateMessagesCloseActive,\n\tprivateMessagesGetHistory,\n\tprivateMessagesSetActiveList,\n\tprivateMessagesSetHistory,\n} from '../privateMessages/privateMessages.actions';\nimport { actionSimple } from '../../modules/app/actionService';\nimport { fetchApi } from '../fetch/fetch.thunk';\nimport { getTransactionsThunk } from '../transactions/thunks/getTransactions.thunk';\nimport {\n\tFRIENDS_ACCEPTED_REQUEST,\n\tFRIENDS_CANCELLED_REQUEST,\n\tFRIENDS_DELETED,\n\tFRIENDS_GET_LIST,\n\tFRIENDS_GET_ONLINE,\n\tFRIENDS_GET_REQUESTS,\n\tFRIENDS_NEW_REQUEST,\n\tFRIENDS_REPEAT_ONLINE,\n\tFRIENDS_SET_DISABLE_ONLINE,\n\tFRIENDS_SET_LIST,\n\tFRIENDS_SET_ONLINE,\n\tFRIENDS_SET_REQUESTS,\n} from './friends.constants';\n\nexport const friendsSetList = (payload) => ({\n\ttype: FRIENDS_SET_LIST,\n\tpayload,\n});\n\nexport const friendsSetRequests = (payload) => ({\n\ttype: FRIENDS_SET_REQUESTS,\n\tpayload,\n});\n\nexport const friendsGetList = () => ({\n\ttype: FRIENDS_GET_LIST,\n});\n\nexport const friendsGetRequests = () => ({\n\ttype: FRIENDS_GET_REQUESTS,\n});\n\nexport const friendsNewRequest = (payload) => ({\n\ttype: FRIENDS_NEW_REQUEST,\n\tpayload,\n});\n\nexport const friendsCancelledRequest = (payload) => ({\n\ttype: FRIENDS_CANCELLED_REQUEST,\n\tpayload,\n});\n\nexport const friendsAcceptedRequest = (payload) => ({\n\ttype: FRIENDS_ACCEPTED_REQUEST,\n\tpayload,\n});\n\nexport const friendsDeleted = (payload) => ({\n\ttype: FRIENDS_DELETED,\n\tpayload,\n});\n\nexport const friendsAcceptRequest = (uuid) => {\n\treturn (dispatch) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/request/accept',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'sendFriendRequestAccept',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\tdispatch([\n\t\t\t\tfriendsGetList(),\n\t\t\t\tfriendsGetRequests(),\n\t\t\t\tprivateMessagesGetHistory(),\n\t\t\t]);\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nexport const friendsRejectRequest = (uuid) => {\n\treturn (dispatch) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/request/reject',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'sendFriendRequestReject',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\tdispatch(friendsGetRequests());\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nexport const friendsRemove = (uuid) => {\n\treturn (dispatch, getState) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/remove',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'removeFriend',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\tconst state = getState();\n\t\t\tconst result = [];\n\t\t\tif (state.friends.list.some((el) => el.user.uuid === uuid)) {\n\t\t\t\tresult.push(friendsGetList());\n\t\t\t}\n\t\t\tif (!state.preferences.community.allow_messages_from_all.bool) {\n\t\t\t\tresult.push(\n\t\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\t\tstate.privateMessages.history.filter((el) => el.user.uuid !== uuid),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tresult.push(\n\t\t\t\t\tprivateMessagesCloseActive(\n\t\t\t\t\t\tstate.privateMessages.activeList.find(\n\t\t\t\t\t\t\t(el) => el.user.uuid === uuid,\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (result.length) {\n\t\t\t\tdispatch(result);\n\t\t\t}\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nexport const friendsSendRequest = (uuid) => {\n\treturn (dispatch) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/request',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'sendFriendRequest',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nexport const friendsCheckStatus = (uuid) => {\n\treturn (dispatch) => {\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t`/user/friends/status/${uuid}`,\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\t'GET',\n\t\t\t\t'getFriendStatus',\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t).then((data) => {\n\t\t\treturn data;\n\t\t});\n\t};\n};\n\nexport const friendsIgnore = (uuid) => {\n\treturn (dispatch, getState) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/ignore',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'setIgnoreUser',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\tconst state = getState();\n\t\t\tif (state.friends.list.some((el) => el.user.uuid === uuid)) {\n\t\t\t\tdispatch(friendsGetList());\n\t\t\t}\n\t\t\tif (state.friends.requests.some((el) => el.user.uuid === uuid)) {\n\t\t\t\tdispatch(friendsGetRequests());\n\t\t\t}\n\t\t\tif (state.transactions.active[TABLE_ID.friendsIgnored]) {\n\t\t\t\tdispatch(\n\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\tid: TABLE_ID.friendsIgnored,\n\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (data.state === 'ignoring') {\n\t\t\t\tdispatch(\n\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t'info',\n\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\tlabel: 'User {{userName}} - ignored!',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tuserName: data.user.login,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!state.preferences.community.allow_messages_from_all.bool) {\n\t\t\t\tdispatch(\n\t\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\t\tstate.privateMessages.history.filter((el) => el.user.uuid !== uuid),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tprivateMessagesSetActiveList(\n\t\t\t\t\t\tstate.privateMessages.activeList.filter(\n\t\t\t\t\t\t\t(el) => el.user.uuid !== uuid,\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tdispatch(friendsGetOnline());\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nexport const friendsUnignore = (uuid) => {\n\treturn (dispatch, getState) => {\n\t\tif (dispatch(isMyUuid(uuid))) {\n\t\t\treturn dispatch(showAlert('info', \"Don't do it on yourself\"));\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\t'/user/friends/unignore',\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tuuid,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'POST',\n\t\t\t\t'setUnignoreUser',\n\t\t\t),\n\t\t).then((data) => {\n\t\t\tconst state = getState();\n\t\t\tif (state.transactions.active[TABLE_ID.friendsIgnored]) {\n\t\t\t\tdispatch(\n\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\tid: TABLE_ID.friendsIgnored,\n\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (data.state !== 'ignoring') {\n\t\t\t\tdispatch(\n\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t'info',\n\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\tlabel: 'User {{userName}} - unignored!',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tuserName: data.user.login,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!state.preferences.community.allow_messages_from_all.bool) {\n\t\t\t\tdispatch(privateMessagesGetHistory());\n\t\t\t}\n\t\t\tdispatch(friendsGetOnline());\n\t\t\treturn data.state || null;\n\t\t});\n\t};\n};\n\nconst isMyUuid = (uuid) => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\treturn uuid === state.user.id;\n\t};\n};\n\nexport const friendsSetOnline = (payload) => ({\n\ttype: FRIENDS_SET_ONLINE,\n\tpayload,\n});\n\nexport const friendsGetOnline = () => ({\n\ttype: FRIENDS_GET_ONLINE,\n});\n\nexport const friendsSetDisableOnline = actionSimple(FRIENDS_SET_DISABLE_ONLINE);\n\nexport const friendsRepeatOnline = () => ({\n\ttype: FRIENDS_REPEAT_ONLINE,\n});\n","export const FRIENDS_GET_LIST = 'FRIENDS_GET_LIST';\nexport const FRIENDS_GET_REQUESTS = 'FRIENDS_GET_REQUESTS';\nexport const FRIENDS_SET_LIST = 'FRIENDS_SET_LIST';\nexport const FRIENDS_SET_REQUESTS = 'FRIENDS_SET_REQUESTS';\nexport const FRIENDS_NEW_REQUEST = 'FRIENDS_NEW_REQUEST';\nexport const FRIENDS_CANCELLED_REQUEST = 'FRIENDS_CANCELLED_REQUEST';\nexport const FRIENDS_ACCEPTED_REQUEST = 'FRIENDS_ACCEPTED_REQUEST';\nexport const FRIENDS_DELETED = 'FRIENDS_DELETED';\nexport const FRIENDS_SET_ONLINE = 'FRIENDS_SET_ONLINE';\nexport const FRIENDS_SET_DISABLE_ONLINE = 'FRIENDS_SET_DISABLE_ONLINE';\nexport const FRIENDS_GET_ONLINE = 'FRIENDS_GET_ONLINE';\nexport const FRIENDS_REPEAT_ONLINE = 'FRIENDS_REPEAT_ONLINE';\n\n// available friends statuses\nexport const IGNORING = 'ignoring'; // ignored by me\nexport const IGNORED = 'ignored'; // ignored by user\nexport const NONE = null; // no relation\nexport const SENT = 'sent'; // sent friend request\nexport const FRIEND = 'friend'; // friend relation\nexport const REQUEST = 'request'; // received friend request\n","import { actionSimple } from '../../modules/app/actionService';\nimport {\n\tGET_STATS_DATA,\n\tGLOBAL_STATS_GET_LAST_WEEK,\n\tGLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS,\n\tGLOBAL_STATS_SET_LAST_WEEK_WAGERED,\n\tHANDLE_STATS_UPDATE,\n\tSET_BETS_TOTAL,\n\tSET_LAST_HIGH_WIN,\n\tSET_ONLINE_USERS,\n\tSET_PRICE,\n\tSET_TIMESTAMP,\n\tSET_WON_LAST_24H,\n\tUPDATE_STATS_DATA,\n} from './globalStatistics.constants';\n\nexport const getStatsData = (token) => {\n\treturn {\n\t\ttype: GET_STATS_DATA,\n\t\ttoken,\n\t};\n};\n\nexport const handleStatsUpdate = actionSimple(HANDLE_STATS_UPDATE);\n\nexport const setPrice = actionSimple(SET_PRICE);\n\nexport const setBetsTotal = actionSimple(SET_BETS_TOTAL);\n\nexport const setOnlineUsers = actionSimple(SET_ONLINE_USERS);\n\nexport const setStatsTimestamp = (payload, key) => {\n\treturn {\n\t\ttype: SET_TIMESTAMP,\n\t\tpayload,\n\t\tkey,\n\t};\n};\n\nexport const setWonLast24h = actionSimple(SET_WON_LAST_24H);\n\nexport const updateStatsData = actionSimple(UPDATE_STATS_DATA);\n\nexport const setLastHighWin = actionSimple(SET_LAST_HIGH_WIN);\n\nexport const globalStatsSetLastWeekWagered = actionSimple(\n\tGLOBAL_STATS_SET_LAST_WEEK_WAGERED,\n);\n\nexport const globalStatsSetLastWeekRegistrations = actionSimple(\n\tGLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS,\n);\n\nexport const globalStatsGetLastWeek = actionSimple(GLOBAL_STATS_GET_LAST_WEEK);\n","export const GET_STATS_DATA = 'GET_STATS_DATA';\nexport const UPDATE_STATS_DATA = 'UPDATE_STATS_DATA';\nexport const HANDLE_STATS_UPDATE = 'HANDLE_STATS_UPDATE';\n\nexport const SET_PRICE = 'SET_PRICE';\nexport const SET_BETS_TOTAL = 'SET_BETS_TOTAL';\nexport const SET_WON_LAST_24H = 'SET_WON_LAST_24H';\nexport const SET_ONLINE_USERS = 'SET_ONLINE_USERS';\nexport const SET_TIMESTAMP = 'SET_TIMESTAMP';\nexport const SET_LAST_HIGH_WIN = 'SET_LAST_HIGH_WIN';\nexport const GLOBAL_STATS_GET_LAST_WEEK = 'GLOBAL_STATS_GET_LAST_WEEK';\nexport const GLOBAL_STATS_SET_LAST_WEEK_WAGERED =\n\t'GLOBAL_STATS_SET_LAST_WEEK_WAGERED';\nexport const GLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS =\n\t'GLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS';\n","import {\n\tCLEAR_GTM_PAGE_DATA,\n\tDAILY_STREAK_GTM_EVENT,\n\tDEPOSIT_GTM_EVENT,\n\tFAUCET_GTM_EVENT,\n\tPUSH_GTM_EVENT,\n\tREGISTER_GTM_EVENT,\n\tWITHDRAW_GTM_EVENT,\n} from './gtm.constants';\n\nconst push = (options, data) => {\n\treturn {\n\t\ttype: PUSH_GTM_EVENT,\n\t\toptions,\n\t\tdata,\n\t};\n};\n\nconst depositEvent = (data) => {\n\treturn {\n\t\ttype: DEPOSIT_GTM_EVENT,\n\t\tdata,\n\t};\n};\n\nconst withdrawEvent = (data) => {\n\treturn {\n\t\ttype: WITHDRAW_GTM_EVENT,\n\t\tdata,\n\t};\n};\n\nconst registerEvent = (data, location) => {\n\treturn {\n\t\ttype: REGISTER_GTM_EVENT,\n\t\tdata,\n\t\tlocation,\n\t};\n};\n\nconst faucetEvent = (data) => {\n\treturn {\n\t\ttype: FAUCET_GTM_EVENT,\n\t\tdata,\n\t};\n};\n\nconst dailyStreakEvent = (data) => {\n\treturn {\n\t\ttype: DAILY_STREAK_GTM_EVENT,\n\t\tdata,\n\t};\n};\n\nconst clearGtmPageData = () => ({\n\ttype: CLEAR_GTM_PAGE_DATA,\n});\n\nexport {\n\tdailyStreakEvent,\n\tfaucetEvent,\n\tregisterEvent,\n\twithdrawEvent,\n\tdepositEvent,\n\tpush,\n\tclearGtmPageData,\n};\n","export const DEPOSIT_GTM_EVENT = 'DEPOSIT_GTM_EVENT';\nexport const WITHDRAW_GTM_EVENT = 'WITHDRAW_GTM_EVENT';\nexport const DAILY_STREAK_GTM_EVENT = 'DAILY_STREAK_GTM_EVENT';\nexport const REGISTER_GTM_EVENT = 'REGISTER_GTM_EVENT';\nexport const FAUCET_GTM_EVENT = 'FAUCET_GTM_EVENT';\nexport const PUSH_GTM_EVENT = 'PUSH_GTM_EVENT';\nexport const CLEAR_GTM_PAGE_DATA = 'CLEAR_GTM_PAGE_DATA';\n","import { actionSimple } from '../../modules/app/actionService';\nimport {\n\tLOADER_GROUP_LOADED,\n\tLOADER_GROUP_LOADING,\n\tLOADER_GROUP_SET_DATA,\n\tLOADER_MODULE_LOADED,\n\tLOADER_MODULE_LOADING,\n} from './loader.constants';\n\nexport const loaderModuleLoaded = actionSimple(LOADER_MODULE_LOADED);\n\nexport const loaderModuleLoading = actionSimple(LOADER_MODULE_LOADING);\n\nexport const loaderGroupLoaded = actionSimple(LOADER_GROUP_LOADED);\n\nexport const loaderGroupLoading = actionSimple(LOADER_GROUP_LOADING);\n\nexport const loaderGroupSetData = actionSimple(LOADER_GROUP_SET_DATA);\n\nexport const isLoadingThunk = (id) => {\n\treturn (dispatch, getState) => {\n\t\tconst modules = getState().loader.modules;\n\t\tif (typeof id === 'object' && id.length !== undefined) {\n\t\t\treturn id.some((el) => modules[el]);\n\t\t}\n\t\treturn modules[id];\n\t};\n};\n\nexport const loaderThunk = (bool, id) => {\n\treturn (dispatch) => {\n\t\tif (id) {\n\t\t\treturn bool\n\t\t\t\t? dispatch(loaderModuleLoading(id))\n\t\t\t\t: dispatch(loaderModuleLoaded(id));\n\t\t}\n\t};\n};\n","export const LOADER_MODULE_LOADING = 'LOADER_MODULE_LOADING';\nexport const LOADER_MODULE_LOADED = 'LOADER_MODULE_LOADED';\nexport const LOADER_GROUP_LOADING = 'LOADER_GROUP_LOADING';\nexport const LOADER_GROUP_LOADED = 'LOADER_GROUP_LOADED';\nexport const IS_LOADING = 'IS_LOADING';\nexport const LOADER_GROUP_SET_DATA = 'LOADER_GROUP_SET_DATA';\n","import {\n\tNOTIFICATION_DISABLE,\n\tNOTIFICATION_ENABLE,\n\tNOTIFICATION_ID,\n\tSET_IS_ANY_NOTIFICATION,\n} from './notification.constants';\n\nexport const notificationEnable = (\n\tid: NOTIFICATION_ID,\n\tonChangeCallback?: () => void,\n) => {\n\treturn {\n\t\ttype: NOTIFICATION_ENABLE,\n\t\tid,\n\t\tonChangeCallback,\n\t};\n};\n\nexport const notificationDisable = (\n\tid: NOTIFICATION_ID,\n\tonChangeCallback?: () => void,\n) => {\n\treturn {\n\t\ttype: NOTIFICATION_DISABLE,\n\t\tid,\n\t\tonChangeCallback,\n\t};\n};\n\nexport const setIsAnyNotification = (payload) => {\n\treturn {\n\t\ttype: SET_IS_ANY_NOTIFICATION,\n\t\tpayload,\n\t};\n};\n","export const SET_IS_ANY_NOTIFICATION = 'SET_IS_ANY_NOTIFICATION';\nexport const NOTIFICATION_ENABLE = 'NOTIFICATION_ENABLE';\nexport const NOTIFICATION_DISABLE = 'NOTIFICATION_DISABLE';\n\nexport enum NOTIFICATION_ID {\n\tHAS_EMAIL_TO_VERIFY = 'hasEmailToVerify',\n\tHAS_PASSWORD_TO_SET = 'hasPasswordToSet',\n\tNEW_FEATURES = 'newFeatures',\n\tHAS_BONUS_CODE = 'hasBonusCode',\n\tHAS_KYC_TO_VERIFY = 'hasKycToVerify',\n\tHAS_VIP_WHEEL_TO_SPIN = 'hasVipWheelToSpin',\n}\n","export const ONESIGNAL_INIT = 'ONESIGNAL_INIT';\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { vipActions } from '@modules/vip/store/vip.actions';\nimport { USER_LOGOUT } from '../user/user.constants';\nimport { TRANSACTIONS_SET } from '../transactions/transactions.constants';\nimport { epic } from '../../modules/app/epicService';\nimport { initOneSignal } from '../../modules/app/vendorService';\nimport { ONESIGNAL_INIT } from './onesignal.constants';\n\nexport const pushOneSignal = (action) => {\n\tif (window.OneSignal) {\n\t\tif (window.OneSignalActions?.length) {\n\t\t\twindow.OneSignalActions.forEach((action) =>\n\t\t\t\twindow.OneSignal.push(action),\n\t\t\t);\n\t\t}\n\t\twindow.OneSignalActions = [];\n\t\treturn window.OneSignal.push(action);\n\t}\n\twindow.OneSignalActions = [];\n\treturn window.OneSignalActions.push(action);\n};\n\nexport const setOneSignalTag = (key, value) => {\n\tpushOneSignal(() => {\n\t\twindow.OneSignal?.getTags?.(function () {\n\t\t\t// console.log('OneSignal tags:', tags);\n\t\t\tpushOneSignal(() => {\n\t\t\t\twindow.OneSignal?.sendTag?.(key, value);\n\t\t\t});\n\t\t});\n\t});\n};\n\nconst oneSignalInitEpic = epic('oneSignalInitEpic', {\n\tactions: (ofType) => ofType(ONESIGNAL_INIT),\n\tcallback: ({ action }) => {\n\t\tif (process.browser) {\n\t\t\tinitOneSignal().then(async () => {\n\t\t\t\tif (action.externalUserId) {\n\t\t\t\t\tpushOneSignal(() => {\n\t\t\t\t\t\twindow.OneSignal?.setExternalUserId?.(action.externalUserId);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst depositEpic = epic('depositEpic', {\n\tactions: (ofType) => ofType(TRANSACTIONS_SET),\n\tcallback: ({ action }) => {\n\t\tif (process.browser) {\n\t\t\tif (action.id !== TABLE_ID.depositHistory) {\n\t\t\t\treturn of();\n\t\t\t}\n\t\t\tsetOneSignalTag('deposit', !!action.payload.length);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst vipEpic = epic('vipEpic', {\n\tactions: (ofType) => ofType(vipActions.levelUpdate().type),\n\tcallback: ({ store$ }) => {\n\t\tif (process.browser) {\n\t\t\tif (!store$.value.vip.level.level) {\n\t\t\t\treturn of();\n\t\t\t}\n\t\t\tsetOneSignalTag('vip', store$.value.vip.level.level);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst logoutEpic = epic('logoutEpic', {\n\tactions: (ofType) => ofType(USER_LOGOUT),\n\tcallback: () => {\n\t\tif (process.browser) {\n\t\t\tpushOneSignal(() => {\n\t\t\t\t// window.OneSignal.logoutEmail();\n\t\t\t\twindow.OneSignal?.removeExternalUserId?.();\n\t\t\t});\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst onesignalEpic = combineEpics(\n\toneSignalInitEpic,\n\tdepositEpic,\n\tvipEpic,\n\tlogoutEpic,\n);\n\nexport { onesignalEpic };\n","import { actionSimple } from '../../modules/app/actionService';\nimport { OPTIONS_DISABLE, OPTIONS_ENABLE } from './options.constants';\n\nexport const optionsEnable = actionSimple(OPTIONS_ENABLE);\n\nexport const optionsDisable = actionSimple(OPTIONS_DISABLE);\n","export const OPTIONS_ENABLE = 'OPTIONS_ENABLE';\nexport const OPTIONS_DISABLE = 'OPTIONS_DISABLE';\n\nexport const OPTIONS = {\n\tSOUND: 'sound',\n\tANIMATION: 'animation',\n\tAUTOBET_SUMMARY: 'autobetSummary',\n\tMAX_BET: 'maxBet',\n\tCHART: 'chart',\n\tHOTKEYS: 'hotkeys',\n\tAUTOBET_CHART: 'autobetChart',\n\tTIP: 'tip',\n\tHIGH_SPEED: 'highSpeed',\n\tHIDE_ZERO_BALANCES: 'hideZeroBalances',\n} as const;\n\ntype Options = keyof typeof OPTIONS;\nexport type OptionsType = (typeof OPTIONS)[Options];\n","import { TransProps } from '../../modules/translation/translate';\nimport { OPTIONS } from './options.constants';\n\nexport const OPTIONS_WITH_CONFIRMATION: Record<string, TransProps> = {\n\t[OPTIONS.HIGH_SPEED]: {\n\t\tlabel: `You want to enable High Speed Animation Mode. In this mode we will start next bet by strategy immediately without waiting for bet animation to finish. It will make your betting much faster and will not affect order of bets. Do you want to enable it?`,\n\t},\n} as const;\n","import { GameType } from '@modules/games/Game/constants/availableGames';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { generateConfirmOptionKey } from '@modules/localStorage/types/localStorageKeys.type';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\nimport { optionsDisable, optionsEnable } from '../options.actions';\nimport { OptionsType } from '../options.constants';\nimport { setConfirm } from '../../confirm/confirm.actions';\nimport { OPTIONS_WITH_CONFIRMATION } from '../options.with.confirmation';\nimport { day, second } from '../../../modules/app/time';\n\nexport interface OptionChangeThunkOptions {\n\tgame?: GameType;\n\tnoAlert?: boolean;\n}\n\nexport const optionChangeThunk =\n\t(id: OptionsType, value: boolean, options?: OptionChangeThunkOptions) =>\n\t(dispatch, getState) => {\n\t\tconst enabled = getState().options[id];\n\t\tif (value === undefined) {\n\t\t\tvalue = !enabled;\n\t\t}\n\t\tconst action = value ? optionsEnable : optionsDisable;\n\t\tconst lastConfirmTimestamp = Number(lsGet(generateConfirmOptionKey(id)));\n\t\tconst isLastConfirmValid =\n\t\t\tlastConfirmTimestamp && lastConfirmTimestamp + day > new Date().getTime();\n\t\tif (value && OPTIONS_WITH_CONFIRMATION?.[id] && !isLastConfirmValid) {\n\t\t\tif (options?.noAlert) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn dispatch(\n\t\t\t\tsetConfirm({\n\t\t\t\t\tquestion: simpleTrans(OPTIONS_WITH_CONFIRMATION[id].label as string, {\n\t\t\t\t\t\tgame: options?.game,\n\t\t\t\t\t\t...(OPTIONS_WITH_CONFIRMATION[id]?.options || {}),\n\t\t\t\t\t}),\n\t\t\t\t\tlockConfirm: 3 * second,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tlsSet(generateConfirmOptionKey(id), new Date().getTime());\n\t\t\t\t\t\tdispatch(optionsEnable(id, options?.noAlert));\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tdispatch(action(id, options?.noAlert));\n\t};\n","import {\n\tPREFERENCES_INIT,\n\tPREFERENCES_SET,\n\tPREFERENCES_UPDATE,\n} from './preferences.constants';\n\nexport const preferencesSet = (data_type, payload) => ({\n\ttype: PREFERENCES_SET,\n\tpayload,\n\tdata_type,\n});\n\nexport const preferencesUpdate = (data_type, payload) => ({\n\ttype: PREFERENCES_UPDATE,\n\tpayload,\n\tdata_type,\n});\n\nexport const preferencesInit = (data_type, payload) => ({\n\ttype: PREFERENCES_INIT,\n\tpayload,\n\tdata_type,\n});\n","export const PREFERENCES_SET = 'PREFERENCES_SET';\nexport const PREFERENCES_UPDATE = 'PREFERENCES_UPDATE';\nexport const PREFERENCES_INIT = 'PREFERENCES_INIT';\n","import {\n\tPRIVATE_MESSAGES_CHANNEL_ID,\n\tPRIVATE_MESSAGES_CHANNEL_READ,\n\tPRIVATE_MESSAGES_CHANNEL_READ_SEND,\n\tPRIVATE_MESSAGES_CLEAR_STREAM_DATA,\n\tPRIVATE_MESSAGES_CLOSE_ACTIVE,\n\tPRIVATE_MESSAGES_GET_HISTORY,\n\tPRIVATE_MESSAGES_GET_STREAM,\n\tPRIVATE_MESSAGES_NEW_MESSAGE,\n\tPRIVATE_MESSAGES_OPEN_ACTIVE,\n\tPRIVATE_MESSAGES_SET_ACTIVE_LIST,\n\tPRIVATE_MESSAGES_SET_HISTORY,\n\tPRIVATE_MESSAGES_SET_STREAM,\n\tPRIVATE_MESSAGES_SET_UNREAD,\n} from './privateMessages.constants';\n\nexport const privateMessagesSetHistory = (payload) => ({\n\ttype: PRIVATE_MESSAGES_SET_HISTORY,\n\tpayload,\n});\n\nexport const privateMessagesGetHistory = () => ({\n\ttype: PRIVATE_MESSAGES_GET_HISTORY,\n});\n\nexport const privateMessagesSetActiveList = (payload) => ({\n\ttype: PRIVATE_MESSAGES_SET_ACTIVE_LIST,\n\tpayload,\n});\n\nexport const privateMessagesOpenActive = (payload) => ({\n\ttype: PRIVATE_MESSAGES_OPEN_ACTIVE,\n\tpayload,\n});\n\nexport const privateMessagesCloseActive = (payload) => ({\n\ttype: PRIVATE_MESSAGES_CLOSE_ACTIVE,\n\tpayload,\n});\n\nexport const privateMessagesGetStream = (payload, nonce) => ({\n\ttype: PRIVATE_MESSAGES_GET_STREAM,\n\tpayload,\n\tnonce,\n});\n\nexport const privateMessagesSetStream = (channel, data) => ({\n\ttype: PRIVATE_MESSAGES_SET_STREAM,\n\tchannel,\n\tdata,\n});\n\nexport const privateMessagesClearStreamData = (channel) => ({\n\ttype: PRIVATE_MESSAGES_CLEAR_STREAM_DATA,\n\tchannel,\n});\n\nexport const privateMessagesChannelId = (payload) => ({\n\ttype: PRIVATE_MESSAGES_CHANNEL_ID,\n\tpayload,\n});\n\nexport const privateMessagesNewMessages = (payload) => ({\n\ttype: PRIVATE_MESSAGES_NEW_MESSAGE,\n\tpayload,\n});\n\nexport const privateMessagesSetUnread = (channel, nonce) => ({\n\ttype: PRIVATE_MESSAGES_SET_UNREAD,\n\tchannel,\n\tnonce,\n});\n\nexport const privateMessagesChannelRead = (channel) => ({\n\ttype: PRIVATE_MESSAGES_CHANNEL_READ,\n\tchannel,\n});\n\nexport const privateMessagesChannelReadSend = (payload, force) => ({\n\ttype: PRIVATE_MESSAGES_CHANNEL_READ_SEND,\n\tpayload,\n\tforce,\n});\n","export const PRIVATE_MESSAGES_SET_HISTORY = 'PRIVATE_MESSAGES_SET_HISTORY';\nexport const PRIVATE_MESSAGES_GET_HISTORY = 'PRIVATE_MESSAGES_GET_HISTORY';\n\nexport const PRIVATE_MESSAGES_SET_ACTIVE_LIST =\n\t'PRIVATE_MESSAGES_SET_ACTIVE_LIST';\nexport const PRIVATE_MESSAGES_OPEN_ACTIVE = 'PRIVATE_MESSAGES_OPEN_ACTIVE';\nexport const PRIVATE_MESSAGES_CLOSE_ACTIVE = 'PRIVATE_MESSAGES_CLOSE_ACTIVE';\nexport const PRIVATE_MESSAGES_GET_STREAM = 'PRIVATE_MESSAGES_GET_STREAM';\nexport const PRIVATE_MESSAGES_SET_STREAM = 'PRIVATE_MESSAGES_SET_STREAM';\nexport const PRIVATE_MESSAGES_CLEAR_STREAM_DATA =\n\t'PRIVATE_MESSAGES_CLEAR_STREAM_DATA';\nexport const PRIVATE_MESSAGES_CHANNEL_ID = 'PRIVATE_MESSAGES_CHANNEL_ID';\nexport const PRIVATE_MESSAGES_NEW_MESSAGE = 'PRIVATE_MESSAGES_NEW_MESSAGE';\nexport const PRIVATE_MESSAGES_SET_UNREAD = 'PRIVATE_MESSAGES_SET_UNREAD';\nexport const PRIVATE_MESSAGES_CHANNEL_READ = 'PRIVATE_MESSAGES_CHANNEL_READ';\nexport const PRIVATE_MESSAGES_CHANNEL_READ_SEND =\n\t'PRIVATE_MESSAGES_CHANNEL_READ_SEND';\n","export const SUBMIT_RAIN = 'SUBMIT_RAIN';\n","import { actionSimple } from '../../modules/app/actionService';\nimport {\n\tREGISTRY_EPIC_INJECT,\n\tREGISTRY_EPIC_INJECTED,\n\tREGISTRY_EPIC_REJECT,\n\tREGISTRY_EPIC_REJECTED,\n\tREGISTRY_PACKAGE_REGISTER,\n\tREGISTRY_REDUCER_INJECT,\n\tREGISTRY_REDUCER_INJECTED,\n\tREGISTRY_REDUCER_REJECT,\n\tREGISTRY_REDUCER_REJECTED,\n} from './registry.constants';\n\nexport const registryReducerInject = actionSimple(REGISTRY_REDUCER_INJECT);\nexport const registryEpicInject = actionSimple(REGISTRY_EPIC_INJECT);\nexport const registryReducerInjected = actionSimple(REGISTRY_REDUCER_INJECTED);\nexport const registryEpicInjected = actionSimple(REGISTRY_EPIC_INJECTED);\nexport const registryReducerReject = actionSimple(REGISTRY_REDUCER_REJECT);\nexport const registryEpicReject = actionSimple(REGISTRY_EPIC_REJECT);\nexport const registryReducerRejected = actionSimple(REGISTRY_REDUCER_REJECTED);\nexport const registryEpicRejected = actionSimple(REGISTRY_EPIC_REJECTED);\n\nexport const registryRegisterPackage = (id, modules) => ({\n\ttype: REGISTRY_PACKAGE_REGISTER,\n\tid,\n\tmodules,\n});\n","export enum PackageType {\n\tSEED = 'SEED',\n\tGAME = 'GAME',\n\tSPORTS = 'SPORTS',\n\tSLOTS = 'SLOTS',\n\tRACE = 'RACE',\n\tPERFORMANCE = 'PERFORMANCE',\n\tMODAL = 'MODAL',\n\tCAPTCHA = 'CAPTCHA',\n\tCHAT = 'CHAT',\n}\n\nexport const REGISTRY_REDUCER_INJECT = 'REGISTRY_REDUCER_INJECT';\nexport const REGISTRY_EPIC_INJECT = 'REGISTRY_EPIC_INJECT';\nexport const REGISTRY_REDUCER_REJECT = 'REGISTRY_REDUCER_REJECT';\nexport const REGISTRY_EPIC_REJECT = 'REGISTRY_EPIC_REJECT';\nexport const REGISTRY_REDUCER_INJECTED = 'REGISTRY_REDUCER_INJECTED';\nexport const REGISTRY_EPIC_INJECTED = 'REGISTRY_EPIC_INJECTED';\nexport const REGISTRY_REDUCER_REJECTED = 'REGISTRY_REDUCER_REJECTED';\nexport const REGISTRY_EPIC_REJECTED = 'REGISTRY_EPIC_REJECTED';\nexport const REGISTRY_PACKAGE_INJECTED = (type: PackageType) =>\n\t`REGISTRY_${type}_INJECTED`;\nexport const REGISTRY_PACKAGE_REJECTED = (type: PackageType) =>\n\t`REGISTRY_${type}_REJECTED`;\nexport const REGISTRY_GAME_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.GAME,\n);\nexport const REGISTRY_SEED_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.SEED,\n);\nexport const REGISTRY_RACE_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.RACE,\n);\nexport const REGISTRY_PERFORMANCE_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.PERFORMANCE,\n);\nexport const REGISTRY_MODAL_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.MODAL,\n);\nexport const REGISTRY_CAPTCHA_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.CAPTCHA,\n);\nexport const REGISTRY_CHAT_PACKAGE = REGISTRY_PACKAGE_INJECTED(\n\tPackageType.CHAT,\n);\nexport const REGISTRY_PACKAGE_REGISTER = 'REGISTRY_PACKAGE_REGISTER';\n","import { SERVER_DATA_CLEAR } from './serverData.constants';\n\nconst serverDataClear = () => {\n\treturn {\n\t\ttype: SERVER_DATA_CLEAR,\n\t};\n};\n\nexport { serverDataClear };\n","export const SERVER_DATA_CLEAR = 'SERVER_DATA_CLEAR';\n","import { SET_TIP_MIN_VALUES, SUBMIT_TIP } from './tip.constants';\n\nconst submitTip = (payload) => {\n\treturn {\n\t\ttype: SUBMIT_TIP,\n\t\tpayload,\n\t};\n};\n\nconst setTipMinValues = (payload) => {\n\treturn {\n\t\ttype: SET_TIP_MIN_VALUES,\n\t\tpayload,\n\t};\n};\n\nexport { submitTip, setTipMinValues };\n","export const SUBMIT_TIP = 'SUBMIT_TIP';\nexport const SET_TIP_MIN_VALUES = 'SET_TIP_MIN_VALUES';\n","import { TableIdType } from '@modules/transactions/constants/TableId';\nimport { capitalize } from '../../../modules/app/appService';\n\nexport enum TableQueryPropertyType {\n\tPAGE = 'page',\n}\n\nexport const createTableQueryPropertyKey = (\n\ttableId: TableIdType,\n\ttype: TableQueryPropertyType,\n) => {\n\treturn `table${capitalize(tableId)}${capitalize(type)}`;\n};\n\nexport const createTableQueryPropertyKeyPage = (tableId: TableIdType) => {\n\treturn createTableQueryPropertyKey(tableId, TableQueryPropertyType.PAGE);\n};\n","import { TableIdType } from '@modules/transactions/constants/TableId';\nimport { fetchTransactionsThunk } from '@legacyApp/client/store/transactions/thunks/fetchTransactions.thunk';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { getTransactions } from '../transactions.actions';\n\nexport interface GetTransactionsThunkProps {\n\tid: TableIdType;\n\tpage?: number;\n\tdisable?: boolean;\n\trefresh?: boolean;\n\tprops?: {\n\t\ttype?: string;\n\t\trefreshAlways?: boolean;\n\t\tid?: string;\n\t};\n}\n\nexport const getTransactionsThunk = (\n\tprops_: GetTransactionsThunkProps,\n): AppThunk => {\n\treturn (dispatch) => {\n\t\tconst { id, page, disable, refresh, props } = props_;\n\t\tdispatch(getTransactions(id, page, disable, refresh, props));\n\t\treturn dispatch(fetchTransactionsThunk(props_));\n\t};\n};\n","import queryString from 'querystring';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport transactionService, {\n\tblockGetTransaction,\n} from '@modules/transactions/transactionsService';\nimport { createTableQueryPropertyKeyPage } from '@legacyApp/client/store/transactions/methods/createTableQueryPropertyKey';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { capitalize } from '@legacyApp/client/modules/app/appService';\nimport { parseTransactionsData } from '@modules/transactions/methods/parseTransactionsData';\nimport {\n\ttransactionsFulfilled,\n\ttransactionsSet,\n\ttransactionsSetMeta,\n\ttransactionsUpdating,\n} from '@legacyApp/client/store/transactions/transactions.actions';\nimport { updateUrlQuery } from '@legacyApp/client/store/app/app.actions';\nimport { GetTransactionsThunkProps } from '@legacyApp/client/store/transactions/thunks/getTransactions.thunk';\n\nexport const fetchTransactionsThunk = (\n\tprops_: GetTransactionsThunkProps,\n): AppThunk<Promise<any>> => {\n\treturn async (dispatch, getState) => {\n\t\tif (blockGetTransaction(props_, getState())) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst query = queryString.parse(\n\t\t\tgetState().router.location.search.replace('?', ''),\n\t\t);\n\t\tconst tablePageKey = createTableQueryPropertyKeyPage(props_.id);\n\t\tconst pageFromQuery = Number(query[tablePageKey]);\n\n\t\tconst page = props_.page ? props_.page : pageFromQuery || 1;\n\t\tconst uri = transactionService.getTransactionsUri({\n\t\t\tid: props_.id,\n\t\t\tdisable: props_.disable,\n\t\t\tprops: props_.props,\n\t\t\tpage,\n\t\t});\n\n\t\tif (!uri) {\n\t\t\treturn null;\n\t\t}\n\t\t// console.log(props_.id, {\n\t\t// uri,\n\t\t// action,\n\t\t// page,\n\t\t// });\n\t\tconst data = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: uri,\n\t\t\t\tloaderId: `get${capitalize(props_.id)}`,\n\t\t\t\tdisableErrorHandler: props_.refresh,\n\t\t\t}),\n\t\t);\n\t\tif (!data) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { data: transactions, meta } = parseTransactionsData({\n\t\t\tid: props_.id,\n\t\t\tdata,\n\t\t});\n\t\tif (!transactions) {\n\t\t\treturn null;\n\t\t}\n\t\tdispatch(transactionsUpdating(props_.id, true));\n\t\tif (meta) {\n\t\t\tif (pageFromQuery || meta.current_page > 1) {\n\t\t\t\tdispatch(\n\t\t\t\t\tupdateUrlQuery({\n\t\t\t\t\t\t[tablePageKey]: meta.current_page > 1 ? meta.current_page : null,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatch(transactionsSetMeta(props_.id, meta));\n\t\t}\n\t\tif (!page) {\n\t\t\tdispatch(transactionsFulfilled(props_.id, false));\n\t\t}\n\t\tdispatch(transactionsSet(props_.id, transactions, null));\n\t};\n};\n","import { TransactionsMetaType } from '@modules/transactions/constants/TransactionsResponse.type';\nimport { TableIdType } from '@modules/transactions/constants/TableId';\nimport { actionSimple } from '../../modules/app/actionService';\nimport {\n\tCLEAR_TRANSACTIONS,\n\tGET_ALL_BETS,\n\tGET_HIGH_ROLLS,\n\tGET_TRANSACTIONS,\n\tHANDLE_UPDATE_INTERVAL,\n\tHANDLE_WITHDRAWS,\n\tNEW_BET,\n\tNEW_DEPOSIT,\n\tNEW_DEPOSIT_DETECTED,\n\tNEW_HIGH_ROLL,\n\tNEW_MY_BET,\n\tNEW_RESULT,\n\tPENDING_TRANSACTIONS,\n\tRESET_PENDING_TRANSACTIONS,\n\tRESET_TRANSACTIONS,\n\tSET_ALL_BETS,\n\tSET_HIGH_ROLLS,\n\tSET_NEW_MY_BETS,\n\tTRANSACTIONS_ACTIVE,\n\tTRANSACTIONS_FULFILLED,\n\tTRANSACTIONS_GET_VAULT_HISTORY,\n\tTRANSACTIONS_SET,\n\tTRANSACTIONS_SET_META,\n\tTRANSACTIONS_UPDATE,\n\tTRANSACTIONS_UPDATING,\n\tWITHDRAW_CONFIRMED,\n} from './transactions.constants';\n\nexport const newBet = (payload, notSaveToMyBets, reset) => {\n\treturn {\n\t\ttype: NEW_BET,\n\t\tpayload,\n\t\tnotSaveToMyBets,\n\t\treset,\n\t};\n};\n\nexport const newHighRoll = (payload, reset) => {\n\treturn {\n\t\ttype: NEW_HIGH_ROLL,\n\t\tpayload,\n\t\treset,\n\t};\n};\n\nexport const newMyBet = (payload, limit, reset) => {\n\treturn {\n\t\ttype: NEW_MY_BET,\n\t\tpayload,\n\t\tlimit,\n\t\treset,\n\t};\n};\n\nexport const newDeposit = (payload) => {\n\treturn {\n\t\ttype: NEW_DEPOSIT,\n\t\tpayload,\n\t};\n};\n\nexport const newDepositDetected = (payload) => {\n\treturn {\n\t\ttype: NEW_DEPOSIT_DETECTED,\n\t\tpayload,\n\t};\n};\n\nexport const newResult = actionSimple(NEW_RESULT);\n\nexport const setAllBets = (payload, reset) => {\n\treturn {\n\t\ttype: SET_ALL_BETS,\n\t\tpayload,\n\t\treset,\n\t};\n};\n\nexport const setHighRolls = (payload, reset) => {\n\treturn {\n\t\ttype: SET_HIGH_ROLLS,\n\t\tpayload,\n\t\treset,\n\t};\n};\n\nexport const getAllBets = (page) => {\n\treturn {\n\t\ttype: GET_ALL_BETS,\n\t\tpage,\n\t};\n};\n\nexport const getHighRolls = (page) => {\n\treturn {\n\t\ttype: GET_HIGH_ROLLS,\n\t\tpage,\n\t};\n};\n\nexport const transactionsFulfilled = (id, bool) => {\n\treturn {\n\t\ttype: TRANSACTIONS_FULFILLED,\n\t\tid,\n\t\tbool,\n\t};\n};\n\nexport const setNewMyBets = (payload, reset = undefined) => {\n\treturn {\n\t\ttype: SET_NEW_MY_BETS,\n\t\tpayload,\n\t\treset,\n\t};\n};\n\nexport const resetTransactions = (id) => {\n\treturn {\n\t\ttype: RESET_TRANSACTIONS,\n\t\tid,\n\t};\n};\n\nexport const transactionsUpdating = (id, bool) => {\n\treturn {\n\t\ttype: TRANSACTIONS_UPDATING,\n\t\tid,\n\t\tbool,\n\t};\n};\n\nexport const getTransactions = (\n\tid,\n\tpage,\n\tdisable,\n\trefresh,\n\tprops = undefined,\n) => {\n\treturn {\n\t\ttype: GET_TRANSACTIONS,\n\t\tid,\n\t\tpage,\n\t\tdisable,\n\t\trefresh,\n\t\tprops,\n\t};\n};\n\nexport const clearTransactions = (id) => {\n\treturn {\n\t\ttype: CLEAR_TRANSACTIONS,\n\t\tid,\n\t};\n};\n\nexport const transactionsActive = (id, bool) => {\n\treturn {\n\t\ttype: TRANSACTIONS_ACTIVE,\n\t\tid,\n\t\tbool,\n\t};\n};\n\nexport const pendingTransactions = (id, data) => {\n\treturn {\n\t\ttype: PENDING_TRANSACTIONS,\n\t\tdata,\n\t\tid,\n\t};\n};\n\nexport const handleUpdateInterval = (id) => {\n\treturn {\n\t\ttype: HANDLE_UPDATE_INTERVAL,\n\t\tid,\n\t};\n};\n\nexport const resetPendingTransactions = (id) => ({\n\ttype: RESET_PENDING_TRANSACTIONS,\n\tid,\n});\n\nexport const handleWithdraws = (page = undefined) => ({\n\ttype: HANDLE_WITHDRAWS,\n\tpage,\n});\n\nexport const withdrawConfirmed = (payload) => ({\n\ttype: WITHDRAW_CONFIRMED,\n\tpayload,\n});\n\nexport const transactionsSet = (id, payload, reset) => ({\n\ttype: TRANSACTIONS_SET,\n\tpayload,\n\treset,\n\tid,\n});\n\nexport const transactionsGetVaultHistory = (page, refresh) => ({\n\ttype: TRANSACTIONS_GET_VAULT_HISTORY,\n\tpage,\n\trefresh,\n});\n\nexport const transactionsUpdate = (id, payload) => ({\n\ttype: TRANSACTIONS_UPDATE,\n\tid,\n\tpayload,\n});\n\nexport const transactionsSetMeta = (\n\tid: TableIdType,\n\tpayload: TransactionsMetaType,\n) => ({\n\ttype: TRANSACTIONS_SET_META,\n\tid,\n\tpayload,\n});\n","export const NEW_BET = 'NEW_BET' as const;\nexport const NEW_HIGH_ROLL = 'NEW_HIGH_ROLL' as const;\nexport const NEW_MY_BET = 'NEW_MY_BET' as const;\nexport const NEW_RESULT = 'NEW_RESULT' as const;\nexport const NEW_DEPOSIT = 'NEW_DEPOSIT' as const;\nexport const NEW_DEPOSIT_DETECTED = 'NEW_DEPOSIT_DETECTED' as const;\nexport const WITHDRAW_CONFIRMED = 'WITHDRAW_CONFIRMED' as const;\nexport const GET_ALL_BETS = 'GET_ALL_BETS' as const;\nexport const SET_ALL_BETS = 'SET_ALL_BETS' as const;\nexport const GET_HIGH_ROLLS = 'GET_HIGH_ROLLS' as const;\nexport const SET_HIGH_ROLLS = 'SET_HIGH_ROLLS' as const;\nexport const TRANSACTIONS_GET_VAULT_HISTORY =\n\t'TRANSACTIONS_GET_VAULT_HISTORY' as const;\nexport const SET_NEW_MY_BETS = 'SET_NEW_MY_BETS' as const;\nexport const TRANSACTIONS_FULFILLED = 'TRANSACTIONS_FULFILLED' as const;\nexport const TRANSACTIONS_UPDATING = 'TRANSACTIONS_UPDATING' as const;\nexport const TRANSACTIONS_ACTIVE = 'TRANSACTIONS_ACTIVE' as const;\nexport const RESET_TRANSACTIONS = 'RESET_TRANSACTIONS' as const;\nexport const CLEAR_TRANSACTIONS = 'CLEAR_TRANSACTIONS' as const;\nexport const GET_TRANSACTIONS = 'GET_TRANSACTIONS' as const;\nexport const PENDING_TRANSACTIONS = 'PENDING_TRANSACTIONS' as const;\nexport const RESET_PENDING_TRANSACTIONS = 'RESET_PENDING_TRANSACTIONS' as const;\nexport const HANDLE_UPDATE_INTERVAL = 'HANDLE_UPDATE_INTERVAL' as const;\nexport const TRANSACTIONS_SET = 'TRANSACTIONS_SET' as const;\nexport const TRANSACTIONS_UPDATE = 'TRANSACTIONS_UPDATE' as const;\nexport const HANDLE_WITHDRAWS = 'HANDLE_WITHDRAWS' as const;\nexport const TRANSACTIONS_SET_META = 'TRANSACTIONS_SET_META' as const;\n","import {\n\tACTIVATE_2FA,\n\tCODE_REQUIRED,\n\tDISABLE_2FA,\n\tENABLE_2FA,\n\tINSTALL_2FA,\n\tSAVE_QRCODE,\n\tSAVE_SECRET,\n\tUNINSTALL_2FA,\n} from './twoFactorAuthentication.constants';\n\nconst install2fa = () => {\n\treturn {\n\t\ttype: INSTALL_2FA,\n\t};\n};\n\nconst uninstall2fa = () => {\n\treturn {\n\t\ttype: UNINSTALL_2FA,\n\t};\n};\n\nconst saveSecret = (payload) => {\n\treturn {\n\t\ttype: SAVE_SECRET,\n\t\tpayload,\n\t};\n};\n\nconst saveQrcode = (payload) => {\n\treturn {\n\t\ttype: SAVE_QRCODE,\n\t\tpayload,\n\t};\n};\n\nconst enable2fa = (payload) => {\n\treturn {\n\t\ttype: ENABLE_2FA,\n\t\tpayload,\n\t};\n};\n\nconst disable2fa = (payload) => {\n\treturn {\n\t\ttype: DISABLE_2FA,\n\t\tpayload,\n\t};\n};\n\nconst activate2fa = () => {\n\treturn {\n\t\ttype: ACTIVATE_2FA,\n\t};\n};\n\nconst codeRequired = (url, parameters, method, resolve, loaderId) => {\n\treturn {\n\t\ttype: CODE_REQUIRED,\n\t\turl,\n\t\tparameters,\n\t\tmethod,\n\t\tresolve,\n\t\tloaderId,\n\t};\n};\n\nexport {\n\tinstall2fa,\n\tuninstall2fa,\n\tsaveSecret,\n\tsaveQrcode,\n\tactivate2fa,\n\tenable2fa,\n\tdisable2fa,\n\tcodeRequired,\n};\n","export const INSTALL_2FA = 'INSTALL_2FA';\nexport const UNINSTALL_2FA = 'UNINSTALL_2FA';\n\nexport const SAVE_SECRET = 'SAVE_SECRET';\nexport const SAVE_QRCODE = 'SAVE_QRCODE';\n\nexport const ACTIVATE_2FA = 'ACTIVATE_2FA';\n\nexport const ENABLE_2FA = 'ENABLE_2FA';\nexport const DISABLE_2FA = 'DISABLE_2FA';\n\nexport const CODE_REQUIRED = 'CODE_REQUIRED';\n","import { ONESIGNAL_INIT } from './onesignal.constants';\n\nexport const oneSignalInit = ({ externalUserId }) => ({\n\ttype: ONESIGNAL_INIT,\n\texternalUserId,\n});\n","import queryString from 'query-string';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { isInitModal, resetModal } from '@modules/modals/store/modal.actions';\nimport { PRIORITY_MODAL_CONSTANTS } from '@common/constants/modal/priority.modal.constants';\nimport { balanceFetch } from '@modules/balance/store/balance.actions';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { fetchApi } from '../../fetch/fetch.thunk';\nimport { oneSignalInit } from '../../onesignal/onesignal.actions';\nimport { USER_GET_DATA } from '../user.constants';\nimport { setAffiliateCode } from '../../affiliate/affiliate.actions';\nimport FetchService from '../../../modules/app/fetchService';\nimport { handleWithdraws } from '../../transactions/transactions.actions';\nimport {\n\tcheckAmIUnique,\n\tgetMyBets,\n\thasEmailToVerify,\n\thasKycToVerify,\n\thasPasswordToSet,\n\tloggedUser,\n\tsetEmail,\n\tsetHasAvailableBonusCode,\n\tsetJoinedDate,\n\tsetSocketPrivateChannel,\n\tsetUserAdmin,\n\tsetUserHighRoller,\n\tsetUserId,\n\tsetUserModerator,\n\tsetUserName,\n\tsetUserRaceBadge,\n\tuserSetWithdrawBlockedTimestamp,\n} from '../user.actions';\nimport { OPTIONS } from '../../options/options.constants';\nimport { setTipMinValues } from '../../tip/tip.actions';\nimport { privateMessagesChannelId } from '../../privateMessages/privateMessages.actions';\nimport { preferencesInit } from '../../preferences/preferences.actions';\nimport { activate2fa } from '../../twoFactorAuthentication/twoFactorAuthentication.actions';\nimport { appInitialized } from '../../app/app.actions';\nimport { getTransactionsThunk } from '../../transactions/thunks/getTransactions.thunk';\nimport { optionChangeThunk } from '../../options/thunks/optionChange.thunk';\nimport { UserDataType } from '../types/userData.type';\nimport { userHandleInitModal } from './user.thunk';\n\nexport interface GetUserDataThunkProps {\n\tenableLoader?: boolean;\n\tnoError?: boolean;\n}\n\nexport interface UserPreferencesPrivacy {\n\tpublic_total_profit: boolean;\n\tpublic_total_wagered: boolean;\n\tpublic_bets: boolean;\n}\n\nexport interface UserPreferencesCommunity {\n\tallow_messages_from_all: boolean;\n\tblock_all_friend_requests: boolean;\n\tblock_friend_requests_notifications: boolean;\n\tshow_messages_notifications: boolean;\n}\n\nexport interface UserPreferences {\n\tprivacy: UserPreferencesPrivacy;\n\tcommunity: UserPreferencesCommunity;\n}\n\nexport interface UserRaceBadge {\n\tposition: number;\n\tdate: string; //\"2023-04-18T15:10:09.000000\";\n}\n\nexport interface UserProfileResponse {\n\tuser: UserDataType;\n}\n\nexport const getUserDataThunk = ({\n\tenableLoader,\n\tnoError,\n}: GetUserDataThunkProps): AppThunk<Promise<void>> => {\n\treturn async (dispatch, getState) => {\n\t\tconst loader = enableLoader && 'getUserData';\n\n\t\tconst data: UserProfileResponse = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: '/user/profile',\n\t\t\t\tparameters: {\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\tdisableErrorHandler: noError,\n\t\t\t\tloaderId: loader,\n\t\t\t}),\n\t\t);\n\n\t\tconst state = getState();\n\n\t\tconst result = [];\n\t\t// Cookies.remove('csrf_token');\n\t\tconsole.log('USER_GET_DATA-start', {\n\t\t\tstate: state,\n\t\t\tresult,\n\t\t\tdata,\n\t\t});\n\n\t\tif (data.user) {\n\t\t\tdispatch(oneSignalInit({ externalUserId: data.user.uuid }));\n\t\t\tif (\n\t\t\t\t!isInitModal(\n\t\t\t\t\tqueryString.parse(state.router.location.search).modal ||\n\t\t\t\t\t\tstate.modal?.id,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// @ts-expect-error invalid type\n\t\t\t\tif (PRIORITY_MODAL_CONSTANTS.indexOf(state.modal?.id) === -1) {\n\t\t\t\t\tdispatch(resetModal(true, USER_GET_DATA));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (data.user.channel !== state.user.socketChannel) {\n\t\t\t\tdispatch(setSocketPrivateChannel(data.user.channel));\n\t\t\t}\n\t\t\tif (state.affiliate.code) {\n\t\t\t\tdispatch(setAffiliateCode(false));\n\t\t\t}\n\t\t\tif (!FetchService.wasFetched('/user/deposits')) {\n\t\t\t\tdispatch(\n\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\tid: TABLE_ID.depositHistory,\n\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tdispatch(handleWithdraws());\n\t\t\t}\n\n\t\t\tif (data.user.bcheck) {\n\t\t\t\tdispatch(checkAmIUnique());\n\t\t\t}\n\t\t\tif (data.user.is_admin !== state.user.isAdmin) {\n\t\t\t\tdispatch(setUserAdmin(data.user.is_admin));\n\t\t\t}\n\t\t\tif (data.user.is_moderator !== state.user.isModerator) {\n\t\t\t\tdispatch(setUserModerator(data.user.is_moderator));\n\t\t\t}\n\t\t\tif (data.user.is_high_roller !== state.user.isHighRoller) {\n\t\t\t\tdispatch(setUserHighRoller(data.user.is_high_roller));\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdata.user.race_badge !== undefined &&\n\t\t\t\tdata.user.race_badge !== state.user.raceBadge\n\t\t\t) {\n\t\t\t\tdispatch(setUserRaceBadge(data.user.race_badge));\n\t\t\t}\n\t\t\tif (data.user.uuid !== state.user.id) {\n\t\t\t\t// initInspectLet(data.user);\n\t\t\t\tdispatch(setUserId(data.user.uuid));\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tdata.user.can_tip !== undefined &&\n\t\t\t\t!!data.user.can_tip === !state.options.tip\n\t\t\t) {\n\t\t\t\tdispatch(\n\t\t\t\t\toptionChangeThunk(OPTIONS.TIP, !!data.user.can_tip, {\n\t\t\t\t\t\tnoAlert: true,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tdata.user.withdraw_blocked !== undefined &&\n\t\t\t\tdata.user.withdraw_blocked !== state.user.withdrawBlockedTimestamp\n\t\t\t) {\n\t\t\t\tdispatch(\n\t\t\t\t\tuserSetWithdrawBlockedTimestamp(data.user.withdraw_blocked * 1000),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!!data.user.tip_min_values === !state.options.tip) {\n\t\t\t\tdispatch(\n\t\t\t\t\toptionChangeThunk(OPTIONS.TIP, !!data.user.tip_min_values, {\n\t\t\t\t\t\tnoAlert: true,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tdata.user.tip_min_values &&\n\t\t\t\ttypeof data.user.tip_min_values === 'object'\n\t\t\t) {\n\t\t\t\tdispatch(setTipMinValues(data.user.tip_min_values));\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdata.user.private_chat_channel &&\n\t\t\t\tdata.user.private_chat_channel !== state.privateMessages.channelId\n\t\t\t) {\n\t\t\t\tdispatch(privateMessagesChannelId(data.user.private_chat_channel));\n\t\t\t}\n\t\t\tif (data.user.login !== state.user.name) {\n\t\t\t\tdispatch(setUserName(data.user.login));\n\t\t\t}\n\t\t\tif (data.user.joined !== state.user.joinedDate) {\n\t\t\t\tdispatch(setJoinedDate(data.user.joined));\n\t\t\t}\n\t\t\tif (data.user.preferences) {\n\t\t\t\tif (!data.user.preferences.privacy) {\n\t\t\t\t\tdispatch(preferencesInit('privacy', data.user.preferences));\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(preferencesInit('privacy', data.user.preferences.privacy));\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tpreferencesInit('community', data.user.preferences.community),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (data.user.email !== state.user.email) {\n\t\t\t\tdispatch(setEmail(data.user.email));\n\t\t\t}\n\n\t\t\tif (data.user.two_factor_authentication !== state.twoFA.isActive) {\n\t\t\t\tdispatch(activate2fa());\n\t\t\t}\n\n\t\t\tif (data.user.has_email_to_verify !== state.user.hasEmailToVerify) {\n\t\t\t\tdispatch(hasEmailToVerify(data.user.has_email_to_verify));\n\t\t\t}\n\n\t\t\tif (data.user.has_kyc_to_verify !== state.user.hasKycToVerify) {\n\t\t\t\tdispatch(hasKycToVerify(data.user.has_kyc_to_verify));\n\t\t\t}\n\n\t\t\tif (data.user.has_password_to_set !== state.user.hasPasswordToSet) {\n\t\t\t\tdispatch(hasPasswordToSet(data.user.has_password_to_set));\n\t\t\t}\n\n\t\t\tif (data.user.has_available_bonus_code) {\n\t\t\t\tdispatch(setHasAvailableBonusCode(data.user.has_available_bonus_code));\n\t\t\t}\n\n\t\t\tif (!state.user.isLogged) {\n\t\t\t\tdispatch(loggedUser(true));\n\t\t\t}\n\t\t\tdispatch(balanceFetch());\n\t\t}\n\n\t\tif (data) {\n\t\t\tdispatch(userHandleInitModal(data, !!state.app.initialized));\n\t\t\tif (!state.app.initialized) {\n\t\t\t\tdispatch(appInitialized('getUserDataEpic'));\n\t\t\t}\n\t\t}\n\n\t\tdispatch(getMyBets(1, true));\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { Bet } from '@modules/games/Game/store/game/@types/PlaceBetResponse';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { newMyBet } from '../../transactions/transactions.actions';\nimport transactionService from '../../../../../modules/transactions/transactionsService';\nimport { DIRECTION } from '../../../modules/app/sortService';\n\nexport const newMyBetThunk = (\n\tbet: Bet,\n\toptions?: { reset?: boolean; isAutobet?: boolean },\n): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst { reset = false, isAutobet = false } = options || {};\n\t\tconst { transactions } = getState();\n\t\tconst myBetsMeta = transactions.meta[TABLE_ID.myBets];\n\t\tif (!myBetsMeta?.current_page || myBetsMeta.current_page > 1) {\n\t\t\treturn;\n\t\t}\n\t\tif (isAutobet) {\n\t\t\tlsSet(\n\t\t\t\tLocalStorageKeys.NEW_MY_BETS,\n\t\t\t\ttransactionService.addElementToList({\n\t\t\t\t\tlabel: TABLE_ID.myBets,\n\t\t\t\t\telement: bet,\n\t\t\t\t\tlist: lsGet(LocalStorageKeys.NEW_MY_BETS, transactions.myBets),\n\t\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\t\tlimit: myBetsMeta.per_page,\n\t\t\t\t\tdisableSort: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tdispatch(newMyBet(bet, myBetsMeta.per_page, reset));\n\t};\n};\n","import * as queryString from 'querystring';\nimport {\n\topenModal,\n\topenSecurityWarningModal,\n} from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { generateUserVerificationStatusUrl } from '@modules/user-verifiaction/methods/generateUserVerificationStatusUrl';\nimport { UserVerificationLevel } from '@modules/user-verifiaction/types/UserVerificationLevel';\nimport { UserVerificationLevelStatus } from '@modules/user-verifiaction/types/UserVerificationLevelStatus';\nimport { vipWheelGetFundsThunk } from '@modules/vip/store/thunks/vipWheelGetFunds.thunk';\nimport { getVipBenefitValue } from '@modules/vip/hooks/useVipBenefitState';\nimport { VipBenefits } from '@modules/vip/constants/vip.config';\nimport { vipGetLevelsThunk } from '@modules/vip/store/thunks/vipGetLevels.thunk';\nimport { VIP_BENEFITS } from '@modules/vip/constants/VIP_BENEFITS';\nimport { isRemind2fa } from '../../../modules/app/userService';\nimport { showAlert } from '../../alerts/alerts.actions';\nimport { trans } from '../../../modules/translation/translate';\nimport routingService from '../../../modules/app/routingService';\nimport { fetchApi } from '../../fetch/fetch.thunk';\nimport { appGoTo } from '../../app/app.actions';\nimport { notificationEnable } from '../../notification/notification.actions';\nimport { NOTIFICATION_ID } from '../../notification/notification.constants';\nimport { clearFirstLogin } from '../user.actions';\nimport { second } from '../../../modules/app/time';\nimport { UserProfileResponse } from './getUserData.thunk';\n\nconst isAnyModalOpen = (state) => {\n\tconst query = queryString.parse(\n\t\tstate.router.location.search.replace('?', ''),\n\t);\n\treturn !!(state.modal?.id || query?.modal);\n};\n\nconst initModalCallback = (dispatch, state, data) => {\n\t// return dispatch(dailyStreakFetch()).then(dailyStreak => {\n\t// if (dailyStreak && canOpenModal(dailyStreak.history)) return dispatch(openModal(DAILY_STREAK_MODAL));\n\tif (isAnyModalOpen(state)) {\n\t\treturn;\n\t}\n\tif (data?.user && state.user.isFirstLogin) {\n\t\treturn dispatch([\n\t\t\t// openModal(DAILY_STREAK_MODAL'),\n\t\t\tclearFirstLogin(),\n\t\t]);\n\t}\n\tif (!state.user.isLogged && data?.user) {\n\t\tif (\n\t\t\tisRemind2fa() &&\n\t\t\t(!data.user.email || !data.user.two_factor_authentication)\n\t\t) {\n\t\t\tif (\n\t\t\t\t(!data.user.email && !data.user.two_factor_authentication) ||\n\t\t\t\t(!data.user.email && data.user.two_factor_authentication)\n\t\t\t) {\n\t\t\t\treturn dispatch(openSecurityWarningModal());\n\t\t\t}\n\t\t\tif (data.user.email && !data.user.two_factor_authentication) {\n\t\t\t\treturn dispatch(openModal(MODAL_ID.REMIND_2FA, 'initModalCallback'));\n\t\t\t}\n\t\t}\n\t}\n\t// });\n};\n\nexport const userHandleInitModal = (\n\tdata: UserProfileResponse,\n\tisInitialized: boolean,\n) => {\n\treturn async (dispatch, getState) => {\n\t\t// timeout due to closing modals on redirects,\n\t\t// after login we are redirected to /auth page\n\t\t// on which is triggered getUserData action and\n\t\t// initial modals and then this page redirects\n\t\t// to main page which causes closing of initial modals\n\t\tconst timeout =\n\t\t\tgetState().router.location.href.indexOf('/auth') > -1 ? 5 * second : 0;\n\t\tsetTimeout(async () => {\n\t\t\tconst state = getState();\n\t\t\tif (state.modal?.id === MODAL_ID.INSANE_BONUS_CODE_INFO) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdata?.user?.has_kyc_to_verify &&\n\t\t\t\tstate.router.location.pathname !==\n\t\t\t\t\troutingService.to(ROUTING_ID.USER_VERIFICATION)\n\t\t\t) {\n\t\t\t\treturn dispatch(handleKycToVerify());\n\t\t\t}\n\n\t\t\tconst levels = await dispatch(await vipGetLevelsThunk());\n\t\t\tif (\n\t\t\t\tgetVipBenefitValue(\n\t\t\t\t\tlevels[data?.user?.vip_level - 1],\n\t\t\t\t\tVipBenefits.DAILY_CHARGE,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn dispatch(vipWheelGetFundsThunk()).then((funds) => {\n\t\t\t\t\tif (!funds.availableAt && funds.availableFunds?.length) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tnotificationEnable(\n\t\t\t\t\t\t\t\tNOTIFICATION_ID.HAS_VIP_WHEEL_TO_SPIN,\n\t\t\t\t\t\t\t\tisInitialized\n\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tVIP_BENEFITS[VipBenefits.DAILY_CHARGE].name\n\t\t\t\t\t\t\t\t\t\t\t\t\t} is unlocked! Claim it now!`,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!isInitialized && !isAnyModalOpen(state)) {\n\t\t\t\t\t\t\tdispatch(openModal(MODAL_ID.VIP_WHEEL, 'userHandleInitModal'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn initModalCallback(dispatch, state, data);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn initModalCallback(dispatch, state, data);\n\t\t}, timeout);\n\t};\n};\n\nexport const handleKycToVerify = () => {\n\treturn (dispatch) => {\n\t\treturn dispatch(\n\t\t\tfetchApi(generateUserVerificationStatusUrl(), {\n\t\t\t\tAuthorization: true,\n\t\t\t}),\n\t\t)\n\t\t\t.then((response: UserVerificationLevel) => {\n\t\t\t\tconst { status } = response || {};\n\t\t\t\tif (UserVerificationLevelStatus.ACTION_REQUIRED === status) {\n\t\t\t\t\treturn dispatch(\n\t\t\t\t\t\topenModal(MODAL_ID.REQUIRED_ACTION_KYC, 'handleKycToVerify'),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (UserVerificationLevelStatus.EMPTY === status) {\n\t\t\t\t\treturn dispatch(\n\t\t\t\t\t\topenModal(MODAL_ID.REQUIRED_KYC, 'handleKycToVerify'),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (status === UserVerificationLevelStatus.DECLINED) {\n\t\t\t\t\treturn dispatch(appGoTo(ROUTING_ID.USER_VERIFICATION));\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\treturn console.log(error);\n\t\t\t});\n\t};\n};\n\nexport const bonusInfo = () => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (state.router.location.href.indexOf('bonus-code') > -1) {\n\t\t\treturn;\n\t\t}\n\t\treturn dispatch(\n\t\t\tshowAlert(\n\t\t\t\t'info',\n\t\t\t\ttrans({\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'We have granted you a new bonus code! Go to the VIP Bonus Code tab and claim it!',\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t};\n};\n","import { fetchResponse } from '../fetch/fetch.actions';\nimport { fetchApi, fetchApiAction } from '../fetch/fetch.thunk';\nimport {\n\tCHANGE_CURRENCY,\n\tCHANGE_EMAIL,\n\tCHANGE_NAME,\n\tCHANGE_PASSWORD,\n\tCHECK_AM_I_UNIQUE,\n\tCLEAR_FIRST_LOGIN,\n\tREFRESH_USER_DATA,\n\tRESEND_VERIFICATION_EMAIL,\n\tRESET_TOKEN,\n\tRESET_USER_DATA,\n\tSEND_NEW_PASSWORD,\n\tSET_CURRENCY,\n\tSET_EMAIL,\n\tSET_FIRST_LOGIN,\n\tSET_HAS_AVAILABLE_BONUS_CODE,\n\tSET_JOINED_DATE,\n\tSET_LAST_REGISTER_TIMESTAMP,\n\tSET_NEW_PASSWORD,\n\tSET_SOCKET_PRIVATE_CHANNEL,\n\tSET_TOKEN,\n\tSET_USER_ADMIN,\n\tSET_USER_HIGH_ROLLER,\n\tSET_USER_ID,\n\tSET_USER_MODERATOR,\n\tSET_USER_RACE_BADGE,\n\tSET_USERNAME,\n\tUSER_GET_BETS,\n\tUSER_GET_DATA,\n\tUSER_HANDLE_LOGIN_RESPONSE,\n\tUSER_HANDLE_REGISTER_RESPONSE,\n\tUSER_HAS_EMAIL_TO_VERIFY,\n\tUSER_HAS_KYC_TO_VERIFY,\n\tUSER_HAS_PASSWORD_TO_SET,\n\tUSER_LOGGED,\n\tUSER_LOGGING,\n\tUSER_LOGOUT,\n\tUSER_NOT_LOGGED,\n\tUSER_REGISTER_SEND,\n\tUSER_SESSION_ENDED,\n\tUSER_SET_WITHDRAW_BLOCKED,\n\tUSER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n} from './user.constants';\n\nexport const refreshUserData = () => {\n\treturn {\n\t\ttype: REFRESH_USER_DATA,\n\t};\n};\n\nexport const getUserData = (\n\t{ enableLoader, noError } = { enableLoader: false, noError: false },\n) => {\n\treturn {\n\t\ttype: USER_GET_DATA,\n\t\tenableLoader,\n\t\tnoError,\n\t};\n};\n\nexport const userSessionEnded = () => {\n\treturn {\n\t\ttype: USER_SESSION_ENDED,\n\t};\n};\n\nexport const getMyBets = (page, replaceData, perPage) => {\n\treturn {\n\t\ttype: USER_GET_BETS,\n\t\tpage,\n\t\treplaceData,\n\t\tperPage,\n\t};\n};\n\nexport const loginUser = (name, password) => {\n\treturn {\n\t\ttype: USER_LOGGING,\n\t\tname,\n\t\tpassword,\n\t};\n};\n\nexport const notLoggedUser = (message) => {\n\treturn {\n\t\ttype: USER_NOT_LOGGED,\n\t\tmessage,\n\t};\n};\n\nexport const loggedUser = (isLogged) => {\n\treturn {\n\t\ttype: USER_LOGGED,\n\t\tisLogged,\n\t};\n};\n\nexport const logoutUser = (sendRequest = true) => {\n\treturn {\n\t\ttype: USER_LOGOUT,\n\t\tsendRequest,\n\t};\n};\n\nexport const setToken = (data) => {\n\treturn {\n\t\ttype: SET_TOKEN,\n\t\tdata,\n\t};\n};\n\nexport const resetToken = () => {\n\treturn {\n\t\ttype: RESET_TOKEN,\n\t};\n};\n\nexport const setUserName = (name) => {\n\treturn {\n\t\ttype: SET_USERNAME,\n\t\tname,\n\t};\n};\n\nexport const setEmail = (payload) => {\n\treturn {\n\t\ttype: SET_EMAIL,\n\t\tpayload,\n\t};\n};\n\nexport const registerUser = (data) => {\n\treturn {\n\t\ttype: USER_REGISTER_SEND,\n\t\tdata,\n\t};\n};\n\nexport const resetData = () => {\n\treturn {\n\t\ttype: RESET_USER_DATA,\n\t};\n};\n\nexport const setCurrency = (payload) => {\n\treturn {\n\t\ttype: SET_CURRENCY,\n\t\tpayload,\n\t};\n};\n\nexport const changeCurrency = (payload) => {\n\treturn {\n\t\ttype: CHANGE_CURRENCY,\n\t\tpayload,\n\t};\n};\n\nexport const changePassword = (payload) => {\n\treturn {\n\t\ttype: CHANGE_PASSWORD,\n\t\tpayload,\n\t};\n};\n\nexport const changeName = (payload) => {\n\treturn {\n\t\ttype: CHANGE_NAME,\n\t\tpayload,\n\t};\n};\n\nexport const changeEmail = (payload) => {\n\treturn {\n\t\ttype: CHANGE_EMAIL,\n\t\tpayload,\n\t};\n};\n\nexport const resendVerificationEmail = (payload) => {\n\treturn {\n\t\ttype: RESEND_VERIFICATION_EMAIL,\n\t\tpayload,\n\t};\n};\n\nexport const hasEmailToVerify = (payload) => {\n\treturn {\n\t\ttype: USER_HAS_EMAIL_TO_VERIFY,\n\t\tpayload,\n\t};\n};\n\nexport const hasKycToVerify = (payload) => {\n\treturn {\n\t\ttype: USER_HAS_KYC_TO_VERIFY,\n\t\tpayload,\n\t};\n};\n\nexport const sendNewPassword = (payload) => {\n\treturn {\n\t\ttype: SEND_NEW_PASSWORD,\n\t\tpayload,\n\t};\n};\n\nexport const setNewPassword = (payload, callback) => {\n\treturn {\n\t\ttype: SET_NEW_PASSWORD,\n\t\tpayload,\n\t\tcallback,\n\t};\n};\n\nexport const setFirstLogin = (payload) => {\n\treturn {\n\t\ttype: SET_FIRST_LOGIN,\n\t\tpayload,\n\t};\n};\n\nexport const clearFirstLogin = (payload) => {\n\treturn {\n\t\ttype: CLEAR_FIRST_LOGIN,\n\t\tpayload,\n\t};\n};\n\nexport const setSocketPrivateChannel = (payload) => {\n\treturn {\n\t\ttype: SET_SOCKET_PRIVATE_CHANNEL,\n\t\tpayload,\n\t};\n};\n\nexport const hasPasswordToSet = (payload) => {\n\treturn {\n\t\ttype: USER_HAS_PASSWORD_TO_SET,\n\t\tpayload,\n\t};\n};\n\nexport const setJoinedDate = (payload) => {\n\treturn {\n\t\ttype: SET_JOINED_DATE,\n\t\tpayload,\n\t};\n};\n\nexport const setUserId = (payload) => {\n\treturn {\n\t\ttype: SET_USER_ID,\n\t\tpayload,\n\t};\n};\n\nexport const setUserAdmin = (payload) => {\n\treturn {\n\t\ttype: SET_USER_ADMIN,\n\t\tpayload,\n\t};\n};\n\nexport const setUserModerator = (payload) => {\n\treturn {\n\t\ttype: SET_USER_MODERATOR,\n\t\tpayload,\n\t};\n};\n\nexport const setUserHighRoller = (payload) => {\n\treturn {\n\t\ttype: SET_USER_HIGH_ROLLER,\n\t\tpayload,\n\t};\n};\n\nexport const setUserRaceBadge = (payload) => {\n\treturn {\n\t\ttype: SET_USER_RACE_BADGE,\n\t\tpayload,\n\t};\n};\n\nexport const getUserInfo = (uuid) => {\n\treturn (dispatch, getState) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst userState = getState().user;\n\t\t\t// console.log('getUserInfo', userState, uuid);\n\t\t\tif (userState.id === uuid || !uuid) {\n\t\t\t\treturn resolve({\n\t\t\t\t\tstatus: 200,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tis_admin: userState.isAdmin,\n\t\t\t\t\t\tis_high_roller: userState.isHighRoller,\n\t\t\t\t\t\tis_moderator: userState.isModerator,\n\t\t\t\t\t\tlogin: userState.name,\n\t\t\t\t\t\tuuid: uuid || userState.id,\n\t\t\t\t\t\trace_badge: userState.raceBadge,\n\t\t\t\t\t\tvip_level: userState.vipLevel,\n\t\t\t\t\t\tjoined: userState.joinedDate,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn resolve(\n\t\t\t\tdispatch(\n\t\t\t\t\tfetchApi(\n\t\t\t\t\t\t`/info/${uuid}`,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'GET',\n\t\t\t\t\t\t'getUserInfoData',\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t});\n\t};\n};\n\nexport const checkAmIUnique = () => {\n\treturn {\n\t\ttype: CHECK_AM_I_UNIQUE,\n\t};\n};\n\nexport const setLastRegisterTimestamp = (payload) => {\n\treturn {\n\t\ttype: SET_LAST_REGISTER_TIMESTAMP,\n\t\tpayload,\n\t};\n};\n\nexport const userSetWithdrawBlockedTimestamp = (payload) => ({\n\ttype: USER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n\tpayload,\n});\n\nexport const userSetWithdrawBlocked = (payload) => ({\n\ttype: USER_SET_WITHDRAW_BLOCKED,\n\tpayload,\n});\n\nexport const userHandleLoginResponse = (payload) => ({\n\ttype: USER_HANDLE_LOGIN_RESPONSE,\n\tpayload,\n});\n\nexport const userHandleRegisterResponse = (payload) => ({\n\ttype: USER_HANDLE_REGISTER_RESPONSE,\n\tpayload,\n});\n\nexport const getUserDetailsByLogin = (login, callback, catchCallback) => {\n\treturn (dispatch) => {\n\t\tconsole.log('getUserDetailsByLogin', {\n\t\t\tlogin,\n\t\t});\n\t\tif (!login) {\n\t\t\treturn dispatch(\n\t\t\t\tfetchResponse({\n\t\t\t\t\tresponse: false,\n\t\t\t\t\tcallback,\n\t\t\t\t\tcatchCallback,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\treturn dispatch(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/user/${login}`,\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\tloadingId: 'getUserByLogin',\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (!result || !result.user) {\n\t\t\t\t\t\tresult = false;\n\t\t\t\t\t}\n\t\t\t\t\tresult = result.user;\n\t\t\t\t\treturn callback(result);\n\t\t\t\t},\n\t\t\t\tcatchCallback,\n\t\t\t),\n\t\t);\n\t};\n};\n\nexport const setHasAvailableBonusCode = (payload) => ({\n\ttype: SET_HAS_AVAILABLE_BONUS_CODE,\n\tpayload,\n});\n","export const USER_GET_DATA = 'USER_GET_DATA';\nexport const USER_GET_BETS = 'USER_GET_BETS';\n\nexport const REFRESH_USER_DATA = 'REFRESH_USER_DATA';\n\nexport const USER_LOGGING = 'USER_LOGGING';\nexport const USER_HANDLE_LOGIN_RESPONSE = 'USER_HANDLE_LOGIN_RESPONSE';\nexport const USER_LOGGED = 'USER_LOGGED';\nexport const USER_SESSION_ENDED = 'USER_SESSION_ENDED';\nexport const USER_NOT_LOGGED = 'USER_NOT_LOGGED';\nexport const USER_LOGOUT = 'USER_LOGOUT';\nexport const USER_HAS_EMAIL_TO_VERIFY = 'USER_HAS_EMAIL_TO_VERIFY';\nexport const USER_HAS_PASSWORD_TO_SET = 'USER_HAS_PASSWORD_TO_SET';\nexport const USER_HAS_KYC_TO_VERIFY = 'USER_HAS_KYC_TO_VERIFY';\n\nexport const USER_REGISTER_SEND = 'USER_REGISTER_SEND';\nexport const SET_FIRST_LOGIN = 'SET_FIRST_LOGIN';\nexport const CLEAR_FIRST_LOGIN = 'CLEAR_FIRST_LOGIN';\nexport const USER_HANDLE_REGISTER_RESPONSE = 'USER_HANDLE_REGISTER_RESPONSE';\n\nexport const SET_SOCKET_PRIVATE_CHANNEL = 'SET_SOCKET_PRIVATE_CHANNEL';\n\nexport const SET_TOKEN = 'SET_TOKEN';\nexport const RESET_TOKEN = 'RESET_TOKEN';\n\nexport const RESET_USER_DATA = 'RESET_USER_DATA';\n\nexport const SET_USERNAME = 'SET_USERNAME';\nexport const SET_USER_ID = 'SET_USER_ID';\nexport const SET_JOINED_DATE = 'SET_JOINED_DATE';\nexport const SET_EMAIL = 'SET_EMAIL';\n\nexport const SET_CURRENCY = 'SET_CURRENCY';\nexport const CHANGE_CURRENCY = 'CHANGE_CURRENCY';\n\nexport const USER_SET_WITHDRAW_BLOCKED_TIMESTAMP =\n\t'USER_SET_WITHDRAW_BLOCKED_TIMESTAMP';\nexport const USER_SET_WITHDRAW_BLOCKED = 'USER_SET_WITHDRAW_BLOCKED';\n\nexport const CHANGE_PASSWORD = 'CHANGE_PASSWORD';\nexport const CHANGE_NAME = 'CHANGE_NAME';\nexport const CHANGE_EMAIL = 'CHANGE_EMAIL';\n\nexport const RESEND_VERIFICATION_EMAIL = 'RESEND_VERIFICATION_EMAIL';\nexport const SEND_NEW_PASSWORD = 'SEND_NEW_PASSWORD';\nexport const SET_NEW_PASSWORD = 'SET_NEW_PASSWORD';\n\nexport const SET_USER_ADMIN = 'SET_USER_ADMIN';\nexport const SET_USER_MODERATOR = 'SET_USER_MODERATOR';\nexport const SET_USER_HIGH_ROLLER = 'SET_USER_HIGH_ROLLER';\nexport const SET_USER_VIP_LEVEL = 'SET_USER_VIP_LEVEL';\nexport const SET_USER_RACE_BADGE = 'SET_USER_RACE_BADGE';\n\nexport const CHECK_AM_I_UNIQUE = 'CHECK_AM_I_UNIQUE';\n\nexport const SET_LAST_REGISTER_TIMESTAMP = 'SET_LAST_REGISTER_TIMESTAMP';\n\nexport const SET_HAS_AVAILABLE_BONUS_CODE = 'SET_HAS_AVAILABLE_BONUS_CODE';\n","import {\n\tVAULT_DEPOSIT,\n\tVAULT_GET_BALANCE,\n\tVAULT_SET_BALANCE,\n\tVAULT_UPDATE_BALANCE,\n\tVAULT_WITHDRAW,\n} from './vault.constants';\n\nconst vaultDeposit = (payload) => ({\n\ttype: VAULT_DEPOSIT,\n\tpayload,\n});\n\nconst vaultWithdraw = (payload) => ({\n\ttype: VAULT_WITHDRAW,\n\tpayload,\n});\n\nconst vaultSetBalance = (payload) => ({\n\ttype: VAULT_SET_BALANCE,\n\tpayload,\n});\n\nconst vaultUpdateBalance = (payload) => ({\n\ttype: VAULT_UPDATE_BALANCE,\n\tpayload,\n});\n\nconst vaultGetBalance = () => ({\n\ttype: VAULT_GET_BALANCE,\n});\n\nexport {\n\tvaultDeposit,\n\tvaultWithdraw,\n\tvaultSetBalance,\n\tvaultGetBalance,\n\tvaultUpdateBalance,\n};\n","export const VAULT_GET_BALANCE = 'VAULT_GET_BALANCE';\nexport const VAULT_SET_BALANCE = 'VAULT_SET_BALANCE';\nexport const VAULT_UPDATE_BALANCE = 'VAULT_UPDATE_BALANCE';\nexport const VAULT_WITHDRAW = 'VAULT_WITHDRAW';\nexport const VAULT_DEPOSIT = 'VAULT_DEPOSIT';\n","import { isFunction } from '@common/methods/isFunction';\nimport { config } from '../../../config';\nimport websocketService from '../../../modules/app/websocketService';\nimport {\n\tWebsocketChannelType,\n\tWebsocketEventType,\n} from '../websocket.constants';\nimport { getInstanceThunk } from './getInstance.thunk';\n\nexport const bindSocketChannelEventThunk = (\n\tchannel: WebsocketChannelType,\n\tevent: WebsocketEventType,\n\tcallback: (data, dispatch) => void,\n) => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (\n\t\t\t!config.websockets ||\n\t\t\t!process.browser ||\n\t\t\twebsocketService.isEventExist(channel, event, state.websocket.channels)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst channelInstance = dispatch(getInstanceThunk(channel));\n\t\tif (channelInstance && channelInstance.on) {\n\t\t\tchannelInstance.on(event, (data) => {\n\t\t\t\t// console.log(`SOCKET - ${event}`, {\n\t\t\t\t// \tdata,\n\t\t\t\t// \tchannel,\n\t\t\t\t// \tevent\n\t\t\t\t// });\n\t\t\t\tif (isFunction(callback)) {\n\t\t\t\t\tcallback(data, dispatch);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t// if (event === 'depositAccounted') console.log('bindSocketEvent', {channel}, {event}, channelInstance, state.websocket.channels);\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport websocketService from '../../../modules/app/websocketService';\nimport { setSocketChannel } from '../websocket.actions';\nimport { WebsocketChannelType } from '../websocket.constants';\n\nexport const getInstanceThunk = (channel: WebsocketChannelType): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!state?.websocket?.channels?.[channel]) {\n\t\t\tconst instance = websocketService.getInstance(dispatch);\n\t\t\tconst channelInstance = instance.channel(channel);\n\t\t\tdispatch(setSocketChannel(channel, channelInstance));\n\t\t\treturn channelInstance;\n\t\t}\n\t\treturn state.websocket.channels[channel];\n\t};\n};\n","import {\n\tBIND_PRIVATE_MESSAGES_SOCKET_EVENT,\n\tBIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n\tSET_SOCKET_CHANNEL,\n\tUNBIND_SOCKET_CHANNEL_EVENT,\n\tUNBIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n\tWEBSOCKET_SET_CONNECTION_STATE,\n\tWebsocketChannelType,\n} from './websocket.constants';\n\nexport const setSocketChannel = (name, data) => {\n\treturn {\n\t\ttype: SET_SOCKET_CHANNEL,\n\t\tname,\n\t\tdata,\n\t};\n};\n\nexport const bindSocketPrivateChannelEvent = (name, callback) => {\n\treturn {\n\t\ttype: BIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n\t\tname,\n\t\tcallback,\n\t};\n};\n\nexport const unbindSocketPrivateChannelEvent = (name) => {\n\treturn {\n\t\ttype: UNBIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n\t\tname,\n\t};\n};\n\nexport const bindPrivateMessagesSocketEvent = (name, callback) => {\n\treturn {\n\t\ttype: BIND_PRIVATE_MESSAGES_SOCKET_EVENT,\n\t\tname,\n\t\tcallback,\n\t};\n};\n\nexport const unbindSocketChannel = (\n\tchannel: WebsocketChannelType,\n\tname?: string,\n) => {\n\treturn {\n\t\ttype: UNBIND_SOCKET_CHANNEL_EVENT,\n\t\tchannel,\n\t\tname,\n\t};\n};\n\nexport const websocketSetConnectionState = (state) => {\n\treturn {\n\t\ttype: WEBSOCKET_SET_CONNECTION_STATE,\n\t\tpayload: state,\n\t};\n};\n","import { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { APP_COMMANDS } from '../app/app.constants';\n\nexport const SET_SOCKET_CHANNEL = 'SET_SOCKET_CHANNEL';\nexport const WEBSOCKET_SET_CONNECTION_STATE = 'WEBSOCKET_SET_CONNECTION_STATE';\nexport const BIND_SOCKET_EVENT = 'BIND_SOCKET_EVENT';\nexport const BIND_SOCKET_PRIVATE_CHANNEL_EVENT =\n\t'BIND_SOCKET_PRIVATE_CHANNEL_EVENT';\nexport const UNBIND_SOCKET_PRIVATE_CHANNEL_EVENT =\n\t'UNBIND_SOCKET_PRIVATE_CHANNEL_EVENT';\nexport const BIND_PRIVATE_MESSAGES_SOCKET_EVENT =\n\t'BIND_PRIVATE_MESSAGES_SOCKET_EVENT';\nexport const UNBIND_SOCKET_CHANNEL_EVENT = 'UNBIND_SOCKET_CHANNEL_EVENT';\n\nexport const WEBSOCKET_CHANNELS = {\n\tCOMMANDS: 'commands',\n\tCHAT: `chat`,\n\tSTATS: 'stats',\n\tALL_BETS: TABLE_ID.allBets,\n\tHIGH_ROLLS: TABLE_ID.highRolls,\n} as const;\n\nconst WEBSOCKET_EVENTS_COMMON = {\n\tSTATS: 'stats',\n\t// chat room channel\n\tMESSAGE: 'message',\n\t// allBets and highRolls channels\n\tBET_RESULT: 'betResult',\n\t// private and commands channel\n\tCOMMANDS: 'commands',\n\t// user channel\n\tUSER_BALANCE: 'userBalance',\n\tMY_BETS: TABLE_ID.myBets,\n} as const;\nconst WEBSOCKET_EVENTS_FRIENDS = {\n\tFRIENDS_REQUEST_SENT: 'friendRequestSent',\n\tFRIENDS_REQUEST_CANCELED: 'friendRequestCancelled',\n\tFRIENDS_REQUEST_ACCEPTED: 'friendRequestAccepted',\n\tFRIENDS_FRIEND_DELETED: 'friendDeleted',\n} as const;\n\nconst WEBSOCKET_EVENTS_WALLET = {\n\tWALLET_DEPOSIT_ACCOUNTED: 'depositAccounted',\n\tWALLET_DEPOSIT_DETECTED: 'depositDetected',\n\tWALLET_WITHDRAW_ACCEPTED: 'withdrawAccepted',\n} as const;\n\nconst WEBSOCKET_EVENTS_PRIVATE = {\n\tPRIVATE_MESSAGE: 'privateMessage',\n\tPRIVATE_CHANNEL_READ: 'privateChannelRead',\n} as const;\n\nexport const WEBSOCKET_EVENTS = {\n\t...WEBSOCKET_EVENTS_COMMON,\n\t...WEBSOCKET_EVENTS_FRIENDS,\n\t...WEBSOCKET_EVENTS_WALLET,\n\t...WEBSOCKET_EVENTS_PRIVATE,\n\t...APP_COMMANDS,\n} as const;\n\ntype WebsocketChannel = keyof typeof WEBSOCKET_CHANNELS;\nexport type WebsocketChannelType =\n\t| `${(typeof WEBSOCKET_CHANNELS)[WebsocketChannel]}.${string}`\n\t| (typeof WEBSOCKET_CHANNELS)[WebsocketChannel];\n\ntype WebsocketEvent = keyof typeof WEBSOCKET_EVENTS;\nexport type WebsocketEventType = (typeof WEBSOCKET_EVENTS)[WebsocketEvent];\n","import { connect } from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport {\n\tgetComponentErrorName,\n\thandleComponentError,\n} from '../store/app/app.actions';\n\nconst enhanceWithErrorHandling = (props) => {\n\tconst keys = Object.keys(props);\n\tconst isUpdated =\n\t\tkeys.length === 1 &&\n\t\t!['displayName', 'propTypes'].some((el) => keys.indexOf(el) > -1);\n\tconst componentName = isUpdated ? keys[0] : props.displayName || props.name;\n\tconst WrappedComponent = isUpdated ? props[componentName] : props;\n\n\t// if (!isUpdated) console.log('enhanceWithErrorHandling', {\n\t// \tkeys,\n\t// componentName,\n\t// WrappedComponent,\n\t// props,\n\t// });\n\n\tclass EnhancedComponent extends React.PureComponent {\n\t\tstatic propTypes = {\n\t\t\thandleComponentError: PropTypes.func,\n\t\t};\n\n\t\tstate = {\n\t\t\tisError: false,\n\t\t};\n\n\t\tcomponentDidCatch(error, info) {\n\t\t\tthis.props.handleComponentError({\n\t\t\t\tinstance: this,\n\t\t\t\terror,\n\t\t\t\tinfo,\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\terror: {\n\t\t\t\t\tinstance: this,\n\t\t\t\t\terror,\n\t\t\t\t\tinfo,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\trender() {\n\t\t\tif (this.state.isError) {\n\t\t\t\treturn (\n\t\t\t\t\t<DeveloperData\n\t\t\t\t\t\ttitle={getComponentErrorName(\n\t\t\t\t\t\t\t`Component: ${this.state.error?.instance} - is broken`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdata={this.state.error}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn <WrappedComponent {...this.props} />;\n\t\t}\n\t}\n\n\tEnhancedComponent.displayName = `errorIn(${componentName})`;\n\n\tconst mapDispatchToProps = (dispatch) => {\n\t\treturn {\n\t\t\thandleComponentError: (data) => dispatch(handleComponentError(data)),\n\t\t};\n\t};\n\n\treturn connect(null, mapDispatchToProps)(EnhancedComponent);\n};\n\nexport default enhanceWithErrorHandling;\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function () {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n","import { connect } from 'react-redux';\nimport React from 'react';\nimport isArray from 'lodash.isarray';\nimport { Subject } from 'rxjs/Subject';\nimport { from, zip } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport {\n\tregistryEpicInject,\n\tregistryEpicReject,\n\tregistryReducerInject,\n\tregistryReducerReject,\n\tregistryRegisterPackage,\n} from '../store/registry/registry.actions';\nimport 'rxjs/add/observable/fromPromise';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/takeUntil';\nimport 'rxjs/add/observable/forkJoin';\nimport 'rxjs/add/observable/zip';\nimport { capitalize } from '../modules/app/appService';\nimport { RegistryReducerType } from '../store/registry/registry.reducer';\nimport { PackageType } from '../store/registry/registry.constants';\n\ninterface ModuleConfig {\n\tid: string;\n\tcallback: () => Promise<any>;\n}\n\nexport interface AsyncStoreConfig {\n\tasyncReducers: Array<ModuleConfig>;\n\tasyncEpics: Array<ModuleConfig>;\n\tasyncDoNotReject?: boolean;\n\tasyncPackage?: PackageType;\n}\n\ninterface AsyncStoreProps extends AsyncStoreConfig {\n\tpackages: RegistryReducerType['packages'];\n\tinjectReducers: any;\n\tinjectEpics: any;\n\trejectReducers: any;\n\trejectEpics: any;\n\tregisterPackage: any;\n}\n\nexport enum ModuleType {\n\tEPIC = 'epic',\n\tREDUCER = 'reducer',\n}\n\nconst enhance = (component, props: AsyncStoreProps) => {\n\tconst keys = Object.keys(component);\n\tconst componentName = keys[0];\n\tconst WrappedComponent = component[componentName];\n\n\t// console.log('useAsyncStore', {\n\t// keys,\n\t// componentName,\n\t// WrappedComponent,\n\t// props,\n\t// component,\n\t// });\n\tconst moduleDefaultExport = (module) => module.default || module;\n\n\tconst esModule = (module, forceArray) => {\n\t\t// console.log('esModule', {module, forceArray});\n\t\tif (isArray(module)) {\n\t\t\treturn module.map(moduleDefaultExport);\n\t\t}\n\t\tconst defaulted = moduleDefaultExport(module);\n\t\treturn forceArray ? [defaulted] : defaulted;\n\t};\n\n\tclass EnhancedComponent extends React.PureComponent {\n\t\t_componentWillUnmountSubject: Subject<unknown>;\n\t\tdisplayName: string;\n\t\tprops: AsyncStoreProps;\n\t\tstatic ReducersLoaded = false;\n\t\tstatic EpicsLoaded = false;\n\n\t\tstate = {\n\t\t\tReducersLoaded: EnhancedComponent.ReducersLoaded,\n\t\t\tEpicsLoaded: EnhancedComponent.EpicsLoaded,\n\t\t\tmounted: false,\n\t\t};\n\n\t\tcomponentDidMount = () => {\n\t\t\tthis.registerPackage();\n\t\t\tthis.onInit();\n\t\t};\n\n\t\tregisterPackage = () => {\n\t\t\tif (props.asyncPackage && !this.props.packages[props.asyncPackage]) {\n\t\t\t\tthis.props.registerPackage(props.asyncPackage, [\n\t\t\t\t\t...this.getAsyncModules(ModuleType.REDUCER).map(\n\t\t\t\t\t\t(object) => `reducer_${object.id}`,\n\t\t\t\t\t),\n\t\t\t\t\t...this.getAsyncModules(ModuleType.EPIC).map(\n\t\t\t\t\t\t(object) => `epic_${object.id}`,\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t\t}\n\t\t};\n\n\t\tonInit = async () => {\n\t\t\tconst isAsyncReducers = this.isAsyncModule(ModuleType.REDUCER);\n\t\t\tconst isAsyncEpics = this.isAsyncModule(ModuleType.EPIC);\n\n\t\t\tif (isAsyncReducers || isAsyncEpics) {\n\t\t\t\tthis._componentWillUnmountSubject = new Subject();\n\n\t\t\t\tconst asyncF = this.getAsync;\n\t\t\t\tconst streams: ReturnType<typeof asyncF> = [];\n\n\t\t\t\tif (isAsyncReducers) {\n\t\t\t\t\tstreams.push(...this.getAsync(ModuleType.REDUCER));\n\t\t\t\t}\n\n\t\t\t\tif (isAsyncEpics) {\n\t\t\t\t\tstreams.push(...this.getAsync(ModuleType.EPIC));\n\t\t\t\t}\n\n\t\t\t\tzip(...streams)\n\t\t\t\t\t.pipe(\n\t\t\t\t\t\tmap((data) => {\n\t\t\t\t\t\t\t// console.log('zip', { data });\n\n\t\t\t\t\t\t\tconst reducers = data.filter(({ type }) => {\n\t\t\t\t\t\t\t\treturn type === ModuleType.REDUCER;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tconst epics = data.filter(({ type }) => {\n\t\t\t\t\t\t\t\treturn type === ModuleType.EPIC;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tfor (const reducer of reducers) {\n\t\t\t\t\t\t\t\tthis.handleModule(reducer);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tfor (const epic of epics) {\n\t\t\t\t\t\t\t\t\tthis.handleModule(epic);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 100);\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ttakeUntil(this._componentWillUnmountSubject),\n\t\t\t\t\t)\n\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t// TODO: clear checking is async module exist because it is done in registry.middleware on global state level, pages have async modules and between them there is no need to clear them\n\t\t\t\t\t\t// EnhancedComponent[`${capitalize(ModuleType.REDUCER)}sLoaded`] = true;\n\t\t\t\t\t\t// EnhancedComponent[`${capitalize(ModuleType.EPIC)}sLoaded`] = true;\n\t\t\t\t\t\tthis.mounted();\n\t\t\t\t\t\tthis._componentWillUnmountSubject.unsubscribe();\n\t\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tmounted = () => {\n\t\t\tthis.setState({\n\t\t\t\tmounted: true,\n\t\t\t});\n\t\t};\n\n\t\thandleModule = (data) => {\n\t\t\tconst { module, dataCallback, callback } = data;\n\t\t\tif (module) {\n\t\t\t\tif (callback) {\n\t\t\t\t\tcallback({\n\t\t\t\t\t\t...dataCallback,\n\t\t\t\t\t\tmodule: esModule(module, true)[0],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tcomponentWillUnmount = () => {\n\t\t\tif (\n\t\t\t\tthis._componentWillUnmountSubject &&\n\t\t\t\t!this._componentWillUnmountSubject.closed\n\t\t\t) {\n\t\t\t\tthis._componentWillUnmountSubject.next();\n\t\t\t\tthis._componentWillUnmountSubject.unsubscribe();\n\t\t\t}\n\n\t\t\tthis.rejectModules();\n\t\t};\n\n\t\trejectModules = () => {\n\t\t\tconst isAsyncReducers = this.isAsyncModule(ModuleType.REDUCER, true);\n\t\t\tconst isAsyncEpics = this.isAsyncModule(ModuleType.EPIC, true);\n\n\t\t\t// console.log('rejectModules', {isAsyncEpics, isAsyncReducers});\n\n\t\t\tif (isAsyncReducers || isAsyncEpics) {\n\t\t\t\tif (isAsyncEpics) {\n\t\t\t\t\tthis.rejectModule(ModuleType.EPIC);\n\t\t\t\t}\n\n\t\t\t\tif (isAsyncReducers) {\n\t\t\t\t\tthis.rejectModule(ModuleType.REDUCER);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tgetAsyncModules = (type: ModuleType): Array<ModuleConfig> => {\n\t\t\tlet array = props[`async${capitalize(type)}s`];\n\t\t\tif (!array) {\n\t\t\t\tarray = [];\n\t\t\t}\n\t\t\tif (!Array.isArray(array)) {\n\t\t\t\tarray = [array];\n\t\t\t}\n\t\t\treturn array;\n\t\t};\n\n\t\trejectModule = (type) => {\n\t\t\tif (props.asyncDoNotReject) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst array = this.getAsyncModules(type);\n\t\t\tconst callback = this.props[`reject${capitalize(type)}s`];\n\t\t\tEnhancedComponent[`${capitalize(type)}sLoaded`] = false;\n\t\t\t// console.log('rejectModule', {type, array, EnhancedComponent});\n\t\t\tarray.map((el) => {\n\t\t\t\tconst dataCallback = {\n\t\t\t\t\tkey: el.id,\n\t\t\t\t\tpackage: props.asyncPackage,\n\t\t\t\t};\n\t\t\t\treturn callback(dataCallback);\n\t\t\t});\n\t\t};\n\n\t\tisAsyncModule = (type: ModuleType, isRemove?: boolean) => {\n\t\t\t// console.log('isAsyncModule', type, {\n\t\t\t// \tstate: { ...this.state },\n\t\t\t// \tprops: { ...props },\n\t\t\t// \tisRemove,\n\t\t\t// \tbool:\n\t\t\t// \t\t(!isRemove ? !this.state[`${capitalize(type)}sLoaded`] : true) &&\n\t\t\t// \t\t!!this.getAsyncModules(type)?.length,\n\t\t\t// });\n\t\t\treturn (\n\t\t\t\t(!isRemove ? !this.state[`${capitalize(type)}sLoaded`] : true) &&\n\t\t\t\t!!this.getAsyncModules(type)?.length\n\t\t\t);\n\t\t};\n\n\t\tgetAsync = (type: ModuleType) => {\n\t\t\tconst array = this.getAsyncModules(type);\n\t\t\tconst callback = this.props[`inject${capitalize(type)}s`];\n\t\t\treturn this.getModules(array, callback, type);\n\t\t};\n\n\t\tgetModules = (\n\t\t\tarray: Array<ModuleConfig>,\n\t\t\tcallback: any,\n\t\t\ttype: ModuleType,\n\t\t) => {\n\t\t\t// console.log('getModules', {array, doRemove});\n\t\t\treturn array.map((el) => {\n\t\t\t\tconst dataCallback = {\n\t\t\t\t\tkey: el.id,\n\t\t\t\t\tpackage: props.asyncPackage,\n\t\t\t\t};\n\t\t\t\treturn from(el.callback()).pipe(\n\t\t\t\t\tmap((module) => {\n\t\t\t\t\t\t// console.log('getModules', type, module, dataCallback);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tmodule,\n\t\t\t\t\t\t\tdataCallback,\n\t\t\t\t\t\t\tel,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tcallback,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(this._componentWillUnmountSubject),\n\t\t\t\t);\n\t\t\t});\n\t\t};\n\n\t\trender = () => {\n\t\t\treturn this.state.mounted ? <WrappedComponent {...this.props} /> : false;\n\t\t};\n\t}\n\n\t// @ts-expect-error invalid type\n\tEnhancedComponent.displayName = `asyncStore(${componentName})`;\n\n\tconst mapStateToProps = (state) => ({\n\t\tpackages: state.registry.packages,\n\t});\n\n\tconst mapDispatchToProps = (dispatch) => {\n\t\treturn {\n\t\t\tinjectReducers: (...argument) =>\n\t\t\t\tdispatch(registryReducerInject(...argument)),\n\t\t\tinjectEpics: (...argument) => dispatch(registryEpicInject(...argument)),\n\t\t\trejectReducers: (...argument) =>\n\t\t\t\tdispatch(registryReducerReject(...argument)),\n\t\t\trejectEpics: (...argument) => dispatch(registryEpicReject(...argument)),\n\t\t\tregisterPackage: (id, modules) =>\n\t\t\t\tdispatch(registryRegisterPackage(id, modules)),\n\t\t};\n\t};\n\n\treturn connect(mapStateToProps, mapDispatchToProps)(EnhancedComponent);\n};\n\nexport default enhance;\n","import { connect } from 'react-redux';\nimport { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tconverterToNative,\n\tconverterToUsd,\n} from '../store/converter/converter.actions';\n\nconst enhanceWithCurrencyConverter = (props) => {\n\tconst keys = Object.keys(props);\n\tconst isUpdated =\n\t\tkeys.length === 1 &&\n\t\t!['displayName', 'propTypes'].some((el) => keys.indexOf(el) > -1);\n\tconst componentName = isUpdated ? keys[0] : props.displayName || props.name;\n\tconst WrappedComponent = isUpdated ? props[componentName] : props;\n\n\tclass EnhancedComponent extends PureComponent {\n\t\tstatic propTypes = {\n\t\t\tvalue: PropTypes.number,\n\t\t\tactiveCurrency: PropTypes.string,\n\t\t\ttoUsd: PropTypes.func,\n\t\t};\n\n\t\tstate = {\n\t\t\tconverted: null,\n\t\t};\n\n\t\tcomponentDidMount() {\n\t\t\tthis.setConverted();\n\t\t}\n\n\t\tcomponentDidUpdate(prevProps) {\n\t\t\tconst isValueChanged = this.props.value !== prevProps.value;\n\t\t\tconst isCurrencyChanged =\n\t\t\t\tthis.props.activeCurrency !== prevProps.activeCurrency;\n\n\t\t\tif (isValueChanged || isCurrencyChanged) {\n\t\t\t\tthis.setConverted();\n\t\t\t}\n\t\t}\n\n\t\tsetConverted = () => {\n\t\t\tthis.setState({\n\t\t\t\tconverted: this.props.toUsd(\n\t\t\t\t\tthis.props.value,\n\t\t\t\t\tthis.props.activeCurrency,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t});\n\t\t};\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<WrappedComponent {...this.props} converted={this.state.converted} />\n\t\t\t);\n\t\t}\n\t}\n\n\tEnhancedComponent.displayName = `errorIn(${componentName})`;\n\n\tconst mapStateToProps = (state, props) => {\n\t\treturn {\n\t\t\tactiveCurrency: props.currency || state.user.activeCurrency,\n\t\t\tformCurrency:\n\t\t\t\tstate.converter.currency === 'usd'\n\t\t\t\t\t? state.converter.currency\n\t\t\t\t\t: props.currency || state.user.activeCurrency,\n\t\t};\n\t};\n\n\tconst mapDispatchToProps = (dispatch) => {\n\t\treturn {\n\t\t\ttoUsd: (value, currency, precision, direction, force) =>\n\t\t\t\tdispatch(converterToUsd(value, currency, precision, direction, force)),\n\t\t\ttoNative: (value, currency, precision, direction, force) =>\n\t\t\t\tdispatch(\n\t\t\t\t\tconverterToNative(value, currency, precision, direction, force),\n\t\t\t\t),\n\t\t};\n\t};\n\n\treturn connect(mapStateToProps, mapDispatchToProps)(EnhancedComponent);\n};\n\nexport default enhanceWithCurrencyConverter;\n","import enhanceWithClickOutside from 'react-click-outside';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { whyDidYouRenderOptions } from '../modules/app/devService';\nimport enhanceWithErrorHandling from './enhanceWithErrorHandling';\nimport enhanceWithAsyncStore from './enhanceWithAsyncStore';\nimport enhanceWithCurrencyConveter from './enhanceWithCurrencyConveter';\n\nexport const enhanceComponent = (data) => {\n\tconst keys = Object.keys(data);\n\tconst isInvalid = ['displayName', 'propTypes'].some(\n\t\t(el) => keys.indexOf(el) > -1,\n\t);\n\tif (isInvalid) {\n\t\tconsole.error('Invalid component passed', {\n\t\t\tdata,\n\t\t\tkeys,\n\t\t\tisInvalid,\n\t\t});\n\t\treturn false;\n\t}\n\tconst componentKeyIndex = keys.findIndex(\n\t\t(el) => ['props'].indexOf(el) === -1,\n\t);\n\tconst componentName = keys[componentKeyIndex];\n\tlet WrappedComponent = data[componentName];\n\tif (data?.props?.currencyConverter) {\n\t\tWrappedComponent = enhanceWithCurrencyConveter(WrappedComponent);\n\t}\n\tif (data?.props?.clickOutside) {\n\t\tWrappedComponent = enhanceWithClickOutside(WrappedComponent);\n\t}\n\n\tif (data?.props?.asyncEpics?.length || data?.props?.asyncReducers?.length) {\n\t\tWrappedComponent = enhanceWithAsyncStore(\n\t\t\t{\n\t\t\t\t[componentName]: WrappedComponent,\n\t\t\t},\n\t\t\tdata.props,\n\t\t);\n\t}\n\t// console.log('enhanceGame', {\n\t// data,\n\t// keys,\n\t// componentKeyIndex,\n\t// componentName,\n\t// WrappedComponent,\n\t// });\n\tconst result = enhanceWithErrorHandling({\n\t\t[componentName]: WrappedComponent,\n\t});\n\tif (NEXT_CONFIG.DEV) {\n\t\treturn whyDidYouRenderOptions(result, componentName);\n\t}\n\treturn result;\n};\n","import React from 'react';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { config } from '../../config';\n\nexport const initWhyDidYouRender = () => {\n\tif (NEXT_CONFIG.DEV && process.browser) {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tconst whyDidYouRender = require('@welldone-software/why-did-you-render');\n\t\t\twhyDidYouRender(React);\n\t\t}\n\t}\n};\n\nconst whyDidYouRenderOptions = (component, name) => {\n\tif (name.indexOf('EventContent') === -1) {\n\t\treturn component;\n\t}\n\t// console.log('whyDidYouRenderOptions', name);\n\tif (NEXT_CONFIG.DEV) {\n\t\tcomponent.whyDidYouRender = {\n\t\t\tlogOnDifferentValues: false,\n\t\t\tcustomName: name || undefined,\n\t\t};\n\t}\n\treturn component;\n};\n\nconst logger = (...args) => {\n\tif (config.logger) {\n\t\tconsole.log(...args);\n\t}\n};\n\nexport { whyDidYouRenderOptions, logger };\n","import { useCallback, useReducer, useState } from 'react';\n\nexport const useForceUpdate = (): (() => void) => {\n\treturn useReducer(() => ({}), {})[1] as () => void;\n};\n\nexport const useForceUpdateWithTimeout = ({\n\ttimeout,\n\tcounter,\n}: {\n\ttimeout: number;\n\tcounter: number;\n}) => {\n\tconst forceRerender = useForceUpdate();\n\n\tconst [counter_, setCounter_] = useState(0);\n\n\treturn useCallback(() => {\n\t\tif (counter_ < counter) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tforceRerender();\n\t\t\t\tsetCounter_(counter + 1);\n\t\t\t}, timeout);\n\t\t}\n\t}, [counter, counter_, forceRerender, timeout]);\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { isFunction } from '@common/methods/isFunction';\nimport { usePrevious } from '../render/usePrevious';\n\ntype CallbackResult = void | any | Promise<any>;\n\nexport const useInterval = <T = CallbackResult>({\n\tinterval,\n\tcallback,\n\tid,\n}: {\n\tinterval: number;\n\tcallback: () => T;\n\tid: string;\n}): void => {\n\tconst intervalHandler = useRef(null);\n\tconst isLoading = useRef(false);\n\tconst prevId = usePrevious(id);\n\tconst prevInterval = usePrevious(interval);\n\n\tconst get = useCallback(() => {\n\t\tif (!callback) {\n\t\t\treturn;\n\t\t}\n\t\tisLoading.current = true;\n\t\tconst result = callback();\n\t\tif (!result) {\n\t\t\treturn;\n\t\t}\n\t\t// @ts-expect-error invalid type\n\t\tif (isFunction(result?.then)) {\n\t\t\t// @ts-expect-error invalid type\n\t\t\tresult.then((result) => {\n\t\t\t\tisLoading.current = false;\n\t\t\t\treturn result;\n\t\t\t});\n\t\t} else {\n\t\t\tisLoading.current = false;\n\t\t}\n\t}, [callback]);\n\n\tconst setInterval_ = useCallback(() => {\n\t\tif (prevId === id && prevInterval === interval && intervalHandler.current) {\n\t\t\treturn;\n\t\t}\n\t\tif (intervalHandler.current) {\n\t\t\tclearInterval(intervalHandler.current);\n\t\t\tintervalHandler.current = null;\n\t\t}\n\t\tif (!interval && !!prevInterval) {\n\t\t\treturn;\n\t\t}\n\t\tget();\n\t\tif (interval) {\n\t\t\tintervalHandler.current = setInterval(() => {\n\t\t\t\tget();\n\t\t\t}, interval);\n\t\t}\n\t}, [get, id, interval, prevId, prevInterval]);\n\n\tconst clearInterval_ = useCallback(() => {\n\t\tif (intervalHandler.current) {\n\t\t\tclearInterval(intervalHandler.current);\n\t\t\tintervalHandler.current = null;\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetInterval_();\n\t\treturn clearInterval_;\n\t}, [clearInterval_, setInterval_]);\n};\n","import { useCallback, useRef } from 'react';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport {\n\tfetchApi,\n\tfetchLocal,\n\tparseProps,\n} from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\n\nexport interface FetchProps {\n\turl: string;\n\tmethod?: string;\n\tdisableErrorHandler?: boolean;\n\tloaderId?: LOADING_IDS | string;\n\tfromState?: boolean | number;\n\tlockByModal?: boolean;\n\ttwoFactorAuth?: boolean;\n\tparameters?: {\n\t\theaders?: Record<string, string>;\n\t\tAuthorization?: boolean;\n\t\tbody?: Record<string, any>;\n\t\tmethod?: string;\n\t};\n}\n\nexport type FetchResponse<T extends {}> = T & {\n\tstatus: number;\n\terrors?: Record<string, Array<string>>;\n\terror?: string | Record<string, string | Record<string, string>>;\n\tmessage?: string;\n\ttext?: string;\n};\n\ntype Fetch = <T = any>(props: FetchProps) => Promise<FetchResponse<T>>;\n\nexport const useFetchApiPromise = (): Fetch => {\n\tconst dispatch = useAppDispatch();\n\tconst token = useRef({ cancel: null });\n\n\tconst fetch = useCallback(\n\t\t(data) => dispatch(fetchApi({ ...data, token: token.current })),\n\t\t[dispatch],\n\t);\n\n\tuseOnMount(() => () => {\n\t\t// console.log('useFetchApi CANCEL');\n\t\tif (token.current.cancel) {\n\t\t\ttoken.current.cancel();\n\t\t}\n\t});\n\n\treturn fetch;\n};\n\nexport const useFetchLocalApiPromise = (): Fetch => {\n\tconst dispatch = useAppDispatch();\n\tconst token = useRef({ cancel: null });\n\n\tconst fetch = useCallback(\n\t\t(data) =>\n\t\t\tdispatch(fetchLocal(...parseProps({ ...data, token: token.current }))),\n\t\t[dispatch],\n\t);\n\n\tuseOnMount(() => () => {\n\t\t// console.log('useFetchApi CANCEL');\n\t\tif (token.current.cancel) {\n\t\t\ttoken.current.cancel();\n\t\t}\n\t});\n\n\treturn fetch;\n};\n\nexport const useFetchApi = (): {\n\tfetch: Fetch;\n\tfetchLocal: Fetch;\n\tcancel: () => void;\n\tcancelLocal: () => void;\n} => {\n\tconst dispatch = useAppDispatch();\n\tconst token = useRef({ cancel: null });\n\tconst tokenLocal = useRef({ cancel: null });\n\n\tconst fetch = useCallback(\n\t\t(data) => {\n\t\t\treturn dispatch(fetchApi({ ...data, token: token.current }));\n\t\t},\n\t\t[dispatch],\n\t);\n\tconst fetchLocal_ = useCallback(\n\t\t(data) => {\n\t\t\treturn dispatch(fetchLocal(...parseProps(data)));\n\t\t},\n\t\t[dispatch],\n\t);\n\n\tconst cancel = token?.current?.cancel || ((value) => value);\n\tconst cancelLocal = tokenLocal?.current?.cancel || ((value) => value);\n\n\tuseOnMount(() => () => {\n\t\t// console.log('useFetchApi CANCEL');\n\t\tcancel();\n\t\tcancelLocal();\n\t});\n\n\treturn { fetch, cancel, fetchLocal: fetchLocal_, cancelLocal };\n};\n","import { useEffect, useRef } from 'react';\nimport { isFunction } from '@common/methods/isFunction';\n\nexport const usePrevious = <T = any>(value, checkDiff?: (a, b) => boolean) => {\n\tconst ref = useRef<T>(value);\n\tuseEffect(() => {\n\t\tif (isFunction(checkDiff)) {\n\t\t\tif (checkDiff(ref.current, value)) {\n\t\t\t\tref.current = value;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tref.current = value;\n\t}, [checkDiff, value]);\n\treturn ref.current;\n};\n","import * as React from 'react';\nimport { useEffect } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\n\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get;\n\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\n\n if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n var bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return function () {// Nothing to cleanup\n };\n } // An observer with the same options can be reused, so lets use this fact\n\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements[\"delete\"](element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap[\"delete\"](id);\n }\n };\n}\n\nvar _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `<InView>` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView>\r\n {({ inView, ref, entry }) => (\r\n <div ref={ref}>\r\n <h2>{`Header inside viewport ${inView}.`}</h2>\r\n </div>\r\n )}\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the `<InView />`, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `<InView>` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView as=\"div\" onChange={(inView, entry) => console.log('Inview:', inView)}>\r\n <h2>Plain children are always rendered. Use onChange to monitor state.</h2>\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\n _this.handleNode = function (node) {\n if (_this.node) {\n // Clear the old observer, before we start observing a new element\n _this.unobserve();\n\n if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n _this.setState({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\n\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\n\n if (!isPlainChildren(_this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n };\n\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay,\n fallbackInView = _this$props.fallbackInView;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n };\n\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\n };\n\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(as || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(React.Component);\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\n};\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n * <div ref={ref}>\r\n * <h2>{`Header inside viewport ${inView}.`}</h2>\r\n * </div>\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView,\n fallbackInView = _ref.fallbackInView;\n\n var unobserve = React.useRef();\n\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = React.useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n }\n }, // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [// If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n /* eslint-disable-next-line */\n\n useEffect(function () {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView\n });\n }\n });\n var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { InView, InView as default, defaultFallbackInView, observe, useInView };\n//# sourceMappingURL=react-intersection-observer.m.js.map\n","// eslint-disable-next-line import/named\nimport { IntersectionOptions, useInView } from 'react-intersection-observer';\n\nconst DISABLE = process.browser ? !('IntersectionObserver' in window) : true;\n\nexport const useViewport = (options: IntersectionOptions) => {\n\tconst { ref, inView } = useInView({\n\t\t...options,\n\t\tskip: DISABLE,\n\t\tinitialInView: DISABLE,\n\t});\n\n\treturn {\n\t\tactive: inView,\n\t\tref,\n\t};\n};\n","// eslint-disable-next-line import/named\nimport { ThunkDispatch } from 'redux-thunk';\nimport { useDispatch } from 'react-redux';\nimport Redux from 'redux';\nimport { RootState } from '../../client/store/configure.store';\n\nexport type AppDispatch = ThunkDispatch<RootState, any, Redux.AnyAction>;\n\nexport const useAppDispatch = () => useDispatch<AppDispatch>();\n\nexport const useDispatchCallback = <\n\tT = (...args: any) => Parameters<AppDispatch>[0],\n>(\n\tcallback: T,\n) => {\n\tconst dispatch = useAppDispatch();\n\t// @ts-expect-error invalid type\n\treturn (...payload: Parameters<T>) =>\n\t\t// @ts-expect-error invalid type\n\t\tdispatch(callback(...payload));\n};\n","import { createSelectorHook } from 'react-redux';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { RootState } from '../../client/store/configure.store';\n\nexport const useAppSelector = createSelectorHook<RootState>();\nexport const useAppSelectorWithProps = <T>(value: T, selector) => {\n\tconst value_ = selector();\n\treturn isTrueOrZero(value) ? value : value_;\n};\n","import { useCallback, useEffect } from 'react';\nimport Router from 'next/router';\nimport { useTranslation } from 'next-i18next';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { useForceUpdate } from '../app/useForceRerender';\nimport { translationService } from '../../client/modules/translation/translationService';\nimport { TransNamespace } from '../../client/modules/translation/TransNamespace';\nimport { getTranslationFromInstance } from '../../methods/i18n/getTranslationFromInstance';\n\nexport const useAddNamespace = ({\n\tnamespace,\n\tnoTranslationCheck,\n\tkey,\n}: {\n\tkey?: any;\n\tnamespace: TransNamespace;\n\tnoTranslationCheck?: boolean;\n}) => {\n\tconst { i18n } = useTranslation(namespace);\n\tconst forceRerender = useForceUpdate();\n\n\tconst updateNamespace = useCallback(\n\t\t(transValue) => {\n\t\t\tif (!noTranslationCheck && !transValue) {\n\t\t\t\ttranslationService.checkTranslationExistence(\n\t\t\t\t\tkey,\n\t\t\t\t\tnamespace,\n\t\t\t\t\tforceRerender,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[forceRerender, key, namespace, noTranslationCheck],\n\t);\n\n\tconst routeChangeEnd = useCallback(() => {\n\t\tconst transValue = getTranslationFromInstance({ i18n, namespace, key });\n\t\tupdateNamespace(transValue);\n\t}, [i18n, key, namespace, updateNamespace]);\n\n\tuseOnMount(() => {\n\t\tRouter.events.on('routeChangeComplete', routeChangeEnd);\n\t\treturn () => {\n\t\t\tRouter.events.off('routeChangeComplete', routeChangeEnd);\n\t\t};\n\t});\n\n\tuseEffect(() => {\n\t\tconst transValue = getTranslationFromInstance({ i18n, namespace, key });\n\t\tupdateNamespace(transValue);\n\t}, [updateNamespace]);\n};\n","import { useCallback, useState } from 'react';\nimport {\n\tCURRENCIES_SETTINGS_UPDATE_INTERVAL,\n\tcurrenciesSettings,\n} from 'src/common/controllers/currency/currenciesSettings';\nimport { useInterval } from 'src/LegacyApp/hooks/app/useInterval';\nimport transactionService from 'src/modules/transactions/transactionsService';\nimport { CurrenciesSettings } from '@legacyApp/types/wallet/CurrenciesSettings';\nimport { CurrencyType, Token } from '@legacyApp/types/wallet/CurrencyType';\n\nexport const useCurrenciesSettings = () => {\n\tconst [settings, setSettings] = useState<CurrenciesSettings>(\n\t\tcurrenciesSettings.getAllSettings.bind(currenciesSettings),\n\t);\n\n\tconst updateSettings = useCallback(() => {\n\t\tconst newData = currenciesSettings.getAllSettings();\n\n\t\tif (transactionService.isDataDifferent(settings, newData)) {\n\t\t\tsetSettings(newData);\n\t\t}\n\t}, [settings]);\n\n\tconst [list, setList] = useState<CurrencyType[]>(\n\t\tcurrenciesSettings.getList.bind(currenciesSettings),\n\t);\n\n\tconst updateList = useCallback(() => {\n\t\tconst newData = currenciesSettings.getList();\n\n\t\tif (transactionService.isListDifferent(list, newData)) {\n\t\t\tsetList(newData);\n\t\t}\n\t}, [list]);\n\n\tconst [tokens, setTokens] = useState<Token[]>(\n\t\tcurrenciesSettings.getTokens.bind(currenciesSettings),\n\t);\n\n\tconst updateTokens = useCallback(() => {\n\t\tconst newData = currenciesSettings.getTokens();\n\n\t\tif (transactionService.isListDifferent(tokens, newData)) {\n\t\t\tsetTokens(newData);\n\t\t}\n\t}, [tokens]);\n\n\tuseInterval({\n\t\tid: 'currencies_settings',\n\t\tinterval: CURRENCIES_SETTINGS_UPDATE_INTERVAL,\n\t\tcallback: () => {\n\t\t\tupdateSettings();\n\t\t\tupdateTokens();\n\t\t\tupdateList();\n\t\t},\n\t});\n\n\treturn {\n\t\tsettings,\n\t\tlist,\n\t\ttokens,\n\t};\n};\n","export const isWindowVisible = (): boolean => {\n\treturn process.browser ? document.visibilityState === 'visible' : true;\n};\n","import { currenciesSettings } from '@common/controllers/currency/currenciesSettings';\nimport { CurrencyType } from '../../types/wallet/CurrencyType';\n\nexport const getLimits = ({\n\tcurrency,\n\tgame,\n}: {\n\tcurrency?: CurrencyType;\n\tgame?: string;\n}) => {\n\tif (!currency) {\n\t\treturn {};\n\t}\n\tconst settings = currenciesSettings.getSettings(currency);\n\tif (!settings) {\n\t\treturn {};\n\t}\n\treturn settings[game] || settings.casino || {};\n};\n","import { createApiHash } from './createApiHash';\n\nexport const createHeaders = ({ body }: { body?: any }) => {\n\treturn {\n\t\t['Content-Type']: 'application/json',\n\t\t['X-Client-Type']: 'Web-Application',\n\t\t['X-Requested-With']: 'XMLHttpRequest',\n\t\t['X-Hash-Api']: createApiHash(body),\n\t};\n};\n","import md5 from 'md5';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { getTimestamp } from '../../client/modules/app/timeService';\nimport { sentryError } from '../../client/modules/app/sentryService';\n\nexport const createApiHash = (body = '') => {\n\ttry {\n\t\tconst bodyString = jsonToString(body);\n\t\tconst bodyhash = md5(bodyString).split('');\n\t\tconst timestamphash = md5(`${getTimestamp()}`).split('');\n\t\treturn bodyhash\n\t\t\t.map((character, index) => {\n\t\t\t\treturn `${character}${timestamphash[index]}`;\n\t\t\t})\n\t\t\t.join('');\n\t} catch (error) {\n\t\tsentryError(new Error('Error in createApiHash'), {\n\t\t\tbody,\n\t\t\terror,\n\t\t\tjsonToString,\n\t\t\tmd5,\n\t\t});\n\t\treturn '';\n\t}\n};\n","import { apiConfig } from '@server/config/api.config';\n\nexport const parseApiUrl = (uri) => {\n\tif (typeof uri === 'string' && uri.indexOf('http') > -1) {\n\t\treturn uri;\n\t}\n\tconst uriData = {\n\t\turi: typeof uri !== 'string' ? uri.uri : uri,\n\t\tapi: typeof uri !== 'string' ? uri.apiUrl : apiConfig.apiUrl,\n\t};\n\turiData.api = uriData.api.replace('/v1', '');\n\tif (!['/v1/', '/v2/', '/v3'].some((el) => uriData.uri.indexOf(el) > -1)) {\n\t\turiData.uri = `/v1${uriData.uri}`;\n\t}\n\t// console.log('parseApiUrl', {\n\t// uriData,\n\t// uri,\n\t// regexResult: ['/v1/', '/v2/', '/v3'].findIndex(el => uriData.uri.indexOf(el) === -1) === -1,\n\t// result: `${uriData.api}${uriData.uri}`,\n\t// });\n\treturn `${uriData.api}${uriData.uri}`;\n};\n","export const getTranslationFromInstance = ({\n\ti18n,\n\tnamespace,\n\tkey,\n}): string => {\n\treturn i18n?.store?.data?.[i18n?.language]?.[namespace]?.[key];\n};\n","export const countPrecision = (a) => {\n\tif (typeof a === 'number') {\n\t\tif (!isFinite(a)) {\n\t\t\treturn 0;\n\t\t}\n\t\tlet e = 1,\n\t\t\tp = 0;\n\t\twhile (Math.round(a * e) / e !== a) {\n\t\t\te *= 10;\n\t\t\tp++;\n\t\t}\n\t\treturn p;\n\t}\n\tif (typeof a === 'string' && !(!parseFloat(a) && parseFloat(a) !== 0)) {\n\t\tconst decimals = a.split('.')[1];\n\t\treturn decimals ? decimals.length : 0;\n\t}\n\treturn null;\n};\n","import { regexStrings } from '../../client/modules/app/regexService';\n\nexport const scientificToDecimal = (value?: number | string): string => {\n\tif (!value && value !== 0) {\n\t\treturn '';\n\t}\n\tconst number = Number(value);\n\tconst minus = number < 0;\n\n\t//if the number is in scientific notation remove it\n\tif (regexStrings.scientificNotationNumber.test(String(value))) {\n\t\tconst zero = '0';\n\t\tconst parts = String(value).toLowerCase().split('e'); //split into coeff and exponent\n\t\tconst exponential = Number(parts.pop()); //store the exponential part\n\t\tlet number_of_zeros = Math.abs(exponential); //get the number of zeros\n\t\tconst direction = exponential / number_of_zeros; // use to determine the zeroes on the left or right\n\t\tconst coeff_array = parts[0].split('.');\n\n\t\tif (direction === -1) {\n\t\t\tcoeff_array[0] = String(Math.abs(Number(coeff_array[0])));\n\t\t\tvalue =\n\t\t\t\tzero +\n\t\t\t\t'.' +\n\t\t\t\tnew Array(number_of_zeros).join(zero) +\n\t\t\t\tcoeff_array.join('');\n\t\t} else {\n\t\t\tconst dec = coeff_array[1];\n\t\t\tif (dec) {\n\t\t\t\tnumber_of_zeros = number_of_zeros - dec.length;\n\t\t\t}\n\t\t\tvalue =\n\t\t\t\tcoeff_array.join('') +\n\t\t\t\t(Number.isInteger(number_of_zeros) && number_of_zeros > 0\n\t\t\t\t\t? new Array(number_of_zeros + 1).join(zero)\n\t\t\t\t\t: '');\n\t\t}\n\n\t\tif (minus) {\n\t\t\tvalue = `-${value}`;\n\t\t}\n\t}\n\n\treturn `${value}`;\n};\n","import Redux from 'redux';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nimport { stringToJson } from '@common/methods/stringToJson';\n\nexport type SetReducerType<T = unknown, A = Redux.AnyAction> = (\n\tinit: T,\n\tset:\n\t\t| string\n\t\t| {\n\t\t\t\taction: string;\n\t\t\t\tcallback: (data: T) => T;\n\t\t },\n\tcookieKey?: `localstorage-${LocalStorageKeysType}`,\n\tclearAction?: string,\n\tstateCallback?: (state: T, action: A) => T,\n) => Redux.Reducer;\n\nexport const setReducer: SetReducerType = (\n\tinit,\n\tset,\n\tcookieKey,\n\tclearAction,\n\tstateCallback,\n) => {\n\tlet getStorage = cookieService.get;\n\tlet setStorage = cookieService.set;\n\tlet clearStorage = cookieService.clear;\n\tlet cookieKey_: LocalStorageKeysType = null;\n\tif (cookieKey && cookieKey.indexOf('localstorage-') > -1) {\n\t\tcookieKey_ = cookieKey.replace('localstorage-', '') as LocalStorageKeysType;\n\t\tgetStorage = lsGet;\n\t\tsetStorage = lsSet;\n\t\tclearStorage = lsClear;\n\t}\n\tconst cookie = cookieKey_ ? getStorage(cookieKey) : null;\n\tlet setAction = set;\n\tlet setCallback = null;\n\tif (typeof set !== 'string') {\n\t\tif (set.action) {\n\t\t\tsetAction = set.action;\n\t\t}\n\t\tif (set.callback) {\n\t\t\tsetCallback = set.callback;\n\t\t}\n\t}\n\treturn (\n\t\tstate = stringToJson(cookie, cookie) || init,\n\t\taction: Redux.AnyAction,\n\t) => {\n\t\tif (action.type === setAction) {\n\t\t\tif (cookieKey) {\n\t\t\t\tsetStorage(cookieKey, action.payload);\n\t\t\t}\n\t\t\treturn setCallback ? setCallback(action.payload) : action.payload;\n\t\t}\n\t\tif (clearAction && action.type === clearAction) {\n\t\t\tif (cookieKey) {\n\t\t\t\tclearStorage(cookieKey);\n\t\t\t}\n\t\t\treturn init;\n\t\t}\n\t\tif (stateCallback) {\n\t\t\treturn stateCallback(state, action);\n\t\t}\n\t\treturn state;\n\t};\n};\n","import { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { HIDDEN_USER } from '@common/constants/user/HIDDEN_USER';\n\nexport const TABLE_MOCKS = {\n\t[TABLE_ID.allBets]: [\n\t\t{\n\t\t\thash: 'eec86615-4cc5-4ddb-9f12-a83c16c7aa71',\n\t\t\tnonce: 2131267,\n\t\t\tuser_seed: 'kebokebo123e123',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00000003',\n\t\t\tprofit: '-0.0000000300',\n\t\t\tmultiplier: '18.0000',\n\t\t\tbet_value: '5.50',\n\t\t\tresult_value: '89.89',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'4f22b5065652bf65f81f67cdbaffde3299fafbba9d482215809f79e79aaae244',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: '4d1t',\n\t\t\t\tuuid: '2c684953-9266-4fa6-8bc3-35b24fdc5a0d',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-02-07',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: false,\n\t\t\t\t\t\tpublic_total_wagered: false,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '5a8be5b5-3796-43e9-87ae-a6af463d733c',\n\t\t\tnonce: 77991242,\n\t\t\tuser_seed: 'ff6a7073390e7412e9fb50115c7c260c',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00001654',\n\t\t\tprofit: '-0.0000165400',\n\t\t\tmultiplier: '4.9500',\n\t\t\tbet_value: '20.00',\n\t\t\tresult_value: '91.53',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'7a162bd6ed250ca1c8a63f0b7c8b47d925ac4f6f77993d206619bc567f0f275e',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'Luis30',\n\t\t\t\tuuid: '0075b5ad-52c9-44fc-8187-1c396cdeef64',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 1,\n\t\t\t\tjoined: '2020-05-27',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '45be2831-4573-40b0-a887-1408b7557665',\n\t\t\tnonce: 227395451,\n\t\t\tuser_seed: '726683a7eaa08d88cff081a3fb321d8f',\n\t\t\tcurrency: 'doge',\n\t\t\tamount: '0.00000032',\n\t\t\tprofit: '0.0000003200',\n\t\t\tmultiplier: '2.0000',\n\t\t\tbet_value: '49.50',\n\t\t\tresult_value: '31.20',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.24913742',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'2d26cf2b36385b7f9dae340bec17d7bd405d1a4cd17cd1c26a9f872f9945d3f2',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: HIDDEN_USER,\n\t\t\t\tuuid: '87922747-2e9d-49f0-a47c-f42650855f6c',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'a3beb8c5-ffa5-4a7b-af0e-5e00e9e27021',\n\t\t\tnonce: 49,\n\t\t\tuser_seed: '308875bd2e688d04a17873642889aeed',\n\t\t\tcurrency: 'xlm',\n\t\t\tamount: '0.00000662',\n\t\t\tprofit: '0.0000662000',\n\t\t\tmultiplier: '11.0000',\n\t\t\tbet_value: '90.99',\n\t\t\tresult_value: '92.59',\n\t\t\trule: 'over',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.27304135',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'1b5eed6074656850e11ab3c8c87b51109b68097eb9ae000660e90df59c3ca1b1',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'DOSPERRIN',\n\t\t\t\tuuid: '0a175e12-e91c-474f-98d5-41fb105b5691',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-04-30',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'e44d89e3-b9cb-4821-9eb7-58978c575b58',\n\t\t\tnonce: 7001713,\n\t\t\tuser_seed: '11306846965611382306',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00041230',\n\t\t\tprofit: '-0.0004123000',\n\t\t\tmultiplier: '1.7368',\n\t\t\tbet_value: '57.00',\n\t\t\tresult_value: '99.77',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'b93dff77060f3a7d890da98641b3a9e330f7db133be42f6fac7265176a955403',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'leolalia',\n\t\t\t\tuuid: '5012d39f-f713-4821-84be-4ffcae03f0c0',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 1,\n\t\t\t\tjoined: '2020-08-07',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'ae46be39-c4d7-4620-a189-b20feabd89a2',\n\t\t\tnonce: 6943925,\n\t\t\tuser_seed: '093c80471a71737ff4b2aaef8cd0979a',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00001271',\n\t\t\tprofit: '-0.0000127100',\n\t\t\tmultiplier: '19.8000',\n\t\t\tbet_value: '5.00',\n\t\t\tresult_value: '73.56',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'8fe0fb1627fd3497848ed42dae3182fb58b84268a59875adf412b9f9ad86a06e',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'levi77',\n\t\t\t\tuuid: 'd98c5d5c-80a0-436c-9d87-f7bf03dcc6b8',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-03-27',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'db28f4a6-df45-499f-a106-6f495c745dd5',\n\t\t\tnonce: 2266697,\n\t\t\tuser_seed: 'jIl6Aih3yead89R51J0CurclhYcn37',\n\t\t\tcurrency: 'usdt',\n\t\t\tamount: '0.00000037',\n\t\t\tprofit: '-0.0000003700',\n\t\t\tmultiplier: '17.3380',\n\t\t\tbet_value: '94.28',\n\t\t\tresult_value: '12.96',\n\t\t\trule: 'over',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '1.00000000',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'1cb76710e3e6c24f5da1f67be502240f9cf1237b5681ebcf6eeb468bfa258301',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'elbisivni',\n\t\t\t\tuuid: '1cbc8ca7-d7e1-44c9-a604-612567662023',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 2,\n\t\t\t\tjoined: '2019-10-26',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '4308ef12-c27b-414c-8265-6755d8f57a2e',\n\t\t\tnonce: 9393438,\n\t\t\tuser_seed: '03dae67defb2292c9f543c49973b88d3',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00000250',\n\t\t\tprofit: '0.0000140000',\n\t\t\tmultiplier: '6.6000',\n\t\t\tbet_value: '15.00',\n\t\t\tresult_value: '3.16',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'eaa3cef6272156194a52a8a7e108f5aba47b6ac7e220bae4fcda9b290dd2e427',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'zambore',\n\t\t\t\tuuid: 'e54c9ac9-36f3-4b08-aca9-ec6278735535',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-06-03',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'efbec22e-3d12-46a4-945a-350c0c1d0775',\n\t\t\tnonce: 41275073,\n\t\t\tuser_seed: 'e0c4b8b3861cc935d4c78ba29abf742e',\n\t\t\tcurrency: 'xlm',\n\t\t\tamount: '0.00000112',\n\t\t\tprofit: '0.0000011428',\n\t\t\tmultiplier: '2.0204',\n\t\t\tbet_value: '49.00',\n\t\t\tresult_value: '36.12',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.27304135',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'b7b114bb1906dbec025be2baf83f684738d79e4ac778c3878e71806761ac25ce',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'BlackBox',\n\t\t\t\tuuid: '0becfe6a-2141-4698-a7a7-56d90e73c71b',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-03-13',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '6026a9c2-bae1-4946-96cb-4c6fbc487910',\n\t\t\tnonce: 41275071,\n\t\t\tuser_seed: 'e0c4b8b3861cc935d4c78ba29abf742e',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00016768',\n\t\t\tprofit: '-0.0001676800',\n\t\t\tmultiplier: '2.0204',\n\t\t\tbet_value: '49.00',\n\t\t\tresult_value: '80.83',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'b7b114bb1906dbec025be2baf83f684738d79e4ac778c3878e71806761ac25ce',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'BlackBox',\n\t\t\t\tuuid: '0becfe6a-2141-4698-a7a7-56d90e73c71b',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 0,\n\t\t\t\tjoined: '2021-03-13',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'c91c83d5-141b-40d9-96e3-d10de96fabb6',\n\t\t\tnonce: 830083,\n\t\t\tuser_seed: '8bb24a4123495a932480',\n\t\t\tcurrency: 'eth',\n\t\t\tamount: '0.00000001',\n\t\t\tprofit: '0.0000000098',\n\t\t\tmultiplier: '1.9800',\n\t\t\tbet_value: '50.00',\n\t\t\tresult_value: '34.53',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '2149.34227032',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'b6e5b8fcfb062b681ba46874f735238609010ce8b6b1afbca603b7fadf77d188',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: HIDDEN_USER,\n\t\t\t\tuuid: 'c8926a84-24b5-4d91-b684-9dfb6beecb47',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '64d4f79f-10ee-4fb0-9b0b-c2905bdcf9ce',\n\t\t\tnonce: 153549209,\n\t\t\tuser_seed: '7dfdb10d0bf99897c337736857a2ea35',\n\t\t\tcurrency: 'ltc',\n\t\t\tamount: '0.00000001',\n\t\t\tprofit: '-0.0000000100',\n\t\t\tmultiplier: '2.0000',\n\t\t\tbet_value: '49.50',\n\t\t\tresult_value: '77.31',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '140.61529966',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'5fc1e1e3bb95de29ef2ad9f6b38431fe2a0898453b7df73b8cbeabff361aabcc',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'Lvice',\n\t\t\t\tuuid: '8c308adc-3891-4e8f-8ec4-a22940a22a05',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 2,\n\t\t\t\tjoined: '2020-11-01',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: true,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: '4b509e64-3b8e-45de-b827-d79e392679da',\n\t\t\tnonce: 587536,\n\t\t\tuser_seed: '58255fe95f45637207262850372991c2',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00004843',\n\t\t\tprofit: '0.0000437710',\n\t\t\tmultiplier: '1.9038',\n\t\t\tbet_value: '52.00',\n\t\t\tresult_value: '42.18',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'win',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'72dd60d10d0529613eba1358c2736902b04d326042ba4bae561a74054c6f5b70',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: 'acelogic',\n\t\t\t\tuuid: '89d04be6-e4d0-4c5b-8dcc-a2a2554c9572',\n\t\t\t\tis_admin: false,\n\t\t\t\tis_moderator: false,\n\t\t\t\tis_high_roller: false,\n\t\t\t\tvip_level: 1,\n\t\t\t\tjoined: '2020-09-08',\n\t\t\t\tpreferences: {\n\t\t\t\t\tprivacy: {\n\t\t\t\t\t\tpublic_total_profit: false,\n\t\t\t\t\t\tpublic_total_wagered: true,\n\t\t\t\t\t\tpublic_bets: true,\n\t\t\t\t\t},\n\t\t\t\t\tcommunity: {\n\t\t\t\t\t\tblock_all_friend_requests: false,\n\t\t\t\t\t\tblock_friend_requests_notifications: false,\n\t\t\t\t\t\tallow_messages_from_all: false,\n\t\t\t\t\t\tshow_messages_notifications: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trace_badge: null,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'c54b0efd-2133-4c7d-addd-2ad5ef8ac0e0',\n\t\t\tnonce: 53648,\n\t\t\tuser_seed: '5413b091bb015082a130',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00010952',\n\t\t\tprofit: '-0.0001095200',\n\t\t\tmultiplier: '2.0308',\n\t\t\tbet_value: '48.75',\n\t\t\tresult_value: '76.31',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'a9ed8ec71f4b840b4afef0492cea33106dcc8da6538100e79aa4c5f7660d3d52',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: HIDDEN_USER,\n\t\t\t\tuuid: '3f69df61-d8bb-489e-a109-be6aab15d6f8',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\thash: 'c4f915e1-2297-4eef-bd75-00b255047bd9',\n\t\t\tnonce: 14117883,\n\t\t\tuser_seed: '011231efa3ccee3f89be7a18a970313c',\n\t\t\tcurrency: 'trx',\n\t\t\tamount: '0.00001480',\n\t\t\tprofit: '-0.0000148000',\n\t\t\tmultiplier: '2.0000',\n\t\t\tbet_value: '49.50',\n\t\t\tresult_value: '63.13',\n\t\t\trule: 'under',\n\t\t\tcreated_at: '2021-06-30 14:24:20',\n\t\t\tprice_usd: '0.06589859',\n\t\t\tstate: 'loss',\n\t\t\tpublished_at: 1625063060,\n\t\t\tserver_seed_hashed:\n\t\t\t\t'43398e3865a2dc5ca3239a6a325be54ab75e3e3952236b24fdf9dd258196542e',\n\t\t\tgame: {\n\t\t\t\tname: 'dice',\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tlogin: HIDDEN_USER,\n\t\t\t\tuuid: '1969ea8d-f0e7-4c03-b158-924ff393467f',\n\t\t\t},\n\t\t},\n\t],\n};\n","import { Explorers } from '@common/constants/currency/settings/explorers';\nimport { PartialRecord } from '@common/types/partialRecord.types';\n\nexport enum Currencies {\n\tusdt = 'usdt',\n\tbtc = 'btc',\n\teth = 'eth',\n\txrp = 'xrp',\n\tdoge = 'doge',\n\tbnb = 'bnb',\n\ttrx = 'trx',\n\tshib = 'shib',\n\tltc = 'ltc',\n\txlm = 'xlm',\n\tsushi = 'sushi',\n\tuni = 'uni',\n\tetc = 'etc',\n\tbch = 'bch',\n\tada = 'ada',\n\tdot = 'dot',\n\toptim = 'optim',\n\tmatic = 'matic',\n\tpepe = 'pepe',\n\tbonk = 'bonk',\n\tfloki = 'floki',\n\tsol = 'sol',\n}\n\nexport enum Token {\n\tusdt = 'usdt',\n\tusdc = 'usdc',\n\tbusd = 'busd',\n\tbtc = 'btc',\n\teth = 'eth',\n\txrp = 'xrp',\n\tdoge = 'doge',\n\tbnb = 'bnb',\n\ttrx = 'trx',\n\tshib = 'shib',\n\tltc = 'ltc',\n\txlm = 'xlm',\n\tsushi = 'sushi',\n\tuni = 'uni',\n\tetc = 'etc',\n\tbch = 'bch',\n\tada = 'ada',\n\tdot = 'dot',\n\top = 'op',\n\tpol = 'pol',\n\tpepe = 'pepe',\n\tbonk = 'bonk',\n\tfloki = 'floki',\n\tsol = 'sol',\n\tton = 'ton',\n}\n\nexport const CurrenciesLayout = {\n\tusd: 'usd',\n\tpol: Token.pol,\n\teur: 'eur',\n\top: Token.op,\n} as const;\n\nexport type CurrencyType = Currencies | keyof typeof CurrenciesLayout;\nexport type CurrencyNetworkType = keyof typeof Explorers;\nexport type CurrencyTokenType = Token;\n\nexport type CurrencyTypeMap<T> = PartialRecord<CurrencyType, T>;\nexport type CurrencyNetworkTypeMap<T> = PartialRecord<CurrencyNetworkType, T>;\nexport type CurrencyTokenTypeMap<T> = PartialRecord<CurrencyTokenType, T>;\n","import ContentLoader from 'react-content-loader';\nimport { FC } from 'react';\nimport { config } from './loaders.config';\n\nexport const RectangleLoader: FC<{\n\theight?: number;\n\twidth?: number;\n\tid: string;\n\tborderRadius?: number;\n\tpassToWrapper?: boolean;\n\tclassName?: string;\n}> = ({\n\theight = 150,\n\twidth = 250,\n\tborderRadius = 3,\n\tpassToWrapper,\n\t...props\n}) => {\n\treturn (\n\t\t<ContentLoader\n\t\t\twidth={passToWrapper && width}\n\t\t\theight={passToWrapper && height}\n\t\t\tviewBox={`0 0 ${width} ${height}`}\n\t\t\tuniqueKey={`${props.id || 0}-rectangleLoader`}\n\t\t\t{...config}\n\t\t\t{...props}\n\t\t>\n\t\t\t<rect\n\t\t\t\tx=\"0\"\n\t\t\t\ty=\"0\"\n\t\t\t\trx={borderRadius}\n\t\t\t\try={borderRadius}\n\t\t\t\twidth={width}\n\t\t\t\theight={height}\n\t\t\t/>\n\t\t</ContentLoader>\n\t);\n};\n","import { theme } from '@legacyApp/client/modules/style/theme';\n\nexport const config = {\n\tbackgroundColor: theme.ui.colors['dark-600'],\n\tforegroundColor: theme.ui.colors['dark-400'],\n\tspeed: 2,\n};\n","import { FC } from 'react';\nimport dynamic from 'next/dynamic';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { DeveloperDataComponentProps } from './DeveloperDataComponent';\n\nconst ENABLED_DEV_VIEW = lsGet(LocalStorageKeys.WOLF_DEV_VIEW);\n\nconst DeveloperDataComponent = dynamic(\n\t() => import('./DeveloperDataComponent'),\n);\n\nexport const DeveloperData: FC<DeveloperDataComponentProps> = (props) => {\n\tif (!ENABLED_DEV_VIEW) {\n\t\treturn null;\n\t}\n\treturn <DeveloperDataComponent {...props} />;\n};\n","import { FunctionComponent, ReactEventHandler } from 'react';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\n\nexport const isObjectSrc = (src: string): boolean =>\n\tsrc && (typeof src !== 'string' || src.indexOf('data:image/') > -1);\n\nexport const parseImageSrc = (src: string): string => {\n\tif (isObjectSrc(src)) {\n\t\treturn src;\n\t}\n\tif (src.indexOf('http') > -1) {\n\t\treturn src;\n\t}\n\tif (src && src[0] !== '/') {\n\t\tsrc = `/${src}`;\n\t}\n\t// return `https://storage.googleapis.com/wolfbet-static${src}`;\n\treturn `${NEXT_CONFIG.PUBLIC_SRC || ''}${src}`;\n};\n\nexport interface ImgProps {\n\tsrc: string;\n\talt: string;\n\tclassName?: string;\n\tstyle?: any;\n\tonError?: ReactEventHandler<HTMLImageElement>;\n}\n\nexport const Image: FunctionComponent<ImgProps> = ({ src, alt, ...props }) => {\n\treturn (\n\t\t<img {...props} src={parseImageSrc(src)} alt={src ? alt : undefined} />\n\t);\n};\n","import React, { createContext } from 'react';\n\nexport const LinkToContext = createContext<{\n\tonClick: React.MouseEventHandler;\n}>({\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tonClick: () => {},\n});\n","import NextLink, { LinkProps } from 'next/link';\nimport { FC, PropsWithChildren, useContext } from 'react';\nimport { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { languageConfig } from '@server/config/language.config';\nimport { PageConfigContext } from '@modules/page/PageConfig/PageConfig.provider';\nimport { useModalId } from '@modules/modals/store/modal.selectors';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { isFunction } from '@common/methods/isFunction';\nimport { getPathnameWithoutLang } from '@common/methods/getPathnameWithoutLang/getPathnameWithoutLang';\nimport { getPathLocalized } from '@common/methods/getPathLocalized/getPathLocalized';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { LinkToContext } from './LinkTo.context';\n\ninterface LinkToProps extends LinkProps {\n\tas?: any;\n\thref: string;\n\tclassName?: string;\n\tforceATag?: boolean;\n\tstyle?: object;\n\trel?: string;\n\ttarget?: string;\n\tonClick?: (e: any) => void;\n}\n\ntype LinkType = FC<PropsWithChildren<LinkToProps>>;\n\nexport const LinkTo: LinkType = (props) => {\n\tconst { linksWithHardRedirect } = useContext(PageConfigContext);\n\tconst dispatch = useAppDispatch();\n\tconst id = useModalId();\n\n\tconst closeModal_ = id ? () => dispatch(closeModal(true)) : null;\n\n\tconst { href, locale, ...data } = props;\n\tconst currentLocale = useAppSelector(\n\t\t(state) => state.app.language || languageConfig.default,\n\t\tshallowEqual,\n\t);\n\tlet hrefString = href;\n\tif (!hrefString) {\n\t\threfString = '/';\n\t}\n\n\tconst lang = locale || currentLocale;\n\n\tif (hrefString.indexOf('http') === -1) {\n\t\threfString =\n\t\t\tlocale && !linksWithHardRedirect\n\t\t\t\t? getPathnameWithoutLang(hrefString, lang)\n\t\t\t\t: getPathLocalized({ pathname: hrefString, locale: lang });\n\t}\n\n\tif (data.onClick) {\n\t\tconst onClick = (e) => {\n\t\t\te.preventDefault();\n\t\t\tif (isFunction(closeModal_)) {\n\t\t\t\tcloseModal_();\n\t\t\t}\n\t\t\tif (linksWithHardRedirect) {\n\t\t\t\tdata.onClick(e);\n\t\t\t\troutingService.redirect(\n\t\t\t\t\tgetPathLocalized({ pathname: hrefString, locale: lang }),\n\t\t\t\t\ttrue,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\troutingService\n\t\t\t\t\t.dynamicRedirect(\n\t\t\t\t\t\tgetPathLocalized({ pathname: hrefString, locale: lang }),\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdata.onClick(e);\n\t\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<a\n\t\t\t\tclassName={data.className}\n\t\t\t\tstyle={data.style}\n\t\t\t\tonClick={onClick}\n\t\t\t\thref={getPathLocalized({ pathname: hrefString, locale: lang })}\n\t\t\t>\n\t\t\t\t{data.children}\n\t\t\t</a>\n\t\t);\n\t}\n\n\tif (linksWithHardRedirect) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tstyle={data.style}\n\t\t\t\tonClick={closeModal_}\n\t\t\t\tclassName={data.className}\n\t\t\t\thref={getPathLocalized({ pathname: hrefString, locale: lang })}\n\t\t\t>\n\t\t\t\t{data.children}\n\t\t\t</a>\n\t\t);\n\t}\n\n\tconst passATag = data.className || data.style || data.forceATag;\n\n\tconst props_ = {\n\t\t...(!passATag && closeModal_ && { onClick: closeModal_ }),\n\t\t...data,\n\t};\n\n\t// console.log('LinkTo', {\n\t// \tprops_,\n\t// \tpassATag,\n\t// \tdata,\n\t// \threfString,\n\t// \tlocale,\n\t// \tlinksWithHardRedirect,\n\t// \thref,\n\t// \tcurrentLocale,\n\t// \tlang,\n\t// });\n\n\treturn (\n\t\t<LinkToContext.Provider\n\t\t\tvalue={{\n\t\t\t\tonClick: closeModal_,\n\t\t\t}}\n\t\t>\n\t\t\t<NextLink\n\t\t\t\tlegacyBehavior={true}\n\t\t\t\tprefetch={false}\n\t\t\t\thref={hrefString}\n\t\t\t\tlocale={locale}\n\t\t\t\t{...props_}\n\t\t\t>\n\t\t\t\t{passATag ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tonClick={closeModal_}\n\t\t\t\t\t\tstyle={data.style}\n\t\t\t\t\t\tclassName={data.className}\n\t\t\t\t\t\thref={hrefString}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.children}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\tdata.children\n\t\t\t\t)}\n\t\t\t</NextLink>\n\t\t</LinkToContext.Provider>\n\t);\n};\n","import React, { CSSProperties } from 'react';\n\nconst nFormatter = (num_, minValue_, props) => {\n\tif (!num_ || !+num_ || typeof +num_ !== 'number') {\n\t\treturn {\n\t\t\tnumber: num_,\n\t\t};\n\t}\n\n\tconst num = +num_;\n\n\tconst minValue = minValue_ || 0;\n\tconst si = props.params.shortConfig || [\n\t\t{ value: 1e18, symbol: 'E' },\n\t\t{ value: 1e15, symbol: 'P' },\n\t\t{ value: 1e12, symbol: 'T' },\n\t\t{ value: 1e9, symbol: 'G' },\n\t\t{ value: 1e6, symbol: 'M' },\n\t\t{ value: 1e3, symbol: 'k' },\n\t];\n\t// const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n\tlet i;\n\n\tif (typeof num === 'number' && num >= minValue) {\n\t\tfor (i = 0; i < si.length; i++) {\n\t\t\tif (num >= si[i].value) {\n\t\t\t\t// return (num / si[i].value).toFixed(digits).replace(rx, \"$1\") + si[i].symbol;\n\t\t\t\treturn {\n\t\t\t\t\tnumber: num / si[i].value,\n\t\t\t\t\tletter: si[i].symbol,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\t//return num.replace(rx, \"$1\");\n\treturn {\n\t\tnumber: num,\n\t};\n};\n\nconst NumericLabel = (props) => {\n\tlet option = {\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: null,\n\t};\n\n\tlet number = +props.children;\n\tlet locales = 'en-US';\n\tlet mystyle: CSSProperties = {\n\t\ttextAlign: 'left',\n\t};\n\tlet css = '';\n\n\tif (props.params) {\n\t\tlocales = props.params.locales;\n\t\tif (props.params.wholenumber == 'floor') {\n\t\t\tnumber = Math.floor(props.children);\n\t\t} else if (props.params.wholenumber == 'ceil') {\n\t\t\tnumber = Math.ceil(props.children);\n\t\t} else {\n\t\t\tnumber = +props.children;\n\t\t}\n\n\t\tlet styles: CSSProperties['textAlign'] = 'right';\n\t\tif (props.params.justification == 'L') {\n\t\t\tstyles = 'left';\n\t\t} else if (props.params.justification == 'C') {\n\t\t\tstyles = 'center';\n\t\t}\n\n\t\tmystyle = {\n\t\t\ttextAlign: styles,\n\t\t};\n\n\t\tlet currencyIndicator = 'USD';\n\n\t\tif (props.params.currencyIndicator) {\n\t\t\tcurrencyIndicator = props.params.currencyIndicator;\n\t\t}\n\n\t\tif (props.params.percentage) {\n\t\t\toption = Object.assign(option, {\n\t\t\t\tstyle: 'percent',\n\t\t\t\tmaximumFractionDigits: props.params.precision || 2,\n\t\t\t\tminimumFractionDigits: props.params.precision || 0,\n\t\t\t\tuseGrouping: props.params.commafy,\n\t\t\t});\n\t\t} else if (props.params.currency) {\n\t\t\toption = Object.assign(option, {\n\t\t\t\tstyle: 'currency',\n\t\t\t\tcurrency: currencyIndicator,\n\t\t\t\tmaximumFractionDigits: props.params.precision || 2,\n\t\t\t\tminimumFractionDigits: props.params.precision || 0,\n\t\t\t\tuseGrouping: props.params.commafy,\n\t\t\t});\n\t\t} else {\n\t\t\toption = Object.assign(option, {\n\t\t\t\tstyle: 'decimal',\n\t\t\t\tuseGrouping: props.params.commafy,\n\t\t\t});\n\n\t\t\tif (props.params.precision) {\n\t\t\t\toption.maximumFractionDigits = props.params.precision;\n\t\t\t\toption.minimumFractionDigits = props.params.precision || 0;\n\t\t\t}\n\t\t}\n\n\t\tif (props.params.cssClass) {\n\t\t\tprops.params.cssClass.map((clas) => {\n\t\t\t\tcss += clas + ' ';\n\t\t\t});\n\t\t}\n\t}\n\n\tlet shortenNumber = number;\n\tlet numberLetter = '';\n\n\tif (props.params && props.params.shortFormat) {\n\t\tconst sn = nFormatter(number, props.params.shortFormatMinValue || 0, props);\n\t\tshortenNumber = sn.number;\n\t\tnumberLetter = sn.letter || '';\n\n\t\tif (\n\t\t\tprops.params.shortFormatMinValue &&\n\t\t\t+number >= props.params.shortFormatMinValue\n\t\t) {\n\t\t\toption.maximumFractionDigits =\n\t\t\t\tprops.params.shortFormatPrecision || props.params.precision || 0;\n\t\t}\n\t}\n\n\toption.minimumFractionDigits = Math.min(\n\t\t~~option.minimumFractionDigits,\n\t\t~~option.maximumFractionDigits,\n\t);\n\n\tlet theFormattedNumber = String(shortenNumber);\n\n\tif (typeof shortenNumber === 'number') {\n\t\ttheFormattedNumber = Intl.NumberFormat(locales, option).format(\n\t\t\t+shortenNumber,\n\t\t);\n\t}\n\n\tif (numberLetter) {\n\t\tif (props.params && props.params.percentage) {\n\t\t\ttheFormattedNumber = theFormattedNumber.replace('%', numberLetter + '%');\n\t\t} else {\n\t\t\ttheFormattedNumber += numberLetter;\n\t\t}\n\t}\n\n\tlet title = null;\n\tif (props.params && props.params.title) {\n\t\tprops.params.title === true\n\t\t\t? (title = number)\n\t\t\t: (title = props.params.title);\n\t}\n\n\tif (\n\t\tmystyle.textAlign &&\n\t\t(mystyle.textAlign == 'right' || mystyle.textAlign == 'center')\n\t) {\n\t\t// div\n\t\tif (title) {\n\t\t\t// with title\n\t\t\treturn (\n\t\t\t\t<div className={css} style={mystyle} title={title}>\n\t\t\t\t\t{theFormattedNumber}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\t// without title\n\t\t\treturn (\n\t\t\t\t<div className={css} style={mystyle}>\n\t\t\t\t\t{theFormattedNumber}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t} else {\n\t\t// span\n\t\tif (title) {\n\t\t\t// with title\n\t\t\treturn (\n\t\t\t\t<span className={css} style={mystyle} title={title}>\n\t\t\t\t\t{theFormattedNumber}\n\t\t\t\t</span>\n\t\t\t);\n\t\t} else {\n\t\t\t// without title\n\t\t\treturn (\n\t\t\t\t<span className={css} style={mystyle}>\n\t\t\t\t\t{theFormattedNumber}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport default NumericLabel;\n","import { FC, PropsWithChildren } from 'react';\nimport NumericLabel from './NumericLabel';\n\nexport const PrettyNumber: FC<\n\tPropsWithChildren<{\n\t\tparams: Record<string, any>;\n\t}>\n> = ({ children, params }) => {\n\treturn (\n\t\t<NumericLabel\n\t\t\tparams={{\n\t\t\t\tlocales: 'en-US',\n\t\t\t\tshortFormatMinValue: 10000,\n\t\t\t\tshortConfig: [\n\t\t\t\t\t{ value: 1e12, symbol: 'T' },\n\t\t\t\t\t{ value: 1e9, symbol: 'B' },\n\t\t\t\t\t{ value: 1e6, symbol: 'M' },\n\t\t\t\t\t{ value: 1e3, symbol: 'k' },\n\t\t\t\t],\n\t\t\t\t...(params || {}),\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</NumericLabel>\n\t);\n};\n","import { FunctionComponent, MouseEventHandler, PropsWithChildren } from 'react';\n\nimport { useAppLanguage } from '@common/selectors/app.selectors';\nimport { languageConfig } from '@server/config/language.config';\n\nconst languages = languageConfig.available.map((config) => config.id);\n\nconst useHref = (href: string, noLocale: boolean): string => {\n\tconst language = useAppLanguage();\n\n\tif (noLocale) {\n\t\treturn href;\n\t}\n\n\tif (language === languageConfig.default) {\n\t\treturn href;\n\t}\n\n\tif (!href) {\n\t\treturn href;\n\t}\n\n\tif (href.indexOf('http') > -1 || href.indexOf('mailto:') > -1) {\n\t\treturn href;\n\t}\n\n\tif (languages.some((lang) => href.indexOf(`/${lang}`) === 0)) {\n\t\treturn href;\n\t}\n\n\treturn `${language ? `/${language}` : ''}${href}`;\n};\n\nexport const Redirect: FunctionComponent<\n\tPropsWithChildren<{\n\t\thref: string;\n\t\ttarget?: string;\n\t\trel?: string;\n\t\tclassName?: string;\n\t\tonClick?: MouseEventHandler<HTMLElement>;\n\t\tstyle?: any;\n\t\tnoLocale?: boolean;\n\t}>\n> = ({ noLocale, href, children, target, rel, className, onClick, style }) => {\n\tconst link = useHref(href, noLocale);\n\n\treturn (\n\t\t<a\n\t\t\tonClick={onClick}\n\t\t\tclassName={className}\n\t\t\ttarget={target}\n\t\t\trel={rel}\n\t\t\thref={link}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n","import { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { SPORTS_META } from '@modules/sports/constants/sports.page.config';\nimport { SLOTS_META } from '@modules/slots/constants/slots.page.config';\nimport { SPORTSBOOK_META } from '@modules/sportsbook/constants/sportsbook.page.config';\nimport { mapApiTokenToLayoutToken } from '@common/controllers/currency/currenciesSettings';\nimport { useCurrenciesSettings } from '@legacyApp/hooks/wallet/useCurrenciesSettings';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { CASINO_META } from '@modules/casino/constants/casino.page.config';\n\nexport const useMetaData = () => {\n\tconst { tokens } = useCurrenciesSettings();\n\treturn {\n\t\tdefault: {\n\t\t\ttitleTemplate: '{{appName}} Crypto Casino',\n\t\t\tdescription:\n\t\t\t\t\"WOLFBET • No. 1 Cryptocurrency casino on the market ✓ Advanced Dice game ✓ 1000's Slots games ✓ Live Casino ✓ Sportsbook ➤ Join Wolf community and have fun! Coins we support {{list_currencies}}\",\n\t\t\tdescriptionProps: {\n\t\t\t\tlist_currencies: tokens\n\t\t\t\t\t.map((token) => `${mapApiTokenToLayoutToken(token).toUpperCase()}`)\n\t\t\t\t\t.join(', '),\n\t\t\t},\n\t\t},\n\t\thome: {\n\t\t\ttitle: 'Bitcoin Casino & Gambling - Crypto Casino',\n\t\t},\n\t\tfaq: {\n\t\t\ttitle: 'FAQs',\n\t\t\tnamespace: TransNamespace.FAQ_PAGE,\n\t\t},\n\t\tlogin: {\n\t\t\ttitle: 'Login',\n\t\t\tnamespace: TransNamespace.LOGIN_PAGE,\n\t\t},\n\t\tterms: {\n\t\t\ttitle: 'Terms & Conditions',\n\t\t},\n\t\tregister: {\n\t\t\ttitle: 'Register / Sign-up',\n\t\t\tnamespace: TransNamespace.REGISTER_PAGE,\n\t\t},\n\t\tprovablyFair: {\n\t\t\ttitle: 'Provably Fair',\n\t\t\tnamespace: TransNamespace.PROVABLY_FAIR_PAGE,\n\t\t},\n\t\tranking: {\n\t\t\ttitle: 'Top Ranking Crypto Casino Players',\n\t\t},\n\t\tpromotions: {\n\t\t\ttitle: 'Promotions',\n\t\t},\n\t\tremindPassword: {\n\t\t\ttitle: 'Forgot Password - Password Reminder',\n\t\t},\n\t\tuser_deposit: {\n\t\t\ttitle: 'Deposit',\n\t\t},\n\t\tuser_settings: {\n\t\t\ttitle: 'Settings',\n\t\t},\n\t\tuser_withdraw: {\n\t\t\ttitle: 'Withdraw',\n\t\t},\n\t\tuser_affiliate: {\n\t\t\ttitle: 'Affiliate program',\n\t\t},\n\t\tuser_allTransactions: {\n\t\t\ttitle: 'Transactions',\n\t\t},\n\t\tuser_vip: {\n\t\t\ttitle: 'VIP Club - Wolf Pack',\n\t\t},\n\t\t[ROUTING_ID.USER_VIP_BONUS_CODE]: {\n\t\t\ttitle: 'VIP Bonus Code',\n\t\t},\n\t\t[ROUTING_ID.USER_VERIFICATION]: {\n\t\t\ttitle: 'Verification',\n\t\t},\n\t\tuser_newPassword: {\n\t\t\ttitle: 'New password',\n\t\t},\n\t\tuser_account_blocked: {\n\t\t\ttitle: 'Blocked',\n\t\t},\n\t\tuser_account_blockedError: {\n\t\t\ttitle: 'Error',\n\t\t},\n\t\tuser_email_verificationFailed: {\n\t\t\ttitle: 'Error',\n\t\t},\n\t\tuser_email_verified: {\n\t\t\ttitle: 'Verified',\n\t\t},\n\t\t[ROUTING_ID.USER_SPORTS_HISTORY]: {\n\t\t\ttitle: 'Sports Bets History',\n\t\t\tnamespace: TransNamespace.SPORTS,\n\t\t},\n\t\t[ROUTING_ID.BETS]: {\n\t\t\ttitle: 'Bets',\n\t\t},\n\t\t...SPORTS_META,\n\t\t...SLOTS_META,\n\t\t...SPORTSBOOK_META,\n\t\t...CASINO_META,\n\t};\n};\n","import { useCallback } from 'react';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { DEFAULT_NAMESPACE } from '@legacyApp/client/modules/translation/translate.constants';\nimport { useMetaData } from '@legacyApp/hooks/seo/useMetaData';\nimport { capitalize } from '@legacyApp/client/modules/app/appService';\nimport { config } from '../../client/config';\nimport { useStringTrans } from '../translation/useStringTrans';\nimport { simpleTrans } from '../../client/modules/translation/translationService';\n\nexport const useMeta = ({\n\ttitle,\n\ttitleTemplate,\n\tdescription,\n\ttitleProps = {},\n\tdescriptionProps = null,\n\tnamespace = DEFAULT_NAMESPACE,\n}) => {\n\tconst metaData = useMetaData();\n\tconst namespace_ = useStateEffect(\n\t\tuseCallback(\n\t\t\t() => metaData?.[title]?.namespace || namespace,\n\t\t\t[metaData, namespace, title],\n\t\t),\n\t);\n\tconst trans = useStringTrans(namespace_);\n\tconst title_ = useStateEffect(\n\t\tuseCallback(\n\t\t\t() =>\n\t\t\t\tmetaData?.[title]\n\t\t\t\t\t? metaData?.[title]?.title || metaData?.default?.title\n\t\t\t\t\t: title,\n\t\t\t[metaData, title],\n\t\t),\n\t);\n\n\tconst metaTitle = useStateEffect(\n\t\tuseCallback(() => {\n\t\t\tconst titleTemplate_ =\n\t\t\t\ttitleTemplate ||\n\t\t\t\t(metaData?.[title_] && metaData?.[title_]?.titleTemplate\n\t\t\t\t\t? metaData[title_].titleTemplate\n\t\t\t\t\t: false);\n\t\t\tconst title = titleTemplate_\n\t\t\t\t? trans(titleTemplate_, titleProps)\n\t\t\t\t: `${title_ ? '%s - ' : ''}${simpleTrans(\n\t\t\t\t\t\tmetaData?.default?.titleTemplate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tappName: capitalize(config.appName),\n\t\t\t\t\t\t\t...(titleProps || {}),\n\t\t\t\t\t\t},\n\t\t\t\t )}`;\n\t\t\tif (title_) {\n\t\t\t\treturn title.replace('%s', trans(title_, titleProps));\n\t\t\t}\n\t\t\treturn title;\n\t\t}, [metaData, titleProps, titleTemplate, title_, trans]),\n\t);\n\n\tconst metaDescription = useStateEffect(\n\t\tuseCallback(() => {\n\t\t\tconst description_ =\n\t\t\t\tdescription ||\n\t\t\t\t(metaData?.[title_] && metaData?.[title_]?.description\n\t\t\t\t\t? metaData?.[title_]?.description\n\t\t\t\t\t: metaData?.default?.description);\n\t\t\tconst descriptionProps_ =\n\t\t\t\tdescriptionProps ||\n\t\t\t\t(metaData?.[title_] && metaData?.[title_]?.descriptionProps\n\t\t\t\t\t? metaData?.[title_]?.descriptionProps\n\t\t\t\t\t: metaData?.default?.descriptionProps);\n\t\t\treturn simpleTrans(description_, descriptionProps_);\n\t\t}, [metaData, description, descriptionProps, title_]),\n\t);\n\t// console.log('useMeta', { meta, title_, titleProps, titleTemplate, description, descriptionProps, namespace_, trans: trans(title_, titleProps) });\n\treturn {\n\t\ttitle: metaTitle,\n\t\tdescription: metaDescription,\n\t};\n};\n","import { simpleTrans } from '../../client/modules/translation/translationService';\nimport { useAddNamespace } from './useAddNamespace';\n\nexport const useStringTrans = (namespace) => {\n\tuseAddNamespace({ namespace });\n\n\treturn (string: string, data?: object) => {\n\t\t// console.log('trans', {res: simpleTrans(string, data, namespace), string, data, namespace});\n\t\treturn simpleTrans(string, data, namespace);\n\t};\n};\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { itMayBeTrueTrustMe } from '@common/methods/itMayBeTrueTrustMe';\n\nexport const getNoIndexingProperty = (property?: boolean): boolean => {\n\tif (!itMayBeTrueTrustMe(NEXT_CONFIG.ALLOW_INDEXING)) {\n\t\treturn true;\n\t}\n\treturn !!property;\n};\n","import { config } from '@legacyApp/client/config';\nimport { getPathLocalized } from '@common/methods/getPathLocalized/getPathLocalized';\nimport { getPathnameWithoutLang } from '@common/methods/getPathnameWithoutLang/getPathnameWithoutLang';\n\nexport const createDomainPath = (pathname: string, locale: string) => {\n\tconst pathname_ = pathname.split('?')[0];\n\treturn `https://${config.domain}${getPathLocalized({\n\t\tpathname: getPathnameWithoutLang(pathname_, locale),\n\t\tlocale,\n\t})}`;\n};\n","import { useCallback, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { NextSeo } from 'next-seo';\nimport { NextSeoProps } from 'next-seo/lib/types';\n\nimport { parseImageSrc } from '@common/components/default/Image/Image';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { useMeta } from '@legacyApp/hooks/seo/useMeta';\nimport { DEFAULT_NAMESPACE } from '@legacyApp/client/modules/translation/translate.constants';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { languageConfig } from '@server/config/language.config';\nimport { getNoIndexingProperty } from '@common/components/default/Seo/methods/getNoIndexingProperty';\nimport { EnhancedNextComponentPageProps } from '@common/hoc/pageEnhancer';\nimport { mapCaptchaLanguage } from '@modules/captcha/methods/mapCaptchaLanguage';\nimport { createDomainPath } from '@common/methods/createDomainPath/createDomainPath';\n\nconst Seo = ({\n\ttitleTemplate,\n\ttitle,\n\tdescription,\n\tprops,\n\ttitleProps,\n\tdescriptionProps,\n\tpageParams,\n\tnamespace = DEFAULT_NAMESPACE,\n}: {\n\ttitleTemplate?: string;\n\ttitle?: string;\n\tdescription?: string;\n\tprops?: NextSeoProps;\n\ttitleProps?: any;\n\tdescriptionProps?: any;\n\tpageParams?: EnhancedNextComponentPageProps['params'];\n\tnamespace?: TransNamespace;\n}) => {\n\tconst { asPath, locale } = useRouter();\n\n\tconst path = useStateEffect(\n\t\tuseCallback(() => createDomainPath(asPath, locale), [asPath, locale]),\n\t);\n\n\tconst meta = useMeta({\n\t\ttitle,\n\t\ttitleTemplate,\n\t\tdescription,\n\t\ttitleProps,\n\t\tdescriptionProps,\n\t\tnamespace,\n\t});\n\n\tconst {\n\t\ttitle: props_title,\n\t\tdescription: props_description,\n\t\t...restProps\n\t} = props || {};\n\n\tconst meta_title = pageParams?.page_content?.meta_title;\n\tconst meta_description = pageParams?.page_content?.meta_description;\n\n\tconst title_ = meta_title || props_title || meta.title;\n\tconst description_ =\n\t\tmeta_description || props_description || meta.description;\n\n\tuseEffect(() => {\n\t\t// @ts-expect-error invalid type\n\t\tif (process.browser && window.wolfMetaTItle !== title_) {\n\t\t\t// @ts-expect-error invalid type\n\t\t\twindow.wolfMetaTItle = title_;\n\t\t}\n\t}, [title_]);\n\n\treturn (\n\t\t<NextSeo\n\t\t\tcanonical={path}\n\t\t\topenGraph={{\n\t\t\t\ttitle: title_,\n\t\t\t\tdescription: description_,\n\t\t\t\tsite_name: title_,\n\t\t\t\ttype: 'website',\n\t\t\t\tlocale,\n\t\t\t\turl: path,\n\t\t\t\timages: [\n\t\t\t\t\t{\n\t\t\t\t\t\turl: parseImageSrc('/img/og/social-image.webp'),\n\t\t\t\t\t\twidth: 1500,\n\t\t\t\t\t\theight: 500,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}}\n\t\t\ttwitter={{\n\t\t\t\thandle: '@wolfdotbet',\n\t\t\t\tsite: '@wolfdotbet',\n\t\t\t\tcardType: 'summary_large_image',\n\t\t\t}}\n\t\t\tlanguageAlternates={[\n\t\t\t\t{\n\t\t\t\t\thref: createDomainPath(asPath, 'en'),\n\t\t\t\t\threfLang: 'x-default',\n\t\t\t\t},\n\t\t\t\t...languageConfig.available.map((lang) => ({\n\t\t\t\t\thref: createDomainPath(asPath, lang.id),\n\t\t\t\t\threfLang: mapCaptchaLanguage(lang.id),\n\t\t\t\t})),\n\t\t\t]}\n\t\t\t{...restProps}\n\t\t\tnofollow={getNoIndexingProperty(props?.nofollow)}\n\t\t\tnoindex={getNoIndexingProperty(props?.noindex)}\n\t\t\ttitle={title_}\n\t\t\tdescription={description_}\n\t\t\tdisableGooglebot\n\t\t/>\n\t);\n};\n\nexport default Seo;\n","import styled from 'styled-components';\nimport { dashboard_v2 } from '@legacyApp/client/modules/style/mixins/dashboard';\n\nexport const FooterTextStyle = styled.div``;\n\nexport const FooterColumnStyle = styled.div`\n\talign-items: flex-start;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n`;\n\nexport const FooterRowStyle = styled.div<{\n\tcurrencies?: boolean;\n}>`\n\t${dashboard_v2()}\n`;\n\nexport const FooterLabelStyled = styled.div.attrs(() => ({\n\tclassName: 'text-style-label-cap',\n}))`\n\tcolor: var(--color-dark-200);\n\tmargin-bottom: 12px;\n`;\n","import React, { FC, useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { InputWrapperStyled } from '@ui/input/Input.styled';\nimport { CurrencySymbol } from '@legacyApp/client/components/currencySymbol/currencySymbol';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { CurrenciesLayout } from '@legacyApp/types/wallet/CurrencyType';\nimport { useUserActiveCurrency } from '../../selectors/user.selectors';\nimport { NumberInput } from '../input/NumberInput';\nimport { useStatsPrice } from '../../selectors/stats.selectors';\nimport { roundNumber } from '../../methods/roundNumber/roundNumber';\n\nexport const PriceConverter: FC = () => {\n\tconst activeCurrency = useUserActiveCurrency();\n\tconst price = useStatsPrice(activeCurrency);\n\tconst prevPrice = usePrevious(price);\n\n\tconst [amount, setAmount] = useState(1);\n\tconst [converted, setConverted] = useState(1);\n\tconst [lastChanged, setLastChanged] = useState(activeCurrency);\n\n\tconst onChange = useCallback(\n\t\t(value, currency) => {\n\t\t\tconst isConverted = currency === CurrenciesLayout.usd;\n\t\t\tconst converted = isConverted ? value : roundNumber(price * value, 6);\n\t\t\tconst amount = isConverted ? roundNumber(value / price, 8) : value;\n\t\t\tsetAmount(amount);\n\t\t\tsetConverted(converted);\n\t\t\tsetLastChanged(currency);\n\t\t},\n\t\t[price],\n\t);\n\n\tuseEffect(() => {\n\t\tif (prevPrice !== price) {\n\t\t\tonChange(\n\t\t\t\tlastChanged === CurrenciesLayout.usd ? converted : amount,\n\t\t\t\tlastChanged,\n\t\t\t);\n\t\t}\n\t}, [amount, converted, lastChanged, onChange, prevPrice, price]);\n\n\tif (!price) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PriceConverterStyled>\n\t\t\t<NumberInput\n\t\t\t\ticon={\n\t\t\t\t\t<i>\n\t\t\t\t\t\t<CurrencySymbol currency={activeCurrency} />\n\t\t\t\t\t</i>\n\t\t\t\t}\n\t\t\t\tvalue={amount}\n\t\t\t\tonChange={(event) => onChange(event.target.value, activeCurrency)}\n\t\t\t/>\n\t\t\t<span className=\"align-center\">≈</span>\n\t\t\t<NumberInput\n\t\t\t\ticon={\n\t\t\t\t\t<i>\n\t\t\t\t\t\t<CurrencySymbol currency={CurrenciesLayout.usd} />\n\t\t\t\t\t</i>\n\t\t\t\t}\n\t\t\t\tvalue={converted}\n\t\t\t\tonChange={(event) => onChange(event.target.value, 'usd')}\n\t\t\t/>\n\t\t</PriceConverterStyled>\n\t);\n};\n\nexport const PriceConverterStyled = styled.div`\n\talign-items: center;\n\tdisplay: grid;\n\tgap: 12px;\n\tgrid-template-columns: calc(50% - 16px) 10px calc(50% - 16px);\n\n\t${InputWrapperStyled},\n\tinput {\n\t\twidth: 100%;\n\t}\n`;\n","import React, { FC, ReactNode } from 'react';\nimport MultiCarousel, {\n\tCarouselProps as MultiCarouselProps,\n} from 'nuka-carousel';\n\nexport interface CarouselElement {\n\tid: string;\n\tcontent: ReactNode;\n}\n\nexport interface CarouselProps extends MultiCarouselProps {\n\tlist: Array<CarouselElement>;\n}\n\nexport const Carousel: FC<CarouselProps> = (props) => {\n\tconst { list, ...restProps } = props;\n\treturn (\n\t\t<>\n\t\t\t<MultiCarousel {...restProps}>\n\t\t\t\t{list.map((element) => {\n\t\t\t\t\treturn <div key={element.id}>{element.content}</div>;\n\t\t\t\t})}\n\t\t\t</MultiCarousel>\n\t\t</>\n\t);\n};\n","import styled from 'styled-components';\n\nexport const CurrencyIcon = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\n\timg {\n\t\theight: 20px;\n\t\tmargin: 10px auto;\n\t\tmax-width: 100%;\n\n\t\t&[alt='doge'],\n\t\t&[alt='xrp'] {\n\t\t\tmargin-top: 13px;\n\t\t}\n\t}\n`;\n","import React, { FC } from 'react';\nimport { Carousel } from '@ui/carousel';\nimport { second } from '@legacyApp/client/modules/app/time';\nimport { Image } from '@common/components/default/Image/Image';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { CurrencyIcon } from '@common/components/footer/CurrencyIcon.styled';\nimport { useGameActiveGame } from '@modules/games/Game/store/game/game.selectors';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { Currencies } from '@legacyApp/types/wallet/CurrencyType';\n\nexport const CURRENCIES_CAROUSEL = [\n\tCurrencies.usdt,\n\tCurrencies.btc,\n\tCurrencies.eth,\n\tCurrencies.xrp,\n\tCurrencies.doge,\n\tCurrencies.trx,\n\tCurrencies.bnb,\n];\n\nexport const CURRENCIES_CAROUSEL_LIST = CURRENCIES_CAROUSEL.map((token) => ({\n\tid: token,\n\turl: `/img/currencies/${token}.svg`,\n})).map((el) => ({\n\tid: el.id,\n\tcontent: (\n\t\t<CurrencyIcon>\n\t\t\t<Image key={el.id} src={el.url} alt={el.id} />\n\t\t</CurrencyIcon>\n\t),\n}));\n\nexport const CurrenciesCarousel: FC = () => {\n\tconst isMobile = useAppMobile();\n\tconst activeGame = useGameActiveGame();\n\n\treturn (\n\t\t<Carousel\n\t\t\tslidesToShow={isMobile ? 2 : 4}\n\t\t\tautoplay={activeGame !== GameType.PLINKO}\n\t\t\tautoplayInterval={3 * second}\n\t\t\tdragging={true}\n\t\t\tenableKeyboardControls={false}\n\t\t\tswiping={false}\n\t\t\twithoutControls={true}\n\t\t\twrapAround={true}\n\t\t\tlist={CURRENCIES_CAROUSEL_LIST}\n\t\t\tcellSpacing={10}\n\t\t/>\n\t);\n};\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport {\n\tPriceConverter,\n\tPriceConverterStyled,\n} from '../priceConverter/PriceConverter';\nimport {\n\tFooterColumnStyle,\n\tFooterLabelStyled,\n\tFooterRowStyle,\n} from './Footer.styled';\nimport { CurrenciesCarousel } from './CurrenciesCarousel';\n\nexport const FooterTopRow: FC = () => {\n\treturn (\n\t\t<FooterTopRowStyled>\n\t\t\t<FooterColumnStyle>\n\t\t\t\t<FooterLabelStyled>\n\t\t\t\t\t<Trans label={'Conversion'} />\n\t\t\t\t</FooterLabelStyled>\n\t\t\t\t<PriceConverter />\n\t\t\t</FooterColumnStyle>\n\t\t\t<FooterColumnStyle>\n\t\t\t\t<FooterLabelStyled>\n\t\t\t\t\t<Trans label={'Accepted currencies'} />\n\t\t\t\t</FooterLabelStyled>\n\t\t\t\t<CurrenciesCarousel />\n\t\t\t</FooterColumnStyle>\n\t\t</FooterTopRowStyled>\n\t);\n};\n\nexport const FooterTopRowStyled = styled(FooterRowStyle)`\n\tdisplay: grid;\n\tgap: 40px;\n\tgrid-template-columns: calc((100% - 40px) / 2) calc((100% - 40px) / 2);\n\n\t${PriceConverterStyled} {\n\t\twidth: 100%;\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_medium,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tgrid-template-columns: 100%;\n\t\t\t}\n\t\t`,\n\t)}\n`;\n","import React, { FC } from 'react';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { useViewport } from '@legacyApp/hooks/render/useViewport';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { fetchScript } from '../../modules/app/fetchScript';\n\nconst ID = '49f32fc2-fd6a-44b6-9b4d-f8e866675940';\nconst URL = `https://${ID}.snippet.anjouangaming.org/anj-seal.js`;\n\nconst getLicense = () => {\n\tfetchScript(URL, { noCache: true });\n};\n\nconst EmLicense_: FC = () => {\n\tuseOnMount(() => {\n\t\tgetLicense();\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tid={`anj-${ID}`}\n\t\t\tdata-anj-seal-id={ID}\n\t\t\tdata-anj-image-size=\"128\"\n\t\t\tdata-anj-image-type=\"basic-small\"\n\t\t/>\n\t);\n};\n\nconst EmLicence__ = () => {\n\tconst { active, ref } = useViewport({ rootMargin: '100px' });\n\treturn <div ref={ref}>{active && <EmLicense_ />}</div>;\n};\n\nexport const EmLicense = () => {\n\tif (!NEXT_CONFIG.PRODUCTION || !process.browser) {\n\t\treturn null;\n\t}\n\treturn <EmLicence__ />;\n};\n","import React, { FC } from 'react';\nimport { Redirect } from '@common/components/default/Redirect/Redirect';\nimport { Image, parseImageSrc } from '@common/components/default/Image/Image';\nimport { isFeatureAvailable } from '@legacyApp/client/modules/app/featureService';\nimport { FEATURES_TYPE } from '@legacyApp/client/config';\n\nexport const RngLicence: FC = () => {\n\tif (!isFeatureAvailable(FEATURES_TYPE.LICENSE)) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Redirect\n\t\t\thref={parseImageSrc(\n\t\t\t\t'/documents/RNG_Certificate_HDSTechnologiesNV_UK_03Jul2019.pdf',\n\t\t\t)}\n\t\t\tnoLocale={true}\n\t\t\ttarget=\"_blank\"\n\t\t>\n\t\t\t<Image src={'/img/rng/rng_new.png'} alt=\"RNG Certificate\" />\n\t\t</Redirect>\n\t);\n};\n","import React, { FC, Fragment } from 'react';\nimport styled, { css } from 'styled-components';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { config, FEATURES_TYPE } from '@legacyApp/client/config';\nimport routingService from '@legacyApp/client/modules/app/routingService';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { trans, Trans } from '@legacyApp/client/modules/translation/translate';\nimport { License } from '@legacyApp/client/components/license/license';\nimport { EmLicense } from '@legacyApp/client/components/license/emLicense';\nimport { RngLicence } from '@legacyApp/client/components/license/rngLicence';\nimport { CSSClassNameButton } from '@ui/button';\nimport { Image, parseImageSrc } from '@common/components/default/Image/Image';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { Redirect } from '@common/components/default/Redirect/Redirect';\nimport Icon from '@common/components/icons/Icon';\nimport {\n\tFooterColumnStyle,\n\tFooterLabelStyled,\n\tFooterRowStyle,\n\tFooterTextStyle,\n} from '@common/components/footer/Footer.styled';\nimport { SupportButton } from '@modules/support/components/SupportButton';\nimport { translationService } from '@legacyApp/client/modules/translation/translationService';\nimport { isFeatureAvailable } from '@legacyApp/client/modules/app/featureService';\n\nconst getLinks = (array) => {\n\treturn array\n\t\t.filter((el) => !el.disabled)\n\t\t.map((el) => {\n\t\t\tconst button = (\n\t\t\t\t<div className=\"text-style-xs-medium\">\n\t\t\t\t\t{trans({ label: el.name() })}\n\t\t\t\t</div>\n\t\t\t);\n\n\t\t\tif (el.url) {\n\t\t\t\treturn (\n\t\t\t\t\t<Redirect\n\t\t\t\t\t\tnoLocale={el.noLocale}\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel={`noopener noreferrer ${el.nofollow ? 'nofollow' : ''}`}\n\t\t\t\t\t\thref={el.url}\n\t\t\t\t\t\tkey={el.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t{button}\n\t\t\t\t\t</Redirect>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<LinkTo\n\t\t\t\t\tkey={el.id}\n\t\t\t\t\thref={routingService.to(el.id)}\n\t\t\t\t\tforceATag\n\t\t\t\t\t{...(el.nofollow ? { rel: 'nofollow' } : {})}\n\t\t\t\t>\n\t\t\t\t\t{button}\n\t\t\t\t</LinkTo>\n\t\t\t);\n\t\t});\n};\n\nconst PRO = getLinks([\n\t{\n\t\tid: 'blog',\n\t\tname: () => 'Blog',\n\t\turl: `https://${config.domain}/blog/`,\n\t},\n\t{\n\t\tid: ROUTING_ID.TERMS,\n\t\tname: () => 'Terms',\n\t\turl: parseImageSrc('/documents/Terms.pdf'),\n\t\tnofollow: true,\n\t\tnoLocale: true,\n\t},\n\t{\n\t\tid: 'sports_rules',\n\t\tname: () => 'Sports Rules',\n\t\turl: parseImageSrc('/documents/Sports_rules.pdf'),\n\t\tnofollow: true,\n\t\tnoLocale: true,\n\t},\n\t{\n\t\tid: 'be_gamble_aware',\n\t\tname: () => 'Gamble Aware',\n\t\turl: 'https://www.begambleaware.org/',\n\t\tnofollow: true,\n\t},\n\t{\n\t\tid: ROUTING_ID.FAQ,\n\t\tname: () => 'FAQ',\n\t},\n\t{\n\t\tid: 'api',\n\t\tname: () => 'API',\n\t\turl: config.documentationUrl,\n\t},\n]);\n\nconst CURRENT_YEAR = new Date().getFullYear();\n\nexport const FooterBottomRow: FC = () => {\n\treturn (\n\t\t<FooterBottomRowStyled>\n\t\t\t<FooterBrandColumn>\n\t\t\t\t<FooterLogoStyle\n\t\t\t\t\tclassName=\"text-logo\"\n\t\t\t\t\thref={routingService.to(ROUTING_ID.HOME)}\n\t\t\t\t>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Icon id=\"wolf\" /> <span>{config.logo}</span>\n\t\t\t\t\t</>\n\t\t\t\t</FooterLogoStyle>\n\n\t\t\t\t<FooterTextStyle className=\"text-style-caption-regular\">\n\t\t\t\t\t{CURRENT_YEAR} {trans({ label: 'All rights reserved' })}\n\t\t\t\t</FooterTextStyle>\n\n\t\t\t\t<FooterTextStyle className=\"text-style-caption-regular\">\n\t\t\t\t\t{translationService.interpolate(\n\t\t\t\t\t\t`{{name}} is owned and operated by {{companyName}}, registration number: {{number}},\nregistered address: {{address}}. Contact us {{contactEmail}}. {{name}} is licensed and\nregulated by the Government of the Autonomous Island of Anjouan, Union of Comoros and\noperates under License No. {{licenseNumber}}. {{name}} has passed all regulatory compliance\nand is legally authorized to conduct gaming operations for any and all games of chance and wagering.`,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: config.appName,\n\t\t\t\t\t\t\tcompanyName: 'PixelPulse N.V.',\n\t\t\t\t\t\t\taddress: 'Abraham de Veerstraat 1, Willemstad, Curaçao',\n\t\t\t\t\t\t\tnumber: '165621',\n\t\t\t\t\t\t\tlicenseNumber: 'ALSI-092404018-FI2',\n\t\t\t\t\t\t\tcontactEmail: config.emails.support,\n\t\t\t\t\t\t},\n\t\t\t\t\t)}{' '}\n\t\t\t\t\t{isFeatureAvailable(FEATURES_TYPE.FOOTER_PAYMENT_COMPANY) &&\n\t\t\t\t\t\ttranslationService.interpolate(\n\t\t\t\t\t\t\t'{{companyName}} with reg number {{number}} act as a payment agent of the company {{mainCompanyName}}',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcompanyName: 'CHALEN INNOVATIONS LTD',\n\t\t\t\t\t\t\t\tmainCompanyName: 'PixelPulse N.V.',\n\t\t\t\t\t\t\t\tnumber: 'HE 454253',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t</FooterTextStyle>\n\n\t\t\t\t<FooterTextStyle className=\"text-style-caption-regular\">\n\t\t\t\t\t{trans({\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t'This site is protected by reCAPTCHA and the Google <1>Privacy Policy</1> and <3>Terms of Service</3> apply.',\n\t\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\tThis site is protected by reCAPTCHA and the Google\n\t\t\t\t\t\t\t\t<Redirect\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\thref=\"https://policies.google.com/privacy\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tPrivacy Policy\n\t\t\t\t\t\t\t\t</Redirect>\n\t\t\t\t\t\t\t\tand\n\t\t\t\t\t\t\t\t<Redirect\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\thref=\"https://policies.google.com/terms\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tTerms of Service\n\t\t\t\t\t\t\t\t</Redirect>\n\t\t\t\t\t\t\t\tapply.\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t})}\n\t\t\t\t</FooterTextStyle>\n\t\t\t</FooterBrandColumn>\n\n\t\t\t<FooterContactColumn>\n\t\t\t\t<FooterContactBox>\n\t\t\t\t\t<FooterLabelStyled>\n\t\t\t\t\t\t<Trans label={'Marketing'} />\n\t\t\t\t\t</FooterLabelStyled>\n\n\t\t\t\t\t<FooterTextStyle className=\"text-style-xs-regular\">\n\t\t\t\t\t\t<Redirect\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\thref={`mailto:${config.emails.marketing}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{config.emails.marketing}\n\t\t\t\t\t\t</Redirect>\n\t\t\t\t\t</FooterTextStyle>\n\t\t\t\t</FooterContactBox>\n\n\t\t\t\t<FooterContactBox>\n\t\t\t\t\t<FooterLabelStyled>\n\t\t\t\t\t\t<Trans label={'Support'} />\n\t\t\t\t\t</FooterLabelStyled>\n\n\t\t\t\t\t<FooterTextStyle className=\"text-style-xs-regular\">\n\t\t\t\t\t\t<Redirect\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\thref={`mailto:${config.emails.support}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{config.emails.support}\n\t\t\t\t\t\t</Redirect>\n\t\t\t\t\t</FooterTextStyle>\n\t\t\t\t</FooterContactBox>\n\n\t\t\t\t<FooterContactBox>\n\t\t\t\t\t<FooterTextStyle className=\"text-style-xs-regular\">\n\t\t\t\t\t\t<FooterSupportButton>\n\t\t\t\t\t\t\t<SupportButton />\n\t\t\t\t\t\t</FooterSupportButton>\n\t\t\t\t\t</FooterTextStyle>\n\t\t\t\t</FooterContactBox>\n\t\t\t</FooterContactColumn>\n\n\t\t\t<FooterLinksColumn>\n\t\t\t\t<FooterLabelStyled>\n\t\t\t\t\t<Trans label={'Policy'} />\n\t\t\t\t</FooterLabelStyled>\n\n\t\t\t\t{PRO}\n\t\t\t</FooterLinksColumn>\n\n\t\t\t<FooterLicenseColumn>\n\t\t\t\t<div className=\"license\">\n\t\t\t\t\t<Image src={'/img/footer/18.svg'} alt=\"18+\" />\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"license\">\n\t\t\t\t\t<EmLicense />\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"license\">\n\t\t\t\t\t<RngLicence />\n\t\t\t\t</div>\n\n\t\t\t\t<License />\n\t\t\t</FooterLicenseColumn>\n\t\t</FooterBottomRowStyled>\n\t);\n};\n\nconst FooterSupportButton = styled.div``;\n\nexport const FooterContactBox = styled.div`\n\t&:not(:last-of-type) {\n\t\tmargin-bottom: 24px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media_v2.max_tablet_large}) {\n\t\t${FooterSupportButton} {\n\t\t\twidth: 100%;\n\n\t\t\t.${CSSClassNameButton} {\n\t\t\t\tjustify-content: center;\n\t\t\t\tpadding-left: 4px;\n\t\t\t\tpadding-right: 4px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const FooterLicenseColumn = styled(FooterColumnStyle)`\n\talign-items: center;\n\tflex-direction: row;\n\theight: 80px;\n\tjustify-content: flex-end;\n\tpadding: 5px 0;\n\n\tdiv,\n\ta {\n\t\talign-items: center;\n\t\tdisplay: flex !important;\n\t\tflex-direction: row;\n\t\theight: 100% !important;\n\t\tmax-height: 100% !important;\n\t\tmax-width: 100% !important;\n\t\twidth: auto !important;\n\t}\n\n\t.license {\n\t\tmargin: 0 5px;\n\t\tmin-width: 60px;\n\n\t\timg {\n\t\t\theight: auto !important;\n\t\t\tmax-height: 100%;\n\t\t\tmax-width: 100%;\n\t\t\twidth: auto !important;\n\t\t}\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_medium,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tjustify-content: space-between;\n\t\t\t}\n\t\t`,\n\t)}\n`;\n\nexport const FooterLogoStyle = styled(LinkTo)<{\n\tclassName?: string;\n}>`\n\talign-items: center;\n\tdisplay: flex;\n\tfont-size: 22px;\n\tjustify-content: flex-start;\n\tmargin-bottom: 16px;\n\n\tsvg {\n\t\theight: 26px;\n\t\tmargin-right: 5px;\n\t\twidth: auto;\n\t}\n\n\tspan {\n\t\tline-height: 22px;\n\t\tmargin-top: 2px;\n\t}\n`;\n\nexport const FooterBrandColumn = styled(FooterColumnStyle)`\n\t${FooterTextStyle} {\n\t\tcolor: var(--color-dark-200);\n\n\t\t&:not(:last-of-type) {\n\t\t\tmargin-bottom: 12px;\n\t\t}\n\t}\n`;\n\nexport const FooterContactColumn = styled(FooterColumnStyle)`\n\tgap: 12px;\n\n\t${FooterTextStyle} {\n\t\tcolor: var(--color-dark-50);\n\t}\n\n\t${FooterLabelStyled} {\n\t\tmargin-bottom: 4px;\n\t}\n\n\t${FooterContactBox} {\n\t\tmin-width: 140px;\n\t}\n`;\n\nexport const FooterLinksColumn = styled(FooterColumnStyle)`\n\t> a {\n\t\t&:not(:last-of-type) {\n\t\t\tmargin-bottom: 8px;\n\t\t}\n\t}\n`;\n\nexport const FooterBottomRowStyled = styled(FooterRowStyle)`\n\tdisplay: grid;\n\tflex-flow: row;\n\tgap: 40px;\n\tgrid-template-columns: calc(35% - 30px) calc(20% - 30px) calc(15% - 30px) calc(\n\t\t\t30% - 30px\n\t\t);\n\tmargin-top: 56px;\n\n\t${FooterLicenseColumn} {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_large,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tgrid-template-columns: 100%;\n\n\t\t\t\t${FooterContactColumn} {\n\t\t\t\t\torder: 1;\n\t\t\t\t\tflex-direction: row;\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t${FooterContactBox} {\n\t\t\t\t\t\twidth: 33.33%;\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t${FooterLinksColumn} {\n\t\t\t\t\torder: 2;\n\t\t\t\t\tflex-direction: row;\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t${FooterLabelStyled} {\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t}\n\n\t\t\t\t\ta {\n\t\t\t\t\t\twidth: 50%;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t${FooterLicenseColumn} {\n\t\t\t\t\torder: 4;\n\t\t\t\t}\n\n\t\t\t\t${FooterBrandColumn} {\n\t\t\t\t\torder: 3;\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t)}\n`;\n","import { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { useAppIsViewLocked } from '@common/selectors/app.selectors';\nimport { FooterTextStyle } from '@common/components/footer/Footer.styled';\nimport { FooterTopRow } from '@common/components/footer/FooterTopRow';\nimport { FooterBottomRow } from '@common/components/footer/FooterBottomRow';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\n\n// @ts-expect-error invalid type\nconst BRANCH_NAME = NEXT_CONFIG.GIT_INFO?.branch;\n\nexport const Footer: FC = () => {\n\tconst isLockedView = useAppIsViewLocked();\n\n\tif (isLockedView) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<FooterStyle>\n\t\t\t<FooterTopRow />\n\t\t\t<FooterBottomRow />\n\t\t\t<StyledFooterVersion className=\"text-style-caption-regular\">\n\t\t\t\t{trans({ label: 'Version' })}: {BRANCH_NAME || ''}_\n\t\t\t\t{NEXT_CONFIG.RELEASE_VERSION}\n\t\t\t</StyledFooterVersion>\n\t\t</FooterStyle>\n\t);\n};\n\nexport const FooterStyle = styled.footer`\n\talign-items: center;\n\tbackground-color: var(--color-dark-900);\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\tpadding: 64px 0;\n\tposition: relative;\n\twidth: 100%;\n\tz-index: 2;\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media_v2.max_mobile_medium,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tpadding: 32px 0;\n\t\t\t}\n\t\t`,\n\t)}\n`;\n\nexport const StyledFooterVersion = styled(FooterTextStyle)`\n\tbottom: 3px;\n\tcolor: var(--color-dark-300);\n\tfont-size: 9px !important;\n\tline-height: unset;\n\tposition: absolute;\n\tright: 10px;\n\tuser-select: text;\n`;\n","import { createGlobalStyle, css } from 'styled-components';\nimport { ThemeType } from '@legacyApp/client/modules/style/theme';\nimport { homeBackground } from '@legacyApp/client/modules/style/mixins/homeBackground';\nimport { transactionsBackground } from '@legacyApp/client/modules/style/mixins/transactionsBackground';\nimport { StyledTextWrapper } from '../../hoc/pageEnhancer';\nimport { StyledContentWrapper } from '../text/Content/Content.styled';\n\nexport const HomePageBackgroundMixin = css`\n\t${homeBackground(\n\t\t'/img/background-main-v2.svg',\n\t\tcss`linear-gradient(180deg,var(--color-dark-900),var(--color-dark-800) 90%)`,\n\t)};\n\n\t&.tab-bets {\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t${transactionsBackground};\n\t\t}\n\t}\n\n\t&:after {\n\t\tbackground-size: 110%;\n\t}\n\n\t${StyledTextWrapper} {\n\t\t&:before {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\n\t${StyledContentWrapper} {\n\t\t&:after {\n\t\t\tbackground: linear-gradient(\n\t\t\t\t180deg,\n\t\t\t\ttransparent,\n\t\t\t\tvar(--color-dark-800) 90%\n\t\t\t);\n\t\t}\n\t}\n`;\n\nexport const StyledHomeGlobal = createGlobalStyle<{ theme: ThemeType }>`\n\t.page-home {\n\t\t${HomePageBackgroundMixin};\n\t}\n`;\n","import { css } from 'styled-components';\nimport { parseImageSrc } from '@common/components/default/Image/Image';\nimport { FooterStyle } from '@common/components/footer/Footer';\n\nexport const homeBackground = (url?: string, background = null) => {\n\treturn css`\n\t\tposition: relative;\n\n\t\t${url || background\n\t\t\t? css`\n\t\t\t\t\t&:after,\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tbottom: 0;\n\t\t\t\t\t\tcontent: '';\n\t\t\t\t\t\theight: 100%;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\t\t${url\n\t\t\t? css`\n\t\t\t\t\t&:after {\n\t\t\t\t\t\t//background-attachment: fixed;\n\t\t\t\t\t\tbackground: url(${parseImageSrc(url)});\n\t\t\t\t\t\tbackground-position: top;\n\t\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\t\tbackground-size: 200%;\n\t\t\t\t\t\tz-index: 0;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\t\t${background\n\t\t\t? css`\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tbackground: ${background};\n\t\t\t\t\t\tbackground-position-y: 40vw;\n\t\t\t\t\t\tz-index: 0;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\t\t.main {\n\t\t\tbackground-color: transparent;\n\t\t\tz-index: 1;\n\t\t}\n\n\t\t.header {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t${FooterStyle} {\n\t\t\tz-index: 1;\n\t\t}\n\t`;\n};\n","import { FC, PropsWithChildren } from 'react';\nimport styled from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { Image, parseImageSrc } from '../../../default/Image/Image';\nimport { MediumPromoStyled } from './Promotions.styled';\n\nexport const BonusCodeOnClickWrapper: FC<PropsWithChildren<any>> = ({\n\tchildren,\n}) => {\n\tconst dispatch = useDispatch();\n\n\treturn (\n\t\t<div\n\t\t\tclassName={'onclick-wrapper onclick-wrapper-bonuscodes'}\n\t\t\tonClick={() =>\n\t\t\t\tdispatch(openModal(MODAL_ID.BONUS_CODE, 'BonusCodeOnClickWrapper'))\n\t\t\t}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport const BonusCodesPromo: FC = () => {\n\treturn (\n\t\t<BonusCodesPromoStyled>\n\t\t\t<BonusCodeOnClickWrapper />\n\t\t\t<BonusImage />\n\t\t\t<h5 className=\"text-style-h-6\">\n\t\t\t\t{trans({\n\t\t\t\t\tlabel: 'weekly<1/>bonus codes',\n\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tweekly\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tbonus codes\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</h5>\n\t\t</BonusCodesPromoStyled>\n\t);\n};\n\nexport const BonusImage = styled(Image).attrs((props) => ({\n\tsrc: props.src || '/img/promosection/bonus/ticket.png',\n\talt: 'Bonus Ticket',\n}))`\n\ttop: 30%;\n\tposition: absolute;\n\theight: 85%;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\ttransition: 300ms ease-out;\n\tz-index: 1;\n`;\n\nexport const BonusCodesPromoStyled = styled(MediumPromoStyled)`\n\tbackground-image: url(${parseImageSrc('/img/promosection/bonus/bg.svg')});\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\n\t@media (hover: hover) and (pointer: fine) {\n\t\t&:hover {\n\t\t\t${BonusImage} {\n\t\t\t\ttransform: translateX(-50%) rotate(-4deg) scale(1.1) translateY(-5px);\n\t\t\t}\n\t\t}\n\t}\n`;\n","import styled, { css } from 'styled-components';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\n\nexport const MediumPromoStyled = styled.div`\n\talign-items: flex-start;\n\tborder-radius: 10px;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgrid-area: medium;\n\theight: 212px;\n\tjustify-content: flex-start;\n\toverflow: hidden;\n\tpadding: 24px;\n\tposition: relative;\n\twidth: 212px;\n\n\th5 {\n\t\tmargin: 0;\n\t\ttext-transform: uppercase;\n\t\tz-index: 3;\n\t}\n`;\nexport const BigPromoStyled = styled.div`\n\talign-items: flex-start;\n\tborder-radius: 10px;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgrid-area: big;\n\theight: 212px;\n\tjustify-content: flex-end;\n\toverflow: hidden;\n\tpadding: 24px;\n\tposition: relative;\n\twidth: 440px;\n\n\th4,\n\th6 {\n\t\tmargin: 0;\n\t\tz-index: 3;\n\t}\n\n\th4 {\n\t\tpadding-bottom: 8px;\n\t\ttext-transform: uppercase;\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${calcStyle({ a: '1060px', b: viewportPadding })}) {\n\t\t\t\twidth: 350px;\n\t\t\t}\n\t\t`,\n\t)};\n`;\n","import React, { FC, PropsWithChildren } from 'react';\nimport styled from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { Image, parseImageSrc } from '../../../default/Image/Image';\nimport { MediumPromoStyled } from './Promotions.styled';\n\nexport const RakebackOnClickWrapper: FC<PropsWithChildren<any>> = ({\n\tchildren,\n}) => {\n\tconst dispatch = useDispatch();\n\n\treturn (\n\t\t<div\n\t\t\tclassName={'onclick-wrapper onclick-wrapper-rakeback'}\n\t\t\tonClick={() =>\n\t\t\t\tdispatch(openModal(MODAL_ID.RAKE_BACK, 'RakebackOnClickWrapper'))\n\t\t\t}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport const RakebackPromo: FC = () => {\n\treturn (\n\t\t<RakebackPromoStyled>\n\t\t\t<RakebackOnClickWrapper />\n\t\t\t<RakebackImage />\n\t\t\t<h5 className=\"text-style-h-6\">\n\t\t\t\t{trans({\n\t\t\t\t\tlabel: 'rakeback<1/>system',\n\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tweekly\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tsystem\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</h5>\n\t\t</RakebackPromoStyled>\n\t);\n};\n\nexport const RakebackImage = styled(Image).attrs({\n\tsrc: '/img/promosection/rakeback/rakeback.png',\n\talt: 'Digital wallet',\n})`\n\ttop: 27%;\n\tposition: absolute;\n\theight: 95%;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\ttransition: 300ms ease-out;\n\tz-index: 2;\n`;\n\nexport const RakebackPromoStyled = styled(MediumPromoStyled)`\n\tbackground-image: url(${parseImageSrc('/img/promosection/rakeback/bg.svg')});\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\n\th5 {\n\t\tz-index: 3;\n\t}\n\n\t@media (hover: hover) and (pointer: fine) {\n\t\t&:hover {\n\t\t\t${RakebackImage} {\n\t\t\t\ttransform: translateX(-50%) translateY(-10px) scale(1.05);\n\t\t\t}\n\t\t}\n\t}\n`;\n","import React, { FC, PropsWithChildren } from 'react';\nimport styled from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { Image, parseImageSrc } from '../../../default/Image/Image';\nimport { MediumPromoStyled } from './Promotions.styled';\n\nexport const VipWheelOnClickWrapper: FC<PropsWithChildren<any>> = ({\n\tchildren,\n}) => {\n\tconst dispatch = useDispatch();\n\n\treturn (\n\t\t<div\n\t\t\tclassName={'onclick-wrapper onclick-wrapper-vipwheel'}\n\t\t\tonClick={() => dispatch(openModal(MODAL_ID.VIP_WHEEL, 'vipwheelpromo'))}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport const VipWheelPromo: FC = () => {\n\treturn (\n\t\t<VipWheelPromoStyled>\n\t\t\t<VipWheelOnClickWrapper />\n\t\t\t<WheelImage />\n\t\t\t<h5 className=\"text-style-h-6\">\n\t\t\t\t{trans({\n\t\t\t\t\tlabel: 'daily<1/>charge',\n\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tdaily\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tcharge\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</h5>\n\t\t</VipWheelPromoStyled>\n\t);\n};\n\nexport const WheelImage = styled(Image).attrs({\n\tsrc: '/img/promosection/wheel/wheel.png',\n\talt: 'Coins',\n})`\n\ttop: 20%;\n\tposition: absolute;\n\theight: 120%;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tz-index: 2;\n`;\n\nexport const VipWheelPromoStyled = styled(MediumPromoStyled)`\n\tbackground-image: url(${parseImageSrc('/img/promosection/wheel/bg.png')});\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\n\th5 {\n\t\tz-index: 3;\n\t}\n`;\n","import React, { FC, PropsWithChildren } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { Image, parseImageSrc } from '../../../default/Image/Image';\nimport { BigPromoStyled } from './Promotions.styled';\n\nexport const WolfRaceOnClickWrapper: FC<PropsWithChildren<any>> = ({\n\tchildren,\n}) => {\n\tconst dispatch = useDispatch();\n\treturn (\n\t\t<div\n\t\t\tclassName={'onclick-wrapper onclick-wrapper-wolfrace'}\n\t\t\tonClick={() =>\n\t\t\t\tdispatch(openModal(MODAL_ID.CURRENT_RACE, 'wolfracepromo'))\n\t\t\t}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport const WolfRacePromo: FC = () => {\n\treturn (\n\t\t<WolfRacePromoStyled>\n\t\t\t<WolfRaceOnClickWrapper />\n\t\t\t<TrophyImage />\n\t\t\t<ConfettiImage />\n\t\t\t<ConfettiImage2 />\n\t\t\t<h4 className=\"text-style-h-4\">\n\t\t\t\t{trans({\n\t\t\t\t\tlabel: 'wolf<1/>race',\n\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\twolf\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\trace\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</h4>\n\t\t\t<h6 className=\"text-style-h-7\">\n\t\t\t\t{trans({ label: 'grab your reward', namespace: TransNamespace.COMMON })}\n\t\t\t</h6>\n\t\t</WolfRacePromoStyled>\n\t);\n};\n\nexport const TrophyImage = styled(Image).attrs({\n\tsrc: '/img/promosection/race/trophy.png',\n\talt: 'Trophy',\n})`\n\tbottom: -3%;\n\tposition: absolute;\n\theight: 100%;\n\tright: 5%;\n\tz-index: 2;\n`;\n\nconst Falldown = keyframes`\n 0% {\n transform: translateY(-300%);\n }\n\t15% {\n\t\ttransform: translateY(300%);\n\t}\n\t100% {\n\t\ttransform: translateY(300%);\n\t}\n`;\n\nconst FalldownV2 = keyframes`\n 0% {\n transform: translateY(-195%);\n }\n\t15% {\n\t\ttransform: translateY(195%);\n\t}\n\t100% {\n\t\ttransform: translateY(195%);\n\t}\n`;\n\nexport const ConfettiImage = styled(Image).attrs({\n\tsrc: '/img/promosection/race/confetti.png',\n\talt: 'Confetti',\n})`\n\ttop: -40%;\n\ttransform: translateY(-200%);\n\tposition: absolute;\n\theight: 150%;\n\tright: -10%;\n\tanimation-name: ${Falldown};\n\tanimation-duration: 60s;\n\tanimation-timing-function: ease-in;\n\tanimation-iteration-count: infinite;\n\tz-index: 1;\n`;\n\nexport const ConfettiImage2 = styled(ConfettiImage)`\n\tanimation-name: ${FalldownV2};\n`;\n\nexport const WolfRacePromoStyled = styled(BigPromoStyled)`\n\tbackground-image: url(${parseImageSrc('/img/promosection/race/bg.png')});\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\n\th4,\n\th6 {\n\t\tz-index: 3;\n\t}\n`;\n","function 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\nfunction _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}\n\nfunction _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}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\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 Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\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 _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}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _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}\n\nfunction _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}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid',\n 'fasr': 'regular',\n 'fa-regular': 'regular',\n 'fasl': 'light',\n 'fa-light': 'light'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass',\n 'regular': 'fasr',\n 'light': 'fasl'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid',\n 'fasr': 'fa-regular',\n 'fasl': 'fa-light'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass',\n 'fa-regular': 'fasr',\n 'fa-light': 'fasl'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass',\n '400': 'fasr',\n '300': 'fasl'\n}), _familyProxy5));\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\n\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(var(--fa-li-width, 2em) * -1);\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n -webkit-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transition-duration: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse,\\n.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\";\n\nfunction css() {\n var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n}\n\nfunction toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n var oldUnicode = _byOldUnicode[unicode];\n var newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n\n return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (tk) {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n\n if (plugin.hooks) {\n var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (hook) {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\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 var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n var hook = arguments[0];\n var args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n var iconName = iconLookup.iconName;\n var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\n\n if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n return {\n prefix: _icon.prefix,\n iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n };\n }\n\n if (Array.isArray(_icon) && _icon.length === 2) {\n var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n\n if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n\n var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nvar missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\n\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\n\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.4.2\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\n\nfunction convertSVG(abstractObj) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var _abstract2 = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n\n _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n var defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nvar styles$2 = namespace.styles;\n\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\n\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function (e) {\n mark();\n reject(e);\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n}\n\nvar render = function render(iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: params\n });\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new Promise(function (resolve, reject) {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var _abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n\n var element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = _abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nvar _unwatched = false;\nvar MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(_abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (_abstract.attributes && (_abstract.attributes.fill || force)) {\n _abstract.attributes.fill = 'black';\n }\n\n return _abstract;\n}\n\nfunction deGroup(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n}\n\nvar Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\n\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\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\nfunction _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}\n\nfunction _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}\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 _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\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}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _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}\n\nfunction _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++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _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}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","import {\n\tFontAwesomeIcon,\n\t// eslint-disable-next-line import/named\n\tFontAwesomeIconProps,\n} from '@fortawesome/react-fontawesome';\n\ninterface AwesomeIconProps extends FontAwesomeIconProps {\n\ticon: any;\n\tclassName?: string;\n}\n\nexport const AwesomeIcon = (props: AwesomeIconProps) => {\n\tif (!props.icon) {\n\t\treturn null;\n\t}\n\treturn <FontAwesomeIcon {...props} />;\n};\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { Image, parseImageSrc } from '../default/Image/Image';\n\nconst parseSymbol = (symbol: string): string => {\n\tif (symbol.toLowerCase() === 'en') {\n\t\treturn 'gb-eng';\n\t}\n\tif (symbol.toLowerCase() === 'wa') {\n\t\treturn 'gb-wls';\n\t}\n\tif (symbol.toLowerCase() === 'sx') {\n\t\treturn 'gb-sct';\n\t}\n\tif (symbol.toLowerCase() === 'nx') {\n\t\treturn 'gb-nir';\n\t}\n\tif (symbol.toLowerCase() === 'ar') {\n\t\treturn 'sd';\n\t}\n\tif (symbol.toLowerCase() === 'hi') {\n\t\treturn 'in';\n\t}\n\treturn symbol;\n};\n\nexport const FlagIcon: FC<{\n\tsymbol: string;\n\tscale?: string;\n\twithWrapper?: boolean;\n}> = ({ symbol, scale = '3x2', withWrapper }) => {\n\tif (!symbol) {\n\t\treturn null;\n\t}\n\tif (symbol === 'admin') {\n\t\treturn null;\n\t}\n\tconst src = parseImageSrc(\n\t\t`/img/flags/${scale}/${parseSymbol(symbol).toUpperCase()}.svg`,\n\t);\n\tconst img = <Image src={src} alt={symbol} />;\n\treturn withWrapper ? <FlagIconWrapper $src={src} $scale={scale} /> : img;\n};\n\nconst getScaleHeight = (scale, width) => {\n\tconst [widthScale, heightScale] = scale.split('x');\n\treturn (width / widthScale) * heightScale;\n};\n\nexport const FlagIconWrapper = styled.div<{\n\t$src?: string;\n\t$scale: string;\n}>`\n\theight: 100%;\n\twidth: auto;\n\n\t&:before {\n\t\tbackground-image: url(${(props) => props.$src});\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: contain;\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\theight: ${(props) => getScaleHeight(props.$scale, 25)}px;\n\t\twidth: 25px;\n\t}\n`;\n","import dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { memo } from 'react';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { RectangleLoader } from '../contentLoaders/RectangleLoader';\n\nexport const EmptyIcon = ({ size = 15, id, className }) => (\n\t<StyledEmptyIcon\n\t\twidth={size}\n\t\theight={size}\n\t\tid={id}\n\t\tclassName={`${id} ${className}`}\n\t/>\n);\n\nconst Icon = ({\n\tid,\n\tcolor = '',\n\tclassName = undefined,\n\tnoColor = false,\n\tnoPlaceholder = false,\n\theight = undefined,\n\twidth = undefined,\n\tnoIcon = undefined,\n\tprops = undefined,\n\tfallbackImg = '',\n\tname = '',\n}) => {\n\t// console.log('Icon', id, { color, className, noColor, noPlaceholder });\n\tif (!id) {\n\t\treturn noPlaceholder ? (\n\t\t\t''\n\t\t) : (\n\t\t\t<EmptyIcon size={height} className={className} id={id} />\n\t\t);\n\t}\n\n\tconst Component = dynamic(\n\t\t() =>\n\t\t\timport(`../../icons/${id.toLowerCase().replace(' ', '-')}`)\n\t\t\t\t.then((el) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tel ||\n\t\t\t\t\t\t(noPlaceholder\n\t\t\t\t\t\t\t? () => null\n\t\t\t\t\t\t\t: () => EmptyIcon({ id, className, size: height }))\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\t// console.log('IconCatch', error);\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tconst name_ = name || id.split('/').pop();\n\t\t\t\t\t\tif (noIcon) {\n\t\t\t\t\t\t\tif (typeof noIcon === 'boolean') {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn noIcon;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (fallbackImg) {\n\t\t\t\t\t\t\treturn <img src={fallbackImg} alt={name_} />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<span className=\"text-style-xs-medium\" data-src={id}>\n\t\t\t\t\t\t\t\t{name_}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t{\n\t\t\tloading: noPlaceholder\n\t\t\t\t? () => null\n\t\t\t\t: () => EmptyIcon({ id, className, size: height }),\n\t\t},\n\t);\n\t// console.log('Icon - Component', {Component});\n\t// if (!isFunction(Component)) return <EmptyIcon/>;\n\treturn (\n\t\t<Component\n\t\t\tstyle={{ height: '15px' }}\n\t\t\theight={height}\n\t\t\twidth={width}\n\t\t\tclassName={className}\n\t\t\tcolor={color || (!noColor && theme.colors.active)}\n\t\t\tid={id}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nconst StyledEmptyIcon = styled(RectangleLoader)`\n\twidth: ${(props) => props.width || 15}px;\n`;\n\nEmptyIcon.propTypes = {\n\tsize: PropTypes.number,\n\tid: PropTypes.string,\n\tclassName: PropTypes.string,\n};\n\nIcon.propTypes = {\n\tid: PropTypes.string.isRequired,\n\tcolor: PropTypes.string,\n\tclassName: PropTypes.string,\n\tnoColor: PropTypes.bool,\n\tnoPlaceholder: PropTypes.bool,\n\theight: PropTypes.number,\n\twidth: PropTypes.number,\n\tnoIcon: PropTypes.any,\n\tprops: PropTypes.any,\n\tfallbackImg: PropTypes.string,\n\tname: PropTypes.string,\n};\n\nexport default memo(Icon);\n","import {\n\tChangeEventHandler,\n\tFC,\n\tKeyboardEventHandler,\n\tuseCallback,\n} from 'react';\nimport { Input, InputProps } from '@ui/input';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport { countPrecision } from '@legacyApp/methods/math/countPrecision';\nimport { regexString } from '@legacyApp/client/modules/app/regexString';\nimport { isFunction } from '../../methods/isFunction';\nimport { isTrueOrZero } from '../../methods/isTrueOrZero';\n\nconst CHAR_PATTERN = '([0-9,.-])?';\n\nexport interface NumberInputProps extends Omit<InputProps, 'type'> {\n\tprecision?: number;\n}\n\nexport const NumberInput: FC<NumberInputProps> = (props) => {\n\tconst { precision, ...restProps } = props;\n\n\tconst verifyPrecision = useCallback(\n\t\t(value: string) => {\n\t\t\tconsole.log('verifyPrecision', {\n\t\t\t\tvalue,\n\t\t\t\tprecision,\n\t\t\t\tcount: countPrecision(value),\n\t\t\t});\n\t\t\treturn !(isTrueOrZero(precision) && countPrecision(value) > precision);\n\t\t},\n\t\t[precision],\n\t);\n\n\tconst onKeyPress: KeyboardEventHandler<HTMLInputElement> = useCallback(\n\t\t(event) => {\n\t\t\tconst pattern = CHAR_PATTERN;\n\n\t\t\tif (!pattern) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst charCode =\n\t\t\t\ttypeof event.which == 'undefined' ? event.keyCode : event.which;\n\t\t\tconst charStr = String.fromCharCode(charCode);\n\t\t\tconst regex = new RegExp(pattern, 'g');\n\t\t\tconst regexResult = regexString(regex, charStr);\n\n\t\t\t// console.log(this.props.id, 'onKeyPress', { pattern, event, charCode, charStr, regex, regexResult });\n\n\t\t\tif (!regexResult[1]) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[],\n\t);\n\n\tconst _onChange: ChangeEventHandler<HTMLInputElement> = useCallback(\n\t\t(event) => {\n\t\t\tif (!verifyPrecision(event.target.value)) {\n\t\t\t\tconsole.log('stopPropagation');\n\t\t\t\tevent.persist();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isFunction(props?.onChange)) {\n\t\t\t\tprops.onChange(event);\n\t\t\t}\n\t\t},\n\t\t[props, verifyPrecision],\n\t);\n\n\treturn (\n\t\t<Input\n\t\t\t{...restProps}\n\t\t\tstep={\n\t\t\t\tprops.step || isTrueOrZero(precision)\n\t\t\t\t\t? mathService.getMinValueByPrecision(precision)\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\ttype=\"number\"\n\t\t\tonChange={_onChange}\n\t\t\tonKeyPress={onKeyPress}\n\t\t/>\n\t);\n};\n","import { Ref } from './types';\n\n/** check if value not empty */\nconst notUndefOrNull = (val: any) => val !== undefined && val !== null;\n/** getClientRect */\nconst getClientRect = (elem: Ref): { width: number; x: number; x2: number } => {\n\t// tslint:disable-next-line:max-line-length\n\tif (\n\t\t!elem ||\n\t\t!elem.getBoundingClientRect ||\n\t\ttypeof elem.getBoundingClientRect !== 'function'\n\t) {\n\t\treturn { width: 0, x: 0, x2: 0 };\n\t}\n\n\tconst { left = 0, width = 0, right = 0 } = elem.getBoundingClientRect();\n\treturn { width, x: +left, x2: +right };\n};\n\nconst formatTranslate = (val: number): number => +val.toFixed(0);\n\n/** check if translate is valid */\nconst translateIsValid = (val: any): boolean =>\n\ttypeof val === 'number' && !isNaN(+val);\n/** pass translate value and default, valid - return formatted value, not valid - return default */\nconst validateTranslate = (value: any, defaultValue: number): number =>\n\ttranslateIsValid(value) ? +value : defaultValue;\n\nexport {\n\tnotUndefOrNull,\n\tgetClientRect,\n\tvalidateTranslate,\n\ttranslateIsValid,\n\tformatTranslate,\n};\n","import classnames from 'classnames';\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { DescriptionBoxStyle } from '@legacyApp/client/modules/style/components/descriptionBox.style';\nimport {\n\tborderRadius,\n\tboxNoHeight,\n} from '@legacyApp/client/modules/style/defaults';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { faEllipsisV } from '@fortawesome/free-solid-svg-icons';\nimport { encodeSvg } from '@legacyApp/client/components/svg/Svg';\nimport { PaginationStyled } from '@ui/pagination/Pagination.styled';\n\nconst RowAnimation = (props) => keyframes`\n 0% {\n\t ${props.$rowIndex === 0 ? 'opacity: 0' : ''};\n\t transform: translateY(${`calc(${props.$rowIndex - 1} * 100%)`});\n }\n\t\t50% {\n\t\t\t${props.$rowIndex === 0 ? 'opacity: 0' : ''};\n\t\t}\n 100% {\n\t\t\t${props.$rowIndex === 0 ? 'opacity: 1' : ''};\n\t\t\ttransform: translateY(${`calc(${props.$rowIndex} * 100%)`});\n }\n`;\n\nconst CellHeight = (callback) => (props) => {\n\tconst height = parseFloat(\n\t\tprops.theme.layout.table.cellHeight.replace('px', ''),\n\t);\n\n\treturn css`\n\t\t${callback(height * 2)};\n\t`;\n};\n\nexport const StyledTableCell = styled.td.attrs((props) => ({\n\tclassName: classnames('table__cell no-pointer', props.className),\n}))`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tfloat: left;\n\tpadding-left: 7px;\n\tmin-width: 25px;\n\tvertical-align: middle;\n\n\t${CellHeight(\n\t\t(height) => css`\n\t\t\theight: ${height}px;\n\t\t`,\n\t)}\n\n\t&:last-of-type {\n\t\tpadding-right: 7px;\n\t}\n\n\t.input-wrapper {\n\t\t.relative {\n\t\t\twidth: 100%;\n\n\t\t\tinput {\n\t\t\t\tcolor: ${(props) => props.theme.colors.text}!important;\n\t\t\t\tfont-family: inherit !important;\n\t\t\t\tfont-size: inherit !important;\n\t\t\t}\n\t\t}\n\n\t\t.buttons-box {\n\t\t\tbutton {\n\t\t\t\tmargin: 5px;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 44px;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\ttr > span > svg {\n\t\theight: 1em;\n\t}\n\n\t.text {\n\t\tdisplay: block;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\twidth: 100%;\n\t\tline-height: 1;\n\n\t\t> * {\n\t\t\tdisplay: inline-block;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t> div {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\tpadding-left: 15px;\n\n\t\t&:last-of-type {\n\t\t\tpadding-right: 15px;\n\t\t}\n\t}\n\n\t.input-wrapper {\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t.relative {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tinput {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tmin-height: 20px;\n\t\t\t\t\tpadding: 5px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.buttons-box {\n\t\t\t\tbutton {\n\t\t\t\t\twidth: 24px;\n\t\t\t\t\tmargin: 2px;\n\t\t\t\t\theight: calc(100% - 4px);\n\n\t\t\t\t\t&:last-of-type {\n\t\t\t\t\t\tmargin-right: -7px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const tableNoAnimation = css`\n\t.table {\n\t\theight: auto;\n\t\twidth: 100%;\n\n\t\t&__tbody {\n\t\t\theight: auto;\n\t\t}\n\n\t\t&__row {\n\t\t\tanimation: none !important;\n\t\t\tposition: relative;\n\t\t\ttransform: none;\n\t\t}\n\t}\n`;\n\nexport interface StyledTableRowProps {\n\t$rowIndex?: number;\n\t$isAdditional?: boolean;\n\tas?: string;\n}\n\nexport const StyledTableRow = styled.tr.attrs<StyledTableRowProps>((props) => ({\n\tclassName: classnames('table__row', props.className),\n}))<StyledTableRowProps>`\n\talign-items: center;\n\tbackground: transparent;\n\tdisplay: flex;\n\tfloat: left;\n\tmin-height: ${(props) => props.theme.layout.table.cellHeight};\n\tmin-width: 100%;\n\ttransition: 0.4s ease-in-out;\n\twidth: auto;\n\tposition: relative;\n\n\t${(props) =>\n\t\tprops.as === 'div'\n\t\t\t? css`\n\t\t\t\t\tanimation: ${RowAnimation} 0.4s ease-in-out 1;\n\t\t\t\t\tanimation-fill-mode: forwards;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttransform: translateY(${`calc(${props.$rowIndex} * 100%)`});\n\n\t\t\t\t\t${StyledTHead} > & {\n\t\t\t\t\t\tposition: relative !important;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\n\t${(props) =>\n\t\tprops.$isAdditional\n\t\t\t? css`\n\t\t\t\t\tmargin: 40px 0 0 !important;\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: url(${encodeSvg(\n\t\t\t\t\t\t\tAwesomeIcon({ icon: faEllipsisV, color: 'white' }),\n\t\t\t\t\t\t)});\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\theight: 10px;\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: -35px;\n\t\t\t\t\t\ttransform: translateX(-50%);\n\t\t\t\t\t\twidth: 7px;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''};\n`;\n\nexport interface StyledTBodyProps {\n\t$length?: number;\n\t$rowMargin?: number;\n\tas?: string;\n}\n\nexport const StyledTBody = styled.tbody.attrs<StyledTBodyProps>((props) => ({\n\tclassName: classnames('table__tbody text-style-sm-medium', props.className),\n}))<StyledTBodyProps>`\n\tfloat: left;\n\tmin-width: 100%;\n\tposition: relative;\n\twidth: auto;\n\t${(props) =>\n\t\tCellHeight(\n\t\t\t(height) => css`\n\t\t\t\theight: ${props.$length\n\t\t\t\t\t? `${props.$length * (height + (props.$rowMargin || 0))}px`\n\t\t\t\t\t: 'auto'};\n\t\t\t`,\n\t\t)};\n\t}\n`;\n\nexport const StyledNoResultTableCell = styled(StyledTableCell)`\n\talign-items: center !important;\n\tdisplay: flex !important;\n\theight: auto !important;\n\tjustify-content: center;\n\tpadding: 10px;\n\twidth: 100%;\n\n\t.no-data-info {\n\t\tleft: 50%;\n\t\tpadding-top: 20px;\n\t\tposition: absolute;\n\t\ttext-align: center;\n\t\ttop: 0;\n\t\ttransform: translateX(-50%);\n\t\twidth: 300px;\n\n\t\ti,\n\t\tsvg {\n\t\t\tfont-size: 30px;\n\t\t}\n\t}\n\n\t${(props) =>\n\t\tfontSize({\n\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t})};\n`;\n\nexport const StyledTableRowDetails = styled.div.attrs((props) => ({\n\tclassName: classnames('table__row--details', props.className),\n}))`\n\twidth: 100% !important;\n\tpadding: 0 15px;\n\n\t${DescriptionBoxStyle} {\n\t\tmargin-bottom: 10px !important;\n\t\tpadding: 5px 15px;\n\t\tborder: 1px solid ${(props) => props.theme.colors.tableBorder};\n\t}\n\n\tbutton {\n\t\tmargin: 0 0 10px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthVerySmall}) {\n\t\tpadding: 0 5px;\n\n\t\t${DescriptionBoxStyle} {\n\t\t\tpadding: 0 5px;\n\t\t}\n\t}\n`;\n\nexport const StyledTHead = styled.thead.attrs((props) => ({\n\tclassName: classnames(\n\t\t'table__thead text text-style-xs-medium',\n\t\tprops.className,\n\t),\n}))`\n\tfloat: left;\n\twidth: auto;\n\tposition: relative;\n\toverflow: hidden;\n\tmin-width: 100%;\n\n\t& ${StyledTableRow} {\n\t\tmin-height: unset;\n\t\tanimation: unset !important;\n\t}\n\n\t& ${StyledTableCell} {\n\t\tcolor: var(--color-dark-100);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tdisplay: block;\n\t\theight: auto;\n\t\ttext-transform: capitalize;\n\n\t\t&[data-sort='title'] {\n\t\t\tpadding-left: 38px;\n\n\t\t\t@media (max-width: 370px) {\n\t\t\t\tpadding-left: 33px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport interface StyledTableProps {\n\t$animationEnabled?: boolean;\n\t$noResults?: boolean;\n\tas?: string;\n\tname?: string;\n}\n\nexport const StyledTable = styled.table.attrs<StyledTableProps>((props) => ({\n\tclassName: classnames('table', props.className),\n}))<StyledTableProps>`\n\tbox-sizing: border-box;\n\tfloat: left;\n\theight: unset;\n\toverflow: auto;\n\twidth: 100%;\n\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t${(props) =>\n\t\t!props.$animationEnabled\n\t\t\t? css`\n\t\t\t\t\t${StyledTableRow} {\n\t\t\t\t\t\tanimation: unset !important;\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: null}\n\n\t${(props) =>\n\t\tprops.$noResults\n\t\t\t? css`\n\t\t\t\t\toverflow-x: hidden;\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t${StyledTBody} > ${StyledTableRow} {\n\t\t\t\t\t\t${CellHeight(\n\t\t\t\t\t\t\t(height) => css`\n\t\t\t\t\t\t\t\theight: ${height}px;\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tposition: relative;\n\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: ''}\n\n\t.loader--active {\n\t\tmin-height: 20px;\n\t}\n\n\t&.table-depositHistory {\n\t\tsvg {\n\t\t\twidth: 15px;\n\t\t\theight: 15px;\n\t\t}\n\t}\n`;\n\nexport const StyledTableNoScroll = styled(StyledTable).attrs<StyledTableProps>(\n\t(props) => ({\n\t\tclassName: classnames('table__no-scroll', props.className),\n\t}),\n)<StyledTableProps>`\n\toverflow-y: hidden;\n\twidth: 100%;\n`;\n\nexport const StyledTableLoader = styled.div.attrs((props) => ({\n\tclassName: classnames('table__loader', props.className),\n}))`\n\t.loader--active {\n\t\t${borderRadius};\n\t\tbackground: ${(props) => props.theme.colors.inputButton};\n\t\tfont-size: 20px;\n\t\tposition: absolute;\n\t\twidth: 50px;\n\t\theight: 50px;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t}\n`;\n\nexport const StyledTableWrapper = styled.div.attrs((props) => ({\n\tclassName: classnames('table-wrapper', props.className),\n}))`\n\twidth: 100%;\n\toverflow: auto;\n\n\t${PaginationStyled} {\n\t\tmargin-top: 20px;\n\t}\n`;\n\nexport const StyledTabsTableWrapper = styled.div.attrs((props) => ({\n\tclassName: classnames('tabs-table-wrapper', props.className),\n}))`\n\t${boxNoHeight};\n\n\t${StyledTable} {\n\t\theight: calc(100% - 45px);\n\t}\n\n\t[class*='page-']:not(.chat-visible):not(.left-menu-visible) & {\n\t\t${boxNoHeight};\n\t}\n`;\n","import { FC, PropsWithChildren } from 'react';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { CurrencySymbol } from '@legacyApp/client/components/currencySymbol/currencySymbol';\nimport { TokenSymbol } from '@legacyApp/client/components/currencySymbol/tokenSymbol';\n\nimport styles from '@common/components/number/CurrencyValue.module.scss';\n\nexport const CurrencyValue: FC<\n\tPropsWithChildren<{\n\t\tcurrency?: CurrencyType;\n\t\tisCurrencyInFront?: boolean;\n\t\tisToken?: boolean;\n\t\tclassName?: string;\n\t}>\n> = ({ children, currency, isCurrencyInFront, isToken, className }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${CSSClassNameCurrencyValue} ${styles.currencyValue} ${\n\t\t\t\tisCurrencyInFront ? styles['currencyValue--font'] : ''\n\t\t\t} ${className}`}\n\t\t>\n\t\t\t{currency &&\n\t\t\t\t(isToken ? (\n\t\t\t\t\t<TokenSymbol token={currency} />\n\t\t\t\t) : (\n\t\t\t\t\t<CurrencySymbol currency={currency} />\n\t\t\t\t))}\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport const CSSClassNameCurrencyValue = 'balance__currency--wrapper';\n","import styled, { css } from 'styled-components';\nimport { BetSlipDetailsProgressState } from '@modules/sports/types/BetSlipDetails/BetSlipDetailsType';\nimport { theme } from '@legacyApp/client/modules/style/theme';\n\nexport const getStateColor = (state: string, value: number) => {\n\tif (state) {\n\t\tif (state === 'win' || state === BetSlipDetailsProgressState.CASHOUT) {\n\t\t\treturn theme.colors.positive;\n\t\t}\n\t\tif (state === BetSlipDetailsProgressState.PENDING) {\n\t\t\treturn theme.colors.grey;\n\t\t}\n\t\treturn theme.colors.text;\n\t}\n\n\tif (value >= 0) {\n\t\treturn theme.colors.positive;\n\t}\n\n\treturn theme.colors.text;\n};\n\nexport const StyledProfit = styled.span<{\n\t$value: number;\n\t$disable?: boolean;\n\t$state?: string;\n}>`\n\t${(props) =>\n\t\t!props.$disable\n\t\t\t? css`\n\t\t\t\t\tcolor: ${getStateColor(props.$state, props.$value)};\n\t\t\t `\n\t\t\t: ''}\n\n\tdiv {\n\t\tdisplay: inline-block;\n\t\ttext-align: unset;\n\t}\n`;\n","import { config } from '@legacyApp/client/config';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { roundNumber } from './roundNumber';\n\nconst roundingStringInt = (\n\tint: number | string,\n\tcut: number,\n\tdirection = 'round',\n\tkeepZeroOnEnd = true,\n): string => {\n\tif (cut === 0) {\n\t\treturn String(int);\n\t}\n\tconst stringInt = String(int);\n\tif (stringInt.length <= cut) {\n\t\treturn stringInt;\n\t}\n\tconst precision = String(int).length - cut;\n\tconst slicedInt = stringInt.slice(0, precision + 1);\n\tconst valueToBig = slicedInt.slice(0, precision - 1);\n\tconst roundSlidedInt = slicedInt.replace(valueToBig, '');\n\tconst rounded = String(roundNumber(roundSlidedInt, -1, direction));\n\tlet res = `${valueToBig}${rounded}`;\n\tif (!keepZeroOnEnd) {\n\t\tres = res.slice(0, precision);\n\t} else {\n\t\twhile (res.length < stringInt.length) {\n\t\t\tres += '0';\n\t\t}\n\t}\n\treturn res;\n};\n\nexport const roundStringNumber = (\n\tnum: number | string,\n\tprecision: number = config.valueMaxPrecision,\n\tdirection = 'round',\n): string => {\n\tconst num_ =\n\t\tString(num).indexOf('e-') > -1\n\t\t\t? scientificToDecimal(String(num))\n\t\t\t: String(num);\n\tconst [int, decimal] = num_.split('.');\n\tif (precision === 0) {\n\t\treturn int;\n\t}\n\tif (precision > 0) {\n\t\tif (!decimal) {\n\t\t\treturn int;\n\t\t}\n\t\treturn `${int}.${roundingStringInt(\n\t\t\tdecimal,\n\t\t\tdecimal.length - precision,\n\t\t\tdirection,\n\t\t\tfalse,\n\t\t)}`;\n\t}\n\treturn roundingStringInt(int, precision * -1, direction, true);\n};\n","import { countPrecision } from '@legacyApp/methods/math/countPrecision';\nimport { roundStringNumber } from '../roundNumber/roundStringNumber';\n\nexport const toFixed = (\n\tnum: number | string = 0,\n\tprecision: number,\n): string => {\n\tlet num_ = roundStringNumber(num, precision);\n\tconst [int, decimal] = num_.split('.');\n\tif (precision === 0) {\n\t\treturn int;\n\t}\n\tif (precision < 0 || decimal?.length === precision) {\n\t\treturn num_;\n\t}\n\tif (!decimal) {\n\t\tnum_ += '.0';\n\t}\n\twhile (countPrecision(num_) < precision) {\n\t\tnum_ += '0';\n\t}\n\treturn num_;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { config } from '@legacyApp/client/config';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { countPrecision } from '@legacyApp/methods/math/countPrecision';\nimport { getValueWithElse } from '@common/methods/getValueWithElse';\nimport { toFixed } from '@common/methods/toFixed/toFixed';\nimport { roundStringNumber } from '@common/methods/roundNumber/roundStringNumber';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { getStateColor } from '../StyledProfit';\nimport { PrettyNumber } from '../../default/PrettyNumber/PrettyNumber';\nimport { CurrencyValue } from '../CurrencyValue';\n\nclass BalanceAmount extends React.PureComponent {\n\tstatic propTypes = {\n\t\tbalanceConverted: PropTypes.string,\n\t\tvalue: PropTypes.any,\n\t\tisClass: PropTypes.any,\n\t\thideSmall: PropTypes.bool,\n\t\tcolor: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t\tcolorDecimals: PropTypes.number,\n\t\tstate: PropTypes.string,\n\t\tcurrency: PropTypes.string,\n\t\tnoFormat: PropTypes.bool,\n\t\tsimpleFormat: PropTypes.bool,\n\t\tfullDecimals: PropTypes.number,\n\t\tcurrencyInFront: PropTypes.bool,\n\t\tclassName: PropTypes.string,\n\t\tt: PropTypes.func,\n\t\tsatoshiMode: PropTypes.bool,\n\t\troundBigValue: PropTypes.number,\n\t\tprettyNumberProps: PropTypes.object,\n\t\tallowTokenLogo: PropTypes.bool,\n\t};\n\n\tgetValueProps = () => {\n\t\tconst fullDecimals = getValueWithElse(\n\t\t\tthis.props.fullDecimals,\n\t\t\tconfig.decimals.balance,\n\t\t);\n\t\tconst cut = fullDecimals - config.decimals.bet;\n\n\t\t// console.log('getValueProps --------------------', {\n\t\t// \tcut,\n\t\t// \tfullDecimals,\n\t\t// \tprops: this.props,\n\t\t// });\n\n\t\tlet { noFormat, simpleFormat } = this.props;\n\n\t\tconst precision = countPrecision(\n\t\t\troundNumber(this.props.value || 0, fullDecimals),\n\t\t);\n\n\t\tif (precision > config.decimals.bet) {\n\t\t\tsimpleFormat = false;\n\t\t}\n\n\t\treturn {\n\t\t\tfullDecimals,\n\t\t\tcut,\n\t\t\tnoFormat,\n\t\t\tsimpleFormat,\n\t\t\tprecision,\n\t\t};\n\t};\n\n\tparseSatoshiMode = (value) => {\n\t\tif (value < 0.0001) {\n\t\t\tconst value_ = roundNumber(value * 1e8, 0);\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<span className=\"text-style-sm-medium\">{value_}</span>\n\n\t\t\t\t\t<span className=\"text-style-sm-medium\">sat</span>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\t\treturn this.props.roundBigValue &&\n\t\t\tparseFloat(this.props.value) > this.props.roundBigValue ? (\n\t\t\t<span\n\t\t\t\tclassName=\"text-style-sm-medium round\"\n\t\t\t\tdata-value={this.props.value || 0}\n\t\t\t>\n\t\t\t\t<PrettyNumber\n\t\t\t\t\tparams={{\n\t\t\t\t\t\tshortFormatMinValue: this.props.roundBigValue,\n\t\t\t\t\t\tshortFormat: true,\n\t\t\t\t\t\t...(this.props.prettyNumberProps || {}),\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{parseFloat(this.props.value)}\n\t\t\t\t</PrettyNumber>\n\t\t\t</span>\n\t\t) : (\n\t\t\t<span className=\"text-style-sm-medium\">\n\t\t\t\t{roundNumber(value, value > 100 ? 0 : 4, 'floor')}\n\t\t\t</span>\n\t\t);\n\t};\n\n\tparseSimpleFormat = (value) => {\n\t\tconst { simpleFormat, fullDecimals } = this.getValueProps();\n\t\tif (!simpleFormat) {\n\t\t\treturn value.toFixed(fullDecimals);\n\t\t}\n\t\treturn mathService.currencyValue(\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\tvalue % 1 === 0 ? 4 : config.decimals.bet,\n\t\t\tfullDecimals,\n\t\t);\n\t};\n\n\tparseValue = (value) => {\n\t\tvalue = parseFloat(value);\n\t\tif (this.props.noFormat) {\n\t\t\treturn this.props.roundBigValue &&\n\t\t\t\tparseFloat(this.props.value) > this.props.roundBigValue ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"text-style-sm-medium round\"\n\t\t\t\t\tdata-value={this.props.value || 0}\n\t\t\t\t>\n\t\t\t\t\t<PrettyNumber\n\t\t\t\t\t\tparams={{\n\t\t\t\t\t\t\tshortFormatMinValue: this.props.roundBigValue,\n\t\t\t\t\t\t\tshortFormat: true,\n\t\t\t\t\t\t\t...(this.props.prettyNumberProps || {}),\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{parseFloat(this.props.value)}\n\t\t\t\t\t</PrettyNumber>\n\t\t\t\t</span>\n\t\t\t) : (\n\t\t\t\t<span className=\"text-style-sm-medium\" data-value={value || 0}>\n\t\t\t\t\t{this.props.value}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\tvalue = this.parseSimpleFormat(value);\n\t\tif (this.props.satoshiMode) {\n\t\t\treturn this.parseSatoshiMode(value);\n\t\t}\n\t\treturn this.props.roundBigValue &&\n\t\t\tparseFloat(this.props.value) > this.props.roundBigValue ? (\n\t\t\t<span\n\t\t\t\tclassName=\"text-style-sm-medium round\"\n\t\t\t\tdata-value={this.props.value || 0}\n\t\t\t>\n\t\t\t\t<PrettyNumber\n\t\t\t\t\tparams={{\n\t\t\t\t\t\tshortFormatMinValue: this.props.roundBigValue,\n\t\t\t\t\t\tshortFormat: true,\n\t\t\t\t\t\t...(this.props.prettyNumberProps || {}),\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{parseFloat(this.props.value)}\n\t\t\t\t</PrettyNumber>\n\t\t\t</span>\n\t\t) : (\n\t\t\t<span className=\"text-style-sm-medium\" data-value={value || 0}>\n\t\t\t\t{value}\n\t\t\t</span>\n\t\t);\n\t};\n\n\tgetValueElement = () => {\n\t\tconst { noFormat, simpleFormat, cut, fullDecimals } = this.getValueProps();\n\n\t\tif (noFormat || simpleFormat || this.props.satoshiMode) {\n\t\t\treturn this.parseValue(this.props.value || 0);\n\t\t}\n\t\tconst value = toFixed(this.props.value || 0, fullDecimals);\n\t\tconst bigValue = roundStringNumber(value, fullDecimals - cut, 'floor');\n\t\tconst smallValue = value.replace(bigValue, '');\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{this.props.roundBigValue &&\n\t\t\t\tparseFloat(this.props.value || 0) > this.props.roundBigValue ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"text-style-sm-medium round\"\n\t\t\t\t\t\tdata-value={this.props.value || 0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PrettyNumber\n\t\t\t\t\t\t\tparams={{\n\t\t\t\t\t\t\t\tshortFormatMinValue: this.props.roundBigValue,\n\t\t\t\t\t\t\t\tshortFormat: true,\n\t\t\t\t\t\t\t\t...(this.props.prettyNumberProps || {}),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{parseFloat(this.props.value || 0)}\n\t\t\t\t\t\t</PrettyNumber>\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"balance__currency--value-big text-style-sm-medium\" data-value={value || 0}>\n\t\t\t\t\t\t\t{mathService.currencyValue(\n\t\t\t\t\t\t\t\tbigValue,\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\tfullDecimals < config.decimals.bet &&\n\t\t\t\t\t\t\t\t\t(!smallValue || this.props.hideSmall)\n\t\t\t\t\t\t\t\t\t? fullDecimals\n\t\t\t\t\t\t\t\t\t: config.decimals.bet,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t{!this.props.hideSmall ? (\n\t\t\t\t\t\t\t<span className=\"balance__currency--value-small text-style-sm-medium scale-75 translate-x-[-12%] translate-y-[8%] inline-block\">\n\t\t\t\t\t\t\t\t{smallValue}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t};\n\n\tisValuePositive = () => {\n\t\treturn this.props.colorDecimals\n\t\t\t? roundNumber(this.props.value, this.props.colorDecimals, 'floor') > 0\n\t\t\t: parseFloat(this.props.value) > 0;\n\t};\n\n\tgetColor = () => {\n\t\tif (typeof this.props.color === 'boolean' && this.props.state) {\n\t\t\treturn getStateColor(this.props.state, this.props.value);\n\t\t}\n\t\treturn this.isValuePositive() && this.props.color;\n\t};\n\n\trender() {\n\t\tif (this.props.value === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\tconst Element = this.getValueElement;\n\n\t\treturn (\n\t\t\t<CurrencyValue\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tcurrency={this.props.currency}\n\t\t\t\tisToken={this.props.currency && this.props.allowTokenLogo}\n\t\t\t\tisCurrencyInFront={this.props.currencyInFront}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`${CSSClassNameBalanceCurrencyValue} overflow-hidden text-right whitespace-nowrap text-ellipsis [&_*]:whitespace-nowrap [&_.text-style-sm-medium]:relative`}\n\t\t\t\t\tstyle={{ color: this.getColor() }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.balanceConverted && (\n\t\t\t\t\t\t<span className=\"small-padding-right\">$</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<Element />\n\t\t\t\t</div>\n\t\t\t</CurrencyValue>\n\t\t);\n\t}\n}\n\nBalanceAmount = enhanceComponent({\n\tBalanceAmount,\n});\n\nconst CSSClassNameBalanceCurrencyValue = 'balance__currency--value';\n\nexport { BalanceAmount, CSSClassNameBalanceCurrencyValue };\n","import { FC } from 'react';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { PackageType } from '@legacyApp/client/store/registry/registry.constants';\n\nconst ModalStoreController: FC = () => {\n\treturn null;\n};\n\nexport const modalStoreProps = {\n\tasyncReducers: [\n\t\t{\n\t\t\tid: 'modal',\n\t\t\tcallback: () => import('../../../modules/modals/store/modal.reducer'),\n\t\t},\n\t],\n\tasyncEpics: [\n\t\t{\n\t\t\tid: 'modal',\n\t\t\tcallback: () => import('../../../modules/modals/store/modal.epic'),\n\t\t},\n\t],\n\tasyncPackage: PackageType.MODAL,\n};\n\nexport default enhanceComponent({\n\tModalStoreController,\n\tprops: modalStoreProps,\n});\n","import styled, { css } from 'styled-components';\n\nexport const StyledContent = styled.div<{\n\t$open: boolean;\n}>`\n\t${(props) => (props.$open ? 'margin-bottom: 40px;' : 'max-height: 270px;')};\n\tfloat: left;\n\toverflow: ${(props) => (props.$open ? 'unset' : 'hidden')};\n`;\n\nexport const StyledContentWrapper = styled.div<{\n\t$open: boolean;\n\t$shadowColor?: string;\n}>`\n\tfloat: left;\n\tposition: relative;\n\n\t&:after {\n\t\t${(props) =>\n\t\t\tprops.$open\n\t\t\t\t? css`\n\t\t\t\t\t\tbackground: unset !important;\n\t\t\t\t `\n\t\t\t\t: css`\n\t\t\t\t\t\tbackground: linear-gradient(\n\t\t\t\t\t\t\t180deg,\n\t\t\t\t\t\t\ttransparent,\n\t\t\t\t\t\t\t${props.$shadowColor || '#051b36'} 90%\n\t\t\t\t\t\t);\n\t\t\t\t `}\n\t\tbottom: -20px;\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\tleft: -50vw;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: -50vw;\n\t\ttop: 0;\n\t}\n\n\tbutton {\n\t\tbottom: 0;\n\t\tleft: 50%;\n\t\tposition: absolute;\n\t\ttransform: translateX(-50%);\n\t\tz-index: 1;\n\t}\n\n\t.text-style-xs-regular {\n\t\tcolor: var(--color-dark-100);\n\t}\n\n\t.text-style-md-semibold {\n\t\tcolor: var(--color-dark-50);\n\t}\n\n\th2 {\n\t\tborder: unset;\n\t\tmargin: 0 0 15px;\n\t}\n\n\tul {\n\t\twidth: 100%;\n\t}\n\n\tsection {\n\t\tfloat: left;\n\t}\n`;\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { faCircle } from '@fortawesome/free-solid-svg-icons';\nimport { AwesomeIcon } from '../../icons/AwesomeIcon';\n\nexport const OnlineIcon: FC<{\n\tclassName?: string;\n}> = ({ className }) => {\n\treturn (\n\t\t<span>\n\t\t\t<StyledOnlineIcon className={className} icon={faCircle} />\n\t\t</span>\n\t);\n};\n\nexport const StyledOnlineIcon = styled(AwesomeIcon)`\n\tcolor: ${(props) => props.theme.colors.positive};\n\theight: 8px;\n\tmargin: 0 5px 2px 0 !important;\n`;\n","import React, { FC } from 'react';\nimport { StyledVipIcon } from '@ui/vip-icon/VipIcon.styled';\nimport {\n\tFirstRankTrophy,\n\tSecondRankTrophy,\n\tThirdRankTrophy,\n} from '@icons/race/rank-trophy';\nimport { Image } from '../../default/Image/Image';\n\nexport const RaceBadge: FC<{\n\tdata?: {\n\t\tposition?: number;\n\t\tdate?: string;\n\t};\n\tsize?: number;\n}> = ({ data, size }) => {\n\tif (!data?.position) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyledVipIcon $size={size} className=\"race-image\">\n\t\t\t{data.position === 1 ? (\n\t\t\t\t<FirstRankTrophy />\n\t\t\t) : data.position === 2 ? (\n\t\t\t\t<SecondRankTrophy />\n\t\t\t) : data.position === 3 ? (\n\t\t\t\t<ThirdRankTrophy />\n\t\t\t) : (\n\t\t\t\t<Image src={'/img/race/medal.svg'} alt={`${data.position}`} />\n\t\t\t)}\n\t\t</StyledVipIcon>\n\t);\n};\n","const CSP_PAGE_ID = ['login', 'register'];\n\nmodule.exports = {\n\tCSP_PAGE_ID,\n};\n","export const NEXT_CONFIG = {\n\tDEV: process.env.DEV,\n\tTEST: process.env.TEST,\n\tPRODUCTION: process.env.PRODUCTION,\n\tAPI_URL: process.env.API_URL,\n\tSOCKET_HOST: process.env.SOCKET_HOST,\n\tSOCKET_PORT: process.env.SOCKET_PORT,\n\tPUSHER_ID: process.env.PUSHER_ID,\n\tRELEASE_VERSION: process.env.RELEASE_VERSION,\n\tDICE_URL: process.env.DICE_URL,\n\tSPORTS_URL: process.env.SPORTS_URL,\n\tAUTOBET_URL: process.env.AUTOBET_URL,\n\tDISABLE_SOURCEMAPS: process.env.DISABLE_SOURCEMAPS,\n\tSLOTS_URL: process.env.SLOTS_URL,\n\tCLOUD_LOADER: process.env.CLOUD_LOADER,\n\tPUBLIC_SRC: process.env.PUBLIC_SRC,\n\tAPP_ENV: process.env.APP_ENV,\n\tGIT_INFO: process.env.GIT_INFO,\n\tENABLE_PLINKO_MOCK: process.env.ENABLE_PLINKO_MOCK,\n\tSPORTS_IFRAME_URL: process.env.SPORTS_IFRAME_URL,\n\tALLOW_INDEXING: process.env.ALLOW_INDEXING,\n} as const;\n","export enum Sounds {\n\twon = 'win-2020-11-09',\n\tlost = 'lost-soft',\n\tslider = 'slider',\n\t'button-click' = 'button-click',\n\t'handle-hover' = 'handle-hover',\n\tswitch = 'switch',\n\troll = 'roll-2020-11-09',\n\tbackground = 0,\n\t'every-30-bg' = 0,\n\tstop = 'stop-2',\n\tcard = 'card_flip',\n\tcashout = 'cashout',\n\tclick = 'click',\n\tpin = 'ui-click',\n\tmention = 'mention',\n}\n","export enum LOADING_IDS {\n\tBETSLIP_CASHOUT = 'getBetSlipCashOut',\n\tSTATS_RACE = 'getRaceResults',\n\tSTATS_LAST_RACE = 'getLastRaceResults',\n\tUSER_STATS_RACE = 'getUserRaceData',\n\tUSER_VIP_RAKE_BACK_CLAIM = 'USER_VIP_RAKE_BACK_CLAIM',\n\tVIP_LEVELS = 'VIP_LEVELS',\n\tVIP_STATUS = 'VIP_STATUS',\n\tVIP_WHEEL_CLAIM = 'VIP_WHEEL_CLAIM',\n\tVIP_WHEEL_FUNDS = 'VIP_WHEEL_FUNDS',\n\tFRIENDS_IGNORED = 'getFriendsIgnored',\n\tVAULT_HISTORY = 'getVaultHistory',\n\tSESSION_HISTORY = 'getSessionHistory',\n\tAFFILIATE_CAMPAIGNS = 'getAffiliateCampaigns',\n\tAFFILIATE_FUNDS = 'getAffiliateFunds',\n\tAFFILIATE_ANALYTICS = 'getAffiliateAnalytics',\n\tAFFILIATE_CASHOUT_HISTORY = 'getAffiliateCashoutHistory',\n\tBONUS_HISTORY = 'getBonusHistory',\n\tSUPPORT_APP = 'SUPPORT_APP',\n\tGET_SESSION_DATA = 'getSessionData',\n\tGET_BET_DATA = 'getBetData',\n\tGET_AUTOBET_STRATEGY = 'getAutobetStrategy',\n\tCLAIM_BONUS_CODE = 'CLAIM_BONUS_CODE',\n\tAVAILABLE_BONUS_CODES = 'availableBonusCodes',\n\tGET_USER_BETS = 'getUserBets',\n\tPLACE_BET = 'placeBet',\n\tSUBMIT_TIP = 'submitTip',\n\tGET_SKINS_URL = 'getSkinsUrl',\n}\n\ntype LoadingId = keyof typeof LOADING_IDS;\nexport type LoadingIdType = (typeof LOADING_IDS)[LoadingId];\n","export const MODAL_ID = {\n\tUSER_DETAILS: 'userDetails',\n\tVIP_WHEEL: 'vipWheel',\n\tLAST_RACE: 'lastRace',\n\tCURRENT_RACE: 'currentRace',\n\tAUTOBET: 'autobet',\n\tSESSION: 'session',\n\tEDIT_AUTOBET_STRATEGY: 'editAutobetStrategy',\n\tCONDITION_BLOCK_EDIT: 'conditionBlockEdit',\n\tREMIND_2FA: 'remind2fa',\n\tNEW_ACCOUNT: 'new_account',\n\tLOGOUT: 'logout',\n\tINSTALL_2FA: 'install2fa',\n\tUNINSTALL_2FA: 'uninstall2fa',\n\tLICENSE: 'license',\n\tRACE_INFO: 'raceInfo',\n\tTIP: 'tip',\n\tNEW_FEATURES: 'newFeatures',\n\tRAIN: 'rain',\n\tCHAT: 'chatRules',\n\tSAVE_AUTOBET_STRATEGY: 'saveAutobetStrategy',\n\tVIP_LEVEL_INCREASED: 'vipLevelIncreased',\n\tLIVE_SUPPORT_ERROR: 'liveSupportError',\n\tBAN_USER: 'banUser',\n\tCHANGE_CLIENT_SEED: 'changeClientSeed',\n\tREFRESH: 'refresh',\n\tSECURITY_WARNING: 'securityWarning',\n\tREQUIRED_2FA: 'requiredTwoFa',\n\tINPUT_EXTEND: 'inputExtend',\n\tBET: 'bet',\n\tSESSION_ENDED: 'session_ended',\n\tAFFILIATE_CAMPAIGN: 'affiliate_campaign',\n\tVAULT: 'vault',\n\tSTRATEGY: 'strategy',\n\tCOMPATIBLE_GAMES: 'compatibleGames',\n\tEXPERT_INFO: 'expertInfo',\n\tCLOUDFLATE_ERROR: 'cloudflareError',\n\tRESPONSE_INFO: 'responseInfo',\n\tSPORTS_SEARCH: 'sportsSearch',\n\tTRIVIA: 'trivia',\n\tTRIVIA_WINNER: 'trivia_winner',\n\tSLOT_SEARCH: 'slot_search',\n\tMAINTENANCE_MODULE: 'maintenance_module',\n\tREQUIRED_KYC: 'required_kyc',\n\tREQUIRED_ACTION_KYC: 'required_action_kyc',\n\tCONTENT: 'content',\n\tWALLET: 'wallet',\n\tRAKE_BACK: 'rake_back',\n\tINSANE_BONUS_CODE_INFO: 'insane_bonus_code_info',\n\tBONUS_CODE: 'bonus_code',\n\tWELCOME_MODAL: 'welcome_modal',\n\tNEW_COIN_MODAL: 'new_coin_modal',\n} as const;\n\ntype ModalIdKeys = keyof typeof MODAL_ID;\nexport type ModalIdType = (typeof MODAL_ID)[ModalIdKeys];\n","import { MODAL_ID } from './ids.modal.constants';\n\nexport const PRIORITY_MODAL_CONSTANTS = [MODAL_ID.MAINTENANCE_MODULE];\n","import { SPORTS_PAGE_ID } from '@modules/sports/constants/sports.page.config';\nimport { SPORTSBOOK_PAGE_ID } from '@modules/sportsbook/constants/sportsbook.page.config';\n\nexport const ROUTING_ID = {\n\tGAME: 'game',\n\tLOGIN: 'login',\n\tREGISTER: 'register',\n\tUSER_DEPOSIT: 'user_deposit',\n\tUSER_WITHDRAW: 'user_withdraw',\n\tUSER_SETTINGS: 'user_settings',\n\tUSER_ALL_TRANSACTIONS: 'user_allTransactions',\n\tUSER_SPORTS_HISTORY: 'user_sports_history',\n\tUSER_SPORTS_HISTORY_V1: 'user_sports_history_v1',\n\tUSER_EMAIL_VERIFIED: 'user_email_verified',\n\tUSER_EMAIL_VERIFICATION_FAILED: 'user_email_verificationFailed',\n\tUSER_ACCOUNT_BLOCKED: 'user_account_blocked',\n\tUSER_ACCOUNT_BLOCKED_ERROR: 'user_account_blockedError',\n\tUSER_NEW_PASSWORD: 'user_newPassword',\n\tHOME: 'home',\n\tUSER_AFFILIATE: 'user_affiliate',\n\tUSER_VIP: 'user_vip',\n\tUSER_VIP_BONUS_CODE: 'user_vip_bonus_code',\n\tFAQ: 'faq',\n\tTERMS: 'terms',\n\tPROVABLY_FAIR: 'provablyFair',\n\tREMIND_PASSWORD: 'remindPassword',\n\tPROMOTIONS: 'promotions',\n\tRANKING: 'ranking',\n\tSPORTS_BOOK: SPORTSBOOK_PAGE_ID.INDEX,\n\tSPORTS: SPORTS_PAGE_ID.INDEX,\n\tSPORTS_LIVE: SPORTS_PAGE_ID.LIVE,\n\tSPORTS_MENU: SPORTS_PAGE_ID.MENU,\n\tUSER_VERIFICATION: 'user_verification',\n\tREDIRECT: 'redirect',\n\tACCESS_DENIED: 'access_denied',\n\tBETS: 'bets',\n\tCASINO: 'casino',\n} as const;\n","export const HIDDEN_USER = '(Hidden)';\n","import { createContext } from 'react';\n\nexport const FullscreenLoadingContext = createContext<{\n\tloaded: boolean;\n\tsetLoaded: any;\n}>({\n\tloaded: null,\n\tsetLoaded: (value) => value,\n});\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import Cookies from 'js-cookie';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { cookieConfig } from '@server/config/cookie.config';\nimport { isFunction } from '../methods/isFunction';\nimport { isTrueOrZero } from '../methods/isTrueOrZero';\n\nclass CookieClass {\n\tgetCtxCookies = (ctx) => {\n\t\tconsole.log('getCtxCookiesFunc', ctx);\n\t\treturn ctx?.req?.cookies || {};\n\t};\n\n\tget = (\n\t\tkey: string,\n\t\tdefaultValue: any = null,\n\t\tctx = undefined,\n\t\tparse?: (value: string | boolean) => string | boolean,\n\t) => {\n\t\tif (ctx?.res) {\n\t\t\tconst ctxCookies = this.getCtxCookies(ctx);\n\t\t\tconsole.log('cookieGet', key, ctxCookies[key] || defaultValue);\n\t\t\treturn ctxCookies[key] || defaultValue;\n\t\t}\n\t\tlet value: string | boolean = Cookies.get(key);\n\t\t// console.log('cookieGet', key, value, defaultValue);\n\t\tif (\n\t\t\t['undefined', 'null', 'false', undefined, null].indexOf(value as string) >\n\t\t\t-1\n\t\t) {\n\t\t\treturn defaultValue;\n\t\t}\n\t\tif (value === 'true') {\n\t\t\tvalue = true;\n\t\t}\n\t\tif (isFunction(parse)) {\n\t\t\treturn parse(value);\n\t\t}\n\t\treturn value;\n\t};\n\n\tset = (\n\t\tkey: string,\n\t\tdata: any,\n\t\tctx?: any,\n\t\texpires?: number,\n\t\toptions?: Cookies.CookieAttributes,\n\t) => {\n\t\tconst attrs: Cookies.CookieAttributes = {\n\t\t\texpires:\n\t\t\t\texpires ||\n\t\t\t\t(ctx?.res ? new Date(Date.now() + 1000 * 60 * 60 * 24 * 30) : 30),\n\t\t\t...cookieConfig,\n\t\t\t...(options || {}),\n\t\t};\n\t\tif (ctx?.res) {\n\t\t\tctx.res.cookie(key, jsonToString(data), attrs);\n\t\t}\n\t\tif (!isTrueOrZero(data) && data !== false) {\n\t\t\treturn this.clear(key);\n\t\t}\n\t\tCookies.set(key, data, attrs);\n\t};\n\n\tclear = (key: string, ctx?: any) => {\n\t\tif (ctx?.res) {\n\t\t\tconsole.log('cookieClear', key);\n\t\t\tctx.res.clearCookie(key);\n\t\t}\n\t\tCookies.remove(key);\n\t};\n}\n\nexport const cookieService = new CookieClass();\n","import {\n\tApiCurrenciesSettings,\n\tCurrenciesSettings,\n\tCurrencySettings,\n} from '@legacyApp/types/wallet/CurrenciesSettings';\nimport {\n\tCurrencies,\n\tCurrenciesLayout,\n\tCurrencyNetworkType,\n\tCurrencyTokenType,\n\tCurrencyType,\n\tToken,\n} from '@legacyApp/types/wallet/CurrencyType';\nimport { loop } from '@legacyApp/client/modules/app/appService';\nimport { parseApiUrl } from '@legacyApp/methods/fetch/parseApiUrl';\nimport { get } from '@legacyApp/client/modules/app/axios';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { hour } from '@legacyApp/client/modules/app/time';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { generateUrl, ROUTE } from '../../routes';\nimport sortService, {\n\tDIRECTION,\n} from '../../../LegacyApp/client/modules/app/sortService';\n\nexport const CURRENCIES_SETTINGS_UPDATE_INTERVAL = hour;\nexport const DEFAULT_CURRENCY = Currencies.btc as const;\n\nexport class CurrenciesSettingsClass {\n\tlist: CurrencyType[];\n\ttokens: CurrencyTokenType[];\n\tallList: readonly (\n\t\t| CurrencyTokenType\n\t\t| typeof CurrenciesLayout.usd\n\t\t| typeof CurrenciesLayout.eur\n\t)[];\n\tsettings: CurrenciesSettings;\n\n\tconstructor() {\n\t\tthis.list = lsGet(\n\t\t\tLocalStorageKeys.CURRENCIES_SETTINGS_LIST,\n\t\t\tObject.keys(Currencies).map((key) => Currencies[key]),\n\t\t);\n\t\tthis.tokens = Object.keys(Token) as CurrencyTokenType[];\n\t\tthis.allList = [\n\t\t\t...(Object.keys(Token) as CurrencyTokenType[]),\n\t\t\tCurrenciesLayout.usd,\n\t\t\tCurrenciesLayout.eur,\n\t\t];\n\t\tthis.settings = lsGet(LocalStorageKeys.CURRENCIES_SETTINGS, {});\n\t}\n\n\tasync fetchSettings(): Promise<{\n\t\tsettings: CurrenciesSettings;\n\t\ttokens: CurrencyTokenType[];\n\t\tlist: CurrencyType[];\n\t}> {\n\t\tconst settings: CurrenciesSettings = JSON.parse(\n\t\t\tJSON.stringify(this.settings),\n\t\t);\n\n\t\tconst response: {\n\t\t\tdata: {\n\t\t\t\tsettings: Record<CurrencyType, ApiCurrenciesSettings> | {};\n\t\t\t\ttokens: Array<CurrencyTokenType>;\n\t\t\t\terror?: any;\n\t\t\t};\n\t\t} = await get(parseApiUrl(generateUrl(ROUTE.apiSiteCurrencies))).catch(\n\t\t\t(error) => {\n\t\t\t\t// sentryError(new Error('Error - axios.get currencies settings'), {\n\t\t\t\t// \terror,\n\t\t\t\t// \t_: this,\n\t\t\t\t// });\n\t\t\t\t// console.log(error);\n\t\t\t\treturn { data: { settings: {}, error, tokens: [] } };\n\t\t\t},\n\t\t);\n\n\t\t// if (!NEXT_CONFIG.PRODUCTION) {\n\t\t// \tresponse.data = {\n\t\t// \t\tbtc: {\n\t\t// \t\t\ttip: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\train: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tcasino: {\n\t\t// \t\t\t\tamount_flash_minimum: 1,\n\t\t// \t\t\t\tamount_maximum: 1,\n\t\t// \t\t\t\tprofit_maximum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tsports: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t\tamount_maximum: 1,\n\t\t// \t\t\t\tprofit_maximum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tchat: {\n\t\t// \t\t\t\twager_minimum: 1,\n\t\t// \t\t\t\tprofit_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t},\n\t\t// \t\teth: {\n\t\t// \t\t\ttip: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\train: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tcasino: {\n\t\t// \t\t\t\tamount_flash_minimum: 1,\n\t\t// \t\t\t\tamount_maximum: 1,\n\t\t// \t\t\t\tprofit_maximum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tsports: {\n\t\t// \t\t\t\tamount_minimum: 1,\n\t\t// \t\t\t\tamount_maximum: 1,\n\t\t// \t\t\t\tprofit_maximum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t\tchat: {\n\t\t// \t\t\t\twager_minimum: 1,\n\t\t// \t\t\t\tprofit_minimum: 1,\n\t\t// \t\t\t},\n\t\t// \t\t}\n\t\t// \t\t// minTip: 0.07,\n\t\t// \t\t// minRain: 0.7,\n\t\t// \t\t// minDeposit: null,\n\t\t// \t\t// minWithdraw: 5,\n\t\t// \t\t// maxWithdrawPrecision: 6,\n\t\t// \t\t// minFlashAmount: 0.0014,\n\t\t// \t\t// betLimits: {\n\t\t// \t\t// \tmax: 69000,\n\t\t// \t\t// \tmaxProfit: 6900,\n\t\t// \t\t// },\n\t\t// \t\t// sportsLimits: {\n\t\t// \t\t// \tmax: 69000,\n\t\t// \t\t// \tmaxProfit: 6900,\n\t\t// \t\t// \tmin: 0.007,\n\t\t// \t\t// },\n\t\t// \t\t// chat: {\n\t\t// \t\t// \tminWager: 0.35,\n\t\t// \t\t// \tminProfit: 0.18,\n\t\t// \t\t// },\n\t\t// \t};\n\t\t// }\n\n\t\tawait loop(Object.keys(response.data?.settings || {}), (currency) => {\n\t\t\tsettings[currency] = {\n\t\t\t\t...settings[currency],\n\t\t\t\t...response.data?.settings?.[currency],\n\t\t\t\t// rain: {\n\t\t\t\t// \t...response.data?.settings[currency].rain,\n\t\t\t\t// \tamount_minimum:\n\t\t\t\t// \t\tresponse.data?.settings[currency].rain.amount_minimum +\n\t\t\t\t// \t\tgetTimestamp() / 1000000000,\n\t\t\t\t// },\n\t\t\t};\n\t\t});\n\n\t\tconst listFromSettings = Object.keys(settings);\n\n\t\tconst list = this.list.filter((currency) =>\n\t\t\tlistFromSettings.includes(currency),\n\t\t);\n\n\t\tconst responseTokens = response?.data?.tokens?.map(\n\t\t\tmapApiTokenToLayoutToken,\n\t\t);\n\n\t\tconst tokens = Object.keys(Token).filter((token: CurrencyTokenType) =>\n\t\t\tresponseTokens?.length ? responseTokens.includes(token) : true,\n\t\t) as CurrencyTokenType[];\n\n\t\treturn { settings, tokens, list };\n\t}\n\n\tsetList(list: CurrencyType[]) {\n\t\tlsSet(LocalStorageKeys.CURRENCIES_SETTINGS_LIST, list);\n\t\tthis.list = list;\n\t}\n\n\tsetTokens(tokens: CurrencyTokenType[]) {\n\t\tlsSet(LocalStorageKeys.CURRENCIES_SETTINGS_TOKENS, tokens);\n\t\tthis.tokens = tokens;\n\t}\n\n\tcheckSettings(settings: CurrenciesSettings) {\n\t\treturn (\n\t\t\tsettings &&\n\t\t\tObject.keys(settings).findIndex(\n\t\t\t\t(currencyKey) => !Number(settings[currencyKey]?.casino?.profit_maximum),\n\t\t\t) === -1\n\t\t);\n\t}\n\n\tsetSettings(settings: CurrenciesSettings) {\n\t\tlsSet(LocalStorageKeys.CURRENCIES_SETTINGS, settings);\n\t\tthis.settings = settings;\n\t}\n\n\tasync update() {\n\t\tthis.set(await this.fetchSettings());\n\t}\n\n\tset(props?: Awaited<ReturnType<typeof this.fetchSettings>>) {\n\t\tif (currenciesSettings.checkSettings(props?.settings)) {\n\t\t\tthis.setSettings(props?.settings);\n\t\t}\n\t\tif (props?.list?.length) {\n\t\t\tthis.setList(props.list);\n\t\t}\n\t\tif (props?.tokens?.length) {\n\t\t\tthis.setTokens(props.tokens);\n\t\t}\n\t}\n\n\tasync start(props: Awaited<ReturnType<typeof this.fetchSettings>>) {\n\t\tthis.set(props);\n\t\tawait this.initInterval();\n\t}\n\n\tasync initInterval() {\n\t\tthis.update();\n\t\tsetTimeout(async () => {\n\t\t\tthis.initInterval();\n\t\t}, CURRENCIES_SETTINGS_UPDATE_INTERVAL);\n\t}\n\n\tgetAllSettings() {\n\t\t// console.log('getAllSettings', this.settings);\n\t\treturn this.settings;\n\t}\n\n\tgetTokens() {\n\t\treturn this.tokens;\n\t}\n\n\tgetList() {\n\t\treturn this.list;\n\t}\n\n\tgetSettings(currency?: CurrencyType): CurrencySettings {\n\t\tconst key = currency ? (currency.toLowerCase() as CurrencyType) : null;\n\t\t// if (!this.settings[key]) {\n\t\t// \tsentryError(new Error('Missing currency settings'), {\n\t\t// \t\tcurrency, key, settings: this.settings\n\t\t// \t});\n\t\t// }\n\t\treturn this.settings[key] || {};\n\t}\n\n\tsortCurrency(\n\t\ta: CurrencyType,\n\t\tb: CurrencyType,\n\t\tdir: DIRECTION = DIRECTION.ASC,\n\t) {\n\t\tconst a_ = a ? (a.toLowerCase() as CurrencyType) : null;\n\t\tconst b_ = b ? (b.toLowerCase() as CurrencyType) : null;\n\t\tconst indexA = this.list.indexOf(a_);\n\t\tconst newA = indexA === -1 ? a_ : indexA + 1;\n\t\tconst indexB = this.list.indexOf(b_);\n\t\tconst newB = indexB === -1 ? b_ : indexB + 1;\n\t\t// console.log('sortCurrency', {\n\t\t// dir, a, b, newA, newB,\n\t\t// });\n\t\treturn sortService.sort(dir, newA, newB, a_, b_);\n\t}\n}\n\nexport const currenciesSettings = new CurrenciesSettingsClass();\n\nexport const mapApiTokenToLayoutToken = (\n\tcurrency: CurrencyTokenType | CurrencyType | CurrencyNetworkType,\n): CurrencyTokenType => {\n\tif (!currency) {\n\t\treturn null;\n\t}\n\tswitch (currency.toLowerCase()) {\n\t\tcase Currencies.matic: {\n\t\t\treturn Token.pol;\n\t\t}\n\t\tcase Currencies.optim: {\n\t\t\treturn Token.op;\n\t\t}\n\t\tdefault: {\n\t\t\treturn currency as CurrencyTokenType;\n\t\t}\n\t}\n};\n\nexport const mapApiCurrencyToLayoutCurrency = (\n\tcurrency: CurrencyTokenType | CurrencyType | CurrencyNetworkType,\n): CurrencyType => {\n\tif (!currency) {\n\t\treturn null;\n\t}\n\tswitch (currency.toLowerCase()) {\n\t\tcase Currencies.usdt: {\n\t\t\treturn CurrenciesLayout.usd;\n\t\t}\n\t\tcase 'busd': {\n\t\t\treturn CurrenciesLayout.usd;\n\t\t}\n\t\tcase 'usdc': {\n\t\t\treturn CurrenciesLayout.usd;\n\t\t}\n\t\tdefault: {\n\t\t\treturn mapApiTokenToLayoutToken(currency) as CurrencyType;\n\t\t}\n\t}\n};\n\nexport const mapLayoutTokenToApiToken = (\n\tcurrency: CurrencyTokenType | CurrencyType | CurrencyNetworkType,\n): CurrencyType => {\n\tif (!currency) {\n\t\treturn null;\n\t}\n\tswitch (currency.toLowerCase()) {\n\t\tcase Token.pol: {\n\t\t\treturn Currencies.matic;\n\t\t}\n\t\tcase Token.op: {\n\t\t\treturn Currencies.optim;\n\t\t}\n\t\tdefault: {\n\t\t\treturn currency.toLowerCase() as CurrencyType;\n\t\t}\n\t}\n};\n\nexport const mapLayoutCurrencyToApiCurrency = (\n\tcurrency: CurrencyType,\n): CurrencyType => {\n\tif (!currency) {\n\t\treturn null;\n\t}\n\tswitch (currency.toLowerCase()) {\n\t\tcase CurrenciesLayout.usd: {\n\t\t\treturn Currencies.usdt;\n\t\t}\n\t\tdefault: {\n\t\t\treturn mapLayoutTokenToApiToken(currency) as CurrencyType;\n\t\t}\n\t}\n};\n","import { createGlobalStyle } from 'styled-components';\nimport { ThemeType } from '@legacyApp/client/modules/style/theme';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nexport const SeoPageContentWrapperGlobalStyled = createGlobalStyle<{\n\ttheme: ThemeType;\n}>`\n\t.seo-page-content-wrapper {\n\t\th1:not([class*='text-style']) {\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '24px',\n\t\t\t\t\tsizeDesktop: '26px',\n\t\t\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t\t\t\tsizeBigScreen: '30px',\n\t\t\t\t})};\n\t\t}\n\n\t\th2:not([class*='text-style']) {\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '20px',\n\t\t\t\t\tsizeDesktop: '23px',\n\t\t\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t\t\t\tsizeBigScreen: '26px',\n\t\t\t\t})};\n\t\t\tborder-bottom: 1px solid ${(props) => props.theme.colors.tableBorder};\n\t\t\tpadding-bottom: 10px;\n\t\t}\n\n\t\th1:not([class*='text-style']),\n\t\th2:not([class*='text-style']) {\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\theight: unset;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\th3:not([class*='text-style']) {\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\theight: unset;\n\t\t\tmargin: 0 0 15px;\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '18px',\n\t\t\t\t\tsizeDesktop: '20px',\n\t\t\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t\t\t\tsizeBigScreen: '23px',\n\t\t\t\t})};\n\t\t}\n\n\t\th4:not([class*='text-style']) {\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\theight: unset;\n\t\t\tmargin: 0 0 12px;\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '17px',\n\t\t\t\t\tsizeDesktop: '17px',\n\t\t\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t\t\t\tsizeBigScreen: '19px',\n\t\t\t\t})};\n\t\t}\n\n\t\th5:not([class*='text-style']) {\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\theight: unset;\n\t\t\tmargin: 0 0 10px;\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '16px',\n\t\t\t\t\tsizeDesktop: '16px',\n\t\t\t\t\tminWidth: props.theme.media.minWidthDesktop,\n\t\t\t\t\tsizeBigScreen: '16px',\n\t\t\t\t})};\n\t\t}\n\t}\n`;\n","import { FC, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { PageContentType } from '@common/components/text/SeoPageContent/PageContentType';\nimport {\n\tStyledContent,\n\tStyledContentWrapper,\n} from '@common/components/text/Content/Content.styled';\nimport { Button } from '@ui/button';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { domPurifySanitize } from '@common/methods/domPurifySanitize';\nimport { SeoPageContentWrapperGlobalStyled } from '@common/components/text/SeoPageContent/SeoPageContentWrapper.global.styled';\n\nconst SeoPageContent: FC<PageContentType> = (props) => {\n\tconst toggle = true;\n\tconst { shadowColor } = props?.options || {};\n\n\tconst [open, setOpen] = useState(!toggle);\n\n\treturn (\n\t\t<>\n\t\t\t<SeoPageContentWrapperGlobalStyled />\n\t\t\t<StyledSeoContentWrapper\n\t\t\t\tclassName=\"seo-page-content-wrapper\"\n\t\t\t\t$shadowColor={shadowColor}\n\t\t\t\t$open={open}\n\t\t\t>\n\t\t\t\t{!props.useCMSHeaderOnTop && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"text-style-xl-medium\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: domPurifySanitize(props.header),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<StyledContent $open={open}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"text-style-md-regular\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: domPurifySanitize(props.description),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{toggle && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\t\t\t\tlabel={trans({ label: open ? 'Hide' : 'Open' })}\n\t\t\t\t\t\t\tonClick={() => setOpen(!open)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</StyledContent>\n\t\t\t</StyledSeoContentWrapper>\n\t\t</>\n\t);\n};\n\nexport const StyledSeoContentWrapper = styled(StyledContentWrapper)<{\n\t$open: boolean;\n\t$shadowColor?: string;\n}>`\n\th1 {\n\t\tmargin-bottom: 0 !important;\n\t\theight: unset !important;\n\t}\n\n\th2 {\n\t\tmargin: 20px 0 10px !important;\n\t}\n\n\th3 {\n\t\tmargin: 15px 0 10px !important;\n\t}\n\n\th4,\n\th5 {\n\t\tmargin: 35px 0 10px !important;\n\t}\n\n\ta {\n\t\ttext-decoration: underline;\n\t}\n\n\tul,\n\tol,\n\tmenu {\n\t\tlist-style: unset;\n\t\tmargin: unset;\n\t\tpadding: 0 0 0 25px;\n\t\twidth: 100%;\n\t}\n\n\tul {\n\t\tlist-style: disc;\n\t}\n\n\tol {\n\t\tlist-style: decimal;\n\t}\n\n\tul,\n\tol,\n\tp {\n\t\tmargin: 3px 0;\n\t}\n\n\tli {\n\t\tfloat: left;\n\t\tmargin-bottom: 5px;\n\t\twidth: 100%;\n\n\t\t> * {\n\t\t\tmargin: 0 !important;\n\t\t}\n\t}\n\n\ttable {\n\t\tmargin: 1em;\n\t\twidth: 100%;\n\t\tborder-collapse: collapse;\n\t\t${(props) => `background-color: ${props.theme.colors.seoTableBackground};`}\n\t\tcolor: #ffffff;\n\t}\n\n\ttable th,\n\ttable td {\n\t\tpadding: 10px;\n\t\ttext-align: center;\n\t\t${(props) => `border: 1px solid ${props.theme.colors.tableBorderLight};`}\n\t}\n\n\ttable th {\n\t\t${(props) =>\n\t\t\t`background-color: ${props.theme.colors.seoTableBackgroundTh};`}\n\t\tfont-weight: bold;\n\t}\n\n\ttable tbody tr:nth-child(odd) {\n\t\t${(props) =>\n\t\t\t`background-color: ${props.theme.colors.seoTableBackgroundTdOdd};`}\n\t}\n\n\ttable tbody tr:nth-child(even) {\n\t\t${(props) =>\n\t\t\t`background-color: ${props.theme.colors.seoTableBackgroundTdEven};`}\n\t}\n\n\ttable tbody tr:hover {\n\t\t${(props) =>\n\t\t\t`background-color: ${props.theme.colors.seoTableBackgroundHover};`}\n\t}\n\n\ttable td:first-child {\n\t\tfont-weight: bold;\n\t}\n`;\n\nexport default SeoPageContent;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Fragment, useState } from 'react';\n\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\n\nimport { StyledContent, StyledContentWrapper } from '@common/components/text/Content/Content.styled';\nimport { Button } from '@ui/button';\n\nconst Content = ({ title, content, namespace, options = {} }) => {\n\tconst {\n\t\tnoTitleTranslate,\n\t\tnoParagraphTranslate,\n\t\tsymbol,\n\t\tnoTitleIndex,\n\t\tnoParagraphIndex,\n\t\tshadowColor,\n\t\ttoggle,\n\t} = options;\n\n\tconst [open, setOpen] = useState(!toggle);\n\n\treturn (\n\t\t<StyledContentWrapper $shadowColor={shadowColor} $open={open}>\n\t\t\t<h2 className=\"text-uppercase text-style-h-5\">\n\t\t\t\t{noTitleTranslate ? title : trans({ label: title })}\n\t\t\t</h2>\n\n\t\t\t<StyledContent $shadowColor={shadowColor} $open={open}>\n\t\t\t\t{content.map((el, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<section key={index}>\n\t\t\t\t\t\t\t{el.title && (\n\t\t\t\t\t\t\t\t<h2 className=\"icon-wrapper user-select-text text-style-md-semibold\">\n\t\t\t\t\t\t\t\t\t{noTitleIndex ? '' : `${index + 1}. `}\n\n\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\tlabel: el.title,\n\t\t\t\t\t\t\t\t\t\tnoTranslationCheck: noParagraphTranslate,\n\t\t\t\t\t\t\t\t\t\tnamespace: namespace,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{el.paragraphs &&\n\t\t\t\t\t\t\t\tel.paragraphs.map((paragraph, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div className=\"user-select-text\" key={index}>\n\t\t\t\t\t\t\t\t\t\t\t{!noParagraphIndex && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"paragraph-title text-bold user-select-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{symbol}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t{index + 1}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t{paragraph.length ? (\n\t\t\t\t\t\t\t\t\t\t\t\tparagraph.map((text) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'paragraph-text user-select-text text-style-xs-regular',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'no-side-padding': noParagraphIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={text.message || text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: text,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnoTranslationCheck: noParagraphTranslate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnamespace: namespace,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment key={paragraph.title.message || paragraph.title}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"paragraph-text user-select-text text-style-xs-regular\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: paragraph.title,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnoTranslationCheck: noParagraphTranslate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnamespace: namespace,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"paragraph-text user-select-text text-style-xs-regular\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{paragraph.list.map((el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={el.message || el}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-style-xs-regular\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: el,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnoTranslationCheck: noParagraphTranslate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnamespace: namespace,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t{paragraph.subtitle ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"paragraph-text user-select-text text-style-xs-regular\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: paragraph.subtitle,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnoTranslationCheck: noParagraphTranslate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnamespace: namespace,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</section>\n\t\t\t\t\t);\n\t\t\t\t})}\n\n\t\t\t\t{toggle && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\t\t\tlabel={trans({ label: open ? 'Hide' : 'Open' })}\n\t\t\t\t\t\tonClick={() => setOpen(!open)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</StyledContent>\n\t\t</StyledContentWrapper>\n\t);\n};\n\nContent.propTypes = {\n\ttitle: PropTypes.any,\n\toptions: PropTypes.object,\n\tcontent: PropTypes.array.isRequired,\n\tnamespace: PropTypes.string,\n};\n\nexport { Content };\n","import { FC, Fragment } from 'react';\n\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { generateUrl, ROUTE } from '@common/routes';\nimport { Lobby } from '@common/icons/lobby';\nimport { StyledBreadcrumbsSpacer } from '@modules/sports/components/Breadcrumbs/Breadcrumbs';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { BreadcrumbData } from '@common/methods/getBreadcrumbs';\nimport { checkIsTransProps } from '@legacyApp/client/modules/translation/checkIsTransProps';\n\nexport const Breadcrumbs: FC<{ breadcrumbs: BreadcrumbData[] }> = ({\n\tbreadcrumbs,\n}) => {\n\tconst homeUrl = generateUrl(ROUTE.slotsHomePage);\n\n\tconst breadcrumbs_ = breadcrumbs.splice(1);\n\n\treturn (\n\t\t<div className=\"breadcrumbs flex items-center overflow-x-auto whitespace-nowrap mb-0 border-b-[none] text-style-md-regular\">\n\t\t\t<LinkTo href={homeUrl} className=\"flex items-center [&_svg]:mr-1\">\n\t\t\t\t<Lobby fill={'#1566df'} /> Wolfbet\n\t\t\t</LinkTo>\n\n\t\t\t{breadcrumbs_.map((breadcrumb, index) => {\n\t\t\t\tconst isLastItem = index === breadcrumbs_.length - 1;\n\n\t\t\t\tconst breadcrumbElem = checkIsTransProps(breadcrumb.name) ? (\n\t\t\t\t\t<Trans label={breadcrumb.name} />\n\t\t\t\t) : (\n\t\t\t\t\tbreadcrumb.name\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={`${index}-${breadcrumb.name}`}>\n\t\t\t\t\t\t<StyledBreadcrumbsSpacer />\n\n\t\t\t\t\t\t{isLastItem ? (\n\t\t\t\t\t\t\tbreadcrumbElem\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<LinkTo href={breadcrumb.item}>\n\t\t\t\t\t\t\t\t<a>{breadcrumbElem}</a>\n\t\t\t\t\t\t\t</LinkTo>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n","import { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { NextComponentType } from 'next';\nimport { NextSeoProps } from 'next-seo/lib/types';\nimport {\n\tCSSClassNameBreadcrumbsFooter,\n\tStyledMainDashboardV2,\n} from '@legacyApp/client/modules/style/components/MainDashboard.styled';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport SeoPageContent from '@common/components/text/SeoPageContent/SeoPageContent';\nimport { PageContentType } from '@common/components/text/SeoPageContent/PageContentType';\nimport { CurrenciesSettings } from '@legacyApp/types/wallet/CurrenciesSettings';\nimport { currenciesSettings } from '@common/controllers/currency/currenciesSettings';\nimport { isFunction } from '@common/methods/isFunction';\nimport { CurrencyType, Token } from '@legacyApp/types/wallet/CurrencyType';\nimport Seo from '@common/components/default/Seo/Seo';\nimport { Content } from '@common/components/text/Content/Content';\nimport { Breadcrumbs } from '@common/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbData } from '@common/methods/getBreadcrumbs';\n\nexport interface EnhancedNextComponentPageProps {\n\tid: string;\n\tlocale?: string;\n\tnamespaces?: Array<TransNamespace>;\n\tcurrenciesSettings?: {\n\t\tsettings: CurrenciesSettings;\n\t\tlist: CurrencyType[];\n\t\ttokens: Token[];\n\t};\n\tparams?: {\n\t\tlocale: string;\n\t\tpage_content?: PageContentType;\n\t\tuseCMSHeaderOnTop?: boolean; // WOL-4875 - If there is need to render page_content's header as main page's header\n\t};\n\tprops: {\n\t\tnoChat: boolean;\n\t\tnoHeader: boolean;\n\t\tnoBottomMenu: boolean;\n\t\tnoFooter: boolean;\n\t\tnoSupport: boolean;\n\t\tfullscreenLoading?: boolean;\n\t};\n}\n\nexport interface EnhancedPageProps {\n\tid: string;\n\tnoSeo?: boolean;\n\tseoProps?: NextSeoProps;\n\tnoChat?: boolean;\n\tnoHeader?: boolean;\n\tnoBottomMenu?: boolean;\n\tnoFooter?: boolean;\n\tnoSupport?: boolean;\n\tpageDescription?:\n\t\t| Record<string, any>\n\t\t| ((pageProps: EnhancedNextComponentPageProps) => Record<string, any>);\n\tstructuredData?: ReactNode | Function;\n\tseoNamespace?: TransNamespace;\n\tfullscreenLoading?: boolean;\n\tgetBreadcrumbs?: (locale: string) => BreadcrumbData[];\n}\n\nexport type EnhancedNextComponent = NextComponentType<\n\t{},\n\t{},\n\tEnhancedNextComponentPageProps\n> &\n\tPartial<{\n\t\tpageName: string;\n\t\tpageConfig: EnhancedNextComponentPageProps;\n\t}>;\n\nexport const StyledTextWrapper = styled(StyledMainDashboardV2)`\n\tpadding-bottom: 20px;\n\tpadding-top: 20px;\n\tposition: relative;\n\n\t.locked-view & {\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t}\n\n\th1 {\n\t\tmargin-bottom: 20px;\n\t}\n\n\th2 {\n\t\tmargin-top: 15px;\n\t}\n\n\tp {\n\t\tmargin: 5px 0;\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t&:before {\n\t\t\tbackground: ${(props) => props.theme.colors.headerActiveBackground};\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\theight: calc(100% + 115px);\n\t\t\tleft: 50%;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\ttransform: translateX(-50%);\n\t\t\twidth: 100vw;\n\t\t\tz-index: -1;\n\t\t}\n\t}\n`;\n\nexport const pageEnhancer = (\n\tComponent: EnhancedNextComponent,\n\t{\n\t\tid,\n\t\tnoSeo,\n\t\tseoProps,\n\t\tnoChat,\n\t\tnoHeader,\n\t\tnoBottomMenu,\n\t\tnoFooter,\n\t\tnoSupport,\n\t\tseoNamespace,\n\t\tpageDescription,\n\t\tstructuredData,\n\t\tfullscreenLoading,\n\t\tgetBreadcrumbs,\n\t}: EnhancedPageProps,\n): ((pageProps: {}) => void) => {\n\tconst data = {};\n\tdata[id] = (pageProps: EnhancedNextComponentPageProps) => {\n\t\tcurrenciesSettings.start(pageProps.currenciesSettings);\n\t\tconst pageDescription_ =\n\t\t\tisFunction(pageDescription) && typeof pageDescription === 'function'\n\t\t\t\t? pageDescription(pageProps)\n\t\t\t\t: pageDescription;\n\t\tconst structuredData_ =\n\t\t\tisFunction(structuredData) && typeof structuredData === 'function'\n\t\t\t\t? structuredData(pageProps.locale)\n\t\t\t\t: structuredData;\n\t\tconst breadcrumbs =\n\t\t\tisFunction(getBreadcrumbs) && typeof getBreadcrumbs === 'function'\n\t\t\t\t? getBreadcrumbs(pageProps.locale)\n\t\t\t\t: null;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!noSeo && (\n\t\t\t\t\t<Seo\n\t\t\t\t\t\ttitle={id}\n\t\t\t\t\t\tprops={seoProps}\n\t\t\t\t\t\tpageParams={pageProps.params}\n\t\t\t\t\t\tnamespace={seoNamespace}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{structuredData_ || null}\n\t\t\t\t<Component {...pageProps} />\n\t\t\t\t{pageProps?.params?.page_content ? (\n\t\t\t\t\t<StyledTextWrapper>\n\t\t\t\t\t\t<SeoPageContent\n\t\t\t\t\t\t\t{...pageProps?.params?.page_content}\n\t\t\t\t\t\t\toptions={pageDescription_?.options}\n\t\t\t\t\t\t\tuseCMSHeaderOnTop={pageProps?.params?.useCMSHeaderOnTop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</StyledTextWrapper>\n\t\t\t\t) : pageDescription_ ? (\n\t\t\t\t\t<StyledTextWrapper>\n\t\t\t\t\t\t<Content {...pageDescription_} />\n\t\t\t\t\t</StyledTextWrapper>\n\t\t\t\t) : null}\n\n\t\t\t\t{breadcrumbs && breadcrumbs?.length > 1 && (\n\t\t\t\t\t<div className=\"flex bg-color-dark-900 mt-auto\">\n\t\t\t\t\t\t<StyledTextWrapper className={`${CSSClassNameBreadcrumbsFooter}`}>\n\t\t\t\t\t\t\t<Breadcrumbs breadcrumbs={breadcrumbs} />\n\t\t\t\t\t\t</StyledTextWrapper>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t};\n\n\tdata[id].pageConfig = {\n\t\tid,\n\t\tprops: {\n\t\t\tnoChat,\n\t\t\tnoHeader,\n\t\t\tnoBottomMenu,\n\t\t\tnoFooter,\n\t\t\tnoSupport,\n\t\t\tfullscreenLoading,\n\t\t},\n\t};\n\n\tdata[id].pageName = id;\n\n\treturn data[id];\n};\n","import { useEffect } from 'react';\n\nconst WINDOW = process.browser ? window : null;\nconst DOCUMENT = process.browser ? document : null;\nconst SCREEN_ORIENTATION = process.browser ? screen.orientation : null;\n\nexport const useWindowEventListener = (\n\teventName: string,\n\thandler: EventListenerOrEventListenerObject,\n\toptions?: boolean | EventListenerOptions,\n) => {\n\tuseEventListener(WINDOW, eventName, handler, options);\n};\n\nexport const useDocumentEventListener = (\n\teventName: string,\n\thandler: EventListenerOrEventListenerObject,\n\toptions?: boolean | EventListenerOptions,\n) => {\n\tuseEventListener(DOCUMENT, eventName, handler, options);\n};\n\nexport const useEventListener = (\n\telement: HTMLElement | Window | Document | ScreenOrientation,\n\teventName: string,\n\thandler: EventListenerOrEventListenerObject,\n\toptions?: boolean | EventListenerOptions,\n) => {\n\tuseEffect(() => {\n\t\tif (!element || !element.addEventListener) {\n\t\t\treturn;\n\t\t}\n\t\telement.addEventListener(eventName, handler, options);\n\t\treturn () => {\n\t\t\telement.removeEventListener(eventName, handler, options);\n\t\t};\n\t}, [element, eventName, handler, options]);\n};\n\nexport const triggerWindowEvent = (eventName: string, detail?: any) => {\n\tif (!WINDOW || !WINDOW.dispatchEvent) {\n\t\treturn;\n\t}\n\tconst event = new CustomEvent(eventName, {\n\t\tdetail,\n\t});\n\tWINDOW.dispatchEvent(event);\n};\n\nexport const useOrientationChangeEventListener = (\n\thandler: EventListenerOrEventListenerObject,\n) => {\n\tuseEventListener(\n\t\tSCREEN_ORIENTATION || WINDOW,\n\t\tSCREEN_ORIENTATION ? 'change' : 'orientationchange',\n\t\thandler,\n\t);\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { getId } from '@legacyApp/client/modules/app/appService';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\n\nconst createIdProps = (id, index) => {\n\tconst id_ = `${id}_${index || 0}`;\n\treturn { id: id_, url: `url(#${id_})` };\n};\n\nconst createUniqueId = (id) => {\n\treturn `${id}_${getId(12)}`;\n};\n\nexport const useId = ({ id }: { id: string }) => {\n\tconst [id_, setId] = useState(id);\n\n\tconst prevId = usePrevious(id);\n\n\tconst get = useCallback(\n\t\t(index = 0) => {\n\t\t\treturn createIdProps(id_, index);\n\t\t},\n\t\t[id_],\n\t);\n\n\tuseEffect(() => {\n\t\tif (id !== prevId || !id_ || id_ === id) {\n\t\t\tsetId(createUniqueId(id));\n\t\t}\n\t}, [id, id_, prevId]);\n\n\treturn {\n\t\tget,\n\t};\n};\n","import { EffectCallback, useEffect } from 'react';\n\nexport const useOnMount = (callback: EffectCallback) => {\n\tuseEffect(callback, []);\n};\n","import { useEffect, useState } from 'react';\nimport { isFunction } from '../methods/isFunction';\n\nexport const useStateEffect = <T>(\n\tget: () => T,\n\tcheckIsDiff?: (a: T, b: T) => boolean,\n): T => {\n\tconst [value, setValue] = useState(get());\n\n\tuseEffect(() => {\n\t\tconst value_ = get();\n\t\tconst isChanged = isFunction(checkIsDiff)\n\t\t\t? checkIsDiff(value_, value)\n\t\t\t: value_ !== value;\n\t\tif (!isChanged) {\n\t\t\treturn;\n\t\t}\n\t\tsetValue(value_);\n\t}, [value, get, checkIsDiff]);\n\n\treturn value;\n};\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../../hooks/useId';\n\nexport const Options: FC<IconProps> = ({ fill, fillStop }) => {\n\tconst { get } = useId({ id: 'options' });\n\tconst color = fill || 'white';\n\tconst colors = (\n\t\t<>\n\t\t\t<stop stopColor={fillStop || color} />\n\t\t\t<stop offset=\"1\" stopColor={color} />\n\t\t</>\n\t);\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t\td=\"M8 5C6.34315 5 5 6.34315 5 8C5 9.65685 6.34315 11 8 11C9.65685 11 11 9.65685 11 8C11 6.34315 9.65685 5 8 5ZM7 8C7 7.44772 7.44772 7 8 7C8.55229 7 9 7.44772 9 8C9 8.55229 8.55229 9 8 9C7.44772 9 7 8.55229 7 8Z\"\n\t\t\t\t\t\tfill={get(0).url}\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t\td=\"M7.54953 0.166992C6.79307 0.166992 6.15498 0.730266 6.06112 1.48089L5.96853 2.22144C5.94564 2.40451 5.80979 2.58882 5.58216 2.69318C5.24379 2.84832 4.92106 3.03554 4.61842 3.25227C4.41384 3.39877 4.18517 3.42485 4.01444 3.35282L3.32381 3.06145C2.62683 2.7674 1.81996 3.03836 1.44172 3.69348L0.991123 4.4739C0.612906 5.12898 0.781614 5.96317 1.38466 6.41978L1.97856 6.86947C2.12622 6.98128 2.21811 7.19251 2.19375 7.44358C2.15783 7.81387 2.15783 8.18678 2.19375 8.55707C2.21811 8.80814 2.12622 9.01937 1.97856 9.13118L1.38466 9.58087C0.781614 10.0375 0.612906 10.8717 0.991123 11.5267L1.44172 12.3072C1.81996 12.9623 2.62683 13.2332 3.32381 12.9392L4.01444 12.6478C4.18517 12.5758 4.41384 12.6019 4.61842 12.7484C4.92106 12.9651 5.24379 13.1523 5.58216 13.3075C5.80979 13.4118 5.94564 13.5961 5.96853 13.7792L6.06112 14.5198C6.15498 15.2704 6.79307 15.8337 7.54953 15.8337H8.4507C9.20716 15.8337 9.84526 15.2704 9.93911 14.5198L10.0317 13.7792C10.0546 13.5961 10.1904 13.4118 10.4181 13.3075C10.7564 13.1523 11.0792 12.9651 11.3818 12.7484C11.5864 12.6019 11.8151 12.5758 11.9858 12.6478L12.6764 12.9392C13.3734 13.2332 14.1803 12.9623 14.5585 12.3072L15.0091 11.5267C15.3873 10.8717 15.2186 10.0375 14.6156 9.58087L13.8682 9.01499C13.8115 8.97205 13.7662 8.88274 13.7818 8.76612C13.8156 8.51277 13.8329 8.2573 13.8334 8.00135L13.3335 8.00033L13.8334 7.9993C13.8329 7.74335 13.8156 7.48788 13.7818 7.23453C13.7662 7.11791 13.8115 7.0286 13.8682 6.98567L14.6156 6.41978C15.2186 5.96317 15.3873 5.12898 15.0091 4.4739L14.5585 3.69348C14.1803 3.03836 13.3734 2.7674 12.6764 3.06145L11.9858 3.35282C11.8151 3.42485 11.5864 3.39877 11.3818 3.25227C11.0792 3.03554 10.7564 2.84832 10.4181 2.69318C10.1904 2.58882 10.0546 2.40451 10.0317 2.22144L9.93911 1.48089C9.84526 0.730267 9.20716 0.166992 8.4507 0.166992H7.54953ZM12.7906 7.36696C12.8186 7.57678 12.833 7.78835 12.8335 8.00033C12.833 8.2123 12.8186 8.42387 12.7906 8.63369C12.7336 9.06007 12.8845 9.52446 13.2646 9.81223L14.0119 10.3781C14.2129 10.5303 14.2692 10.8084 14.1431 11.0267L13.6925 11.8072C13.5664 12.0255 13.2975 12.1159 13.0651 12.0178L12.3745 11.7265C11.8246 11.4945 11.2309 11.6265 10.7996 11.9354C10.5489 12.1149 10.2816 12.27 10.0013 12.3985C9.52111 12.6186 9.11316 13.0655 9.03943 13.6551L8.94684 14.3957C8.91555 14.6459 8.70286 14.8337 8.4507 14.8337H7.54953C7.29738 14.8337 7.08468 14.6459 7.0534 14.3957L6.9608 13.6551C6.88708 13.0655 6.47913 12.6186 5.99893 12.3985C5.71865 12.27 5.45132 12.1149 5.20064 11.9354C4.7693 11.6265 4.17566 11.4945 3.62573 11.7265L2.9351 12.0178C2.70277 12.1159 2.43382 12.0255 2.30774 11.8072L1.85714 11.0267C1.73107 10.8084 1.78731 10.5303 1.98832 10.3781L2.58222 9.92842C3.05815 9.56805 3.24024 8.98799 3.18908 8.46052C3.15939 8.15445 3.15939 7.8462 3.18908 7.54013C3.24024 7.01266 3.05815 6.4326 2.58222 6.07223L1.98832 5.62254C1.78731 5.47034 1.73107 5.19227 1.85714 4.97392L2.30774 4.19349C2.43382 3.97511 2.70277 3.8848 2.9351 3.98281L3.62573 4.27418C4.17565 4.50619 4.7693 4.37419 5.20064 4.0653C5.45132 3.88578 5.71865 3.7307 5.99893 3.6022C6.47913 3.38203 6.88708 2.93511 6.9608 2.34551L7.0534 1.60496C7.08468 1.35475 7.29738 1.16699 7.54953 1.16699H8.4507C8.70286 1.16699 8.91555 1.35475 8.94684 1.60496L9.03943 2.34551C9.11316 2.93511 9.52111 3.38203 10.0013 3.6022C10.2816 3.7307 10.5489 3.88578 10.7996 4.0653C11.2309 4.37419 11.8246 4.50619 12.3745 4.27418L13.0651 3.98281C13.2975 3.8848 13.5664 3.97511 13.6925 4.19349L14.1431 4.97392C14.2692 5.19227 14.2129 5.47034 14.0119 5.62254L13.2646 6.18843C12.8845 6.47619 12.7336 6.94058 12.7906 7.36696Z\"\n\t\t\t\t\t\tfill={get(0).url}\n\t\t\t\t\t/>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<linearGradient\n\t\t\t\t\t\t\tid={get(0).id}\n\t\t\t\t\t\t\tx1=\"15.2102\"\n\t\t\t\t\t\t\ty1=\"0.166992\"\n\t\t\t\t\t\t\tx2=\"-0.402783\"\n\t\t\t\t\t\t\ty2=\"14.5377\"\n\t\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{colors}\n\t\t\t\t\t\t</linearGradient>\n\t\t\t\t\t</defs>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../hooks/useId';\n\nexport const CasinoV2: FC<IconProps> = ({ fill, fillStop }) => {\n\tconst { get } = useId({ id: 'casino-v2' });\n\tconst color = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9 0.875C9 0.875 16.8125 5.875 16.8125 9.9375C16.8132 10.7109 16.5931 11.4684 16.178 12.121C15.763 12.7736 15.1703 13.2942 14.4696 13.6216C13.7689 13.949 12.9893 14.0695 12.2225 13.9691C11.4556 13.8687 10.7334 13.5514 10.1406 13.0547L11.5 17.125H6.5L7.85938 13.0547C7.26661 13.5514 6.54436 13.8687 5.7775 13.9691C5.01065 14.0695 4.23107 13.949 3.53038 13.6216C2.82968 13.2942 2.237 12.7736 1.82197 12.121C1.40695 11.4684 1.18684 10.7109 1.1875 9.9375C1.1875 5.875 9 0.875 9 0.875Z\"\n\t\t\t\t\t\tstroke={get().url}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<linearGradient\n\t\t\t\t\t\t\tid={get().id}\n\t\t\t\t\t\t\tx1=\"16.8125\"\n\t\t\t\t\t\t\ty1=\"0.875\"\n\t\t\t\t\t\t\tx2=\"0.574993\"\n\t\t\t\t\t\t\ty2=\"16.488\"\n\t\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<stop stopColor={fillStop || color} />\n\t\t\t\t\t\t\t<stop offset=\"1\" stopColor={color} />\n\t\t\t\t\t\t</linearGradient>\n\t\t\t\t\t</defs>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={18}\n\t\t\theight={18}\n\t\t/>\n\t);\n};\n","import { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Chat = ({ fill }: IconProps) => {\n\treturn Svg({\n\t\tcontent: (\n\t\t\t<>\n\t\t\t\t<path\n\t\t\t\t\td=\"M9.35625 12.2437L8.43125 13.7875C8.38595 13.8612 8.32253 13.922 8.24703 13.9642C8.17154 14.0064 8.08649 14.0286 8 14.0286C7.91351 14.0286 7.82846 14.0064 7.75297 13.9642C7.67747 13.922 7.61405 13.8612 7.56875 13.7875L6.64375 12.2437C6.60024 12.1697 6.53815 12.1082 6.46362 12.0654C6.38908 12.0227 6.30468 12.0001 6.21875 12H2.5C2.36739 12 2.24021 11.9473 2.14645 11.8536C2.05268 11.7598 2 11.6326 2 11.5V3.5C2 3.36739 2.05268 3.24021 2.14645 3.14645C2.24021 3.05268 2.36739 3 2.5 3H13.5C13.6326 3 13.7598 3.05268 13.8536 3.14645C13.9473 3.24021 14 3.36739 14 3.5V11.5C14 11.6326 13.9473 11.7598 13.8536 11.8536C13.7598 11.9473 13.6326 12 13.5 12H9.78125C9.69532 12.0001 9.61092 12.0227 9.53638 12.0654C9.46185 12.1082 9.39976 12.1697 9.35625 12.2437V12.2437Z\"\n\t\t\t\t\tstroke={fill}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M8 8.25C8.41421 8.25 8.75 7.91421 8.75 7.5C8.75 7.08579 8.41421 6.75 8 6.75C7.58579 6.75 7.25 7.08579 7.25 7.5C7.25 7.91421 7.58579 8.25 8 8.25Z\"\n\t\t\t\t\tfill={fill}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M5 8.25C5.41421 8.25 5.75 7.91421 5.75 7.5C5.75 7.08579 5.41421 6.75 5 6.75C4.58579 6.75 4.25 7.08579 4.25 7.5C4.25 7.91421 4.58579 8.25 5 8.25Z\"\n\t\t\t\t\tfill={fill}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M11 8.25C11.4142 8.25 11.75 7.91421 11.75 7.5C11.75 7.08579 11.4142 6.75 11 6.75C10.5858 6.75 10.25 7.08579 10.25 7.5C10.25 7.91421 10.5858 8.25 11 8.25Z\"\n\t\t\t\t\tfill={fill}\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\twidth: 16,\n\t\theight: 16,\n\t});\n};\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../hooks/useId';\n\nexport const Lobby: FC<IconProps> = ({ fill, fillStop }) => {\n\tconst { get } = useId({ id: 'all_bets' });\n\tconst fill_ = fill || 'white';\n\tconst fillStop_ = fillStop || fill_;\n\treturn Svg({\n\t\tcontent: (\n\t\t\t<>\n\t\t\t\t<path\n\t\t\t\t\td=\"M7.50024 7.1875C7.50024 6.84232 7.22042 6.5625 6.87524 6.5625C6.53007 6.5625 6.25024 6.84232 6.25024 7.1875V7.8125H5.62524C5.28007 7.8125 5.00024 8.09232 5.00024 8.4375C5.00024 8.78268 5.28007 9.0625 5.62524 9.0625H6.25024V9.6875C6.25024 10.0327 6.53007 10.3125 6.87524 10.3125C7.22042 10.3125 7.50024 10.0327 7.50024 9.6875V9.0625H8.12524C8.47042 9.0625 8.75024 8.78268 8.75024 8.4375C8.75024 8.09232 8.47042 7.8125 8.12524 7.8125H7.50024V7.1875Z\"\n\t\t\t\t\tfill={get().url}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M11.2502 8.4375C11.2502 8.09232 11.5301 7.8125 11.8752 7.8125H14.3752C14.7204 7.8125 15.0002 8.09232 15.0002 8.4375C15.0002 8.78268 14.7204 9.0625 14.3752 9.0625H11.8752C11.5301 9.0625 11.2502 8.78268 11.2502 8.4375Z\"\n\t\t\t\t\tfill={get().url}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M17.3185 7.09753C17.6574 7.03169 17.9854 7.253 18.0513 7.59184L19.3343 14.1945C19.44 14.7844 19.3545 15.3927 19.0903 15.9306C18.8262 16.4686 18.397 16.9081 17.8655 17.185C17.3341 17.462 16.728 17.5619 16.1357 17.4703C15.5435 17.3786 14.9959 17.1002 14.573 16.6755L15.0159 16.2345L14.5513 16.6526L11.1763 12.9026C10.9454 12.646 10.9662 12.2508 11.2228 12.0199C11.4793 11.789 11.8745 11.8098 12.1054 12.0664L15.469 15.8037C15.7025 16.0338 16.0026 16.1848 16.3269 16.235C16.6559 16.2859 16.9926 16.2304 17.2879 16.0765C17.5832 15.9227 17.8216 15.6785 17.9683 15.3796C18.1145 15.082 18.1622 14.7456 18.1045 14.4192L16.8242 7.83027C16.7584 7.49143 16.9797 7.16337 17.3185 7.09753Z\"\n\t\t\t\t\tfill={get().url}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M13.4377 3.72656C14.6809 3.72656 15.8731 4.22042 16.7522 5.0995C17.6313 5.97858 18.1252 7.17086 18.1252 8.41406C18.1252 9.65726 17.6313 10.8495 16.7522 11.7286C15.8735 12.6074 14.6818 13.1012 13.4392 13.1016C13.4387 13.1016 13.4382 13.1016 13.4377 13.1016L8.63827 13.1237L5.44823 16.6534L4.98453 16.2344L5.42738 16.6754C5.00447 17.1001 4.45696 17.3785 3.86469 17.4702C3.27242 17.5618 2.66635 17.4619 2.13487 17.1849C1.60338 16.908 1.17426 16.4685 0.91007 15.9305C0.645884 15.3926 0.560449 14.7843 0.666221 14.1944L0.667894 14.185L1.94823 7.61978C2.14156 6.53735 2.70866 5.55703 3.55075 4.8498C4.39412 4.1415 5.45965 3.75221 6.56099 3.75M13.4377 3.72656V4.35156ZM13.4377 4.97656L6.56479 5C5.75653 5.00153 4.97359 5.2872 4.35465 5.80701C3.73571 6.32682 3.31923 7.0477 3.17805 7.84354L2.56267 7.73438L3.17611 7.854L1.89584 14.4193C1.83825 14.7457 1.88594 15.082 2.03207 15.3795C2.17884 15.6784 2.41724 15.9225 2.71251 16.0764C3.00778 16.2303 3.34449 16.2858 3.67353 16.2349C3.998 16.1847 4.29828 16.0335 4.53186 15.8031L7.89585 12.0809C8.01367 11.9506 8.18093 11.8758 8.35665 11.875L13.4348 11.8516L13.4377 11.8516C14.3493 11.8516 15.2237 11.4894 15.8683 10.8447C16.513 10.2001 16.8752 9.32574 16.8752 8.41406C16.8752 7.50238 16.513 6.62804 15.8683 5.98338C15.2239 5.33897 14.35 4.97683 13.4387 4.97656C13.4383 4.97656 13.438 4.97656 13.4377 4.97656Z\"\n\t\t\t\t\tfill={get(1).url}\n\t\t\t\t/>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient\n\t\t\t\t\t\tid={get().id}\n\t\t\t\t\t\tx1=\"5.00024\"\n\t\t\t\t\t\ty1=\"12.8503\"\n\t\t\t\t\t\tx2=\"19.3784\"\n\t\t\t\t\t\ty2=\"12.8503\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<stop stopColor={fill_} />\n\t\t\t\t\t\t<stop offset=\"1\" stopColor={fillStop_} />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t\t<linearGradient\n\t\t\t\t\t\tid={get(1).id}\n\t\t\t\t\t\tx1=\"0.62207\"\n\t\t\t\t\t\ty1=\"11.6441\"\n\t\t\t\t\t\tx2=\"18.1252\"\n\t\t\t\t\t\ty2=\"11.6441\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<stop stopColor={fill_} />\n\t\t\t\t\t\t<stop offset=\"1\" stopColor={fillStop_} />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\t\t\t</>\n\t\t),\n\t\twidth: 20,\n\t\theight: 20,\n\t});\n};\n","import { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../../hooks/useId';\n\nexport interface IconProps {\n\tfill?: string;\n\tfillStop?: string;\n\twidth?: number;\n\theight?: number;\n\tactive?: boolean;\n}\n\nexport const RankTrophy = ({ color_1, color_2, color_3, color_4 }) => {\n\tconst { get } = useId({ id: 'rank_trophy' });\n\tconst color_1_ = color_1 || 'var(--color-dark-400)';\n\tconst color_2_ = color_2 || 'var(--color-dark-400)';\n\tconst color_3_ = color_3 || 'var(--color-dark-400)';\n\tconst color_4_ = color_4 || 'var(--color-dark-400)';\n\treturn Svg({\n\t\tcontent: (\n\t\t\t<>\n\t\t\t\t<path\n\t\t\t\t\td=\"M9.79386 5.66809L9.17392 5.63216C9.13749 5.63216 9.10142 5.63216 9.10142 5.66809L8.65703 6.10353L8.73928 6.13693L9.35499 6.17285C9.35691 6.17285 9.35872 6.17285 9.36045 6.17285C9.37252 6.17281 9.38013 6.17251 9.38699 6.17009C9.39758 6.16635 9.4064 6.15757 9.42713 6.13693L9.82534 5.70437L9.79386 5.66809Z\"\n\t\t\t\t\tfill={get(1).url}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M6.66471 5.66083C6.69717 5.66083 6.72931 5.66083 6.72931 5.69297L7.18087 6.11239H7.05199L6.50337 6.14453C6.50167 6.14453 6.50005 6.14453 6.49851 6.14453C6.48777 6.14449 6.48099 6.14422 6.47488 6.14206C6.46661 6.13914 6.45957 6.13277 6.44556 6.11884C6.44556 6.11884 6.44556 6.11884 6.44556 6.11884C6.44356 6.11685 6.44141 6.11471 6.4391 6.1124L6.08427 5.72543L6.01967 5.66083H6.66471Z\"\n\t\t\t\t\tfill={get(1).url}\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M16 3.44444C16 3.075 15.7028 2.77778 15.3333 2.77778H12.4444V1.66667C12.4444 1.29722 12.1472 1 11.7778 1H4.22222C3.85278 1 3.55556 1.29722 3.55556 1.66667V2.77778H0.666667C0.297222 2.77778 0 3.075 0 3.44444V5C0 6.84722 2.16389 8.65833 4.775 8.95555C5.64722 10.4028 6.66667 11 6.66667 11V13H5.33333C4.35278 13 3.55556 13.575 3.55556 14.5556V14.8889C3.55556 15.0722 3.70556 15.2222 3.88889 15.2222H12.1111C12.2944 15.2222 12.4444 15.0722 12.4444 14.8889V14.5556C12.4444 13.575 11.6472 13 10.6667 13H9.33333V11C9.33333 11 10.3528 10.4028 11.225 8.95555C13.8444 8.65556 16 6.84167 16 5V3.44444ZM3.91667 6.95C2.59722 6.49444 1.77778 5.56389 1.77778 5V4.55556H3.56111C3.58889 5.46111 3.72222 6.25556 3.91667 6.95ZM14.2222 5C14.2222 5.56111 13.4056 6.49444 12.0833 6.95C12.2778 6.25556 12.4111 5.46111 12.4389 4.55556H14.2222V5ZM8.07296 3.24692L8.07397 3.24619L8.07487 3.2408L9.80092 2L10.0769 4.22878L10.9932 5.85005L10.9847 5.86122L10.9915 5.87334L11.0001 5.87493L10.9948 5.87927L11.0001 5.88878L10.9916 5.88187L10.9325 5.93017L8.60391 9.00122H7.14379L4.75449 5.85005L4.75558 5.84812L4.75449 5.84721L4.75624 5.84695L4.76211 5.83657L4.74756 5.84719L5.6695 4.22513L5.94678 2.01385L5.94895 2.0154L5.94914 2.01385L6.602 2.48037L7.67861 3.24692H8.07296Z\"\n\t\t\t\t\tfill={get(1).url}\n\t\t\t\t/>\n\t\t\t\t<mask\n\t\t\t\t\tid={get().id}\n\t\t\t\t\tstyle={{ maskType: 'alpha' }}\n\t\t\t\t\tmaskUnits=\"userSpaceOnUse\"\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"1\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"15\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9.79386 5.66809L9.17392 5.63216C9.13749 5.63216 9.10142 5.63216 9.10142 5.66809L8.65703 6.10353L8.73928 6.13693L9.35499 6.17285C9.35691 6.17285 9.35872 6.17285 9.36045 6.17285C9.37252 6.17281 9.38013 6.17251 9.38699 6.17009C9.39758 6.16635 9.4064 6.15757 9.42713 6.13693L9.82534 5.70437L9.79386 5.66809Z\"\n\t\t\t\t\t\tfill={get(2).url}\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M6.66471 5.66083C6.69717 5.66083 6.72931 5.66083 6.72931 5.69297L7.18087 6.11239H7.05199L6.50337 6.14453C6.50167 6.14453 6.50005 6.14453 6.49851 6.14453C6.48777 6.14449 6.48099 6.14422 6.47488 6.14206C6.46661 6.13914 6.45957 6.13277 6.44556 6.11884C6.44556 6.11884 6.44556 6.11884 6.44556 6.11884C6.44356 6.11685 6.44141 6.11471 6.4391 6.1124L6.08427 5.72543L6.01967 5.66083H6.66471Z\"\n\t\t\t\t\t\tfill={get(2).url}\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t\td=\"M16 3.44444C16 3.075 15.7028 2.77778 15.3333 2.77778H12.4444V1.66667C12.4444 1.29722 12.1472 1 11.7778 1H4.22222C3.85278 1 3.55556 1.29722 3.55556 1.66667V2.77778H0.666667C0.297222 2.77778 0 3.075 0 3.44444V5C0 6.84722 2.16389 8.65833 4.775 8.95555C5.64722 10.4028 6.66667 11 6.66667 11V13H5.33333C4.35278 13 3.55556 13.575 3.55556 14.5556V14.8889C3.55556 15.0722 3.70556 15.2222 3.88889 15.2222H12.1111C12.2944 15.2222 12.4444 15.0722 12.4444 14.8889V14.5556C12.4444 13.575 11.6472 13 10.6667 13H9.33333V11C9.33333 11 10.3528 10.4028 11.225 8.95555C13.8444 8.65556 16 6.84167 16 5V3.44444ZM3.91667 6.95C2.59722 6.49444 1.77778 5.56389 1.77778 5V4.55556H3.56111C3.58889 5.46111 3.72222 6.25556 3.91667 6.95ZM14.2222 5C14.2222 5.56111 13.4056 6.49444 12.0833 6.95C12.2778 6.25556 12.4111 5.46111 12.4389 4.55556H14.2222V5ZM8.07296 3.24692L8.07397 3.24619L8.07487 3.2408L9.80092 2L10.0769 4.22878L10.9932 5.85005L10.9847 5.86122L10.9915 5.87334L11.0001 5.87493L10.9948 5.87927L11.0001 5.88878L10.9916 5.88187L10.9325 5.93017L8.60391 9.00122H7.14379L4.75449 5.85005L4.75558 5.84812L4.75449 5.84721L4.75624 5.84695L4.76211 5.83657L4.74756 5.84719L5.6695 4.22513L5.94678 2.01385L5.94895 2.0154L5.94914 2.01385L6.602 2.48037L7.67861 3.24692H8.07296Z\"\n\t\t\t\t\t\tfill={get(2).url}\n\t\t\t\t\t/>\n\t\t\t\t</mask>\n\t\t\t\t<g mask={get().url}>\n\t\t\t\t\t<path d=\"M11 1H18L14 16H7L11 1Z\" fill=\"white\" fillOpacity=\"0.15\" />\n\t\t\t\t\t<path d=\"M9 1H10L6 16H5L9 1Z\" fill=\"white\" fillOpacity=\"0.15\" />\n\t\t\t\t</g>\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient\n\t\t\t\t\t\tid={get(1).id}\n\t\t\t\t\t\tx1=\"18.4584\"\n\t\t\t\t\t\ty1=\"0.310478\"\n\t\t\t\t\t\tx2=\"9.21484\"\n\t\t\t\t\t\ty2=\"12.0899\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<stop stopColor={color_1_} />\n\t\t\t\t\t\t<stop offset=\"1\" stopColor={color_2_} />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t\t<linearGradient\n\t\t\t\t\t\tid={get(2).id}\n\t\t\t\t\t\tx1=\"15.397\"\n\t\t\t\t\t\ty1=\"2.32827\"\n\t\t\t\t\t\tx2=\"10.2808\"\n\t\t\t\t\t\ty2=\"16.0713\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<stop stopColor={color_3_} />\n\t\t\t\t\t\t<stop offset=\"1\" stopColor={color_4_} />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\t\t\t</>\n\t\t),\n\t\twidth: 16,\n\t\theight: 16,\n\t});\n};\n\nexport const FirstRankTrophy = () => (\n\t<RankTrophy\n\t\tcolor_1={'#FFCD00'}\n\t\tcolor_2={'#A08523'}\n\t\tcolor_3={'#FAFAFA'}\n\t\tcolor_4={'#6B6B6B'}\n\t/>\n);\nexport const SecondRankTrophy = () => (\n\t<RankTrophy\n\t\tcolor_1={'#FAFAFA'}\n\t\tcolor_2={'#6B6B6B'}\n\t\tcolor_3={'#FAFAFA'}\n\t\tcolor_4={'#6B6B6B'}\n\t/>\n);\nexport const ThirdRankTrophy = () => (\n\t<RankTrophy\n\t\tcolor_1={'#BF623D'}\n\t\tcolor_2={'#7E412A'}\n\t\tcolor_3={'#BF623D'}\n\t\tcolor_4={'#7E412A'}\n\t/>\n);\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { useId } from '../hooks/useId';\n\nexport const Sport: FC<IconProps> = ({ fill, fillStop }) => {\n\tconst { get } = useId({ id: 'sport' });\n\tconst color = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M8 4.71875L4.88281 6.98438M8 4.71875L11.1172 6.98438M8 4.71875V3M4.88281 6.98438L6.07031 10.6562M4.88281 6.98438L3.24219 6.45312M6.07031 10.6562H9.92969M6.07031 10.6562L5.0625 12.0469M9.92969 10.6562L11.1172 6.98438M9.92969 10.6562L10.9375 12.0469M11.1172 6.98438L12.7578 6.45312M8 3L10.7344 1.01562M8 3L5.26562 1.01562M3.24219 6.45312L2.20312 3.24219M3.24219 6.45312L0.507812 8.44531M5.0625 12.0469H1.67969M5.0625 12.0469L6.10938 15.2578M10.9375 12.0469L9.89062 15.2578M10.9375 12.0469H14.3203M12.7578 6.45312L15.4922 8.44531M12.7578 6.45312L13.7969 3.24219M15.5 8C15.5 12.1421 12.1421 15.5 8 15.5C3.85786 15.5 0.5 12.1421 0.5 8C0.5 3.85786 3.85786 0.5 8 0.5C12.1421 0.5 15.5 3.85786 15.5 8Z\"\n\t\t\t\t\t\tstroke={get(0).url}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<linearGradient\n\t\t\t\t\t\t\tid={get(0).id}\n\t\t\t\t\t\t\tx1=\"15.5\"\n\t\t\t\t\t\t\ty1=\"0.5\"\n\t\t\t\t\t\t\tx2=\"0.499999\"\n\t\t\t\t\t\t\ty2=\"15.5\"\n\t\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<stop stopColor={fillStop || color} />\n\t\t\t\t\t\t\t<stop offset=\"1\" stopColor={color} />\n\t\t\t\t\t\t</linearGradient>\n\t\t\t\t\t</defs>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Support: FC<IconProps> = ({ fill }) => {\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<path\n\t\t\t\t\td=\"M14.0938 8.50021H12.0938C11.8285 8.50021 11.5742 8.60557 11.3866 8.7931C11.1991 8.98064 11.0938 9.23499 11.0938 9.50021V12.0002C11.0938 12.2654 11.1991 12.5198 11.3866 12.7073C11.5742 12.8949 11.8285 13.0002 12.0938 13.0002H13.0938C13.359 13.0002 13.6133 12.8949 13.8009 12.7073C13.9884 12.5198 14.0938 12.2654 14.0938 12.0002V8.50021ZM14.0938 8.50021C14.0938 7.70805 13.9369 6.92373 13.6323 6.1925C13.3276 5.46127 12.8812 4.7976 12.3188 4.23979C11.7563 3.68198 11.0889 3.24107 10.3552 2.9425C9.62147 2.64393 8.83588 2.49361 8.04375 2.50021C7.25214 2.49444 6.46722 2.64537 5.73421 2.94431C5.0012 3.24326 4.33459 3.6843 3.7728 4.24202C3.21101 4.79975 2.76513 5.46314 2.46087 6.19396C2.15661 6.92478 1.99998 7.70858 2 8.50021V12.0002C2 12.2654 2.10536 12.5198 2.29289 12.7073C2.48043 12.8949 2.73478 13.0002 3 13.0002H4C4.26522 13.0002 4.51957 12.8949 4.70711 12.7073C4.89464 12.5198 5 12.2654 5 12.0002V9.50021C5 9.23499 4.89464 8.98064 4.70711 8.7931C4.51957 8.60557 4.26522 8.50021 4 8.50021H2\"\n\t\t\t\t\tstroke={fill}\n\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Trending: FC<IconProps> = ({ fill }) => {\n\tconst _fill = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14.5 3.5L8.5 9.5L6 7L1.5 11.5\"\n\t\t\t\t\t\tstroke={_fill}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14.5 7.5V3.5H10.5\"\n\t\t\t\t\t\tstroke={_fill}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Close: FC<IconProps> = ({ fill }) => {\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9.375 2.625L2.625 9.375\"\n\t\t\t\t\t\tstroke={fill || 'white'}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9.375 9.375L2.625 2.625\"\n\t\t\t\t\t\tstroke={fill || 'white'}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={12}\n\t\t\theight={12}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const CaretDown: FC<IconProps> = ({ fill, height, width }) => {\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<path\n\t\t\t\t\td=\"M9.82843 13.0784L12.6569 10.25H7L9.82843 13.0784Z\"\n\t\t\t\t\tfill={fill || '#6983A5'}\n\t\t\t\t/>\n\t\t\t}\n\t\t\twidth={width || 20}\n\t\t\theight={height || 21}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Check: FC<IconProps> = ({ fill }) => {\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M13.3909 0.213929C13.7329 0.521811 13.7607 1.04872 13.4528 1.39081L5.95279 9.72415C5.79476 9.89974 5.56962 10 5.33338 10C5.09714 10 4.87201 9.89974 4.71397 9.72415L0.547303 5.09452C0.23942 4.75242 0.267152 4.22552 0.609244 3.91763C0.951336 3.60975 1.47824 3.63748 1.78613 3.97957L5.33338 7.92097L12.214 0.27587C12.5219 -0.0662218 13.0488 -0.0939538 13.3909 0.213929Z\"\n\t\t\t\t\tfill={fill || 'white'}\n\t\t\t\t/>\n\t\t\t}\n\t\t\twidth={14}\n\t\t\theight={10}\n\t\t/>\n\t);\n};\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Logout: FC<IconProps> = ({ fill }) => {\n\tconst color = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10.875 5.375L13.5 8L10.875 10.625\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M6.5 8H13.5\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M6.5 13.5H3C2.86739 13.5 2.74021 13.4473 2.64645 13.3536C2.55268 13.2598 2.5 13.1326 2.5 13V3C2.5 2.86739 2.55268 2.74021 2.64645 2.64645C2.74021 2.55268 2.86739 2.5 3 2.5H6.5\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeWidth=\"1.5\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { IconProps } from '@icons/all-bets';\nimport { FC } from 'react';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Transactions: FC<IconProps> = ({ fill }) => {\n\tconst color = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M9 7L11 9L9 11\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1 9H11\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M3 5L1 3L3 1\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M11 3H1\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={color}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={12}\n\t\t\theight={12}\n\t\t/>\n\t);\n};\n","import { FC } from 'react';\nimport { IconProps } from '@icons/all-bets';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const Wallet: FC<IconProps> = ({ fill }) => {\n\tconst fill_ = fill || 'white';\n\treturn (\n\t\t<Svg\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M13 3.5H3C2.44772 3.5 2 3.94772 2 4.5V11.5C2 12.0523 2.44772 12.5 3 12.5H13C13.5523 12.5 14 12.0523 14 11.5V4.5C14 3.94772 13.5523 3.5 13 3.5Z\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M2 7.50001H5.55C5.66515 7.49937 5.7769 7.539 5.86592 7.61205C5.95495 7.68509 6.01564 7.78695 6.0375 7.90001C6.13298 8.34971 6.38001 8.75297 6.73726 9.04233C7.0945 9.33168 7.54028 9.48957 8 9.48957C8.45972 9.48957 8.9055 9.33168 9.26274 9.04233C9.61999 8.75297 9.86702 8.34971 9.9625 7.90001C9.98436 7.78695 10.0451 7.68509 10.1341 7.61205C10.2231 7.539 10.3348 7.49937 10.45 7.50001H14\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M2 5.5H14\"\n\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\tstroke={fill_}\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\twidth={16}\n\t\t\theight={16}\n\t\t/>\n\t);\n};\n","import { Svg } from '@legacyApp/client/components/svg/Svg';\n\nconst COLOR = 'white';\n\nexport const Wolf = () =>\n\tSvg({\n\t\tcontent: (\n\t\t\t<g>\n\t\t\t\t<path\n\t\t\t\t\tfill={COLOR}\n\t\t\t\t\td=\"M56.9,17.7c0.3,1.9,0.6,3.8,0.9,5.6c0.1,0.7,0.5,1.3,0.8,1.9c0.8,1.7,1.7,3.4,2.6,5.2c0.8,1.6,1.5,3.1,2.3,4.7\n\t\tc0.9,1.7,1.7,3.5,2.6,5.2c0.3,0.7,0.7,1.4,1,2c0.1,0.3,0.1,0.4-0.1,0.6c-1.2,1.3-24.9,30.4-25.6,31.2c-0.1,0.1-0.4,0.3-0.6,0.3\n\t\tc-4.8,0-9.7,0-14.5,0c-0.2,0-0.4-0.1-0.6-0.2C18.5,63.8,1.1,43.9,0.1,42.8C0,42.6,0,42.5,0.1,42.3c1.3-2.5,2.5-5.1,3.8-7.6\n\t\tc0.9-1.8,1.9-3.7,2.8-5.5c0.9-1.7,1.7-3.4,2.5-5.1c0.3-0.6,0.3-1.2,0.4-1.9c0.4-2.2,0.7-4.4,1.1-6.6c0.3-2.2,0.7-4.3,1-6.5\n\t\tc0.3-1.9,0.6-3.7,0.9-5.5C12.8,2.4,13,1.2,13.2,0c0.6,0.4,1.1,0.7,1.6,1.1c2.5,1.8,5,3.5,7.5,5.3c2.4,1.7,4.8,3.4,7.2,5.1\n\t\tc0.7,0.5,1.3,1,2.1,1.4c0.3,0.2,0.7,0.1,1.1,0.2c0.2,0,0.4,0.1,0.6,0.2c0.2,0,0.3,0,0.5,0c0.2,0,0.3-0.1,0.5-0.1\n\t\tc0.9,0.1,1.6-0.4,2.3-0.9c3.2-2.3,6.4-4.5,9.7-6.8C48.8,3.6,51.4,1.8,54,0c0.8,4.7,1.5,9.4,2.3,14.1 M19,56.4\n\t\tc0.1,0.3,0.1,0.6,0.3,0.8c2.7,3.2,5.5,6.3,8.2,9.4c0.2,0.2,0.4,0.4,0.7,0.5c0.7,0.3,1.4,0.5,2.1,0.7c0.6,0.2,1.2,0.4,1.9,0.6\n\t\tc0-0.5-0.1-0.9-0.1-1.3c0-0.2-2.5-6.6-3.4-7.5c0.1-0.1,0.1-0.1,0.2-0.1c0.8-0.3,7.9-0.6,8.9-0.2c0.2,0.1,0.4,0.2,0.7,0.3\n\t\tc-0.1,0.1-3.4,7.2-3.4,7.3c-0.1,0.5-0.1,0.9-0.1,1.4c0.1,0,0.2,0,0.3-0.1c1-0.3,2-0.6,3-1c0.5-0.2,1-0.3,1.3-0.6\n\t\tc2.8-3.1,7.1-8.6,9.9-11.8c0.5-3.8,0.5-8.4,0.5-8.6c0,0,0-0.6,0.1-0.6c0.9,4.4,1,5,1.7,7.4c0.3-0.3,2.7-2.9,2.9-3.2\n\t\tc2.2-2.6,4.5-5.2,6.7-7.8c0.1-0.2,0.2-0.3,0.1-0.5c-0.6-1.4-1.1-2.7-1.7-4.1c-0.1-0.2-0.2-0.4-0.4-0.5c-1.3-0.9-16.9-10.5-20-11.8\n\t\tc-0.1,0.1-5.9,5.9-6.1,6.2c-0.6-1.2-4.9-5.9-5.3-6.2c-4.1,1.9-21.6,15-22.1,16.2C5.6,41.8,5.7,42,6,42.3c2,2.3,10.2,11.2,10.6,11.7\n\t\tc0.9-3,0.7-2,2.1-6.3 M52.3,17.6c-0.2-0.9-0.3-1.8-0.4-2.7c-0.2-1.4-0.5-2.9-0.7-4.3c-0.1-0.7-0.3-1.5-0.4-2.3\n\t\tc-2.2,3.9-8.3,9.5-10.4,13.3c3,1.4,14.5,9.1,17.6,10.5c-0.1-0.5-4.8-9.1-4.9-9.6 M27.1,20.9c-2.2-3.8-8.4-8.8-10.5-12.6\n\t\tc0,0-0.1,0-0.1,0c-0.8,5.1-4.1,16.1-4.9,21.3C14.6,28.3,24.1,22.3,27.1,20.9z\"\n\t\t\t\t/>\n\t\t\t\t<path fill={COLOR} d=\"M53,20.3\" />\n\t\t\t\t<path fill={COLOR} d=\"M16.5,8.4c0,0,0.1,0,0.1,0\" />\n\t\t\t\t<path\n\t\t\t\t\tfill={COLOR}\n\t\t\t\t\td=\"M18.9,39.8c0.4,0,0.8,0,1.1,0c1.5,0,2.9,0,4.4,0c0.2,0,0.5,0.2,0.7,0.3c1.3,1.2,2.6,2.5,4,3.7c0,0,0,0,0,0.1\n\t\tc-0.4,0-0.9,0.1-1.3,0.1c-1.6,0.1-3.1,0.1-4.7,0.1c-0.1,0-0.3-0.1-0.4-0.2c-1.1-1.2-2.1-2.3-3.2-3.5C19.3,40.2,19.1,40,18.9,39.8z\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfill={COLOR}\n\t\t\t\t\td=\"M48.4,40.1c-0.7,0.7-1.2,1.2-1.8,1.8c-0.7,0.7-1.4,1.4-2.1,2.1c-0.3,0.3-0.7,0.2-1,0.2c-1.5-0.1-3.1-0.3-4.6-0.4\n\t\tc-0.3,0-0.5-0.1-0.9-0.1c0.6-0.5,1-0.9,1.5-1.3c0.9-0.8,1.8-1.5,2.7-2.3c0.3-0.2,0.5-0.3,0.9-0.3c1.1,0.1,2.2,0.1,3.4,0.2\n\t\tC47.1,40,47.7,40,48.4,40.1z\"\n\t\t\t\t/>\n\t\t\t</g>\n\t\t),\n\t\twidth: 67.2,\n\t\theight: 74.4,\n\t});\n\nexport default Wolf;\n","import DOMPurify from 'isomorphic-dompurify';\n\nexport const domPurifySanitize = (html: string): string => {\n\treturn DOMPurify.sanitize(html);\n};\n","export const getClientSize = () => {\n\tif (!process?.browser) {\n\t\treturn { width: null, height: null };\n\t}\n\n\tconst element =\n\t\tdocument.body?.parentElement || document.querySelector('html');\n\n\tif (!element) {\n\t\treturn { width: null, height: null };\n\t}\n\n\treturn {\n\t\twidth: element?.clientWidth,\n\t\theight: element?.clientHeight,\n\t};\n};\n","import { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { getClientSize } from '@common/methods/getClientSize';\n\nexport enum DeviceType {\n\tDESKTOP_BIG = 'desktopBig',\n\tDESKTOP = 'desktop',\n\tTABLET = 'tablet',\n\tTABLET_SMALL = 'tabletSmall',\n\tMOBILE = 'mobile',\n\tMOBILE_SMALL = 'mobileSmall',\n}\n\nexport const DeviceTypeMinWidth = {\n\t[DeviceType.DESKTOP_BIG]: Number(\n\t\ttheme.media.minWidthBigDesktop.replace('px', ''),\n\t),\n\n\t[DeviceType.DESKTOP]: Number(theme.media.minWidthDesktop.replace('px', '')),\n\n\t[DeviceType.TABLET]: Number(theme.media.minWidthTablet.replace('px', '')),\n\n\t[DeviceType.TABLET_SMALL]: Number(\n\t\ttheme.media_v2.min_tablet_small.replace('px', ''),\n\t),\n\n\t[DeviceType.MOBILE]: Number(theme.media.minWidthMobile.replace('px', '')),\n\n\t[DeviceType.MOBILE_SMALL]: 0,\n} as const;\n\nexport const getDeviceType = (clientWidth?: number) => {\n\tif (!process.browser) {\n\t\treturn DeviceType.DESKTOP;\n\t}\n\n\tif (!isTrueOrZero(clientWidth)) {\n\t\tclientWidth = getClientSize().width;\n\t}\n\n\tif (clientWidth >= DeviceTypeMinWidth[DeviceType.DESKTOP_BIG]) {\n\t\treturn DeviceType.DESKTOP_BIG;\n\t}\n\n\tif (\n\t\tclientWidth >= DeviceTypeMinWidth[DeviceType.DESKTOP] &&\n\t\tclientWidth < DeviceTypeMinWidth[DeviceType.DESKTOP_BIG]\n\t) {\n\t\treturn DeviceType.DESKTOP;\n\t}\n\n\tif (\n\t\tclientWidth >= DeviceTypeMinWidth[DeviceType.TABLET] &&\n\t\tclientWidth < DeviceTypeMinWidth[DeviceType.DESKTOP]\n\t) {\n\t\treturn DeviceType.TABLET;\n\t}\n\n\tif (\n\t\tclientWidth >= DeviceTypeMinWidth[DeviceType.TABLET_SMALL] &&\n\t\tclientWidth < DeviceTypeMinWidth[DeviceType.TABLET]\n\t) {\n\t\treturn DeviceType.TABLET_SMALL;\n\t}\n\n\tif (\n\t\tclientWidth >= 350 &&\n\t\tclientWidth < DeviceTypeMinWidth[DeviceType.TABLET_SMALL]\n\t) {\n\t\treturn DeviceType.MOBILE;\n\t}\n\n\tif (clientWidth < 350) {\n\t\treturn DeviceType.MOBILE_SMALL;\n\t}\n};\n","import Router from 'next/router';\nimport { languageConfig } from '@server/config/language.config';\nimport { checkIsLocaleInPathname } from '../checkIsLocalePathname/checkIsLocaleInPathname';\n\nexport const getPathLocalized = ({\n\tpathname,\n\tlocale = Router.router.locale,\n}) => {\n\tif (locale === languageConfig.default) {\n\t\treturn pathname;\n\t}\n\tlet _pathname = pathname;\n\tif (pathname === '/') {\n\t\t_pathname = '';\n\t}\n\tif (_pathname?.length && _pathname.indexOf('/') !== 0) {\n\t\t_pathname = `/${_pathname}`;\n\t}\n\tif (_pathname && checkIsLocaleInPathname(pathname, locale)) {\n\t\t_pathname = pathname.replace(`/${locale}`, '');\n\t}\n\treturn `/${locale}${_pathname}` || '/';\n};\n","export const checkIsLocaleInPathname = (\n\tpathname: string,\n\tlocale: string,\n): boolean => {\n\tconst localeString = `/${locale}`;\n\tconst isMultipleSlashes = pathname.split('/').length > 2;\n\tif (!isMultipleSlashes) {\n\t\treturn pathname === localeString;\n\t}\n\treturn pathname.indexOf(`/${locale}`) === 0;\n};\n","import Router from 'next/router';\n\nexport const getPathnameWithoutLang = (\n\tpathname: string,\n\tlocale = Router?.router?.locale,\n) => {\n\tif (pathname.indexOf(locale) > -1) {\n\t\treturn (\n\t\t\tpathname\n\t\t\t\t.split('/')\n\t\t\t\t.filter((el, index) => !(el === locale && index === 1))\n\t\t\t\t.join('/') || '/'\n\t\t);\n\t}\n\treturn pathname;\n};\n","import { isTrueOrZero } from './isTrueOrZero';\n\nexport const getValueWithElse = (\n\tvalue: number | string | boolean,\n\telseValue: number | string | boolean,\n\tcheck?: (value: number | string | boolean) => boolean,\n) => {\n\tif (!check) {\n\t\tcheck = isTrueOrZero;\n\t}\n\treturn check(value) ? value : elseValue;\n};\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { getClientSize } from '@common/methods/getClientSize';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { hmac_sha256 } from '@legacyApp/client/modules/app/verificationServcie';\nimport { UpdateUserSupportProps } from '@modules/support/methods/updateUserSupport';\n\nexport interface VendorUserData {\n\tuser_id?: string;\n\tname?: string;\n\temail?: string;\n\tcreated_at?: string;\n\tvip?: number;\n}\n\nexport const getVendorUserData = (\n\tstate: RootState,\n\tdata?: VendorUserData,\n): UpdateUserSupportProps => {\n\tconst user_id = data?.user_id || state.user.id;\n\tif (!user_id) {\n\t\treturn null;\n\t}\n\tconst { width, height } = getClientSize();\n\tconst user_hash = hmac_sha256(\n\t\tuser_id,\n\t\t'_Pt_7AgfVcParKjoU19EW_sr28WZD5elO5VEKE9W',\n\t);\n\treturn {\n\t\tname: data?.name || state.user.name,\n\t\temail: data?.email || state.user.email,\n\t\tuser_id,\n\t\tuser_hash,\n\t\tcreated_at: data?.created_at || state.user.joinedDate,\n\t\tcustom_data: {\n\t\t\tvip: data?.vip || state.vip.level.level,\n\t\t\t// @ts-expect-error invalid type\n\t\t\tappversion: `${NEXT_CONFIG.GIT_INFO?.branch || ''}_${\n\t\t\t\tNEXT_CONFIG.RELEASE_VERSION\n\t\t\t}`,\n\t\t\tbrowser_dimension: process.browser ? `${width}x${height}` : '',\n\t\t},\n\t};\n};\n","export const isFunction = (functionToCheck) => {\n\treturn (\n\t\tfunctionToCheck &&\n\t\t{}.toString.call(functionToCheck) === '[object Function]' &&\n\t\ttypeof functionToCheck === 'function'\n\t);\n};\n","export const isTrueOrZero = (value: any): boolean => {\n\treturn !!value || value === 0;\n};\n","export const itMayBeTrueTrustMe = (value: any) => {\n\tswitch (value) {\n\t\tcase 'True':\n\t\t\treturn true;\n\t\tcase 'true':\n\t\t\treturn true;\n\t\tcase true:\n\t\t\treturn true;\n\t\tcase 1:\n\t\t\treturn true;\n\t\tcase '1':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n","export const jsonToString = (json: any, space?: number): string => {\n\tif (typeof json === 'object') {\n\t\ttry {\n\t\t\treturn JSON.stringify(json, undefined, space);\n\t\t} catch (error) {\n\t\t\treturn `${error}`;\n\t\t}\n\t}\n\treturn json;\n};\n","export const preventDefault = (e) => e.preventDefault();\n","import { config } from '@legacyApp/client/config';\nimport { countPrecision } from '@legacyApp/methods/math/countPrecision';\n\nexport const roundNumber = (\n\toldAmount,\n\tdecimal: number = config.valueMaxPrecision,\n\tdirection = 'round',\n): number => {\n\tif (!oldAmount && oldAmount !== 0) {\n\t\treturn oldAmount;\n\t}\n\tconst amount = Number(oldAmount);\n\tif (countPrecision(oldAmount) <= decimal) {\n\t\treturn amount;\n\t}\n\tdecimal = Math.pow(10, decimal);\n\tconst result = Math[direction](amount * decimal) / decimal;\n\treturn result === 0 ? 0 : result;\n};\n","export const stringToJson = (string: any, defaultValue?: any) => {\n\tif (typeof string !== 'string') {\n\t\treturn string || defaultValue;\n\t}\n\tlet obj;\n\tif (['[', '{'].findIndex((el) => string.indexOf(el) > -1) === -1) {\n\t\treturn defaultValue;\n\t}\n\ttry {\n\t\tobj = JSON.parse(string);\n\t} catch (e) {\n\t\tobj = defaultValue || false;\n\t}\n\treturn obj;\n};\n","import uniloc from 'uniloc';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { removeEmptyProperties } from '../methods/removeEmptyProperties';\n\ninterface Routes {\n\t[key: string]: string;\n}\n\nexport enum ROUTE {\n\tslotsHomePage = 'slotsHomePage',\n\tslotPage = 'slotPage',\n\tslotAdminPage = 'slotAdminPage',\n\tslotMobilePage = 'slotMobilePage',\n\tslotGroupPage = 'slotGroupPage',\n\tslotCategoryPage = 'slotCategoryPage',\n\tslotProviderPage = 'slotProviderPage',\n\tslotSearchPage = 'slotSearchPage',\n\tslotFavorites = 'slotFavorites',\n\tslotNewGames = 'slotNewGames',\n\tslotCasino = 'slotCasino',\n\tapiSlotGameInfo = 'apiSlotGameInfo',\n\tapiSlotGameAlternativeSlug = 'apiSlotGameAlternativeSlug',\n\tapiSlotGamesList = 'apiSlotGamesList',\n\tapiPlaySlotGame = 'apiPlaySlotGame',\n\tapiSummarizeBets = 'apiSummarizeBets',\n\tapiExternalPlaySlotGame = 'apiExternalPlaySlotGame',\n\tapiExternalPlaySlotDemoGame = 'apiExternalPlaySlotDemoGame',\n\tapiSlotGamesByCategory = 'apiSlotGamesByCategory',\n\tapiSlotSearch = 'apiSlotSearch',\n\tapiSlotProviders = 'apiSlotProviders',\n\tapiSlotFavoriteGames = 'apiSlotFavoriteGames',\n\tapiSlotFavoriteGamesAll = 'apiSlotFavoriteGamesAll',\n\tapiSlotGetFavoriteGames = 'apiSlotGetFavoriteGames',\n\tapiSlotGetNewGames = 'apiSlotGetNewGames',\n\tapiSlotsCategoryGroup = 'apiSlotsCategoryGroup',\n\tapiSlotIsFavoriteGames = 'apiSlotIsFavoriteGames',\n\tapiSlotCategories = 'apiSlotCategories',\n\tapiUserVerificationStatus = 'apiUserVerificationStatus',\n\tapiUserVerificationStep = 'apiUserVerificationStep',\n\tapiUserVipWheelFunds = 'apiUserVipWheelFunds',\n\tapiUserVipWheelClaim = 'apiUserVipWheelClaim',\n\tapiUserBonusCodes = 'apiUserBonusCodes',\n\tapiCheckVersion = 'apiCheckVersion',\n\tapiSportsBetslipCashout = 'apiSportsBetslipCashout',\n\tapiSiteCurrencies = 'apiSiteCurrencies',\n\tapiSiteWallets = 'apiSiteWallets',\n\tapiStatsRace = 'apiStatsRace',\n\tapiStatsRaceLast = 'apiStatsRaceLast',\n\tapiUserStatsRace = 'apiUserStatsRace',\n\tapiSportsBookUserBetSlipHistory = 'apiSportsBookUserBetSlipHistory',\n\tapiCheckAccess = 'apiCheckAccess',\n\tapiUserBonusSummary = 'apiUserBonusSummary',\n\tapiCheckInsaneBonusCode = 'apiCheckInsaneBonusCode',\n\tapiCms = 'apiCms',\n\tapiCurrenciesCash = 'apiCurrenciesCash',\n\tapiProvidersCash = 'apiProvidersCash',\n\tapiDepositOfferCash = 'apiDepositOfferCash',\n\tapiUserFiatDepositOrder = 'apiUserFiatDepositOrder',\n\tapiUserFiatDeposits = 'apiUserFiatDeposits',\n\tapiUserSkinsDepositOrder = 'userSkinsDepositOrder',\n\tapiNewFeatures = 'apiNewFeatures',\n\tuserSportsBetSlipsHistory = 'userSportsBetSlipsHistory',\n\tuserSportsBetSlipsHistoryV1 = 'userSportsBetSlipsHistoryV1',\n\tuserVipRakeBackFunds = 'userVipRakeBackFunds',\n\tuserVipRakeBackFundsClaim = 'userVipRakeBackFundsClaim',\n}\n\nconst routes: Routes = {\n\t[ROUTE.slotsHomePage]: '/',\n\t[ROUTE.slotCategoryPage]: '/slots/:category',\n\t[ROUTE.slotProviderPage]: '/slots/provider/:provider',\n\t[ROUTE.slotGroupPage]: '/slots/group/:slug',\n\t[ROUTE.slotPage]: '/slots/game/:slug',\n\t[ROUTE.slotAdminPage]: '/slots/game/:slug/admin',\n\t[ROUTE.slotMobilePage]: '/slots/game/:slug/mobile/:mode',\n\t[ROUTE.slotSearchPage]: '/slots/search',\n\t[ROUTE.slotFavorites]: '/slots/favorite',\n\t[ROUTE.slotNewGames]: '/slots/new-games',\n\t[ROUTE.slotCasino]: '/casino',\n\t[ROUTE.apiSlotSearch]: '/v2/slots/search',\n\t[ROUTE.apiSlotGamesList]: '/v2/slots/game',\n\t[ROUTE.apiSlotGameInfo]: '/v2/slots/operator/info/:gameSlug',\n\t[ROUTE.apiSlotGameAlternativeSlug]:\n\t\t'/v2/slots/operator/alternative-slug/:gameSlug',\n\t[ROUTE.apiSlotProviders]: '/v2/slots/provider/list',\n\t[ROUTE.apiSlotCategories]: '/v2/slots/category/list',\n\t[ROUTE.apiPlaySlotGame]: '/v2/slots/play/:type/:operatorId/:gameId',\n\t[ROUTE.apiSlotGamesByCategory]: '/v2/slots/game/list/category/:categoryId',\n\t[ROUTE.apiSummarizeBets]: '/v2/slots/bets/summarize',\n\t[ROUTE.apiSlotFavoriteGames]: '/v2/slots/favorite-games',\n\t[ROUTE.apiSlotFavoriteGamesAll]: '/v2/slots/favorite-games/all',\n\t[ROUTE.apiSlotGetFavoriteGames]: '/v2/slots/favorite-games/:uuid',\n\t[ROUTE.apiSlotIsFavoriteGames]: '/v2/slots/favorite-games/check',\n\t[ROUTE.apiSlotGetNewGames]: '/v2/slots/game/new-games',\n\t[ROUTE.apiSlotsCategoryGroup]: '/v2/slots/category/group',\n\t[ROUTE.apiUserVerificationStatus]: '/user/kyc/status',\n\t[ROUTE.apiUserVerificationStep]: '/user/kyc/step/:level',\n\t[ROUTE.apiUserVipWheelFunds]: '/user/wheel/funds',\n\t[ROUTE.apiUserVipWheelClaim]: '/user/wheel/claim',\n\t[ROUTE.apiUserBonusCodes]: '/user/bonus-codes',\n\t[ROUTE.apiCheckVersion]: '/check_version',\n\t[ROUTE.apiCheckAccess]: '/check_access_denied',\n\t[ROUTE.apiSportsBetslipCashout]: '/betslip/cashout',\n\t[ROUTE.apiSiteCurrencies]: '/site/currencies',\n\t[ROUTE.apiSiteWallets]: '/v2/site/wallets',\n\t[ROUTE.apiStatsRace]: '/stats/race',\n\t[ROUTE.apiStatsRaceLast]: '/stats/race-last',\n\t[ROUTE.apiUserStatsRace]: '/user/stats/race',\n\t[ROUTE.apiSportsBookUserBetSlipHistory]:\n\t\t'/v2/sportsbook/user/betslips/:state',\n\t[ROUTE.userSportsBetSlipsHistory]: '/user/sports/history/:state',\n\t[ROUTE.userSportsBetSlipsHistoryV1]: '/user/sports/history/:state/v1',\n\t[ROUTE.userVipRakeBackFunds]: '/user/rakeback/funds',\n\t[ROUTE.userVipRakeBackFundsClaim]: '/user/rakeback/withdraw',\n\t[ROUTE.apiUserBonusSummary]: '/user/stats/bonus-summary',\n\t[ROUTE.apiCheckInsaneBonusCode]: '/user/bonus-codes/check',\n\t[ROUTE.apiCms]: '/:collection',\n\t[ROUTE.apiCurrenciesCash]: '/v2/currencies/cash',\n\t[ROUTE.apiProvidersCash]: '/v2/providers/cash',\n\t[ROUTE.apiDepositOfferCash]: '/v2/deposit/offer/cash',\n\t[ROUTE.apiUserFiatDepositOrder]: '/v2/user/fiat-deposit/order',\n\t[ROUTE.apiUserFiatDeposits]: '/v2/user/fiat-deposits',\n\t[ROUTE.apiUserSkinsDepositOrder]: '/v2/user/skins-deposit/order',\n\t[ROUTE.apiNewFeatures]: '/api/new_features',\n};\n\nconst getUnilocRoutes = (routesList: Routes, methodType = 'GET'): object => {\n\treturn Object.keys(routesList).reduce(\n\t\t(accumulator: any, current: string): object => {\n\t\t\taccumulator[current] = `${methodType} ${routesList[current]}`;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{},\n\t);\n};\n\nexport type GenerateUrl = (name: ROUTE, options?: {}) => string;\n\nconst ROUTER = uniloc(getUnilocRoutes(routes));\nexport const generateUrl: GenerateUrl = (name, options) => {\n\ttry {\n\t\treturn ROUTER.generate(name, removeEmptyProperties(options));\n\t} catch (error) {\n\t\tsentryError(new Error(`Error in generateUrl: ${name}`), {\n\t\t\tname,\n\t\t\toptions,\n\t\t\terror,\n\t\t});\n\t\treturn '';\n\t}\n};\n","import { isTrueOrZero } from './isTrueOrZero';\n\nexport const removeEmptyProperties = (obj: Record<string, any>) => {\n\tif (!obj) {\n\t\treturn undefined;\n\t}\n\tif (Array.isArray(obj)) {\n\t\treturn obj;\n\t}\n\treturn Object.fromEntries(\n\t\tObject.entries(obj)\n\t\t\t.filter(([_, v]) => {\n\t\t\t\treturn isTrueOrZero(v);\n\t\t\t})\n\t\t\t.map(([k, v]) => [k, v === Object(v) ? removeEmptyProperties(v) : v]),\n\t);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { languageConfig } from '@server/config/language.config';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { DeviceType } from '../methods/getDeviceType';\n\nexport const useAppVisible = () =>\n\tuseAppSelector<boolean>((state) => state.app.visible, shallowEqual);\nexport const useAppDeviceType = () =>\n\tuseAppSelector<DeviceType>((state) => state.app.deviceType, shallowEqual);\nexport const useContentDeviceType = () =>\n\tuseAppSelector((state) => state.app.contentDeviceType, shallowEqual);\nexport const useAppMobile = () =>\n\tuseAppSelector<boolean>((state) => state.app.mobile, shallowEqual);\nexport const useAppLanguage = () =>\n\tuseAppSelector<string>(\n\t\t(state) => state.app.language || languageConfig.default,\n\t\tshallowEqual,\n\t);\nexport const useAppNoDefaultLanguage = () =>\n\tuseAppSelector<string>((state) => state.app.language, shallowEqual);\nexport const useAppInitialized = () =>\n\tuseAppSelector<boolean>((state) => state.app.initialized, shallowEqual);\nexport const useAppIsViewLocked = () =>\n\tuseAppSelector<RootState['app']['isViewLocked']>(\n\t\t(state) => state.app.isViewLocked,\n\t\tshallowEqual,\n\t);\nexport const useAppCsrf = () =>\n\tuseAppSelector((state) => state.app.csrf, shallowEqual);\nexport const useAppIsMenuVisible = () =>\n\tuseAppSelector<boolean>((state) => state.app.isMenuVisible, shallowEqual);\nexport const useAppIsSideMenuVisible = () =>\n\tuseAppSelector<boolean>((state) => state.app.isSideMenuVisible, shallowEqual);\nexport const useAppIsMaintenanceMode = () =>\n\tuseAppSelector<boolean>((state) => state.app.maintenanceMode, shallowEqual);\nexport const useAppHeight = () =>\n\tuseAppSelector<RootState['app']['height']>(\n\t\t(state) => state.app.height,\n\t\tshallowEqual,\n\t);\nexport const useAppWidth = () =>\n\tuseAppSelector<RootState['app']['width']>(\n\t\t(state) => state.app.width,\n\t\tshallowEqual,\n\t);\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\n\nexport const useNotificationsData = () =>\n\tuseAppSelector((state) => state.notification.data);\nexport const useNotification = (key: NOTIFICATION_ID) =>\n\tuseAppSelector((state) => state.notification.data[key]);\nexport const useNotificationsIsAny = () =>\n\tuseAppSelector<boolean>((state) => state.notification.isAny, shallowEqual);\n","import { shallowEqual } from 'react-redux';\nimport queryString from 'query-string';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\n\nexport enum QueryKeys {\n\tTAB = 'tab',\n\tWALLET_TAB = 'walletTab',\n}\n\nexport const useRouterQueryKey = (key: string) =>\n\tuseAppSelector(\n\t\t(state) =>\n\t\t\tkey\n\t\t\t\t? (queryString.parse(state.router.location.search)[key] as string) || ''\n\t\t\t\t: '',\n\t\tshallowEqual,\n\t);\nexport const useRouterQueryTab = () => useRouterQueryKey(QueryKeys.TAB);\nexport const useRouterPathname = () =>\n\tuseAppSelector(\n\t\t(state) => (state.router.location.pathname as string) || '',\n\t\tshallowEqual,\n\t);\nexport const useRouterSearch = () =>\n\tuseAppSelector(\n\t\t(state) => (state.router.location.search as string) || '',\n\t\tshallowEqual,\n\t);\n","import { shallowEqual } from 'react-redux';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\n\nexport const useStatsPrice = (currency: CurrencyType) =>\n\tuseAppSelector<number>(\n\t\t(state) => state.stats.price?.[currency],\n\t\tshallowEqual,\n\t);\nexport const useStatsOnline = () =>\n\tuseAppSelector<number>((state) => state.stats.online, shallowEqual);\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { AvailableBonusCode } from '@legacyApp/client/store/user/user.interfaces';\nimport { RaceBadgeType } from '@legacyApp/types/user/UserType';\nimport transactionService from '../../modules/transactions/transactionsService';\n\nexport const useUserIsLogged = () =>\n\tuseAppSelector<boolean>((state) => state.user.isLogged, shallowEqual);\nexport const useUserName = () =>\n\tuseAppSelector<string>((state) => state.user.name, shallowEqual);\nexport const useUserId = () =>\n\tuseAppSelector<string>((state) => state.user.id, shallowEqual);\nexport const useUserRaceBadge = () =>\n\tuseAppSelector<RaceBadgeType>((state) => state.user.raceBadge, shallowEqual);\nexport const useUserActiveCurrency = () =>\n\tuseAppSelector<CurrencyType>(\n\t\t(state) => state.user.activeCurrency,\n\t\tshallowEqual,\n\t);\nexport const useUserToken = () =>\n\tuseAppSelector<{\n\t\tvalue: string;\n\t\texpiresAt: number;\n\t}>(\n\t\t(state) => state.user.token,\n\t\t(prev, next) => !transactionService.isDataDifferent(prev, next),\n\t);\nexport const useUserTokenValue = () =>\n\tuseAppSelector<string>((state) => state.user.token?.value, shallowEqual);\nexport const useUserKycToVerify = () =>\n\tuseAppSelector<boolean>((state) => state.user.hasKycToVerify, shallowEqual);\nexport const useUserEmailToVerify = () =>\n\tuseAppSelector<boolean>((state) => state.user.hasEmailToVerify, shallowEqual);\nexport const useUserEmail = () =>\n\tuseAppSelector<string>((state) => state.user.email, shallowEqual);\nexport const useUserWithdrawBlocked = () =>\n\tuseAppSelector<boolean>((state) => state.user.withdrawBlocked, shallowEqual);\nexport const useUserWithdrawBlockedTimestamp = () =>\n\tuseAppSelector<number>(\n\t\t(state) => state.user.withdrawBlockedTimestamp,\n\t\tshallowEqual,\n\t);\nexport const useUserIsAdmin = () =>\n\tuseAppSelector<boolean>((state) => state.user.isAdmin, shallowEqual);\nexport const useUserIsModerator = () =>\n\tuseAppSelector<boolean>((state) => state.user.isModerator, shallowEqual);\nexport const useUserIsHighRoller = () =>\n\tuseAppSelector<boolean>((state) => state.user.isHighRoller, shallowEqual);\nexport const useUserJoinedAt = () =>\n\tuseAppSelector<boolean>((state) => state.user.joinedDate, shallowEqual);\n\ntype UseAvailableBonusCode = () => AvailableBonusCode | null;\nexport const useUserHasAvailableBonusCode: UseAvailableBonusCode = () =>\n\tuseAppSelector(\n\t\t(state) => state.user.hasAvailableBonusCode,\n\t\t(prev, next) =>\n\t\t\ttransactionService.isDuplicate(prev, next, [\n\t\t\t\t'amount',\n\t\t\t\t'code',\n\t\t\t\t'currency',\n\t\t\t\t'created_at',\n\t\t\t]),\n\t);\n","import { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const checkIsNewFeatures = (onlyCheck, newFeatures) => {\n\tif (!newFeatures || (newFeatures && !newFeatures.length)) {\n\t\treturn false;\n\t}\n\n\tlet lastRead = lsGet(LocalStorageKeys.NEW_FEATURES_TIMESTAMP);\n\n\tif (!onlyCheck) {\n\t\tlsSet(LocalStorageKeys.NEW_FEATURES_TIMESTAMP, newFeatures[0].date);\n\t\tlastRead = lsGet(LocalStorageKeys.NEW_FEATURES_TIMESTAMP);\n\t}\n\n\tif (!lastRead) {\n\t\treturn true;\n\t}\n\tif (lastRead && newFeatures[0].date > lastRead) {\n\t\treturn onlyCheck;\n\t}\n\treturn false;\n};\n","import {\n\tfetchLocal,\n\tparseProps,\n} from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { generateUrl, ROUTE } from '@common/routes';\nimport { checkIsNewFeatures } from '@legacyApp/methods/app/checkIsNewFeatures';\nimport {\n\tnotificationDisable,\n\tnotificationEnable,\n} from '@legacyApp/client/store/notification/notification.actions';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { minute } from '@legacyApp/client/modules/app/time';\n\nexport type NewFeaturesData = Array<{ description: string; date: string }>;\n\nexport type FetchNewFeaturesData = {\n\tdata: NewFeaturesData;\n};\n\nexport const getNewFeaturesThunk = (\n\tlanguage: string,\n): AppThunk<Promise<FetchNewFeaturesData>> => {\n\treturn (dispatch) => {\n\t\tif (!language) {\n\t\t\treturn Promise.resolve({ data: [] });\n\t\t}\n\n\t\tconst data = {\n\t\t\turl: `${generateUrl(ROUTE.apiNewFeatures)}?locale=${language}`,\n\t\t\tfromState: 2 * minute,\n\t\t};\n\n\t\treturn dispatch(fetchLocal(...parseProps(data)));\n\t};\n};\n\nexport const handleGetNewFeaturesWithNotificationThunk = (\n\tonlyCheck: boolean,\n\tlanguage: string,\n): AppThunk => {\n\treturn async (dispatch) => {\n\t\tconst data = await dispatch(getNewFeaturesThunk(language));\n\n\t\tconst isEnabled = checkIsNewFeatures(onlyCheck, data.data);\n\n\t\tdispatch(\n\t\t\tisEnabled\n\t\t\t\t? notificationEnable(NOTIFICATION_ID.NEW_FEATURES)\n\t\t\t\t: notificationDisable(NOTIFICATION_ID.NEW_FEATURES),\n\t\t);\n\t};\n};\n","import { useCallback, useEffect } from 'react';\n\nimport { useForceUpdate } from '@legacyApp/hooks/app/useForceRerender';\nimport {\n\tuseAppIsSideMenuVisible,\n\tuseAppMobile,\n} from '@common/selectors/app.selectors';\nimport {\n\tsetLockedView,\n\ttoggleSideMenu,\n} from '@legacyApp/client/store/app/app.actions';\nimport { useDispatchCallback } from '@legacyApp/hooks/store/useAppDispatch';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const useSideMenu = () => {\n\tconst isOpen = useAppIsSideMenuVisible();\n\tconst isMobile = useAppMobile();\n\n\tconst dispatchSetLockedView = useDispatchCallback(setLockedView);\n\tconst dispatchToggleSideMenu = useDispatchCallback(toggleSideMenu);\n\n\tconst update = useForceUpdate();\n\n\tconst toggleSideMenu_ = (bool) => {\n\t\tif (bool) {\n\t\t\tdocument.body.classList.add('left-menu-visible');\n\t\t\tdocument.body.classList.remove('left-menu-hidden');\n\t\t} else {\n\t\t\tdocument.body.classList.remove('left-menu-visible');\n\t\t\tdocument.body.classList.add('left-menu-hidden');\n\t\t}\n\n\t\tif (isMobile) {\n\t\t\tdispatchSetLockedView('sideMenuProvider', bool);\n\t\t}\n\n\t\tlsSet(LocalStorageKeys.SIDE_MENU_IS_OPEN, bool);\n\n\t\tdispatchToggleSideMenu(bool);\n\t};\n\n\tuseEffect(() => {\n\t\tupdate();\n\t}, [isOpen, update]);\n\n\tconst closeOnMobile = useCallback(() => {\n\t\tif (isMobile) {\n\t\t\ttoggleSideMenu_(false);\n\t\t}\n\t}, [isMobile]);\n\n\treturn {\n\t\tisOpen,\n\t\tsetIsOpen: toggleSideMenu_,\n\t\tcloseOnMobile,\n\t};\n};\n","import dynamic from 'next/dynamic';\nimport { RectangleLoader } from '@common/components/contentLoaders/RectangleLoader';\n\nexport const Balance = dynamic(() => import('./components/Balance'), {\n\tssr: false,\n\tloading: () => (\n\t\t<RectangleLoader\n\t\t\tpassToWrapper\n\t\t\theight={25}\n\t\t\twidth={150}\n\t\t\tid={'balanceElement'}\n\t\t/>\n\t),\n});\nexport const BalanceContainer = dynamic(\n\t() => import('./components/Balance.container'),\n\t{\n\t\tssr: false,\n\t\tloading: () => (\n\t\t\t<RectangleLoader\n\t\t\t\tpassToWrapper\n\t\t\t\theight={25}\n\t\t\t\twidth={150}\n\t\t\t\tid={'balanceElement'}\n\t\t\t/>\n\t\t),\n\t},\n);\n","import { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport { PayloadActionCall } from '@legacyApp/client/store/store.types';\nimport { checkBalancesArray } from '@legacyApp/client/modules/app/balanceService';\nimport {\n\tBALANCE_FETCH,\n\tBALANCE_SET_CONVERTED,\n\tSET_BALANCES_ARRAY,\n\tUPDATE_BALANCE,\n} from './balance.constants';\nimport { BalanceReducerType } from './balance.reducer';\nimport { UserBalance } from './UserBalance.type';\n\nexport const setBalancesArray = (payload, source) => ({\n\ttype: SET_BALANCES_ARRAY,\n\tpayload: checkBalancesArray(source, payload),\n});\n\nexport const updateBalance = (\n\tpayload: UserBalance[] | UserBalance,\n\tsource?: string,\n) => ({\n\ttype: UPDATE_BALANCE,\n\tpayload,\n\tsource,\n});\n\nexport const balanceSetConverted: PayloadActionCall<\n\tBalanceReducerType['balanceConverted']\n> = (payload) => {\n\treturn {\n\t\ttype: BALANCE_SET_CONVERTED,\n\t\tpayload,\n\t};\n};\n\nexport const balanceFetch = actionSimple(BALANCE_FETCH);\n","export const SET_BALANCES_ARRAY = 'SET_BALANCES_ARRAY';\nexport const UPDATE_BALANCE = 'UPDATE_BALANCE';\nexport const BALANCE_FETCH = 'BALANCE_FETCH';\nexport const BALANCE_SET_CONVERTED = 'BALANCE_SET_CONVERTED';\n\nexport enum BalanceConvertedCurrencies {\n\tUSD = 'usd',\n}\n","import styled, { css } from 'styled-components';\nimport { HTMLAttributes } from 'react';\nimport {\n\tDropdownArrowParentMixin,\n\tDropdownArrowStyled,\n} from '@ui/dropdown/DropdownArrow';\nimport { currencyLogoStyle } from '@legacyApp/client/modules/style/mixins/currencyLogoStyle';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\n\ninterface BalanceCurrencyStyledProps extends HTMLAttributes<HTMLDivElement> {\n\tname?: string;\n}\n\nexport const StyledBalanceCurrency = styled.div.attrs<BalanceCurrencyStyledProps>(\n\t() => ({\n\t\tclassName: 'balance__currency',\n\t}),\n)<BalanceCurrencyStyledProps>`\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tgap: 15px;\n\tpadding: 12px 35px 12px 12px;\n\ttransition: ${(props) => props.theme.layout.transition};\n\twhite-space: nowrap;\n\tposition: relative;\n\n\t${DropdownArrowStyled} {\n\t\tright: 10px;\n\t}\n\n\t.balance__currency--margin {\n\t\tmargin-right: 4px;\n\t}\n\n\t&.is-table-row {\n\t\tdisplay: table-row;\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media.maxWidthTablet,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\t.currency-logo {\n\t\t\t\t\t${currencyLogoStyle({ size: '15px', important: true })}\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t)}\n`;\n\nexport const StyledActiveBalanceCurrency = styled(StyledBalanceCurrency)`\n\tbackground-color: var(--color-dark-900);\n\theight: 100%;\n\tpadding: 7.5px 35px 7.5px 12px;\n\t${DropdownArrowParentMixin};\n\n\t${DropdownArrowStyled} {\n\t\tright: 5px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media_v2.max_mobile_large}) {\n\t\tpadding-top: 5px;\n\t\tpadding-bottom: 5px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media_v2.max_mobile_medium}) {\n\t\tpadding-top: 8.5px;\n\t\tpadding-bottom: 8.5px;\n\t}\n`;\n","export const mapCaptchaLanguage = (lang) => {\n\tif (!lang) {\n\t\treturn 'en';\n\t}\n\tif (lang === 'jp') {\n\t\treturn 'ja';\n\t}\n\tif (lang === 'ph') {\n\t\treturn 'tl';\n\t}\n\treturn lang;\n};\n","import { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\n\nexport const CASINO_PAGE_ID = {\n\tINDEX: 'casino',\n};\n\nexport const CASINO_META = {\n\t[CASINO_PAGE_ID.INDEX]: {\n\t\ttitle: 'In-house Games',\n\t\tnamespace: TransNamespace.COMMON,\n\t},\n};\n","import { FC, PropsWithChildren, useCallback, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { useSportsSideContent } from '../../../sports/store/selectors/sportsBetSlip.selectors';\nimport { chatActions } from '../../store/chat.actions';\nimport { sportsSetSideContent } from '../../../sports/store/sports/sports.thunk';\nimport { useSideMenu } from '../../../SideMenu/hooks/useSideMenu';\nimport { useChatVisible } from '../../store/selectors/useChatVisible';\nimport { useChatDisabled } from '../../store/selectors/useChatDisabled';\nimport ChatStoreController from '../../store/ChatStoreController';\n\nexport const ChatToggleWrapper: FC<\n\tPropsWithChildren<{\n\t\tdisabled?: boolean;\n\t\tclassName?: string;\n\t\tisContentType?: string;\n\t}>\n> = ({ children, disabled, className, isContentType }) => {\n\tconst dispatch = useDispatch();\n\n\tconst isMobile = useAppMobile();\n\tconst disabled_ = useChatDisabled();\n\tconst contentType = useSportsSideContent();\n\tconst isChatOpen = useChatVisible();\n\n\tconst { isOpen: isSideMenuOpen, setIsOpen: setIsSideMenuOpen } =\n\t\tuseSideMenu();\n\tconst prevIsSideMenuOpen = usePrevious(isSideMenuOpen);\n\n\tconst toggleChat = useCallback(\n\t\t(bool: boolean) => {\n\t\t\tif (isSideMenuOpen && !!bool) {\n\t\t\t\tsetIsSideMenuOpen(false);\n\t\t\t}\n\t\t\tdispatch(chatActions.setVisible({ isVisible: bool }));\n\t\t},\n\t\t[dispatch, isSideMenuOpen, setIsSideMenuOpen],\n\t);\n\tconst setContentType = useCallback(\n\t\t(type) => dispatch(sportsSetSideContent(type || false)),\n\t\t[dispatch],\n\t);\n\n\tconst onClick = useCallback(() => {\n\t\tif (!isMobile) {\n\t\t\treturn toggleChat(!isChatOpen);\n\t\t}\n\t\tif (isContentType && isContentType === contentType) {\n\t\t\tif (isChatOpen) {\n\t\t\t\tsetContentType(false);\n\t\t\t\ttoggleChat(false);\n\t\t\t} else {\n\t\t\t\ttoggleChat(true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (isContentType) {\n\t\t\tsetContentType(isContentType);\n\t\t\tif (!isChatOpen) {\n\t\t\t\ttoggleChat(true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (isChatOpen) {\n\t\t\tif (contentType) {\n\t\t\t\tsetContentType(false);\n\t\t\t} else {\n\t\t\t\ttoggleChat(false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (contentType) {\n\t\t\tsetContentType(false);\n\t\t}\n\t\ttoggleChat(true);\n\t}, [\n\t\tcontentType,\n\t\tisContentType,\n\t\tisMobile,\n\t\tsetContentType,\n\t\ttoggleChat,\n\t\tisChatOpen,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (isSideMenuOpen && !prevIsSideMenuOpen) {\n\t\t\ttoggleChat(false);\n\t\t}\n\t}, [isSideMenuOpen, prevIsSideMenuOpen, toggleChat]);\n\n\tif (disabled || disabled_) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ChatStoreController />\n\t\t\t<div onClick={onClick} className={className || 'box-no-height'}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n","import styled from 'styled-components';\nimport { rgba } from 'polished';\nimport { StyledUserName } from '@ui/user-name/user-name.styled';\nimport {\n\tborderRadius,\n\tboxNoHeight,\n} from '@legacyApp/client/modules/style/defaults';\nimport { StyledExpertConfig } from '@legacyApp/client/components/strategy/strategyAdvancedElementV3/ExpertConfig.styled';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nexport const MessageTextStyled = styled.span`\n\tcolor: ${(props) => props.theme.colors.text};\n\twhite-space: pre-line;\n\tword-break: break-word;\n\th5 {\n\t\tmargin: 0 !important;\n\n\t\ti,\n\t\t.game-icon {\n\t\t\tfont-size: 12px !important;\n\n\t\t\timg,\n\t\t\tsvg {\n\t\t\t\theight: 9px;\n\t\t\t\tmargin-right: 3px;\n\t\t\t}\n\t\t}\n\n\t\t.small-text {\n\t\t\t${fontSize({\n\t\t\t\tsize: '10px',\n\t\t\t\tsizeDesktop: '10px',\n\t\t\t})}\n\t\t}\n\t}\n\n\ta:not(${StyledUserName}) {\n\t\ttext-decoration: underline;\n\t}\n\n\t> ${StyledUserName} {\n\t\tbackground: ${(props) => rgba(props.theme.colors.inputButton, 0.41)};\n\t\tborder-radius: 3px;\n\t\tmargin-top: -1px;\n\t\tpadding: 1px 3px 1px 2px;\n\t\twhite-space: pre;\n\t\tword-break: break-word;\n\n\t\t@-moz-document url-prefix() {\n\t\t\twhite-space: pre-line;\n\t\t}\n\n\t\t&.user-name--my {\n\t\t\tbackground-color: ${(props) =>\n\t\t\t\trgba(props.theme.colors.level.bronze, 0.66)}!important;\n\t\t\tborder: 1px solid ${(props) => props.theme.colors.level.bronze};\n\t\t\tpadding-bottom: 0;\n\t\t\tpadding-top: 0;\n\t\t}\n\t}\n\n\t.bet-id {\n\t\tpadding: 5px;\n\n\t\t.bet-result--small {\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.emoji-sizer,\n\t.emoji-inner {\n\t\tbackground-size: 100%;\n\t\tdisplay: inline-block;\n\t\theight: 13px;\n\t\tmargin: 0 2px -3px 0;\n\t\twidth: 13px;\n\t}\n\n\t.balance__currency--wrapper {\n\t\tdisplay: inline-flex !important;\n\n\t\t.currency-logo {\n\t\t\tmargin-left: 2px !important;\n\t\t\tmargin-right: 2px;\n\t\t\tmargin-top: -7px;\n\t\t}\n\t}\n\n\t${StyledExpertConfig} {\n\t\t.currency-logo {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\n\t.box-wrapper {\n\t\t${boxNoHeight};\n\t\tbackground-color: #051426;\n\t\tborder: 1px solid ${(props) => rgba(props.theme.colors.inputButton, 0.5)};\n\t\tdisplay: inline;\n\t\tmargin: 5px 0;\n\t\tmax-width: 100%;\n\t\toverflow: hidden;\n\t\tposition: static;\n\t\t${borderRadius};\n\n\t\th5 {\n\t\t\tborder-radius: 0 !important;\n\t\t}\n\n\t\t.strategy {\n\t\t\tpadding: 5px;\n\t\t\twidth: calc(100% + 10px);\n\n\t\t\t.input-wrapper {\n\t\t\t\tpadding: 0 0 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t> * {\n\t\tmargin-right: 3px;\n\t}\n`;\n\nexport const MessageTextBoxStyled = styled.span`\n\tdisplay: inline-block;\n\tmargin: 0;\n\twidth: 100%;\n`;\n","import { LoginNameType } from '@legacyApp/types/user/LoginNameType';\n\nexport enum ChatBotTypes {\n\tTIP = 'tip',\n\tINFO = 'info',\n\tRAIN = 'rain',\n}\n\nexport type ChatBotLogin = `${ChatBotTypes}bot`;\n\nexport const createBotLogin = (type: ChatBotTypes): ChatBotLogin => {\n\treturn `${type}bot`;\n};\n\nexport const CHAT_BOTS = Object.keys(ChatBotTypes).map((key: ChatBotTypes) =>\n\tcreateBotLogin(ChatBotTypes[key]),\n);\n\nexport const getBotType = (username: LoginNameType): ChatBotTypes => {\n\tconst botType = String(username).replace('bot', '');\n\treturn botType as ChatBotTypes;\n};\n\nexport const checkIsBotLogin = (username: LoginNameType): boolean => {\n\treturn CHAT_BOTS.indexOf(String(username) as ChatBotLogin) > -1;\n};\n","export const checkChatDisabled = (pathname: string) => {\n\tif (pathname === '/') {\n\t\treturn false;\n\t}\n\treturn ['/login', '/register'].some((el) => pathname.indexOf(el) > -1);\n};\n","import { LoginNameType } from '@legacyApp/types/user/LoginNameType';\nimport { HIDDEN_USER } from '@common/constants/user/HIDDEN_USER';\nimport { checkIsBotLogin } from '../constants/BOTS';\n\nexport const checkRealUserName = (name: LoginNameType): boolean => {\n\tif (typeof name === 'string') {\n\t\treturn name !== HIDDEN_USER && !checkIsBotLogin(name);\n\t}\n\treturn false;\n};\n","import { LoginNameType } from '@legacyApp/types/user/LoginNameType';\nimport sortService, {\n\tDIRECTION,\n} from '../../../LegacyApp/client/modules/app/sortService';\n\nexport const sortUsers = (users: Array<LoginNameType>): Array<LoginNameType> =>\n\tusers.sort((a, b) =>\n\t\tsortService.sort(\n\t\t\tDIRECTION.ASC,\n\t\t\ttypeof a === 'string' ? a.toLowerCase() : a,\n\t\t\ttypeof b === 'string' ? b.toLowerCase() : b,\n\t\t),\n\t);\n","export const toggleChatVisibilityBodyClass = (isVisible: boolean) => {\n\tif (isVisible) {\n\t\tdocument.body.classList.add('chat-visible');\n\t\tdocument.body.classList.remove('chat-hidden');\n\t} else {\n\t\tdocument.body.classList.add('chat-hidden');\n\t\tdocument.body.classList.remove('chat-visible');\n\t}\n};\n","import { FC } from 'react';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { PackageType } from '@legacyApp/client/store/registry/registry.constants';\n\nconst ChatStoreController: FC = () => {\n\treturn null;\n};\n\nexport const chatStoreProps = {\n\tasyncReducers: [\n\t\t{\n\t\t\tid: 'chat',\n\t\t\tcallback: () => import('./chat.reducer'),\n\t\t},\n\t],\n\tasyncEpics: [\n\t\t{\n\t\t\tid: 'chat',\n\t\t\tcallback: () => import('./chat.epic'),\n\t\t},\n\t],\n\tasyncPackage: PackageType.CHAT,\n};\n\nexport default enhanceComponent({\n\tSeedStoreController: ChatStoreController,\n\tprops: chatStoreProps,\n});\n","import { visibleSlice } from './slices/visible.slice';\nimport { roomSlice } from './slices/room.slice';\nimport { streamSlice } from './slices/stream.slice';\nimport { usersSlice } from './slices/users.slice';\nimport { messageSlice } from './slices/message.slice';\nimport { widthSlice } from './slices/width.slice';\nimport { contentTypeSlice } from './slices/contentType.slice';\nimport { privateActiveSlice } from './slices/privateActive.slice';\nimport { disabledSlice } from './slices/disabled.slice';\n\nexport const chatActions = {\n\t...visibleSlice.actions,\n\t...roomSlice.actions,\n\t...streamSlice.actions,\n\t...usersSlice.actions,\n\t...messageSlice.actions,\n\t...widthSlice.actions,\n\t...contentTypeSlice.actions,\n\t...privateActiveSlice.actions,\n\t...disabledSlice.actions,\n};\n","export class pendingActionsClass {\n\tconstructor() {\n\t\tthis.data = {};\n\t}\n\n\tsetTimeout(id, callback, timeout) {\n\t\t// console.log('setTimeoutPending', id, this);\n\t\tthis.data[id] = setTimeout(() => {\n\t\t\t// console.log('callbackPending', id, this);\n\t\t\tcallback();\n\t\t}, timeout);\n\t}\n\n\tis(id) {\n\t\t// console.log('isPending', id, !!this.data[id], this);\n\t\treturn !!this.data[id];\n\t}\n\n\treset(id) {\n\t\tif (this.data[id]) {\n\t\t\t// console.log('resetPending', id, this);\n\t\t\tclearTimeout(this.data[id]);\n\t\t\tdelete this.data[id];\n\t\t}\n\t}\n}\n","import { pendingActionsClass } from '@legacyApp/client/modules/app/pendingActions';\n\nexport const unbindStreams = new pendingActionsClass();\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\n\nexport const useChatDisabled = () =>\n\tuseAppSelector((state) => state?.chat?.disabled, shallowEqual);\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { RootState } from '@legacyApp/client/store/configure.store';\n\nexport const useChatVisible = () =>\n\tuseAppSelector<RootState['chat']['visible']>(\n\t\t(state) => state?.chat?.visible,\n\t\tshallowEqual,\n\t);\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nexport enum ContentType {\n\tSTREAM = 'stream',\n\tPRIVATE = 'private',\n\tFRIENDS = 'friends',\n}\n\nconst initialState = ContentType.STREAM;\n\nconst NAME = 'contentType';\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tContentType,\n\tReduxToolkit.PayloadAction<ContentType>\n> = (state, action) => {\n\tif (!action.payload) {\n\t\treturn ContentType.STREAM;\n\t}\n\treturn action.payload;\n};\n\nexport const contentTypeSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetContentType: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = false;\n\nconst NAME = 'disabled';\n\nexport type ValueType = boolean;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\tif (!action.payload) {\n\t\treturn null;\n\t}\n\treturn action.payload;\n};\n\nexport const disabledSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetDisabled: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = '';\n\nconst NAME = 'message';\nexport type ValueType = string;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nconst updateAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\tconst input = process.browser ? document.getElementById('chat-input') : false;\n\tif (input) {\n\t\tinput.focus();\n\t}\n\treturn state + action.payload;\n};\n\nexport const messageSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetMessage: setAction,\n\t\tupdateMessage: updateAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nexport type ValueType = string;\nconst initialState: ValueType = null;\nconst NAME = 'privateActive';\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\tif (!action.payload) {\n\t\treturn null;\n\t}\n\treturn action.payload;\n};\n\nexport const privateActiveSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetPrivateActive: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport type ValueType = string;\nconst initialState: ValueType = lsGet(LocalStorageKeys.CHAT_ROOM) || null;\n\nconst NAME = 'room';\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<{\n\t\tname: ValueType;\n\t\tlastRoom?: ValueType;\n\t}>\n> = (state, action) => {\n\tlsSet(LocalStorageKeys.CHAT_ROOM, action.payload.name);\n\treturn action.payload.name;\n};\n\nexport const roomSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetRoom: setAction,\n\t},\n});\n","import { config } from '@legacyApp/client/config';\nimport { filterArrayDuplicates } from '@legacyApp/client/modules/app/appService';\nimport { Message } from '../types/Message.type';\n\nexport const parseStream = (data: Array<Message>) => {\n\tif (!data || !data.length) {\n\t\treturn data;\n\t}\n\tif (data.length <= config.chatStreamLength) {\n\t\treturn filterArrayDuplicates(data);\n\t}\n\treturn filterArrayDuplicates(\n\t\tdata.slice(data.length - config.chatStreamLength),\n\t);\n};\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { config } from '@legacyApp/client/config';\nimport { Message } from '../../types/Message.type';\nimport { parseStream } from '../../methods/parseStream';\n\nconst initialState = {\n\t[config.chat.rooms[0].name]: [],\n};\n\nconst NAME = 'stream';\nexport type ValueType = Record<string, Array<Message>>;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<{\n\t\troom: string;\n\t\tlist: Array<Message>;\n\t}>\n> = (state, action) => {\n\treturn {\n\t\t...state,\n\t\t[action.payload.room]: parseStream(action.payload.list),\n\t};\n};\n\nconst updateAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<{\n\t\troom: string;\n\t\tdata: Message;\n\t}>\n> = (state, action) => {\n\tconst data = action.payload.data;\n\treturn {\n\t\t...state,\n\t\t[action.payload.room]: parseStream([...state[action.payload.room], data]),\n\t};\n};\n\nexport const streamSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetStream: setAction,\n\t\tupdateStream: updateAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nimport { LoginNameType } from '@legacyApp/types/user/LoginNameType';\nimport { sortUsers } from '../../methods/sortUsers';\n\nexport type ValueType = Array<LoginNameType>;\nconst initialState: ValueType = [];\n\nconst NAME = 'users';\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nconst addAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<LoginNameType>\n> = (state, action) => {\n\tif (state.indexOf(action.payload) > -1) {\n\t\treturn state;\n\t}\n\treturn sortUsers([...state, action.payload]);\n};\n\nexport const usersSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetUsers: setAction,\n\t\taddUser: addAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { toggleChatVisibilityBodyClass } from '../../methods/toggleChatVisibilityBodyClass';\nimport { checkChatDisabled } from '../../methods/checkChatDisabled';\n\nlet initialState = !!lsGet(LocalStorageKeys.CHAT_VISIBLE);\nif (process.browser) {\n\tif (checkChatDisabled(document.location.pathname)) {\n\t\tinitialState = false;\n\t} else {\n\t\ttoggleChatVisibilityBodyClass(initialState);\n\t}\n}\n\nconst NAME = 'visible';\n\nexport type ValueType = boolean;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<{\n\t\tisVisible: ValueType;\n\t\tnoLs?: boolean;\n\t}>\n> = (state, action) => {\n\treturn action.payload.isVisible;\n};\n\nexport const visibleSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetVisible: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = 0;\n\nconst NAME = 'width';\n\nexport type ValueType = number;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const widthSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetWidth: setAction,\n\t},\n});\n","import { LoginNameType } from '@legacyApp/types/user/LoginNameType';\nimport { filterArrayDuplicates } from '@legacyApp/client/modules/app/appService';\nimport { Message } from '../types/Message.type';\nimport { checkRealUserName } from './checkRealUserName';\nimport { sortUsers } from './sortUsers';\n\nexport const getUsersList = (\n\tmessages: Array<Message>,\n): Array<LoginNameType> => {\n\tconst users = filterArrayDuplicates(\n\t\tmessages.map((el) => el.user.login),\n\t).filter((el) => checkRealUserName(el));\n\treturn sortUsers(users);\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { bindSocketChannelEventThunk } from '@legacyApp/client/store/websocket/thunks/bindSocketChannelEvent.thunk';\nimport {\n\tWEBSOCKET_CHANNELS,\n\tWEBSOCKET_EVENTS,\n} from '@legacyApp/client/store/websocket/websocket.constants';\nimport { unbindStreams } from '../chat.constants';\nimport { chatActions } from '../chat.actions';\nimport websocketService from '../../../../LegacyApp/client/modules/app/websocketService';\nimport sortService, {\n\tDIRECTION,\n} from '../../../../LegacyApp/client/modules/app/sortService';\nimport { getUsersList } from '../../methods/getUsersList';\n\nconst bindChatStream = (room) => {\n\tif (unbindStreams.is(room)) {\n\t\tunbindStreams.reset(room);\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nexport const getRoomStreamThunk = (\n\tnoCache?: boolean,\n): AppThunk<Promise<void>> => {\n\treturn async (dispatch, getState) => {\n\t\tconst { chat } = getState();\n\t\tconst room = chat?.room;\n\t\tif (!room) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: `/chat/messages?room=${room}${\n\t\t\t\t\tnoCache ? `&t=${getTimestamp()}` : ''\n\t\t\t\t}`,\n\t\t\t\tloaderId: 'getRoomStream',\n\t\t\t}),\n\t\t);\n\t\tif (bindChatStream(room)) {\n\t\t\tdispatch(\n\t\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t\t`${WEBSOCKET_CHANNELS.CHAT}.${room}`,\n\t\t\t\t\tWEBSOCKET_EVENTS.MESSAGE,\n\t\t\t\t\t(data, dispatch) => {\n\t\t\t\t\t\t// console.log('message', {data});\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tchatActions.updateStream({\n\t\t\t\t\t\t\t\troom: room,\n\t\t\t\t\t\t\t\tdata: websocketService.getMessage(data),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (data.messages) {\n\t\t\tdispatch(\n\t\t\t\tchatActions.setStream({\n\t\t\t\t\troom,\n\t\t\t\t\tlist: data.messages.sort((a, b) => {\n\t\t\t\t\t\tconst aTimestamp = a.published_at\n\t\t\t\t\t\t\t? a.published_at\n\t\t\t\t\t\t\t: getTimestamp(a.created_at);\n\t\t\t\t\t\tconst bTimestamp = b.published_at\n\t\t\t\t\t\t\t? b.published_at\n\t\t\t\t\t\t\t: getTimestamp(b.created_at);\n\t\t\t\t\t\treturn sortService.sort(\n\t\t\t\t\t\t\tDIRECTION.ASC,\n\t\t\t\t\t\t\taTimestamp,\n\t\t\t\t\t\t\tbTimestamp,\n\t\t\t\t\t\t\ta.nonce,\n\t\t\t\t\t\t\tb.nonce,\n\t\t\t\t\t\t);\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t);\n\t\t\tdispatch(chatActions.setUsers(getUsersList(data.messages)));\n\t\t}\n\t};\n};\n","export const CookiesKeys = {\n\tNEW_COIN_BONK_FLOKI_PEPE: 'newcoin_bonk_floki_pepe',\n\tDEPRECATED_LANG_CLEARED: 'deprecatedLangCleared',\n\tDEPRECATED_CHAT_ROOM_CLEARED: 'deprecatedChatRoomCleared',\n\tINSP_FRGCH: '__insp_frgch',\n\tVER_28: 'ver-28',\n\tAFFILIATE_CODE: 'affiliate-code',\n\tUTM_SOURCE: 'utm_source',\n\tEXTENDED_ACCESS: 'extendedAccess',\n\tPRELOADED_STATE: 'preloaded_state',\n\tCSRF_TOKEN: 'csrf_token',\n\tNEW_COIN: 'newcoin',\n} as const;\n\nexport type CookiesKeysValuesType =\n\t(typeof CookiesKeys)[keyof typeof CookiesKeys];\n","export enum GameType {\n\tDICE = 'dice',\n\tLIMBO = 'limbo',\n\tHILO = 'hilo',\n\tPLINKO = 'plinko',\n\tSLOTS = 'slots',\n\tSPORTS = 'sports',\n}\n\nexport const availableGames = [\n\t// TODO: NEW GAME FLAG\n\t'dice',\n\t'limbo',\n\t'plinko',\n\t'hilo',\n\t'sports',\n\t'slots',\n] as const;\n","import { GameType } from '../constants/availableGames';\n\nexport const getGamesList = (): ReadonlyArray<GameType> => {\n\tconst excludeGames = [GameType.SPORTS, GameType.SLOTS];\n\treturn Object.keys(GameType)\n\t\t.map((key) => GameType[key])\n\t\t.filter((game) => excludeGames.indexOf(game) < 0);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { GameType } from '../../constants/availableGames';\nimport transactionService from '../../../../transactions/transactionsService';\n\nexport const useIsAutoBetInProgress = () => {\n\tconst gameAutoBet = useAppSelector(\n\t\t(state) => state?.gameAutobet?.active,\n\t\tshallowEqual,\n\t);\n\tif (!gameAutoBet) {\n\t\treturn false;\n\t}\n\treturn Object.keys(gameAutoBet).some((key) => gameAutoBet[key] === 'auto');\n};\nexport const useGameInputDisabled = (game?: GameType) =>\n\tuseAppSelector<boolean>(\n\t\t(state) =>\n\t\t\tstate.gameAutobet?.autoBetRolling[game || state.game?.activeGame],\n\t\tshallowEqual,\n\t);\nexport const useGameWinChance = (game?: GameType) =>\n\tuseAppSelector<number>(\n\t\t(state) =>\n\t\t\tNumber(state.game?.winChanceValue[game || state.game?.activeGame]),\n\t\tshallowEqual,\n\t);\nexport const useGameBetAmount = (game?: GameType) =>\n\tuseAppSelector<number>(\n\t\t(state) => Number(state.game?.betAmount[game || state.game?.activeGame]),\n\t\tshallowEqual,\n\t);\n\nexport const useGamePayout = (game?: GameType) =>\n\tuseAppSelector<number>(\n\t\t(state) => Number(state.game?.payoutValue[game || state.game?.activeGame]),\n\t\tshallowEqual,\n\t);\nexport const useGameActiveGame = () =>\n\tuseAppSelector<GameType>((state) => state.game?.activeGame, shallowEqual);\nexport const useGameGamesList = () =>\n\tuseAppSelector(\n\t\t(state) => state.game?.gamesList || [],\n\t\t(a, b) => !transactionService.isListDifferent(a, b),\n\t);\nexport const useGameFormLock = (game: GameType) =>\n\tuseAppSelector((state) => state.game.formLock[game]);\nexport const useGameBetsAnimated = (game: GameType) =>\n\tuseAppSelector(\n\t\t(state) => state.game.betsAnimated?.[game],\n\t\t(a, b) => transactionService.isDuplicate(a, b),\n\t);\n","export const AUTOBET = 'AUTOBET';\nexport const AUTOBET_SET_ID = 'AUTOBET_SET_ID';\nexport const AUTOBET_SET_CURRENCY = 'AUTOBET_SET_CURRENCY';\nexport const AUTOBET_PLAY = 'AUTOBET_PLAY';\nexport const AUTOBET_STOP = 'AUTOBET_STOP';\nexport const AUTOBET_STOPPED = 'AUTOBET_STOPPED';\nexport const AUTOBET_CLEAR = 'AUTOBET_CLEAR';\nexport const AUTOBET_PAUSE = 'AUTOBET_PAUSE';\nexport const AUTOBET_SET_PAUSE = 'AUTOBET_SET_PAUSE';\nexport const AUTOBET_SET_PAUSE_DATA = 'AUTOBET_SET_PAUSE_DATA';\n\nexport const AUTOBET_RESET_TO_DEFAULT = 'AUTOBET_RESET_TO_DEFAULT';\nexport const AUTOBET_SET_DEFAULTS = 'AUTOBET_SET_DEFAULTS';\nexport const AUTOBET_SET_MODE = 'AUTOBET_SET_MODE';\nexport const AUTOBET_SET_CONFIG = 'AUTOBET_SET_CONFIG';\nexport const AUTOBET_SET_EDIT_MODAL = 'AUTOBET_SET_EDIT_MODAL';\nexport const AUTOBET_SET_CONFIG_EASY = 'AUTOBET_SET_CONFIG_EASY';\nexport const AUTOBET_UPDATE_CONFIG_EASY = 'AUTOBET_UPDATE_CONFIG_EASY';\n\nexport const EDIT_AUTOBET_STRATEGY = 'EDIT_AUTOBET_STRATEGY';\nexport const SAVE_AUTOBET_STRATEGY = 'SAVE_AUTOBET_STRATEGY';\nexport const SET_AUTOBET_STRATEGIES = 'SET_AUTOBET_STRATEGIES';\nexport const GET_AUTOBET_STRATEGIES = 'GET_AUTOBET_STRATEGIES';\n\nexport const SET_ACTIVE_AUTOBET_STRATEGY = 'SET_ACTIVE_AUTOBET_STRATEGY';\nexport const DISABLE_CHECK_AUTOBET_STRATEGY = 'DISABLE_CHECK_AUTOBET_STRATEGY';\n\nexport const AUTOBET_SET_ROLLS = 'AUTOBET_SET_ROLLS';\nexport const AUTOBET_SET_ROLLS_COUNTER = 'AUTOBET_SET_ROLLS_COUNTER';\nexport const DELETE_AUTOBET_STRATEGY = 'DELETE_AUTOBET_STRATEGY';\nexport const AUTOBET_SET_AUTO_STATS = 'AUTOBET_SET_AUTO_STATS';\n\nexport const AUTOBET_SUMMARY_CONNECTION_ERROR =\n\t'AUTOBET_SUMMARY_CONNECTION_ERROR';\n\nexport const AUTOBET_SET_ACTIVE = 'AUTOBET_SET_ACTIVE';\nexport const AUTOBET_ROLLING = 'AUTOBET_ROLLING';\nexport const AUTOBET_SET_THROTTLE = 'AUTOBET_SET_THROTTLE';\nexport const AUTOBET_SET_MANUAL = 'AUTOBET_SET_MANUAL';\n","import { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport {\n\tADD_LOSE_STREAK,\n\tADD_PROFIT,\n\tADD_PROFIT_HISTORY,\n\tADD_PROFIT_HISTORY_AUTO,\n\tADD_WAGERED,\n\tADD_WIN_STREAK,\n\tBET_LOST,\n\tBET_WON,\n\tRESET_AUTO_SESSION,\n\tRESET_GAME_SESSION,\n\tSET_AUTO_INIT_PROFIT,\n\tSET_TOP_BET,\n\tSET_TOP_BET_AUTO,\n\tSET_TOP_LOSE_STREAK,\n\tSET_TOP_LOSE_STREAK_AUTO,\n\tSET_TOP_LOST,\n\tSET_TOP_LOST_AUTO,\n\tSET_TOP_WIN,\n\tSET_TOP_WIN_AUTO,\n\tSET_TOP_WIN_STREAK,\n\tSET_TOP_WIN_STREAK_AUTO,\n} from './gameSession.constants';\n\nexport const betWon = actionSimple(BET_WON);\n\nexport const betLost = actionSimple(BET_LOST);\n\nexport const addWagered = actionSimple(ADD_WAGERED);\n\nexport const addProfit = actionSimple(ADD_PROFIT);\n\nexport const resetGameSession = actionSimple(RESET_GAME_SESSION);\n\nexport const resetAutoSession = actionSimple(RESET_AUTO_SESSION);\n\nexport const addProfitHistory = actionSimple(ADD_PROFIT_HISTORY);\n\nexport const addProfitAutoHistory = actionSimple(ADD_PROFIT_HISTORY_AUTO);\n\nexport const addWinStreak = actionSimple(ADD_WIN_STREAK);\n\nexport const addLoseStreak = actionSimple(ADD_LOSE_STREAK);\n\nexport const setTopWinStreak = actionSimple(SET_TOP_WIN_STREAK);\n\nexport const setTopLoseStreak = actionSimple(SET_TOP_LOSE_STREAK);\n\nexport const setTopWinStreakAuto = actionSimple(SET_TOP_WIN_STREAK_AUTO);\n\nexport const setTopLoseStreakAuto = actionSimple(SET_TOP_LOSE_STREAK_AUTO);\n\nexport const setTopBet = actionSimple(SET_TOP_BET);\n\nexport const setTopWin = actionSimple(SET_TOP_WIN);\n\nexport const setTopLost = actionSimple(SET_TOP_LOST);\n\nexport const setTopBetAuto = actionSimple(SET_TOP_BET_AUTO);\n\nexport const setTopWinAuto = actionSimple(SET_TOP_WIN_AUTO);\n\nexport const setTopLostAuto = actionSimple(SET_TOP_LOST_AUTO);\n\nexport const setAutoInitProfit = actionSimple(SET_AUTO_INIT_PROFIT);\n","export const BET_WON = 'BET_WON';\nexport const BET_LOST = 'BET_LOST';\nexport const ADD_PROFIT = 'ADD_PROFIT';\nexport const ADD_PROFIT_HISTORY = 'ADD_PROFIT_HISTORY';\nexport const ADD_WAGERED = 'ADD_WAGERED';\nexport const ADD_WIN_STREAK = 'ADD_WIN_STREAK';\nexport const ADD_LOSE_STREAK = 'ADD_LOSE_STREAK';\nexport const SET_TOP_WIN_STREAK = 'SET_TOP_WIN_STREAK';\nexport const SET_TOP_LOSE_STREAK = 'SET_TOP_LOSE_STREAK';\nexport const SET_TOP_WIN_STREAK_AUTO = 'SET_TOP_WIN_STREAK_AUTO';\nexport const SET_TOP_LOSE_STREAK_AUTO = 'SET_TOP_LOSE_STREAK_AUTO';\nexport const SET_TOP_BET = 'SET_TOP_BET';\nexport const SET_TOP_WIN = 'SET_TOP_WIN';\nexport const SET_TOP_LOST = 'SET_TOP_LOST';\nexport const SET_TOP_BET_AUTO = 'SET_TOP_BET_AUTO';\nexport const SET_TOP_WIN_AUTO = 'SET_TOP_WIN_AUTO';\nexport const SET_TOP_LOST_AUTO = 'SET_TOP_LOST_AUTO';\nexport const RESET_GAME_SESSION = 'RESET_GAME_SESSION';\nexport const RESET_AUTO_SESSION = 'RESET_AUTO_SESSION';\nexport const SET_AUTO_INIT_PROFIT = 'SET_AUTO_INIT_PROFIT';\nexport const ADD_PROFIT_HISTORY_AUTO = 'ADD_PROFIT_HISTORY_AUTO';\n","import { validateBetAmount } from '@legacyApp/client/modules/app/gameService';\nimport { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport {\n\tvalidatePayout,\n\tvalidateWinChance,\n} from '@legacyApp/client/modules/app/validateService';\nimport {\n\tCHECK_GAME_FORM,\n\tDO_VALIDATE_BET_AMOUNT,\n\tDO_VALIDATE_BET_AMOUNT_AFTER_CHECK_BALANCE,\n\tDO_VALIDATE_PAYOUT,\n\tDO_VALIDATE_WIN_CHANCE,\n\tGAME_UPDATE_AMOUNT_ERROR,\n\tGAME_UPDATE_FORM_ERROR,\n\tGAME_UPDATE_PAYOUT_ERROR,\n\tGAME_UPDATE_PROFIT_ERROR,\n\tGAME_UPDATE_WIN_CHANCE_ERROR,\n} from './gameValidation.constants';\n\nexport const gameUpdateAmountError = actionSimple(GAME_UPDATE_AMOUNT_ERROR);\nexport const gameUpdatePayoutError = actionSimple(GAME_UPDATE_PAYOUT_ERROR);\nexport const gameUpdateWinChanceError = actionSimple(\n\tGAME_UPDATE_WIN_CHANCE_ERROR,\n);\nexport const gameUpdateProfitError = actionSimple(GAME_UPDATE_PROFIT_ERROR);\nexport const gameUpdateFormError = actionSimple(GAME_UPDATE_FORM_ERROR);\nexport const doValidateBetAmount = (\n\tgame,\n\tresult,\n\tvalue,\n\tbalances,\n\tcurrency,\n\tisLogged,\n\tchangeError = true,\n\tcheckBalance,\n\tclearError,\n) => {\n\treturn {\n\t\ttype: DO_VALIDATE_BET_AMOUNT,\n\t\tgame,\n\t\tresult:\n\t\t\tresult ||\n\t\t\tvalidateBetAmount({\n\t\t\t\tvalue,\n\t\t\t\tbalances,\n\t\t\t\tisLogged,\n\t\t\t\tcurrency,\n\t\t\t\tcheckBalance,\n\t\t\t\tgame,\n\t\t\t}),\n\t\tvalue,\n\t\tbalances,\n\t\tisLogged,\n\t\tcurrency,\n\t\tchangeError,\n\t\tcheckBalance,\n\t\tclearError,\n\t};\n};\nexport const doValidateBetAmountAfterCheckBalance = (\n\tgame,\n\tresult,\n\tvalue,\n\tbalances,\n\tcurrency,\n\tisLogged,\n\tchangeError = true,\n\tcheckBalance,\n\tclearError,\n) => {\n\treturn {\n\t\ttype: DO_VALIDATE_BET_AMOUNT_AFTER_CHECK_BALANCE,\n\t\tgame,\n\t\tresult:\n\t\t\tresult ||\n\t\t\tvalidateBetAmount({\n\t\t\t\tvalue,\n\t\t\t\tbalances,\n\t\t\t\tisLogged,\n\t\t\t\tcurrency,\n\t\t\t\tcheckBalance,\n\t\t\t\tgame,\n\t\t\t}),\n\t\tvalue,\n\t\tbalances,\n\t\tisLogged,\n\t\tcurrency,\n\t\tchangeError,\n\t\tcheckBalance,\n\t\tclearError,\n\t};\n};\n\nexport const checkGameForm = (game, checkBalance = true) => {\n\treturn {\n\t\ttype: CHECK_GAME_FORM,\n\t\tgame,\n\t\tcheckBalance,\n\t};\n};\n\nexport const doValidateWinChance = (\n\tgame,\n\tresult,\n\tvalue,\n\tchangeError = true,\n\tclearError,\n) => {\n\treturn {\n\t\ttype: DO_VALIDATE_WIN_CHANCE,\n\t\tresult: result || validateWinChance(value, game),\n\t\tgame,\n\t\tvalue,\n\t\tchangeError,\n\t\tclearError,\n\t};\n};\n\nexport const doValidatePayout = (\n\tgame,\n\tresult,\n\tvalue,\n\tchangeError = true,\n\tclearError,\n) => {\n\treturn {\n\t\ttype: DO_VALIDATE_PAYOUT,\n\t\tresult: result || validatePayout(value, game),\n\t\tgame,\n\t\tvalue,\n\t\tchangeError,\n\t\tclearError,\n\t};\n};\n","export const DO_VALIDATE_BET_AMOUNT = 'DO_VALIDATE_BET_AMOUNT';\nexport const DO_VALIDATE_BET_AMOUNT_AFTER_CHECK_BALANCE =\n\t'DO_VALIDATE_BET_AMOUNT_AFTER_CHECK_BALANCE';\nexport const DO_VALIDATE_WIN_CHANCE = 'DO_VALIDATE_WIN_CHANCE';\nexport const DO_VALIDATE_PAYOUT = 'DO_VALIDATE_PAYOUT';\nexport const GAME_UPDATE_FORM_ERROR = 'GAME_UPDATE_FORM_ERROR';\nexport const GAME_UPDATE_AMOUNT_ERROR = 'GAME_UPDATE_AMOUNT_ERROR';\nexport const GAME_UPDATE_PAYOUT_ERROR = 'GAME_UPDATE_PAYOUT_ERROR';\nexport const GAME_UPDATE_WIN_CHANCE_ERROR = 'GAME_UPDATE_WIN_CHANCE_ERROR';\nexport const GAME_UPDATE_PROFIT_ERROR = 'GAME_UPDATE_PROFIT_ERROR';\nexport const CHECK_GAME_FORM = 'CHECK_GAME_FORM';\n","export type LinesType = 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16;\n\nexport enum Risk {\n\tLOW = 'low',\n\tMEDIUM = 'medium',\n\tHIGH = 'high',\n}\n\nexport type MultiplierValues = number;\n\ntype MultiplierLabelType = `floor||${MultiplierValues}||0||${number}`;\n\nexport type MultiplierType = {\n\tlabel: MultiplierLabelType;\n\timg: string;\n\tvalue: number;\n\trisk: Risk;\n\tlines: LinesType;\n\tpayoutIndex: number;\n};\n","import styled, { css } from 'styled-components';\nimport classnames from 'classnames';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\n\nexport const HeaderHeight = (callback) => {\n\treturn css`\n\t\t${(props) => callback(props.theme.layout.header.height)};\n\n\t\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t\t${(props) => callback(props.theme.layout.header.heightDesktop)};\n\t\t}\n\n\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t${(props) => callback(props.theme.layout.header.heightBigDesktop)};\n\t\t}\n\t`;\n};\n\nexport const StyledHeader = styled.header.attrs<{\n\t$scrolled: boolean;\n}>((props) => ({\n\tclassName: classnames('header', { scrolled: props.$scrolled }),\n}))<{\n\t$scrolled: boolean;\n}>`\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\tbackground-color: ${(props) =>\n\t\tprops.$scrolled\n\t\t\t? css`var(--color-dark-700)!important`\n\t\t\t: props.theme.colors.background};\n\tcolor: ${(props) => props.theme.colors.text};\n\tz-index: 9998; // 4\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: column;\n\talign-items: center;\n\tmargin-top: 0;\n\ttransition: background-color 0.3s linear, box-shadow 0.3s linear;\n\n\t${(props) =>\n\t\tprops.$scrolled\n\t\t\t? css`\n\t\t\t\t\tbox-shadow: 0px -2px 8px 0px black;\n\t\t\t `\n\t\t\t: null};\n\n\t${HeaderHeight(\n\t\t(height) => css`\n\t\t\theight: ${height};\n\t\t`,\n\t)};\n\n\t.show-mobile {\n\t\t&__dropdown-icon {\n\t\t\tfont-size: 25px;\n\t\t}\n\t}\n\n\t.user-icon {\n\t\twidth: 32px;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\tsvg {\n\t\t\tmax-width: 20px;\n\t\t\tmin-width: unset;\n\t\t}\n\t}\n\n\t.text-logo {\n\t\tmargin-left: 5px;\n\n\t\t${chatViewport(\n\t\t\t(viewportPadding) => css`\n\t\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_large,\n\t\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t\t})}) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t`,\n\t\t)}\n\t}\n`;\n","import styled from 'styled-components';\n\nexport const StyledHeaderLogoWrapper = styled.div.attrs(() => ({\n\tclassName: 'header__logo--wrapper',\n}))`\n\tdisplay: flex;\n\talign-items: center;\n\n\t.text-logo {\n\t\tmargin-top: 2px;\n\t}\n`;\n\nexport const StyledHeaderLogo = styled.img.attrs(() => ({\n\tclassName: 'header__box__logo',\n}))`\n\theight: 25px;\n\tfloat: left;\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthVerySmall}) {\n\t\theight: 23px;\n\t}\n`;\n","import styled from 'styled-components';\nimport { getLevelColor } from '@legacyApp/client/modules/style/mixins';\n\nexport const StyledVipLevel = styled.span<{\n\t$isColor?: boolean;\n\t$level: number;\n\t$isNoUnderline?: boolean;\n}>`\n\tcolor: ${(props) =>\n\t\tprops.$isColor ? getLevelColor(props.$level) : 'inherit'};\n\t${(props) => (!props.$isNoUnderline ? 'text-decoration: underline;' : '')};\n`;\n","import React, { FC } from 'react';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { StyledVipLevel } from './level.styled';\n\ninterface LevelProps {\n\tcolor?: boolean;\n\tlevel: number;\n\tnoUnderline?: boolean;\n}\n\nexport const Level: FC<LevelProps> = ({ color, level, noUnderline }) => {\n\treturn (\n\t\t<StyledVipLevel\n\t\t\t$level={level}\n\t\t\t$isColor={color}\n\t\t\t$isNoUnderline={noUnderline}\n\t\t\tclassName=\"vip-label\"\n\t\t>\n\t\t\t{level ? (\n\t\t\t\t<>\n\t\t\t\t\t{level} <Trans label={'level'} />\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Trans label={'Unranked'} />\n\t\t\t)}\n\t\t</StyledVipLevel>\n\t);\n};\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { useUserName } from '@common/selectors/user.selectors';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { useVipLevel } from '../../vip/store/selectors/vip.selectors';\nimport { Level } from '../../vip/components/level/level';\nimport { VipIconProgress } from '../../vip/components/VipIconProgress';\nimport { VipLeftToNextLevel } from '../../vip/components/VipLeftToNextLevel';\nimport routingService from '../../../LegacyApp/client/modules/app/routingService';\n\nexport const VipSection: FC = () => {\n\tconst userName = useUserName();\n\tconst { level } = useVipLevel();\n\n\treturn (\n\t\t<VipSectionStyled>\n\t\t\t<VipSectionTitle>\n\t\t\t\t<LinkTo forceATag href={routingService.to(ROUTING_ID.USER_VIP)}>\n\t\t\t\t\t<VipIconProgress />\n\t\t\t\t</LinkTo>\n\t\t\t\t<VipSectionTitleName>\n\t\t\t\t\t<span className=\"text-style-md-semibold\">{userName}</span>\n\t\t\t\t\t<LinkTo forceATag href={routingService.to(ROUTING_ID.USER_VIP)}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"text-style-xs-regular\"\n\t\t\t\t\t\t\tstyle={{ color: 'var(--color-dark-100)' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Level level={level} />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</LinkTo>\n\t\t\t\t</VipSectionTitleName>\n\t\t\t</VipSectionTitle>\n\t\t\t<VipLeftToNextLevel />\n\t\t</VipSectionStyled>\n\t);\n};\n\nexport const VipSectionTitleName = styled.div`\n\talign-items: flex-start;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tjustify-content: center;\n`;\n\nexport const VipSectionTitle = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tgap: 6px;\n\tjustify-content: flex-start;\n\tmargin-bottom: 8px;\n`;\n\nexport const VipSectionProgress = styled.div`\n\tmargin-bottom: 16px;\n\tpadding-left: 4px;\n\tposition: relative;\n`;\n\nexport const VipSectionStyled = styled.div`\n\tpadding: 0 8px;\n`;\n","import { remove } from 'local-storage';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const lsClear = (key: LocalStorageKeysType) => {\n\tif (!key) {\n\t\treturn;\n\t}\n\ttry {\n\t\tremove(key);\n\t} catch (error) {\n\t\treturn error;\n\t}\n};\n","import { get } from 'local-storage';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const lsGet = (key: LocalStorageKeysType, defaultValue = null) => {\n\tif (!key) {\n\t\treturn defaultValue;\n\t}\n\ttry {\n\t\tconst value = get(key);\n\t\tif (value === null) {\n\t\t\treturn defaultValue;\n\t\t}\n\t\treturn value;\n\t} catch (error) {\n\t\treturn defaultValue;\n\t}\n};\n","import { set } from 'local-storage';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const lsSet = (key: LocalStorageKeysType, data?: any) => {\n\tif (!key) {\n\t\treturn;\n\t}\n\tif (!data && data !== false && data !== 0) {\n\t\treturn lsClear(key);\n\t}\n\ttry {\n\t\tset(key, data);\n\t} catch (error) {\n\t\treturn error;\n\t}\n};\n","import { GameType } from '@modules/games/Game/constants/availableGames';\nimport { OptionsType } from '@legacyApp/client/store/options/options.constants';\nimport { NEW_MY_BET } from '@legacyApp/client/store/transactions/transactions.constants';\n\nexport const LocalStorageKeys = {\n\tCURRENCIES_SETTINGS: 'currencies_settings',\n\tCURRENCIES_SETTINGS_TOKENS: 'currencies_settings_tokens',\n\tCURRENCIES_SETTINGS_LIST: 'currencies_settings_list',\n\tWOL_REF: 'wol-ref',\n\tINCORRECT_WIN_CHANCE: 'incorrect_win_chance',\n\tOPEN_WELCOME_MODAL_THUNK: 'openWelcomeModalThunk',\n\tAUTOBET_MODE: 'autobetMode',\n\tMOBILE_DEVICE: 'mobile_device',\n\tLANGUAGE: 'lang',\n\tACTIVE_CURRENCY: 'activeCurrency',\n\tDAILY_STREAK_TIMESTAMP: 'dailyStreakTimestamp',\n\tSTATS: 'stats',\n\tOPTIONS: 'options',\n\tDISABLE_STATS: 'disableStats',\n\tDISABLE_SOUND: 'disableSound',\n\tDISABLE_MAX_BUTTON: 'disableMaxButton',\n\tDISABLE_HOTKEYS: 'disableHotkeys',\n\tDISABLE_CHART: 'disableChart',\n\tDISABLE_AUTOBET_SUMMARY: 'disableAutobetSummary',\n\tDISABLE_ANIMATIONS: 'disableAnimations',\n\tTOKEN: 'token',\n\tSEED_HASHED_LIST: 'wol_ssh',\n\tREMIND_TFA_COUNTER: 'tfc',\n\tLAST_REGISTER_TIMESTAMP: 'lrt',\n\tMISSING_TRANSLATIONS: 'missing_translation',\n\tVERSION_TIMESTAMP: 'versionTimestamp',\n\tNEW_MY_BETS: NEW_MY_BET,\n\tNEW_FEATURES_TIMESTAMP: 'new_features',\n\tCHAT_SHARE_DATA: 'share-data',\n\tCHAT_VISIBLE: 'chat-visible',\n\tCHAT_ROOM: 'chatRoom',\n\tEXPERT_CONFIRMED: 'expertConfirmed',\n\tDICE_BET_VALUE_DEFAULT: 'store.dice.betValue',\n\tAUTO_SESSIONS: 'autoSessions',\n\tMODAL_PROPS: 'modalProps',\n\tIS_LOW_PERFORMANCE: 'is-low-performance',\n\tSIDE_MENU_IS_OPEN: 'side-menu-is-open',\n\tSLOT_MODE: 'slotMode',\n\tSLOT_LOADING_GAME: 'slotLoadingGame',\n\tSPORTS_BETSLIP_MULTI_STAKE: 'sportsBetSlipMultiStake',\n\tSPORTS_BET_SLIP_BETS_DATA: 'sportsBetSlipBetsData',\n\tSPORTS_BET_SLIP_LIST: 'sportsBetSlipBetsList',\n\tMY_BETS_COPY_CLEARED: 'myBetsCopyCleared',\n\tMY_BETS_COPY: 'myBetsCopy',\n\tADDRESS_BOOK_WALLET_USE: 'address-book-wallet-use',\n\tADDRESS_BOOK_WALLET_USE_SELECTOR: 'address-book-wallet-use-selector',\n\tWALLET_MODAL_VAULT_CONTENT_TYPE: 'wallet-modal-vault-content-type',\n\tI18NEXT_LNG: 'i18nextLng',\n\tSPORTS_SIDE_CONTENT: 'sportsSideContent',\n\tWOLF_DEV_VIEW: 'wolf-dev-view',\n\tLOCATION_DATA: 'lodta',\n\tCURRENCY_CONVERTER: 'currencyConverter',\n\tENABLE_CONVERTER: 'enableConverter',\n\tSPORTS_BET_SLIP_TYPE: 'sportsBetSlipType',\n} as const;\n\ntype LocalStorageKeysKeys = keyof typeof LocalStorageKeys;\nexport type LocalStorageKeyType =\n\t(typeof LocalStorageKeys)[LocalStorageKeysKeys];\n\nexport const generateInitialStateKey = (\n\tname: string,\n\tkey: string,\n): `${string}_${string}_initial_state` => {\n\treturn `${name}_${key}_initial_state`;\n};\n\nexport const generateGameStrategyKey = (\n\tgame: GameType,\n): `strategy-${GameType}` => {\n\treturn `strategy-${game}`;\n};\n\nexport const generateConfirmOptionKey = (\n\tid: OptionsType,\n): `confirm-${OptionsType}` => {\n\treturn `confirm-${id}`;\n};\n\nexport const generateCheckPathsKey = (\n\tsessionKey: string,\n): `${string}:checkPaths` => {\n\treturn `${sessionKey}:checkPaths`;\n};\n\nexport const generateCheckPathsTimestampKey = (\n\tkey: ReturnType<typeof generateCheckPathsKey>,\n): `${ReturnType<typeof generateCheckPathsKey>}:timestamp` => {\n\treturn `${key}:timestamp`;\n};\n\nexport const generateCheckPathsCheckEnabledKey = (\n\tkey: ReturnType<typeof generateCheckPathsKey>,\n): `${ReturnType<typeof generateCheckPathsKey>}:checkEnabled` => {\n\treturn `${key}:checkEnabled`;\n};\n\nexport type LocalStorageKeysType =\n\t| LocalStorageKeyType\n\t| ReturnType<typeof generateInitialStateKey>\n\t| ReturnType<typeof generateGameStrategyKey>\n\t| ReturnType<typeof generateConfirmOptionKey>\n\t| ReturnType<typeof generateCheckPathsKey>\n\t| ReturnType<typeof generateCheckPathsTimestampKey>\n\t| ReturnType<typeof generateCheckPathsCheckEnabledKey>;\n","import { generateUrl, ROUTE } from '@common/routes';\n\nexport const generateUserVipRakeBackFunds = () => {\n\treturn generateUrl(ROUTE.userVipRakeBackFunds);\n};\n","import { MODAL_ID } from './ids.modal.constants';\n\nexport const QUERY_MODAL_CONSTANTS = [\n\tMODAL_ID.AUTOBET,\n\tMODAL_ID.SESSION,\n\tMODAL_ID.BET,\n\tMODAL_ID.VIP_WHEEL,\n\tMODAL_ID.CONTENT,\n\tMODAL_ID.WALLET,\n];\n","import Redux from 'redux';\nimport { actionSimple } from '@legacyApp/client/modules/app/actionService';\n\nimport { PayloadActionCall } from '@legacyApp/client/store/store.types';\nimport { QUERY_MODAL_CONSTANTS } from '@common/constants/modal/query.modal.constants';\nimport {\n\tCLOSE_MODAL,\n\tCLOSE_MODAL_DELAYED,\n\tMODAL_CLOSE_INFO,\n\tMODAL_HANDLE_PREVIOUS,\n\tMODAL_OPEN_INFO,\n\tMODAL_SET_PREVIOUS,\n\tMODAL_SET_PREVIOUS_PROPS,\n\tMODAL_SET_PROPS,\n\tMODAL_SET_PROPS_WITHOUT_LS_UPDATE,\n\tMODAL_UPDATE_PROPS,\n\tOPEN_MODAL,\n\tOPEN_SECURITY_WARNING_MODAL,\n\tRESET_MODAL,\n\tSET_MODAL_CLOSE_CALLBACK,\n\tSET_MODAL_SOURCE,\n} from './modal.constants';\nimport { ModalReducerType } from './modal.types';\n\nexport interface OpenModalResult extends Redux.Action {\n\tname?: ModalReducerType['id'];\n\tsource?: ModalReducerType['source'];\n\tprops?: ModalReducerType['props'];\n\tnoClose?: boolean;\n}\n\nexport const openModal = (\n\tname: ModalReducerType['id'],\n\tsource: ModalReducerType['source'],\n\tprops?: ModalReducerType['props'],\n\tnoClose?: boolean,\n) => {\n\treturn {\n\t\ttype: OPEN_MODAL,\n\t\tname,\n\t\tsource,\n\t\tprops,\n\t\tnoClose,\n\t};\n};\n\nexport const setModalSource: PayloadActionCall<ModalReducerType['source']> = (\n\tpayload,\n) => {\n\treturn {\n\t\ttype: SET_MODAL_SOURCE,\n\t\tpayload,\n\t};\n};\n\nexport const closeModal = actionSimple(CLOSE_MODAL);\n\nexport const resetModal = (force?: boolean, source?: string) => {\n\treturn {\n\t\ttype: RESET_MODAL,\n\t\tforce,\n\t\tsource,\n\t};\n};\n\nexport interface SetModalCloseCallbackResult extends Redux.Action {\n\tcallback?: ModalReducerType['closeCallback'];\n\tcallbackData?: ModalReducerType['closeData'];\n}\n\nexport const setModalCloseCallback = (\n\tcallback: ModalReducerType['closeCallback'],\n\tcallbackData?: ModalReducerType['closeData'],\n) => ({\n\ttype: SET_MODAL_CLOSE_CALLBACK,\n\tcallback,\n\tcallbackData,\n});\n\nexport const closeModalDelayed = (delay?: number | boolean) => ({\n\ttype: CLOSE_MODAL_DELAYED,\n\tdelay,\n});\n\nexport const openSecurityWarningModal = () => ({\n\ttype: OPEN_SECURITY_WARNING_MODAL,\n});\n\nexport const modalSetPrevious: PayloadActionCall<\n\tModalReducerType['previous']\n> = (payload) => ({\n\ttype: MODAL_SET_PREVIOUS,\n\tpayload,\n});\n\nexport const modalHandlePrevious = actionSimple(MODAL_HANDLE_PREVIOUS);\n\nexport const modalSetProps: PayloadActionCall<ModalReducerType['props']> =\n\tactionSimple(MODAL_SET_PROPS);\n\nexport const modalSetPropsWithoutLsUpdate: PayloadActionCall<\n\tModalReducerType['props']\n> = actionSimple(MODAL_SET_PROPS_WITHOUT_LS_UPDATE);\n\nexport const modalUpdateProps: PayloadActionCall<ModalReducerType['props']> =\n\tactionSimple(MODAL_UPDATE_PROPS);\n\nexport const modalSetPreviousProps: PayloadActionCall<\n\tModalReducerType['previous']\n> = actionSimple(MODAL_SET_PREVIOUS_PROPS);\n\nexport const modalOpenInfo = actionSimple(MODAL_OPEN_INFO);\n\nexport const modalCloseInfo = actionSimple(MODAL_CLOSE_INFO);\n\nexport const isInitModal = (name) => QUERY_MODAL_CONSTANTS.indexOf(name) > -1;\n","export const OPEN_MODAL = 'OPEN_MODAL';\nexport const OPEN_SECURITY_WARNING_MODAL = 'OPEN_SECURITY_WARNING_MODAL';\nexport const SET_MODAL_SOURCE = 'SET_MODAL_SOURCE';\nexport const SET_MODAL_CLOSE_CALLBACK = 'SET_MODAL_CLOSE_CALLBACK';\nexport const CLOSE_MODAL = 'CLOSE_MODAL';\nexport const CLOSE_MODAL_DELAYED = 'CLOSE_MODAL_DELAYED';\nexport const RESET_MODAL = 'RESET_MODAL';\nexport const MODAL_SET_PREVIOUS = 'MODAL_SET_PREVIOUS';\nexport const MODAL_HANDLE_PREVIOUS = 'MODAL_HANDLE_PREVIOUS';\nexport const MODAL_SET_PROPS = 'MODAL_SET_PROPS';\nexport const MODAL_SET_PROPS_WITHOUT_LS_UPDATE =\n\t'MODAL_SET_PROPS_WITHOUT_LS_UPDATE';\nexport const MODAL_UPDATE_PROPS = 'MODAL_UPDATE_PROPS';\nexport const MODAL_SET_PREVIOUS_PROPS = 'MODAL_SET_PREVIOUS_PROPS';\nexport const MODAL_OPEN_INFO = 'MODAL_OPEN_INFO';\nexport const MODAL_CLOSE_INFO = 'MODAL_CLOSE_INFO';\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { ModalReducerType } from './modal.types';\n\nexport const useModalIsOpened = () =>\n\tuseAppSelector<boolean>(({ modal }): boolean => {\n\t\tif (modal?.id) {\n\t\t\treturn true;\n\t\t}\n\t\tif (typeof modal?.info === 'object' && 'id' in modal?.info) {\n\t\t\treturn !!modal?.info?.id;\n\t\t}\n\t\treturn false;\n\t}, shallowEqual);\nexport const useModalId = () =>\n\tuseAppSelector<ModalReducerType['id']>(\n\t\t({ modal }) => modal?.id,\n\t\tshallowEqual,\n\t);\nexport const useModalClose = () =>\n\tuseAppSelector<ModalReducerType['close']>(\n\t\t({ modal }) => modal?.close,\n\t\tshallowEqual,\n\t);\nexport const useModalProps = () =>\n\tuseAppSelector<ModalReducerType['props']>(({ modal }) => modal?.props);\nexport const useModalTimestamp = () =>\n\tuseAppSelector<ModalReducerType['timestamp']>(\n\t\t({ modal }) => modal?.timestamp,\n\t);\n","import { createContext, FC, PropsWithChildren } from 'react';\nimport { CSP_PAGE_ID } from '@common/constants/config/csp';\nimport routingService from '../../../LegacyApp/client/modules/app/routingService';\n\nexport interface PageConfigContextProps {\n\tlinksWithHardRedirect?: boolean;\n}\n\nexport const PageConfigContext = createContext<PageConfigContextProps>({\n\tlinksWithHardRedirect: null,\n});\n\nexport const isPageStatic = (id: string) =>\n\tCSP_PAGE_ID.indexOf(id) > -1 || routingService.getRouteById(id)?.static;\nexport const PageConfigProvider: FC<\n\tPropsWithChildren<{\n\t\tid: string;\n\t}>\n> = ({ children, id }) => {\n\tconst linksWithHardRedirect = isPageStatic(id);\n\treturn (\n\t\t<PageConfigContext.Provider\n\t\t\tvalue={{\n\t\t\t\tlinksWithHardRedirect,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</PageConfigContext.Provider>\n\t);\n};\n","export const SLOT_PAGE_PREFIX = 'slots';\nexport const GAMES_ON_PAGE = 24;\nexport const DEFAULT_GAMES_PAGE = 1;\n","import { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { SLOT_PAGE_PREFIX } from './SlotMenu.constants';\n\nexport const SLOTS_ID = SLOT_PAGE_PREFIX;\n\nexport const SLOTS_PAGE_ID = {\n\tINDEX: SLOTS_ID,\n\tPROVIDER: `${SLOTS_ID}_provider`,\n\tCATEGORY: `${SLOTS_ID}_category`,\n\tGROUP: `${SLOTS_ID}_group`,\n\tGROUP_ALL: `${SLOTS_ID}_group_all`,\n\tFAVORITE: `${SLOTS_ID}_favorites`,\n\tPLAY: `${SLOTS_ID}_play`,\n\tNEW_GAMES: `${SLOTS_ID}_new_games`,\n\tALL_PROVIDERS: `${SLOTS_ID}_all_providers`,\n\tPLAY_EXTERNAL: `${SLOTS_ID}_play_external`,\n} as const;\n\nexport const SLOTS_META = {\n\t[SLOTS_PAGE_ID.INDEX]: {\n\t\ttitle: 'Bitcoin Slots - Crypto Slot Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.PROVIDER]: {\n\t\ttitle: 'Bitcoin {{section_name}} Games - Crypto {{section_name}} Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.CATEGORY]: {\n\t\ttitle: 'Bitcoin {{section_name}} Games - Crypto {{section_name}} Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.GROUP]: {\n\t\ttitle: 'Bitcoin {{section_name}} Games - Crypto {{section_name}} Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.FAVORITE]: {\n\t\ttitle: 'Favorite Bitcoin Slot Games - Crypto Slot Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.PLAY]: {\n\t\ttitle: '{{section_name}}',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.PLAY_EXTERNAL]: {\n\t\ttitle: '{{section_name}}',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.NEW_GAMES]: {\n\t\ttitle: 'New Bitcoin Slot Games - Crypto Slot New Games',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n\t[SLOTS_PAGE_ID.ALL_PROVIDERS]: {\n\t\ttitle: 'Bitcoin All Providers - Crypto All Providers',\n\t\tnamespace: TransNamespace.SLOTS,\n\t},\n};\n","import { generateUrl, ROUTE } from '@common/routes';\nimport { createSlug } from '@common/helpers/createSlug';\nimport { GenerateUrl } from '@common/routes/Routes';\nimport { apiServerConfig } from '@server/config/api.server.config';\nimport { GameMode, Slot } from '../store/slots.types';\n\nexport interface SlotGameListQuery {\n\tcategoryId?: number | number[];\n\tprovider?: number | number[];\n\torderBy?: string;\n\tpage?: number;\n\tcount?: number;\n\tgroup?: string;\n\tgameSlugToOmit?: string;\n\tfilterType?: string;\n}\n\nexport const generateSlotsApiUrl: GenerateUrl = (name, options) => {\n\treturn `${apiServerConfig.slotsUrl}${generateUrl(name, options)}`;\n};\n\nexport const generatePostFavoriteGameUrl = () => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotFavoriteGames);\n};\n\nexport const generatePostFavoriteGamesAllUrl = () => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotFavoriteGamesAll);\n};\n\nexport const generateGetCategories = () => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotCategories);\n};\n\nexport const generateGetFavoriteGamesUrl = (uuid, query: SlotGameListQuery) => {\n\tconst { count, page, ..._query } = query;\n\tconst take = count;\n\tconst prevPage = (page || 1) - 1;\n\tconst skip = prevPage > 0 ? count * prevPage : 0;\n\treturn generateSlotsApiUrl(ROUTE.apiSlotGetFavoriteGames, {\n\t\tuuid,\n\t\ttake,\n\t\tskip,\n\t\t..._query,\n\t});\n};\n\nexport const generateGetNewGamesUrl = (take?: number) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotGetNewGames, {\n\t\t...(take && { take }),\n\t});\n};\n\nexport const generateGetIsFavoriteGameUrl = () => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotIsFavoriteGames);\n};\n\nexport const generateGetCategoryGroupUrl = () => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotsCategoryGroup);\n};\n\nexport const generateSlotGameInfoUrl = ({ gameSlug }) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotGameInfo, {\n\t\tgameSlug,\n\t});\n};\n\nexport const generateSlotGameAlternativeSlugUrl = ({\n\tgameSlug,\n}: {\n\tgameSlug: string;\n}) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotGameAlternativeSlug, {\n\t\tgameSlug,\n\t});\n};\n\nexport const generatePlaySlotGameUrl = ({\n\ttype,\n\tgameId,\n\toperatorId,\n}: {\n\ttype: GameMode;\n\tgameId: number;\n\toperatorId: number;\n}) => {\n\treturn generateSlotsApiUrl(ROUTE.apiPlaySlotGame, {\n\t\ttype,\n\t\tgameId,\n\t\toperatorId,\n\t});\n};\n\nexport const generateSummarizeBetsUrl = (system, page) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSummarizeBets, {\n\t\tsystem,\n\t\tpage,\n\t});\n};\n\nexport const generateSlotGameListUrl = (query?: SlotGameListQuery) => {\n\tconst { count, page, ..._query } = query;\n\tconst take = count;\n\tconst prevPage = (page || 1) - 1;\n\tconst skip = prevPage > 0 ? count * prevPage : 0;\n\n\treturn generateSlotsApiUrl(ROUTE.apiSlotGamesList, {\n\t\t..._query,\n\t\ttake,\n\t\tskip,\n\t});\n};\n\nexport const generateSearchUrl = (term: string) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotSearch, {\n\t\tterm,\n\t});\n};\n\nexport const generateSlotUrl = (slot: Slot) => {\n\tconst { slug } = slot;\n\treturn generateUrl(ROUTE.slotPage, { slug });\n};\n\nexport const generateSlotsHomeUrl = (\n\tquery?: Record<string, string | number>,\n) => {\n\treturn generateUrl(\n\t\tROUTE.slotsHomePage,\n\t\tquery\n\t\t\t? {\n\t\t\t\t\t...query,\n\t\t\t }\n\t\t\t: undefined,\n\t);\n};\n\nexport const generateSlotCategoryUrl = (category: string) => {\n\treturn generateUrl(ROUTE.slotCategoryPage, { category });\n};\n\nexport const generateSlotProviderUrl = (provider: string) => {\n\treturn generateUrl(ROUTE.slotProviderPage, { provider });\n};\n\nexport const generateSlotGroupUrl = (slug: string) => {\n\treturn generateUrl(ROUTE.slotGroupPage, { slug });\n};\n\nexport const generateFetchSlotProvidersUrl = (\n\toptions: { take?: number; isAdmin?: boolean } = {},\n) => {\n\treturn generateSlotsApiUrl(ROUTE.apiSlotProviders, options);\n};\n\nexport const generatePlaySlotMobilePageUrl = (slot: Slot, mode: GameMode) => {\n\tif (!slot?.slug) {\n\t\treturn null;\n\t}\n\treturn generateUrl(ROUTE.slotMobilePage, {\n\t\tid: slot?.game_id,\n\t\tslug: createSlug(slot?.slug),\n\t\tmode,\n\t});\n};\n\nexport const getSlotId = (operatorId: number, gameId: number) => {\n\treturn `${operatorId}_${gameId}`;\n};\n","export const createSlug = (text: string): string => {\n\tif (!text) {\n\t\treturn '';\n\t}\n\treturn text\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.trim()\n\t\t.replace(/\\s+/g, '-')\n\t\t.replace(/[^\\w\\\\-]+/g, '')\n\t\t.replace(/\\\\-\\\\-+/g, '-');\n};\n","export interface Slot {\n\tgame_id: number;\n\timage_url: string;\n\toperator_id: number;\n\tprovider_id: number;\n\trtp_value: number;\n\tslug: string;\n\tname: string;\n\tview_aspect_ratio: number;\n\tprovider_name: string;\n\tprovider_slug: string;\n\tamount_usd: number;\n\ttags: Array<string>;\n}\n\nexport interface ProviderDTO {\n\tid: number;\n\tname: string;\n\tslug: string;\n\tnew: boolean;\n}\n\nexport interface SlotDTO {\n\tgame_id: number;\n\timage_url: string;\n\toperator_id: number;\n\tprovider_id: number;\n\trtp_value: number;\n\tslug: string;\n\tname: string;\n\tview_aspect_ratio: string;\n\tprovider_name: string;\n\tprovider_slug: string;\n\tamount_usd: number;\n\ttags: Array<string>;\n}\n\nexport interface GameDetailsDTO extends Slot {\n\tdescription: string;\n\thas_demo: boolean;\n\tcategory: SlotCategoryDTO;\n\tprovider: ProviderDTO;\n\tcategories: SlotCategoryDTO[];\n\tlimit: number;\n}\n\nexport const AllCategory: SlotCategoryDTO = {\n\tid: 0,\n\tslug: 'all',\n\tname: 'All Games',\n\tshow_in_menu: false,\n\tcreated_at: new Date(0).toISOString(),\n};\n\nexport interface SlotCategoryDTO {\n\tid: number;\n\tname: string;\n\tslug: string;\n\tshow_in_menu: boolean;\n\tcreated_at: string;\n}\n\nexport interface SlotGroupDTO {\n\tname: string;\n\tslug: string;\n}\n\nexport interface SlotsSearchResult {\n\tid: string;\n\tcategories: [];\n\tname: string;\n\tpageCode: string;\n\tpageMobile: string;\n\tprovider: string;\n\tsubProvider: string;\n\tsystem: string;\n\ttype: string;\n\trtp: string;\n\timage: string;\n}\n\nexport enum GameMode {\n\tDEMO = 'demo',\n\tREAL = 'real',\n}\n\nexport interface SlotResponse {\n\tlength: number;\n\tlist: SlotDTO[];\n}\n\nexport interface SlotCategoriesResponse {\n\tcategories: SlotCategoryDTO[];\n}\n\nexport interface SlotSearchResponse {\n\tdata: SlotDTO[];\n}\n\nexport interface FetchError {\n\terror: string;\n\tstatus: number;\n}\n\nexport type SlotSearchFetchData = SlotSearchResponse & FetchError;\n\nexport type SlotFetchData = SlotResponse & FetchError;\n","import { FunctionComponent, useContext, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport {\n\tgetCategoryUri,\n\tgetSportUri,\n\tgetTeamUri,\n\tgetTournamentUri,\n} from '@legacyApp/client/modules/app/sportsService';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { SportContext } from '../../context/SportContext';\nimport { TournamentContext } from '../../context/TournamentContext';\nimport { MatchContext } from '../../context/MatchContext';\nimport { createNameFromSlug } from '../../methods/createNameFromSlug';\nimport { TeamContext } from '../../context/TeamContext';\nimport { SportContextType } from '../../types/Sport/SportContextType';\nimport { SportType } from '../../types/Sport/SportType';\nimport { TournamentContextType } from '../../types/Tournament/TournamentContextType';\nimport { TournamentMatchType } from '../../types/Tournament/TournamentMatchType';\nimport { CategoryContext } from '../../context/CategoryContext';\nimport { SportName } from '../SportName/SportName';\nimport BreadcrumbsLoader from '../../../../common/components/contentLoaders/BreadcrumbsLoader';\n\nconst parseData = (\n\tdata: SportContextType | TournamentContextType,\n\tmatchData?: SportType | TournamentMatchType,\n) => ({\n\tname: matchData?.name || data?.name || createNameFromSlug(data?.slug) || '',\n\tslug: matchData?.slug || data?.slug || '',\n\tid: matchData?.id || data?.id || '',\n});\n\nconst Breadcrumbs: FunctionComponent = () => {\n\tconst sport = useContext(SportContext);\n\tconst category = useContext(CategoryContext);\n\tconst tournament = useContext(TournamentContext);\n\tconst { match } = useContext(MatchContext);\n\tconst team = useContext(TeamContext);\n\n\tconst [sportData, setSportData] = useState(parseData(sport, match?.sport));\n\tuseEffect(() => {\n\t\tsetSportData(parseData(sport, match?.sport));\n\t}, [sport?.id, match?.sport?.id]);\n\n\tconst [teamData, setTeamData] = useState(parseData(team));\n\tuseEffect(() => {\n\t\tsetTeamData(parseData(team));\n\t}, [team?.id, team?.name]);\n\n\tconst [tournamentData, setTournamentData] = useState(\n\t\tparseData(tournament, match?.tournament),\n\t);\n\tuseEffect(() => {\n\t\tsetTournamentData(parseData(tournament, match?.tournament));\n\t}, [tournament?.id, match?.tournament?.id, tournament?.name]);\n\n\tconst [categoryData, setCategoryData] = useState(\n\t\tparseData(category, match?.category),\n\t);\n\tuseEffect(() => {\n\t\tsetCategoryData(parseData(category, match?.category));\n\t}, [category?.id, match?.category?.id, category?.name, match?.category]);\n\n\t// console.log('SlotsBreadcrumbs', {\n\t// \ttournamentData,\n\t// \tcategoryData,\n\t// \tsportData,\n\t// \tsport,\n\t// \ttournament,\n\t// \tmatch,\n\t// \tteamData,\n\t// \tteam,\n\t// });\n\n\tconst isOnlySport = !(\n\t\ttournamentData?.id ||\n\t\tcategoryData?.id ||\n\t\tmatch?.tournament?.id ||\n\t\tteamData?.id\n\t);\n\treturn (\n\t\t<StyledBreadcrumbs className=\"text-capitalize\">\n\t\t\t{sportData?.name ? (\n\t\t\t\t<LinkTo href={`${getSportUri(sportData.id, sportData.slug)}`}>\n\t\t\t\t\t<a>\n\t\t\t\t\t\t<SportName\n\t\t\t\t\t\t\tseoLabel={isOnlySport}\n\t\t\t\t\t\t\tname={sportData.name}\n\t\t\t\t\t\t\ticonId={sportData.slug}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t</LinkTo>\n\t\t\t) : (\n\t\t\t\t<BreadcrumbsLoader id={'1'} />\n\t\t\t)}\n\t\t\t{!isOnlySport ? (\n\t\t\t\t<>\n\t\t\t\t\t<StyledBreadcrumbsSpacer />\n\t\t\t\t\t{team?.id ? (\n\t\t\t\t\t\t<LinkTo href={getTeamUri(sportData, teamData)}>\n\t\t\t\t\t\t\t<a>{teamData.name}</a>\n\t\t\t\t\t\t</LinkTo>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<LinkTo href={getCategoryUri(sportData, categoryData)}>\n\t\t\t\t\t\t\t\t<a>{transSports({ label: categoryData.name })}</a>\n\t\t\t\t\t\t\t</LinkTo>\n\t\t\t\t\t\t\t{tournamentData?.id ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<StyledBreadcrumbsSpacer />\n\t\t\t\t\t\t\t\t\t<LinkTo\n\t\t\t\t\t\t\t\t\t\tforceATag\n\t\t\t\t\t\t\t\t\t\thref={getTournamentUri(\n\t\t\t\t\t\t\t\t\t\t\tsportData,\n\t\t\t\t\t\t\t\t\t\t\tcategoryData,\n\t\t\t\t\t\t\t\t\t\t\ttournamentData,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<a>{tournamentData.name}</a>\n\t\t\t\t\t\t\t\t\t</LinkTo>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t) : null}\n\t\t</StyledBreadcrumbs>\n\t);\n};\n\nexport const StyledBreadcrumbsSpacer = styled.i.attrs({\n\tclassName: 'icon__arrow-down',\n})`\n\tdisplay: inline-flex;\n\tmargin: 0 1rem 0 0.75rem;\n\n\t&:after {\n\t\tborder-color: var(--color-misc-primary-gradient-to);\n\t\ttransform: rotate(315deg);\n\t}\n`;\n\nexport const StyledBreadcrumbs = styled.div.attrs<{\n\tclassName?: string;\n}>({ className: 'text-style-md-regular' })`\n\t${boxNoHeight};\n\talign-items: center;\n\tborder-bottom: 1px solid rgba(255, 255, 255, 0.1);\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tmargin-bottom: 1.5rem;\n\tpadding: 1rem 0;\n\n\t> a,\n\t> h1 {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t}\n\n\tsvg {\n\t\tmargin-right: 0.25rem;\n\t\tmin-width: 15px;\n\t}\n`;\n\nexport { Breadcrumbs };\n","import { BetSlipTypesType } from '../types/BetSlip/BetSlipTypesType';\nimport { BetSlipAcceptTypeType } from '../types/BetSlip/BetSlipAcceptTypeType';\n\nexport const BETSLIP_MULTI_LIMIT = 20;\n\nexport const BETSLIP_TYPE = {\n\tSINGLE: 'single',\n\tMULTI: 'multi',\n} as const;\n\nexport const BETSLIP_TYPES: BetSlipTypesType[] = [\n\t{\n\t\tid: BETSLIP_TYPE.SINGLE,\n\t\tname: 'Single',\n\t},\n\t{\n\t\tid: BETSLIP_TYPE.MULTI,\n\t\tname: 'Multi',\n\t},\n];\n\nexport const BETSLIP_ACCEPT_TYPES: BetSlipAcceptTypeType[] = [\n\t{\n\t\tid: 0,\n\t\tname: 'no odds changes accepted',\n\t},\n\t{\n\t\tid: 1,\n\t\tname: 'accept only higher odds',\n\t},\n\t{\n\t\tid: 2,\n\t\tname: 'accept any odds',\n\t},\n];\n\nexport const OFFER_CLOSED_ERROR = 'Offer closed';\nexport const OFFER_SUSPENDED_ERROR = 'Suspended';\n","export const SPORTS_ID = 'sports_v1';\n\nexport const SPORTS_PAGE_ID = {\n\tINDEX: SPORTS_ID,\n\tMENU: `${SPORTS_ID}_menu`,\n\tLIVE: `${SPORTS_ID}_live`,\n\tEVENT: `${SPORTS_ID}_event`,\n\tSPORT: `${SPORTS_ID}_sport`,\n\tTOURNAMENT: `${SPORTS_ID}_tournament`,\n\tCATEGORY: `${SPORTS_ID}_category`,\n\tTEAM: `${SPORTS_ID}_team`,\n} as const;\n\nexport const SPORTS_META = {\n\t[SPORTS_PAGE_ID.INDEX]: {\n\t\ttitle: 'Bitcoin Sports Betting - Crypto Sports Betting',\n\t},\n\t[SPORTS_PAGE_ID.MENU]: {\n\t\ttitle: 'Bitcoin Sports Betting - Crypto Sports Betting',\n\t},\n\t[SPORTS_PAGE_ID.LIVE]: {\n\t\ttitle: 'Bitcoin Live Sports Betting - Crypto Live Sports Betting',\n\t},\n\t[SPORTS_PAGE_ID.EVENT]: {\n\t\ttitle: 'Bitcoin Match Betting - Crypto Match Betting',\n\t},\n\t[SPORTS_PAGE_ID.SPORT]: {\n\t\ttitle: 'Bitcoin {{section_name}} Betting - Crypto {{section_name}} Betting',\n\t},\n\t[SPORTS_PAGE_ID.TOURNAMENT]: {\n\t\ttitle: 'Bitcoin {{section_name}} Betting - Crypto {{section_name}} Betting',\n\t},\n\t[SPORTS_PAGE_ID.CATEGORY]: {\n\t\ttitle: 'Bitcoin {{section_name}} Betting - Crypto {{section_name}} Betting',\n\t},\n\t[SPORTS_PAGE_ID.TEAM]: {\n\t\ttitle: 'Bitcoin {{section_name}} Betting - Crypto {{section_name}} Betting',\n\t},\n} as const;\n","import { generateUrl, GenerateUrl, ROUTE } from '../../../common/routes/Routes';\nimport { generateSlotsApiUrl } from '../../slots/services/Slots.service';\nimport { BetSlipHistoryStatusType } from '../types/BetSlipHistory/BetSlipHistoryTypes';\n\nconst generateSportsBookApiUrl: GenerateUrl = (name, options) => {\n\treturn generateSlotsApiUrl(name, options);\n};\n\nexport const generateSportsBookUserBetSlipsHistory = ({\n\tpage,\n\ttype,\n}: {\n\tpage?: number;\n\ttype: BetSlipHistoryStatusType;\n}) => {\n\treturn generateSportsBookApiUrl(ROUTE.apiSportsBookUserBetSlipHistory, {\n\t\t...(page && { page }),\n\t\tstate: type,\n\t});\n};\n\nexport const generateUserSportsBetSlipsHistory = ({\n\tstate,\n}: {\n\tstate: BetSlipHistoryStatusType;\n}) => {\n\treturn generateUrl(ROUTE.userSportsBetSlipsHistory, { state });\n};\n\nexport const generateUserSportsBetSlipsHistoryV1 = ({\n\tstate,\n}: {\n\tstate: BetSlipHistoryStatusType;\n}) => {\n\treturn generateUrl(ROUTE.userSportsBetSlipsHistoryV1, { state });\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { BetSlipBet } from '../../types/BetSlip/BetSlipBet';\nimport transactionService from '../../../transactions/transactionsService';\nimport { BetSlipTypesType } from '../../types/BetSlip/BetSlipTypesType';\n\nexport const useSportsBetSlipBetsList = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.betsList as BetSlipBet[],\n\t\t(prev, next) => !transactionService.isListDifferent(prev, next),\n\t);\nexport const useSportsBetSlipType = (): BetSlipTypesType =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.type,\n\t\t(prev, next) => prev.id === next.id,\n\t);\nexport const useSportsBetSlipBetOutcome = ({\n\tmatchId,\n\toutcomeId,\n}: {\n\tmatchId: string;\n\toutcomeId: string;\n}) =>\n\tuseAppSelector(\n\t\t(state) => state?.sportsBetSlip?.bets?.[matchId]?.outcome[outcomeId],\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\nexport const useSportsBetSlipBetData = ({ matchId }: { matchId: string }) =>\n\tuseAppSelector(\n\t\t(state) => state?.sportsBetSlip?.bets?.[matchId]?.data,\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\nexport const useSportsBetSlipPlacingBet = () =>\n\tuseAppSelector((state) => !!state?.sportsBetSlip?.placingBet, shallowEqual);\nexport const useSportsBetSlipError = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.error,\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\nexport const useSportsBetSlipAcceptType = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.acceptType,\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\nexport const useSportsBetSlipBetsData = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.bets,\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\nexport const useSportsBetSlipPlacedBets = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.betsList.filter((el) => el.placed_at),\n\t\t(prev, next) => !transactionService.isListDifferent(prev, next),\n\t);\nexport const useSportsBetSlipReadyToBetBets = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsBetSlip?.betsList.filter((el) => !el.placed_at),\n\t\t(prev, next) => !transactionService.isListDifferent(prev, next),\n\t);\n\nexport const useSportsEventsData = () =>\n\tuseAppSelector(\n\t\t(state) => state.sportsEventsData.data,\n\t\t(prev, next) => transactionService.isDuplicate(prev, next),\n\t);\n\nexport const useSportsSideContent = () =>\n\tuseAppSelector((state) => state.sports?.sideContent, shallowEqual);\nexport const useSportsActive = () =>\n\tuseAppSelector((state) => state.sports?.active, shallowEqual);\n","import { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport { SPORTS_SET_ACTIVE, SPORTS_SET_SIDE_CONTENT } from './sports.constants';\n\nexport const sportsSetActive = actionSimple(SPORTS_SET_ACTIVE);\nexport const sportsSetSideContentAction = actionSimple(SPORTS_SET_SIDE_CONTENT);\n","export const SPORTS_SET_ACTIVE = 'SPORTS_SET_ACTIVE';\nexport const SPORTS_SET_SIDE_CONTENT = 'SPORTS_SET_SIDE_CONTENT';\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { sportsBetSlipClearPlacedBets } from '../sportsBetSlip/sportsBetSlip.thunk';\nimport { sportsSetSideContentAction } from './sports.actions';\n\nexport const sportsSetSideContent = (\n\tid?: 'bet_slip' | 'my_bets' | false,\n): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tif (!getState().sports) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(sportsBetSlipClearPlacedBets());\n\t\tdispatch(sportsSetSideContentAction(id));\n\t};\n};\n","import { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport {\n\tSPORTS_BET_SLIP_SET_ACCEPT_TYPE,\n\tSPORTS_BET_SLIP_SET_BETS,\n\tSPORTS_BET_SLIP_SET_BETS_LIST,\n\tSPORTS_BET_SLIP_SET_FORM_ERROR,\n\tSPORTS_BET_SLIP_SET_PLACED_BET,\n\tSPORTS_BET_SLIP_SET_PLACING_BET,\n\tSPORTS_BET_SLIP_SET_TYPE,\n\tSPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT,\n} from './sportsBetSlip.constants';\n\nexport const sportsBetSlipSetBets = actionSimple(SPORTS_BET_SLIP_SET_BETS);\nexport const sportsBetSlipSetBetsList = actionSimple(\n\tSPORTS_BET_SLIP_SET_BETS_LIST,\n);\nexport const sportsBetSlipUpdateBetsListElement = actionSimple(\n\tSPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT,\n);\nexport const sportsBetSlipSetTypeAction = actionSimple(\n\tSPORTS_BET_SLIP_SET_TYPE,\n);\nexport const sportsBetSlipSetPlacingBet = actionSimple(\n\tSPORTS_BET_SLIP_SET_PLACING_BET,\n);\nexport const sportsBetSlipSetPlacedBet = actionSimple(\n\tSPORTS_BET_SLIP_SET_PLACED_BET,\n);\nexport const sportsBetSlipSetAcceptType = actionSimple(\n\tSPORTS_BET_SLIP_SET_ACCEPT_TYPE,\n);\nexport const sportsBetSlipSetFormError = actionSimple(\n\tSPORTS_BET_SLIP_SET_FORM_ERROR,\n);\n","export const SPORTS_BET_SLIP_SET_BETS = 'SPORTS_BET_SLIP_SET_BETS';\nexport const SPORTS_BET_SLIP_SET_BETS_LIST = 'SPORTS_BET_SLIP_SET_BETS_LIST';\nexport const SPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT =\n\t'SPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT';\nexport const SPORTS_BET_SLIP_SET_TYPE = 'SPORTS_BET_SLIP_SET_TYPE';\nexport const SPORTS_BET_SLIP_SET_PLACING_BET =\n\t'SPORTS_BET_SLIP_SET_PLACING_BET';\nexport const SPORTS_BET_SLIP_SET_PLACED_BET = 'SPORTS_BET_SLIP_SET_PLACED_BET';\nexport const SPORTS_BET_SLIP_SET_ACCEPT_TYPE =\n\t'SPORTS_BET_SLIP_SET_ACCEPT_TYPE';\nexport const SPORTS_BET_SLIP_SET_FORM_ERROR = 'SPORTS_BET_SLIP_SET_FORM_ERROR';\n","import { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { showAlert } from '@legacyApp/client/store/alerts/alerts.actions';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { getSportsApiUrl } from '@legacyApp/client/modules/app/sportsService';\nimport { parseApiInfo } from '@legacyApp/client/modules/app/errorsService';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { loop } from '@legacyApp/client/modules/app/appService';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { sportsSetSideContent } from '../sports/sports.thunk';\nimport { updateBalance } from '../../../balance/store/balance.actions';\nimport { BETSLIP_MULTI_LIMIT, BETSLIP_TYPE } from '../../constants/betSlip';\nimport { chatActions } from '../../../chat/store/chat.actions';\nimport { BetSlipBet } from '../../types/BetSlip/BetSlipBet';\nimport { isBetSlipToOpen } from '../../methods/isBetSlipToOpen';\nimport { BetSlipTypeType } from '../../types/BetSlip/BetSlipType';\nimport {\n\tsportsBetSlipSetBets,\n\tsportsBetSlipSetBetsList,\n\tsportsBetSlipSetFormError,\n\tsportsBetSlipSetPlacedBet,\n\tsportsBetSlipSetPlacingBet,\n\tsportsBetSlipSetTypeAction,\n} from './sportsBetSlip.actions';\n\nexport const sportsBetSlipUpdate = (data): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst list = [];\n\t\tObject.keys(data).forEach((matchId) => {\n\t\t\tObject.keys(data[matchId].outcome).forEach((outcomeId) => {\n\t\t\t\tconst betsList = getState().sportsBetSlip.betsList;\n\t\t\t\tconst bet = betsList.find(\n\t\t\t\t\t(el) => el.matchId === matchId && outcomeId === el.outcomeId,\n\t\t\t\t);\n\t\t\t\t// console.log('sportsBetSlipUpdate', {\n\t\t\t\t// \tbet,\n\t\t\t\t// \tbetsList,\n\t\t\t\t// \tmatchId,\n\t\t\t\t// \toutcomeId,\n\t\t\t\t// });\n\t\t\t\tlist.push({\n\t\t\t\t\t...(bet || {}),\n\t\t\t\t\tmatchId,\n\t\t\t\t\toutcomeId,\n\t\t\t\t\tinfo: bet?.info || null,\n\t\t\t\t\tstake: bet?.stake || 0,\n\t\t\t\t\tselected_at: data[matchId].outcome[outcomeId].selected_at,\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tif (typeof data === 'object' && !Object.keys(data).length) {\n\t\t\tdispatch(sportsBetSlipSetFormError({ type: null, message: null }));\n\t\t}\n\t\tdispatch(sportsBetSlipSetBets(data));\n\t\tdispatch(validateBetSlipList({ list }));\n\t};\n};\n\nexport const sportsBetSlipToggleBet = ({ data, outcome }): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tconst { bets, betsList } = state.sportsBetSlip;\n\t\tconst matchId = data?.id;\n\t\tconst outcomeId = outcome?.id;\n\n\t\tif (!matchId) {\n\t\t\tdispatch(sportsBetSlipOpen());\n\t\t\treturn dispatch(showAlert('error', 'Toggle outcome - missing match id'));\n\t\t}\n\t\tconst newState = { ...bets };\n\t\tif (!outcomeId) {\n\t\t\tdelete newState[matchId];\n\t\t\treturn dispatch(sportsBetSlipUpdate(newState));\n\t\t}\n\t\tif (matchId && outcomeId && newState[matchId]?.outcome?.[outcomeId]) {\n\t\t\tdelete newState[matchId].outcome[outcomeId];\n\t\t\tif (!Object.keys(newState[matchId].outcome).length) {\n\t\t\t\tdelete newState[matchId];\n\t\t\t}\n\t\t} else if (\n\t\t\tbetsList.length >= BETSLIP_MULTI_LIMIT &&\n\t\t\tgetState().sportsBetSlip.type.id === 'multi'\n\t\t) {\n\t\t\treturn dispatch(\n\t\t\t\tshowAlert('info', 'Exceeded max events amount on single multi bet'),\n\t\t\t);\n\t\t} else if (matchId && outcomeId && newState[matchId]) {\n\t\t\tdispatch(sportsBetSlipOpen());\n\t\t\tnewState[matchId].outcome[outcomeId] = {\n\t\t\t\t...outcome,\n\t\t\t\tselected_at: getTimestamp(),\n\t\t\t};\n\t\t} else if (matchId && outcomeId) {\n\t\t\tdispatch(sportsBetSlipOpen());\n\t\t\tnewState[matchId] = {\n\t\t\t\tdata: { ...data },\n\t\t\t\toutcome: {\n\t\t\t\t\t[outcomeId]: {\n\t\t\t\t\t\t...outcome,\n\t\t\t\t\t\tselected_at: getTimestamp(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\t\treturn dispatch(sportsBetSlipUpdate(newState));\n\t};\n};\n\nexport const sportsBetSlipOpen = () => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (isBetSlipToOpen(state)) {\n\t\t\t// TODO: chat store usage\n\t\t\tif (!state?.chat?.visible) {\n\t\t\t\tdispatch(chatActions.setVisible({ isVisible: true }));\n\t\t\t}\n\t\t\tdispatch(sportsSetSideContent('bet_slip'));\n\t\t}\n\t};\n};\n\nexport const sportsBetSlipDeleteBet = (matchId, outcomeId): AppThunk => {\n\treturn (dispatch) => {\n\t\treturn dispatch(\n\t\t\tsportsBetSlipToggleBet({\n\t\t\t\tdata: { id: matchId },\n\t\t\t\toutcome: { id: outcomeId },\n\t\t\t}),\n\t\t);\n\t};\n};\n\nexport const sportsBetSlipSubmit = (stake: number): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tif (!state.user.isLogged) {\n\t\t\treturn dispatch(showAlert('error', 'Please, login to place bet'));\n\t\t}\n\n\t\tconst betsList = state.sportsBetSlip.betsList;\n\n\t\tif (!betsList.length) {\n\t\t\treturn dispatch(showAlert('error', 'Invalid bet slip'));\n\t\t}\n\n\t\tif (getState().sportsBetSlip.error.type) {\n\t\t\tdispatch(\n\t\t\t\tsportsBetSlipSetFormError({\n\t\t\t\t\ttype: null,\n\t\t\t\t\tmessage: null,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tif (state.sportsBetSlip.type.id === 'single') {\n\t\t\treturn dispatch(placeSingleBetSlip(betsList));\n\t\t} else if (state.sportsBetSlip.type.id === 'multi') {\n\t\t\treturn dispatch(placeMultiBetSlip(betsList, stake));\n\t\t}\n\t\treturn null;\n\t};\n};\n\nconst placeSingleBetSlip = (betsList): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tdispatch(sportsBetSlipSetPlacingBet(betsList.length));\n\t\tbetsList.forEach((bet) => {\n\t\t\tconst betData =\n\t\t\t\tgetState().sportsBetSlip.bets[bet.matchId].outcome[bet.outcomeId];\n\t\t\tdispatch(placeSingleBet(bet, betData));\n\t\t});\n\t};\n};\n\nconst placeSingleBet = (bet, betData): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconsole.log('placeSingleBetSlip - single', { betData });\n\t\tdispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: getSportsApiUrl(`/betslips/place?id=${bet.outcomeId}`),\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdisableErrorHandler: true,\n\t\t\t\tparameters: {\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tcurrency: getState().user.activeCurrency,\n\t\t\t\t\t\tamount: bet.stake,\n\t\t\t\t\t\todds_accept: getState().sportsBetSlip.acceptType.id,\n\t\t\t\t\t\ttype: 1, // single\n\t\t\t\t\t\tevents: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\todds: betData.decimal_odds,\n\t\t\t\t\t\t\t\toffer_id: betData.offer_id,\n\t\t\t\t\t\t\t\toutcome_id: bet.outcomeId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloaderId: 'postBetslipsPlace',\n\t\t\t}),\n\t\t)\n\t\t\t.then((response) => {\n\t\t\t\tconst placed_at = getTimestamp();\n\t\t\t\tif (response.userBalance) {\n\t\t\t\t\tdispatch(updateBalance(response.userBalance, 'placeBetSlip'));\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => {\n\t\t\t\t\t\t\t\tif (el.outcomeId === bet.outcomeId) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\t\t\tinfo: null,\n\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\tplaced_at,\n\t\t\t\t\t\t\t\t\t\tresult_odds:\n\t\t\t\t\t\t\t\t\t\t\tresponse?.betslip?.betslip_events?.[0]?.decimal_odds ||\n\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => {\n\t\t\t\t\t\t\t\treturn el.outcomeId === bet.outcomeId\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\t\tinfo: parseApiInfo(response, undefined, 'sports'),\n\t\t\t\t\t\t\t\t\t\t\tplaced_at,\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t: el;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdispatch(sportsBetSlipSetPlacedBet());\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconst placed_at = getTimestamp();\n\t\t\t\tconst betData =\n\t\t\t\t\tgetState().sportsBetSlip.bets[bet.matchId].outcome[bet.outcomeId];\n\t\t\t\tsentryError(\n\t\t\t\t\terror,\n\t\t\t\t\t{\n\t\t\t\t\t\tbet,\n\t\t\t\t\t\tbetData,\n\t\t\t\t\t\ttype: 'single',\n\t\t\t\t\t},\n\t\t\t\t\tgetState(),\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => {\n\t\t\t\t\t\t\treturn el.outcomeId !== bet.outcomeId\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\tinfo: 'Connection error, please try again later',\n\t\t\t\t\t\t\t\t\t\tplaced_at,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: el;\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tdispatch(sportsBetSlipSetPlacedBet());\n\t\t\t});\n\t};\n};\n\nconst placeMultiBetSlip = (betsList, stake): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst events = betsList.map((bet) => {\n\t\t\tconst betData =\n\t\t\t\tgetState().sportsBetSlip.bets[bet.matchId].outcome[bet.outcomeId];\n\t\t\treturn {\n\t\t\t\todds: betData.decimal_odds,\n\t\t\t\toffer_id: betData.offer_id,\n\t\t\t\toutcome_id: bet.outcomeId,\n\t\t\t};\n\t\t});\n\n\t\tdispatch(sportsBetSlipSetPlacingBet(1));\n\t\tdispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: getSportsApiUrl('/betslips/place'),\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdisableErrorHandler: true,\n\t\t\t\tparameters: {\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tcurrency: getState().user.activeCurrency,\n\t\t\t\t\t\todds_accept: getState().sportsBetSlip.acceptType.id,\n\t\t\t\t\t\tamount: stake,\n\t\t\t\t\t\ttype: 2, // multi\n\t\t\t\t\t\tevents,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloaderId: 'postBetslipsPlaceMulti',\n\t\t\t}),\n\t\t)\n\t\t\t.then((response) => {\n\t\t\t\tconst placed_at = getTimestamp();\n\t\t\t\tif (response.userBalance) {\n\t\t\t\t\tdispatch(updateBalance(response.userBalance, 'placeMultiBetSlip'));\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsBetSlipSetFormError({\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tmessage: 'Bet slip placed!',\n\t\t\t\t\t\t\t\t\tnamespace: 'sports',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => ({\n\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\tinfo: null,\n\t\t\t\t\t\t\t\tplaced_at,\n\t\t\t\t\t\t\t\tresult_odds:\n\t\t\t\t\t\t\t\t\tresponse?.betslip?.betslip_events?.find(\n\t\t\t\t\t\t\t\t\t\t(event) => event.outcome.id === el.outcomeId,\n\t\t\t\t\t\t\t\t\t)?.decimal_odds || null,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tshowAlert('error', parseApiInfo(response, undefined, 'sports')),\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => ({\n\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\tinfo: null,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdispatch(sportsBetSlipSetPlacedBet());\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tdispatch(\n\t\t\t\t\tshowAlert('error', 'Connection error, please try again later'),\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tsportsBetSlipSetBetsList(\n\t\t\t\t\t\tgetState().sportsBetSlip.betsList.map((el) => ({\n\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\tinfo: null,\n\t\t\t\t\t\t})),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tdispatch(sportsBetSlipSetPlacedBet());\n\t\t\t});\n\t};\n};\n\nexport const sportsBetSlipClearPlacedBets = (): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tif (!getState().sportsBetSlip?.betsList?.length) {\n\t\t\treturn;\n\t\t}\n\t\tconst placedBets = getState().sportsBetSlip.betsList.filter(\n\t\t\t(el) => el.placed_at,\n\t\t);\n\t\tif (placedBets.length) {\n\t\t\tdispatch(sportsBetSlipSetFormError({ type: null, message: null }));\n\t\t}\n\t\tloop(placedBets, (bet) => {\n\t\t\tdispatch(\n\t\t\t\tsportsBetSlipToggleBet({\n\t\t\t\t\tdata: { id: bet.matchId },\n\t\t\t\t\toutcome: { id: bet.outcomeId },\n\t\t\t\t}),\n\t\t\t);\n\t\t}).then(() => {\n\t\t\tconst state = getState();\n\t\t\t// dispatch(validateBetSlipList());\n\t\t\tif (state.sportsBetSlip.error.type === 'success') {\n\t\t\t\tdispatch(\n\t\t\t\t\tsportsBetSlipSetFormError({\n\t\t\t\t\t\ttype: null,\n\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t};\n};\n\nexport const sportsBetSlipSetType = (type: BetSlipTypeType): AppThunk => {\n\treturn (dispatch) => {\n\t\tdispatch(sportsBetSlipSetTypeAction(type));\n\t\tdispatch(sportsBetSlipClearPlacedBets());\n\t\tdispatch(validateBetSlipList({ betSlipType: type }));\n\t};\n};\n\nexport const validateBetSlipList = ({\n\tlist,\n\tbetSlipType,\n}: {\n\tlist?: BetSlipBet[];\n\tbetSlipType?: BetSlipTypeType;\n}): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst type = betSlipType ?? getState().sportsBetSlip.type.id;\n\t\tlet betsList = list ?? getState().sportsBetSlip.betsList;\n\t\tconsole.log('validateBetSlipList', {\n\t\t\tbetsList,\n\t\t\ttype,\n\t\t});\n\t\tbetsList = betsList.map((el) => {\n\t\t\tconst isMultiMatch = betsList.some(\n\t\t\t\t(bet) => el.matchId === bet.matchId && bet.outcomeId !== el.outcomeId,\n\t\t\t);\n\t\t\tif (type === BETSLIP_TYPE.SINGLE) {\n\t\t\t\treturn {\n\t\t\t\t\t...el,\n\t\t\t\t\terror: {\n\t\t\t\t\t\t...el.error,\n\t\t\t\t\t\tmultiMatch: null,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (type === BETSLIP_TYPE.MULTI) {\n\t\t\t\treturn {\n\t\t\t\t\t...el,\n\t\t\t\t\terror: {\n\t\t\t\t\t\t...el.error,\n\t\t\t\t\t\tmultiMatch: isMultiMatch\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\t\t'Offers from the same match cannot be placed in multi mode',\n\t\t\t\t\t\t\t\t\tnamespace: 'sports',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn el;\n\t\t});\n\t\tdispatch(sportsBetSlipSetBetsList(betsList));\n\t};\n};\n","import { RootState } from '@legacyApp/client/store/configure.store';\n\nexport const isBetSlipToOpen = (state: RootState): boolean => {\n\t// open chat with bet_slip to set your stake:\n\t// - desktop always\n\t// - mobile on single mode always\n\t// - mobile on multi mode only on first bet\n\n\t// TODO: chat store usage\n\tif (!(state.sports?.sideContent !== 'bet_slip' || !state?.chat?.visible)) {\n\t\treturn false;\n\t}\n\n\tif (!state.app.mobile) {\n\t\treturn true;\n\t}\n\n\tif (state.sportsBetSlip?.type.id === 'single') {\n\t\treturn true;\n\t}\n\n\treturn !state.sportsBetSlip?.betsList?.length;\n};\n","import { BetState } from '@legacyApp/types/bets/BetDetailsType';\nimport { UserType } from '@legacyApp/types/user/UserType';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { BetSlipTypeType } from '../BetSlip/BetSlipType';\nimport { GameType } from '../../../games/Game/constants/availableGames';\nimport { BetSlipDetailsEventType } from './BetSlipDetailsEventType';\n\nexport enum BetSlipDetailsProgressState {\n\tPENDING = 'pending',\n\tCASHOUT = 'cashout',\n\tCANCELED = 'canceled',\n\tREJECTED = 'rejected',\n\tCLOSED = 'closed',\n}\n\nexport type BetSlipDetailsState = BetState | BetSlipDetailsProgressState;\n\nexport interface BetSlipDetailsType {\n\tdataType: GameType.SPORTS;\n\tamount: string;\n\tcurrency: CurrencyType;\n\thash: string;\n\tprofit: string;\n\tpublished_at: number;\n\tstate: BetSlipDetailsState;\n\ttotal_odds: number;\n\ttype: BetSlipTypeType;\n\tbetslip_events: BetSlipDetailsEventType[];\n\ttotal_available_cashout_odds?: number;\n\tuser: UserType;\n}\n","export enum OperatorSports {\n\tSOFTGAMINGS = 'softgamings',\n\tSOFTSWISS = 'softswiss',\n}\n","import { apiConfig } from '@server/config/api.config';\nimport { GameMode } from '@modules/slots/store/slots.types';\nimport { OperatorSports } from '@modules/sportsbook/@types/operator.sports';\n\nexport const SPORTSBOOK_ID = 'sportsbook';\n\nexport const SPORTSBOOK_PAGE_ID = {\n\tINDEX: SPORTSBOOK_ID,\n} as const;\n\nexport const SPORTSBOOK_META = {\n\t[SPORTSBOOK_PAGE_ID.INDEX]: {\n\t\ttitle: 'Bitcoin Sports Betting - Crypto Sports Betting',\n\t},\n} as const;\n\nexport const PAGE_ID = SPORTSBOOK_PAGE_ID.INDEX;\nexport const SLUG = 'betradar-sportsbook';\nexport const MODE = GameMode.REAL;\nexport const SPORTSBOOK_SESSION_COOKIE = 'wolfbetsbsession';\nexport const SPORTS_IFRAME_URL = apiConfig.sportsIframeUrl;\nexport const SPORTS_OPERATOR: OperatorSports = OperatorSports.SOFTSWISS;\n","import { cookieService } from '@common/controllers/cookieService';\nimport { SPORTSBOOK_SESSION_COOKIE } from '@modules/sportsbook/constants/sportsbook.page.config';\n\nexport const clearSportsBookSession = () => {\n\tcookieService.clear(SPORTSBOOK_SESSION_COOKIE);\n};\n","import { Button, ButtonProps } from '@ui/button';\nimport { Support } from '@icons/support';\nimport { FC, MouseEventHandler } from 'react';\nimport { Size } from '@uiTypes/Size';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport {\n\ttrans,\n\tTransLabelType,\n} from '@legacyApp/client/modules/translation/translate';\nimport { Loader } from '@legacyApp/client/components/loader/loader';\nimport { useSupportToggle } from '@modules/support/hooks/useSupportToggle';\n\nexport const SupportButton: FC<{\n\tsize?: ButtonProps['size'];\n\tlabel?: TransLabelType;\n\tcallback?: MouseEventHandler<HTMLButtonElement>;\n}> = ({ size, label, callback }) => {\n\tconst { toggle } = useSupportToggle();\n\tconst toggleSupport = () => toggle();\n\treturn (\n\t\t<Button\n\t\t\tonClick={callback || toggleSupport}\n\t\t\tsize={size || Size.MEDIUM}\n\t\t\ticonBefore={<Support fill={'#4CC274'} />}\n\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\tlabel={trans({ label: label || 'Live support' })}\n\t\t>\n\t\t\t<Loader module={LOADING_IDS.SUPPORT_APP} />\n\t\t</Button>\n\t);\n};\n","export const SUPPORT_APP_KEY = 'Intercom';\n","import { useDispatch } from 'react-redux';\nimport { useCallback } from 'react';\nimport { useModalId } from '@modules/modals/store/modal.selectors';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { supportToggleThunk } from '@modules/support/store/thunks/toggleSupport.thunk';\n\nexport const useSupportToggle = () => {\n\tconst dispatch = useDispatch();\n\tconst modalId = useModalId();\n\tconst toggle = useCallback(\n\t\t(isOpen?: boolean) => {\n\t\t\tif (modalId) {\n\t\t\t\tdispatch(closeModal());\n\t\t\t}\n\t\t\tdispatch(supportToggleThunk(isOpen));\n\t\t},\n\t\t[dispatch, modalId],\n\t);\n\treturn {\n\t\ttoggle,\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport {\n\thideSupport,\n\tshowSupport,\n} from '@modules/support/methods/supportService';\nimport { supportInit } from '@modules/support/store/thunks/supportInit.thunk';\n\nexport const supportToggleThunk = (isOpen?: boolean): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tconst open = getState().support.open;\n\t\tconst opened = isOpen !== undefined ? !isOpen : open;\n\t\tif (opened) {\n\t\t\thideSupport();\n\t\t} else {\n\t\t\treturn dispatch(supportInit(() => showSupport()));\n\t\t}\n\t};\n};\n","import { getVendorUserData } from '@common/methods/getVendorUserData';\nimport { SUPPORT_APP_KEY } from '@modules/support/contants/SUPPORT_APP_KEY';\n\nexport const SUPPORT_APP_ID = 'himmcmo9';\n\nexport const isSupportLoaded = () => {\n\treturn window[SUPPORT_APP_KEY] && !window[SUPPORT_APP_KEY]?.q;\n};\n\nexport const initSupport = async (state, callback) => {\n\tconsole.log('init', window[SUPPORT_APP_KEY]?.q, window[SUPPORT_APP_KEY]);\n\tif (isSupportLoaded()) {\n\t\treturn;\n\t}\n\tconst userData = getVendorUserData(state);\n\tawait startSupport(userData, callback);\n};\n\nexport const startSupport = async (userData, callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\t// console.log(\n\t// \t'start',\n\t// \tuserData,\n\t// \twindow[SUPPORT_APP_KEY]?.q,\n\t// \twindow[SUPPORT_APP_KEY],\n\t// );\n\n\twindow['intercomSettings'] = {\n\t\tapi_base: 'https://api-iam.intercom.io',\n\t\tapp_id: SUPPORT_APP_ID,\n\t\t...userData,\n\t};\n\tconst options = window['intercomSettings'];\n\t// const ic = window[SUPPORT_APP_KEY];\n\t// if (typeof ic === 'function') {\n\t// \tic('reattach_activator');\n\t// \tic('update', options);\n\t// } else {\n\t// \tconst i = function () {\n\t// \t\t// eslint-disable-next-line prefer-rest-params\n\t// \t\ti.c(arguments);\n\t// \t};\n\t// \ti.q = [];\n\t// \ti.c = function (args) {\n\t// \t\ti.q.push(args);\n\t// \t};\n\t// \twindow[SUPPORT_APP_KEY] = i;\n\t// }\n\n\t// console.log('startSupport', window[SUPPORT_APP_KEY]);\n\n\t// const url = `https://widget.intercom.io/widget/${APP_ID}`;\n\t// await fetchScript_(url, {\n\t// \ttype: 'text/javascript',\n\t// \tcallback: () => {\n\tconsole.log('loaded', window[SUPPORT_APP_KEY]);\n\twindow && window[SUPPORT_APP_KEY] && window[SUPPORT_APP_KEY]('boot', options);\n\t// window &&\n\t// \twindow[SUPPORT_APP_KEY] &&\n\t// \twindow[SUPPORT_APP_KEY]('reattach_activator');\n\t// window &&\n\t// \twindow[SUPPORT_APP_KEY] &&\n\t// \twindow[SUPPORT_APP_KEY]('update', options);\n\tcallback();\n\t// },\n\t// onerror: (error) => {\n\t// \tsentryError(new Error(`fetchScript error: ${url}`), {\n\t// \t\terror,\n\t// \t\tIntercom: window[SUPPORT_APP_KEY],\n\t// \t});\n\t// },\n\t// });\n};\n\nexport const showSupport = () => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\tconsole.log('show', window[SUPPORT_APP_KEY]);\n\twindow[SUPPORT_APP_KEY] && window[SUPPORT_APP_KEY]('show');\n};\n\nexport const hideSupport = () => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] && window[SUPPORT_APP_KEY]('hide');\n};\n\nexport const onShowSupport = (callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] &&\n\t\twindow[SUPPORT_APP_KEY]('onShow', function () {\n\t\t\tif (process.browser) {\n\t\t\t\tdocument.body.classList.add('support-open');\n\t\t\t}\n\t\t\tif (callback) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t});\n};\n\nexport const onHideSupport = (callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] &&\n\t\twindow[SUPPORT_APP_KEY]('onHide', function () {\n\t\t\tif (process.browser) {\n\t\t\t\tdocument.body.classList.remove('support-open');\n\t\t\t}\n\t\t\tif (callback) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t});\n};\n\nexport const onUnreadCountChange = (callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] &&\n\t\twindow[SUPPORT_APP_KEY]('onUnreadCountChange', (e) => {\n\t\t\tif (callback) {\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t});\n};\n\nexport const onError = (callback) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] &&\n\t\twindow[SUPPORT_APP_KEY]('onError', (response) => {\n\t\t\tif (callback) {\n\t\t\t\tcallback(response);\n\t\t\t}\n\t\t});\n};\n\nexport const showNewMessage = (message: string) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] && window[SUPPORT_APP_KEY]('showNewMessage', message);\n};\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nconst defaultBetValue = false;\n\nconst NAME = 'error';\n\nexport type ValueType = boolean;\n\nconst initialState: ValueType = defaultBetValue;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const errorSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetError: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nconst defaultBetValue = false;\n\nconst NAME = 'open';\n\nexport type ValueType = boolean;\n\nconst initialState: ValueType = defaultBetValue;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const openSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetOpen: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nconst defaultBetValue = 0;\n\nconst NAME = 'unread';\n\nexport type ValueType = number;\n\nconst initialState: ValueType = defaultBetValue;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const unreadSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsetUnread: setAction,\n\t},\n});\n","import { openSlice } from '@modules/support/store/slices/open.slice';\nimport { unreadSlice } from '@modules/support/store/slices/unread.slice';\nimport { errorSlice } from '@modules/support/store/slices/error.slice';\n\nexport const supportActions = {\n\t...openSlice.actions,\n\t...unreadSlice.actions,\n\t...errorSlice.actions,\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { isFunction } from '@common/methods/isFunction';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport {\n\tinitSupport,\n\tisSupportLoaded,\n\tonError,\n\tonHideSupport,\n\tonShowSupport,\n\tonUnreadCountChange,\n} from '@modules/support/methods/supportService';\nimport { loaderThunk } from '@legacyApp/client/store/loader/loader.actions';\nimport { supportActions } from '../support.actions';\n\nexport const supportInit = (callback?: () => void): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tif (!isSupportLoaded()) {\n\t\t\tdispatch(loaderThunk(true, LOADING_IDS.SUPPORT_APP));\n\t\t\tawait initSupport(getState(), () => {\n\t\t\t\tonShowSupport(() => dispatch(supportActions.setOpen(true)));\n\t\t\t\tonHideSupport(() => dispatch(supportActions.setOpen(false)));\n\t\t\t\tonError((/*response*/) => {\n\t\t\t\t\tdispatch(supportActions.setError(true));\n\t\t\t\t\t// if (response.status === 0 && response.statusText === '') {\n\t\t\t\t\t// \treturn;\n\t\t\t\t\t// }\n\t\t\t\t\t// sentryError(\n\t\t\t\t\t// \tnew Error(`HelpCrunch - ${jsonToString(response)}`),\n\t\t\t\t\t// \t{\n\t\t\t\t\t// \t\tresponse\n\t\t\t\t\t// \t},\n\t\t\t\t\t// \tgetState()\n\t\t\t\t\t// );\n\t\t\t\t});\n\t\t\t\tdispatch(loaderThunk(false, LOADING_IDS.SUPPORT_APP));\n\t\t\t\tonUnreadCountChange((event) =>\n\t\t\t\t\tdispatch(supportActions.setUnread(event ? event.unreadChats : false)),\n\t\t\t\t);\n\t\t\t\tif (isFunction(callback)) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif (isFunction(callback)) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\t};\n};\n","export const TABLE_ID = {\n\t// by transaction store\n\tvaultHistory: 'vaultHistory',\n\tallBets: 'allBets',\n\thighRolls: 'highRolls',\n\tmyBets: 'myBets',\n\tgameResults: 'results',\n\tdepositHistory: 'depositHistory',\n\twithdrawHistory: 'withdrawHistory',\n\taffiliateCampaigns: 'affiliateCampaigns',\n\taffiliateAnalytics: 'affiliateAnalytics',\n\taffiliateFunds: 'affiliateFunds',\n\taffiliateCashoutHistory: 'affiliateCashoutHistory',\n\trakebackFunds: 'rakebackFunds',\n\totherTransactions: 'otherTransactions',\n\tfriendsIgnored: 'friendsIgnored',\n\tsessions: 'sessions',\n\tsessionHistory: 'sessionHistory',\n\t// by hooks\n\tbonusHistoryClaimed: 'bonusHistoryClaimed',\n\tbonusHistoryExpired: 'bonusHistoryExpired',\n\tleaderboard: 'leaderboard',\n\traceResults: 'raceResults',\n\taffiliateCampaignUsers: 'affiliateCampaignUsers',\n\taffiliateCampaignHistory: 'affiliateCampaignHistory',\n\tlastRacesResults: 'lastRacesResults',\n\tbenefitsBreakdown: 'benefitsBreakdownTable',\n\tavailableBonusCodes: 'availableBonusCodes',\n} as const;\ntype TableId = keyof typeof TABLE_ID;\nexport type TableIdType = (typeof TABLE_ID)[TableId];\n","import { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { createAffiliateLink } from '@legacyApp/client/modules/app/affiliateService';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport sortService, {\n\tDIRECTION,\n} from '../../../LegacyApp/client/modules/app/sortService';\nimport { TABLE_ID, TableIdType } from '../constants/TableId';\nimport { TransactionsResponseType } from '../constants/TransactionsResponse.type';\n\nexport const mapKeyData = (key: string, data: any) => {\n\tif (!data[key] && data.data?.length) {\n\t\tdata[key] = data.data;\n\t\tdelete data.data;\n\t}\n\treturn data;\n};\n\nconst mapFundsData = (data: TransactionsResponseType) => {\n\tif (!data.funds) {\n\t\treturn false;\n\t}\n\treturn data.funds\n\t\t.map((el) => ({\n\t\t\t...el,\n\t\t\tavailable: roundNumber(\n\t\t\t\tparseFloat(el.possible_profit_on_first_level || 0) +\n\t\t\t\t\tparseFloat(el.available),\n\t\t\t\t14,\n\t\t\t),\n\t\t\ttotal_commission: roundNumber(\n\t\t\t\tparseFloat(el.available) + parseFloat(el.withdrawn),\n\t\t\t\t14,\n\t\t\t),\n\t\t\tid: el.currency,\n\t\t\tmodified_at: el.modified_at || getTimestamp(),\n\t\t}))\n\t\t.filter((fund) => !!fund.total_commission)\n\t\t.sort((a, b) => sortService.sort(DIRECTION.DESC, a.currency, b.currency));\n};\nconst mapCampaignsData = (data: TransactionsResponseType) => {\n\tdata = mapKeyData('campaigns', data);\n\tif (!data.campaigns) {\n\t\treturn false;\n\t}\n\treturn data.campaigns\n\t\t.map((el) => {\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\tid: el.id || el.name,\n\t\t\t\tcurrency: 'btc',\n\t\t\t};\n\t\t})\n\t\t.sort((a, b) =>\n\t\t\tsortService.sort(\n\t\t\t\tDIRECTION.DESC,\n\t\t\t\ta.id,\n\t\t\t\tb.id,\n\t\t\t\ta.published_at,\n\t\t\t\tb.published_at,\n\t\t\t),\n\t\t);\n};\nconst mapAffiliateCampaignsData = (data: TransactionsResponseType) => {\n\treturn data.data\n\t\t.map((el) => ({\n\t\t\t...el.campaign,\n\t\t\tlink: createAffiliateLink(el.campaign.shortcut),\n\t\t}))\n\t\t.sort((a, b) =>\n\t\t\tsortService.sort(\n\t\t\t\tDIRECTION.DESC,\n\t\t\t\ta.id,\n\t\t\t\tb.id,\n\t\t\t\ta.published_at,\n\t\t\t\tb.published_at,\n\t\t\t),\n\t\t);\n};\nconst mapDepositsData = (data: TransactionsResponseType) => {\n\treturn (data.pending_deposits || [])\n\t\t.filter((el) => !data.deposits.some((deposit) => el.hash === deposit.hash))\n\t\t.map((el) => ({\n\t\t\t...el,\n\t\t\tstate: 'processing',\n\t\t}))\n\t\t.concat(data.deposits || [])\n\t\t.concat(data.data)\n\t\t.map((el) => {\n\t\t\tif (el && !el.hash) {\n\t\t\t\tel.hash = el.uuid;\n\t\t\t}\n\t\t\treturn el;\n\t\t});\n};\nconst mapOtherTransactionsData = (data: TransactionsResponseType) => {\n\tdata = mapKeyData('transactions', data);\n\tif (!data.transactions) {\n\t\treturn false;\n\t}\n\treturn data.transactions.map((el, index) => ({\n\t\t...el,\n\t\tid:\n\t\t\tel.id ||\n\t\t\t`otherTransactions_${el.published_at}_${el.type_label}_${el.currency}_${el.amount}${index}`,\n\t}));\n};\n\nconst mapTransactionsData = (\n\tid: TableIdType,\n\tdata: TransactionsResponseType,\n) => {\n\tif (!data) {\n\t\treturn false;\n\t}\n\tswitch (id) {\n\t\tcase TABLE_ID.vaultHistory: {\n\t\t\treturn data.data || false;\n\t\t}\n\t\tcase TABLE_ID.rakebackFunds: {\n\t\t\treturn mapFundsData(data);\n\t\t}\n\t\tcase TABLE_ID.affiliateFunds: {\n\t\t\treturn mapFundsData(data);\n\t\t}\n\t\tcase TABLE_ID.affiliateAnalytics: {\n\t\t\treturn mapCampaignsData(data);\n\t\t}\n\t\tcase TABLE_ID.affiliateCampaigns: {\n\t\t\treturn mapAffiliateCampaignsData(data);\n\t\t}\n\t\tcase TABLE_ID.withdrawHistory: {\n\t\t\tdata = mapKeyData('withdraws', data);\n\t\t\treturn data.withdraws || false;\n\t\t}\n\t\tcase TABLE_ID.depositHistory: {\n\t\t\treturn mapDepositsData(data);\n\t\t}\n\t\tcase TABLE_ID.otherTransactions: {\n\t\t\treturn mapOtherTransactionsData(data);\n\t\t}\n\t\tcase TABLE_ID.affiliateCashoutHistory: {\n\t\t\treturn data.data || false;\n\t\t}\n\t\tcase TABLE_ID.friendsIgnored: {\n\t\t\treturn data.data || false;\n\t\t}\n\t\tcase TABLE_ID.sessions: {\n\t\t\treturn data.data || false;\n\t\t}\n\t\tcase TABLE_ID.sessionHistory: {\n\t\t\tdata = mapKeyData('bets', data);\n\t\t\treturn data.bets || false;\n\t\t}\n\t\tcase TABLE_ID.affiliateCampaignUsers: {\n\t\t\tdata = mapKeyData('users', data);\n\t\t\treturn data.users || [];\n\t\t}\n\t\tcase TABLE_ID.affiliateCampaignHistory: {\n\t\t\tdata = mapKeyData('history', data);\n\t\t\treturn data.history || [];\n\t\t}\n\t\tcase TABLE_ID.lastRacesResults: {\n\t\t\tdata = mapKeyData('race_winners', data);\n\t\t\treturn data.race_winners || [];\n\t\t}\n\t\tdefault: {\n\t\t\treturn data.data || false;\n\t\t}\n\t}\n};\n\nexport const parseTransactionsData = <T>({\n\tid,\n\tdata,\n}: {\n\tid: TableIdType;\n\tdata: TransactionsResponseType<T>;\n}) => {\n\t// console.log('parseTransactions', id, data);\n\tconst data_ = mapTransactionsData(id, data);\n\treturn {\n\t\tdata: data_,\n\t\tmeta: data?.meta || null,\n\t};\n};\n","import JSONPath from 'JSONPath';\nimport {\n\tNEW_BET,\n\tNEW_HIGH_ROLL,\n\tNEW_MY_BET,\n} from '@legacyApp/client/store/transactions/transactions.constants';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { config } from '@legacyApp/client/config';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { GetTransactionsThunkProps } from '@legacyApp/client/store/transactions/thunks/getTransactions.thunk';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { generateUserVipRakeBackFunds } from '../modals/components/RakebackModal/generators/generateUserVipRakeBackFunds';\nimport sortService, {\n\tDIRECTION,\n\tDirection,\n} from '../../LegacyApp/client/modules/app/sortService';\nimport { TABLE_ID } from './constants/TableId';\n\ninterface AddToListProps {\n\tlabel: string;\n\telement: any;\n\tlist: Array<any>;\n\tdirection?: DIRECTION;\n\tlimit?: number;\n\tkeys?: Array<string>;\n\tdisableSort?: boolean;\n}\n\nclass transactionsClass {\n\tlimit: number | undefined;\n\ttablesRowCompareKeys: Record<string, Array<string>>;\n\ttablesTableCompareKeys: Record<string, Array<string>>;\n\n\tconstructor() {\n\t\tthis.limit = undefined;\n\t\tthis.tablesRowCompareKeys = {\n\t\t\t[TABLE_ID.affiliateCampaigns]: ['commission_rate', 'ftds', 'deposits'],\n\t\t\t[TABLE_ID.affiliateFunds]: ['available', 'withdrawn', 'total_commission'],\n\t\t\t[TABLE_ID.affiliateAnalytics]: [\n\t\t\t\t'hits',\n\t\t\t\t'referrals',\n\t\t\t\t'ftds',\n\t\t\t\t'deposits',\n\t\t\t\t'available',\n\t\t\t\t'commission',\n\t\t\t],\n\t\t\t[TABLE_ID.rakebackFunds]: ['available', 'withdrawn', 'total_commission'],\n\t\t\t[TABLE_ID.raceResults]: ['waggered', 'difference', 'position', 'login'],\n\t\t\tprofitHistory: ['x', 'y'],\n\t\t\t[TABLE_ID.withdrawHistory]: ['uuid', 'state'],\n\t\t\t[TABLE_ID.depositHistory]: ['hash', 'state'],\n\t\t\t[TABLE_ID.myBets]: [\n\t\t\t\t'hash',\n\t\t\t\t'server_seed',\n\t\t\t\t'user_seed',\n\t\t\t\t'accounted_at',\n\t\t\t\t'multiplier',\n\t\t\t],\n\t\t\t[TABLE_ID.leaderboard]: [\n\t\t\t\t'id',\n\t\t\t\t'bets',\n\t\t\t\t'currency',\n\t\t\t\t'wager',\n\t\t\t\t'profit',\n\t\t\t\t'tips',\n\t\t\t],\n\t\t};\n\t\tthis.tablesTableCompareKeys = {\n\t\t\t[TABLE_ID.affiliateCampaigns]: ['id'],\n\t\t\t[TABLE_ID.affiliateFunds]: ['id'],\n\t\t\t[TABLE_ID.rakebackFunds]: ['id'],\n\t\t\t[TABLE_ID.affiliateAnalytics]: ['id'],\n\t\t\t[TABLE_ID.withdrawHistory]: ['uuid'],\n\t\t\t[TABLE_ID.depositHistory]: ['hash'],\n\t\t\t[TABLE_ID.myBets]: ['hash'],\n\t\t};\n\t}\n\n\tgetIdFromActionType(type: string) {\n\t\tswitch (type) {\n\t\t\tcase NEW_MY_BET:\n\t\t\t\treturn TABLE_ID.myBets;\n\t\t\tcase NEW_BET:\n\t\t\t\treturn TABLE_ID.allBets;\n\t\t\tcase NEW_HIGH_ROLL:\n\t\t\t\treturn TABLE_ID.highRolls;\n\t\t}\n\t}\n\n\tgetTableCompareKeys(type, data?: any) {\n\t\tif (!this.tablesTableCompareKeys[type]) {\n\t\t\tthis.tablesTableCompareKeys[type] =\n\t\t\t\tthis.tablesRowCompareKeys[type] || this.getRowCompareKeys(type, data);\n\t\t}\n\t\treturn this.tablesTableCompareKeys[type];\n\t}\n\n\tgetRowCompareKeys(type, data?: any) {\n\t\tif (!this.tablesRowCompareKeys[type]) {\n\t\t\tthis.tablesRowCompareKeys[type] =\n\t\t\t\tdata?.length && data.length > 1\n\t\t\t\t\t? this.getCompareKeys(data[0], data[1])\n\t\t\t\t\t: null;\n\t\t}\n\t\treturn this.tablesRowCompareKeys[type];\n\t}\n\n\tlistStringify(list, keys?: Array<string>) {\n\t\treturn Array.isArray(list)\n\t\t\t? list\n\t\t\t\t\t.map((el) =>\n\t\t\t\t\t\ttypeof el === 'object' ? this.getCompareData(el, keys) : el,\n\t\t\t\t\t)\n\t\t\t\t\t.join(',')\n\t\t\t: list;\n\t}\n\n\tisListDifferent = (listA, listB, keys?: Array<string>) => {\n\t\treturn this.listStringify(listA, keys) !== this.listStringify(listB, keys);\n\t};\n\n\tisListEqual = (listA, listB, keys?: Array<string>) => {\n\t\treturn !this.isListDifferent(listA, listB, keys);\n\t};\n\n\tisDataDifferent = (dataA, dataB, keys?: Array<string>) => {\n\t\treturn (\n\t\t\tthis.getCompareData(dataA, keys) !== this.getCompareData(dataB, keys)\n\t\t);\n\t};\n\n\taddOnlyLastToList(props: AddToListProps) {\n\t\tif (props?.list?.length) {\n\t\t\tconst { element, list } = props;\n\t\t\tconst firstElementDate = getTimestamp(\n\t\t\t\tlist[0].published_at || list[0].created_at,\n\t\t\t);\n\t\t\tconst elementDate = getTimestamp(\n\t\t\t\telement.published_at || element.created_at,\n\t\t\t);\n\t\t\tif (firstElementDate > elementDate) {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t\treturn this.addNewToList(props);\n\t}\n\n\taddElementToList(props: AddToListProps) {\n\t\tconst { list, element, direction, limit, keys, disableSort } = props;\n\n\t\tif (list.length) {\n\t\t\tconst index = list.findIndex((el) => this.isDuplicate(el, element, keys));\n\t\t\tif (index > -1) {\n\t\t\t\tconst list_ = [...list];\n\t\t\t\tlist_.splice(index, 1, element);\n\t\t\t\t// logger(`addNewToList duplicate ${label}`, {element, list, index});\n\t\t\t\treturn list_;\n\t\t\t}\n\t\t}\n\t\t// logger(`addNewToList newElement ${label}`, {element, list,});\n\t\tconst list_ =\n\t\t\tdirection === DIRECTION.DESC ? [element, ...list] : [...list, element];\n\t\tif (disableSort) {\n\t\t\treturn list_.slice(0, limit);\n\t\t}\n\t\treturn this.sortTransactions(list_, direction, limit);\n\t}\n\n\taddArrayToList(props: AddToListProps) {\n\t\tconst { list, element, direction, limit, keys, disableSort } = props;\n\t\tif (!list.length && !element.length) {\n\t\t\treturn list;\n\t\t}\n\t\t// logger(`addNewToList concat ${label}`, {element, list});\n\t\tif (!list.length && element.length) {\n\t\t\tif (disableSort) {\n\t\t\t\treturn element.slice(0, limit);\n\t\t\t}\n\t\t\treturn this.sortTransactions(element, direction, limit);\n\t\t}\n\t\tif (disableSort) {\n\t\t\treturn element\n\t\t\t\t.concat(\n\t\t\t\t\tlist.filter(\n\t\t\t\t\t\t(el) => !element.some((obj) => this.isDuplicate(el, obj, keys)),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.slice(0, limit);\n\t\t}\n\t\treturn this.sortTransactions(\n\t\t\telement.concat(\n\t\t\t\tlist.filter(\n\t\t\t\t\t(el) => !element.some((obj) => this.isDuplicate(el, obj, keys)),\n\t\t\t\t),\n\t\t\t),\n\t\t\tdirection,\n\t\t\tlimit,\n\t\t);\n\t}\n\n\taddNewToList(props: AddToListProps) {\n\t\t// console.log('addNewToList', {\n\t\t// label,\n\t\t// element,\n\t\t// list,\n\t\t// direction,\n\t\t// limit,\n\t\t// keys,\n\t\t// })\n\t\tconst list = props.list.length === undefined ? [] : props.list;\n\t\tif (props.list.length === undefined) {\n\t\t\tprops.list = [];\n\t\t}\n\t\tconst props_: AddToListProps = {\n\t\t\t...props,\n\t\t\tlist,\n\t\t};\n\t\tif (Array.isArray(props.element)) {\n\t\t\treturn this.addArrayToList(props_);\n\t\t}\n\t\treturn this.addElementToList(props_);\n\t}\n\n\tsortTransactions(\n\t\tlist,\n\t\tdirection: Direction = DIRECTION.DESC,\n\t\tlimit = this.limit,\n\t) {\n\t\t// workerService.process('sortTransactions', {list, direction, limit}, event => event.data).then(result => {\n\t\t// console.log(result);\n\t\t// });\n\t\tif (!limit) {\n\t\t\tlimit = list.length;\n\t\t}\n\t\treturn list\n\t\t\t.sort((a, b) =>\n\t\t\t\tsortService.sort(\n\t\t\t\t\tdirection,\n\t\t\t\t\tgetTimestamp(a.accounted_at || a.published_at || a.created_at),\n\t\t\t\t\tgetTimestamp(b.accounted_at || b.published_at || b.created_at),\n\t\t\t\t\ta.nonce,\n\t\t\t\t\tb.nonce,\n\t\t\t\t),\n\t\t\t)\n\t\t\t.slice(0, limit);\n\t}\n\n\tisDuplicate(a, b, compareKeys?: Array<string>, isPrecise?: boolean) {\n\t\tif (!a && !b) {\n\t\t\treturn true;\n\t\t}\n\t\tif ((!a && b) || (!b && a)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!compareKeys) {\n\t\t\tcompareKeys = this.getCompareKeys(a, b, isPrecise);\n\t\t}\n\t\tconst dataA = this.getCompareData(a, compareKeys);\n\t\tconst dataB = this.getCompareData(b, compareKeys);\n\n\t\t// if (a.hash && a.hash === b.hash) console.log('isDuplicate', a.hash, {a, b, getTableCompareKeys, dataA, dataB, bool: dataA === dataB});\n\n\t\treturn dataA === dataB;\n\t}\n\n\tgetCompareKeys(a, b, isPrecise?: boolean) {\n\t\tif (a.uuid && ((b && b.uuid) || !b)) {\n\t\t\treturn ['uuid'];\n\t\t}\n\n\t\tif (\n\t\t\tisPrecise &&\n\t\t\t(a.nonce || a.nonce === 0) &&\n\t\t\ta.server_seed_hashed &&\n\t\t\ta.user_seed &&\n\t\t\t((b &&\n\t\t\t\t(b.nonce || b.nonce === 0) &&\n\t\t\t\tb.server_seed_hashed &&\n\t\t\t\tb.user_seed) ||\n\t\t\t\t!b)\n\t\t) {\n\t\t\treturn ['nonce', 'server_seed', 'user_seed', 'server_seed_hashed'];\n\t\t}\n\n\t\tif (a.hash && ((b && b.hash) || !b)) {\n\t\t\treturn ['hash'];\n\t\t}\n\n\t\tif (\n\t\t\t(a.nonce || a.nonce === 0) &&\n\t\t\ta.server_seed_hashed &&\n\t\t\ta.user_seed &&\n\t\t\t((b &&\n\t\t\t\t(b.nonce || b.nonce === 0) &&\n\t\t\t\tb.server_seed_hashed &&\n\t\t\t\tb.user_seed) ||\n\t\t\t\t!b)\n\t\t) {\n\t\t\treturn ['nonce', 'server_seed', 'user_seed', 'server_seed_hashed'];\n\t\t}\n\n\t\tif (a.id && ((b && b.id) || !b)) {\n\t\t\treturn ['id'];\n\t\t}\n\n\t\tif (a.nonce && ((b && b.nonce) || !b)) {\n\t\t\treturn ['nonce'];\n\t\t}\n\n\t\tif (a.accounted_at && ((b && b.accounted_at) || !b)) {\n\t\t\treturn ['accounted_at'];\n\t\t}\n\n\t\tif (a.created_at && ((b && b.created_at) || !b)) {\n\t\t\treturn ['created_at'];\n\t\t}\n\n\t\tif (a.published_at && ((b && b.published_at) || !b)) {\n\t\t\treturn ['published_at'];\n\t\t}\n\n\t\tif (a.position && ((b && b.position) || !b)) {\n\t\t\treturn ['position'];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetCompareData = (obj, keys?: Array<string>) => {\n\t\tif (!keys) {\n\t\t\treturn jsonToString(obj);\n\t\t}\n\t\tif (!obj) {\n\t\t\treturn String(obj);\n\t\t}\n\t\tif (Array.isArray(obj)) {\n\t\t\treturn obj\n\t\t\t\t.map((el) =>\n\t\t\t\t\ttypeof el === 'object' ? this.getCompareData(el, keys) : el,\n\t\t\t\t)\n\t\t\t\t.join(',');\n\t\t}\n\t\tlet result = '';\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tresult +=\n\t\t\t\tkeys[i].indexOf('.') > -1\n\t\t\t\t\t? JSONPath({\n\t\t\t\t\t\t\tpath: keys[i],\n\t\t\t\t\t\t\tjson: obj,\n\t\t\t\t\t })[0]\n\t\t\t\t\t: obj[keys[i]];\n\t\t}\n\t\tif (result === 'undefined') {\n\t\t\treturn jsonToString(obj);\n\t\t}\n\t\treturn result;\n\t};\n\n\tgetBetFromPending(data) {\n\t\tif (!data || !data.length) {\n\t\t\treturn false;\n\t\t}\n\t\treturn data.pop();\n\t}\n\n\tsaveMyBetsToMemory(data = [], uuid) {\n\t\tlsSet(\n\t\t\tLocalStorageKeys.MY_BETS_COPY,\n\t\t\tdata.length && uuid\n\t\t\t\t? data.slice(0, 20).filter((el) => el?.user?.uuid === uuid)\n\t\t\t\t: data,\n\t\t);\n\t}\n\n\tgetMyBetsCopyFromMemory(uuid) {\n\t\tlet data = lsGet(LocalStorageKeys.MY_BETS_COPY_CLEARED)\n\t\t\t? lsGet(LocalStorageKeys.MY_BETS_COPY)\n\t\t\t: false;\n\t\tif (!data) {\n\t\t\tlsClear(LocalStorageKeys.MY_BETS_COPY);\n\t\t\tlsSet(LocalStorageKeys.MY_BETS_COPY_CLEARED, true);\n\t\t\tdata = [];\n\t\t}\n\t\treturn data.filter((el) => el.user.uuid === uuid);\n\t}\n\n\tconcatMyBetsFromFetch(\n\t\tdata,\n\t\tuuid,\n\t\tlimit = config.transactionsPaginationLength,\n\t) {\n\t\tconst memoryData = this.getMyBetsCopyFromMemory(uuid);\n\t\tif (!memoryData.length) {\n\t\t\treturn data;\n\t\t}\n\t\tconst tempData = memoryData.filter(\n\t\t\t(memoryEl) => !data.some((el) => this.isDuplicate(el, memoryEl)),\n\t\t);\n\t\treturn tempData.concat(data).slice(0, limit);\n\t}\n\n\tgetTransactionsUri({\n\t\tid,\n\t\tpage,\n\t\tdisable,\n\t\tprops,\n\t}: Omit<GetTransactionsThunkProps, 'refresh'>) {\n\t\tlet uri: boolean | string | { uri: string } = false;\n\t\tlet withPagination = true;\n\t\tif (id === TABLE_ID.vaultHistory) {\n\t\t\turi = `/user/vault/history${props.type ? `?type=${props.type}` : ''}`;\n\t\t}\n\t\tif (id === TABLE_ID.rakebackFunds && !disable) {\n\t\t\turi = generateUserVipRakeBackFunds();\n\t\t}\n\t\tif (id === TABLE_ID.affiliateFunds && !disable) {\n\t\t\twithPagination = false;\n\t\t\turi = '/user/affiliate/funds';\n\t\t}\n\t\tif (id === TABLE_ID.affiliateAnalytics && !disable) {\n\t\t\turi = '/user/affiliate/analytics';\n\t\t}\n\t\tif (id === TABLE_ID.affiliateCashoutHistory && !disable) {\n\t\t\turi = '/user/affiliate/cashout_history';\n\t\t}\n\t\tif (id === TABLE_ID.affiliateCampaigns && !disable) {\n\t\t\turi = '/user/affiliate/campaigns';\n\t\t}\n\t\tif (id === TABLE_ID.withdrawHistory && !disable) {\n\t\t\turi = '/user/withdraws';\n\t\t}\n\t\tif (id === TABLE_ID.otherTransactions && !disable) {\n\t\t\turi = '/user/transactions';\n\t\t}\n\t\tif (id === TABLE_ID.depositHistory && !disable) {\n\t\t\turi = '/user/deposits';\n\t\t}\n\t\tif (id === TABLE_ID.friendsIgnored) {\n\t\t\turi = '/user/friends/ignoring';\n\t\t}\n\t\tif (id === TABLE_ID.sessions) {\n\t\t\turi = '/v2/user/sessions';\n\t\t}\n\t\tif (id === TABLE_ID.sessionHistory && props) {\n\t\t\turi = `/v2/session/history/${props.id}`;\n\t\t}\n\t\tif (uri && page && withPagination) {\n\t\t\tif (typeof uri === 'object') {\n\t\t\t\t// @ts-expect-error invalid type definition\n\t\t\t\tconst separator = uri.uri.indexOf('?') > -1 ? '&' : '?';\n\t\t\t\t// @ts-expect-error invalid type definition\n\t\t\t\turi.uri = `${uri.uri}${separator}page=${page}`;\n\t\t\t} else {\n\t\t\t\tconst separator = uri.indexOf('?') > -1 ? '&' : '?';\n\t\t\t\turi = `${uri}${separator}page=${page}`;\n\t\t\t}\n\t\t}\n\t\treturn uri;\n\t}\n}\n\nexport const blockGetTransaction = (\n\tprops: GetTransactionsThunkProps,\n\tstate: RootState,\n) => {\n\tconst isUpdate = state.transactions.update[props.id];\n\tconst isFulfilled = state.transactions.fulfilled[props.id];\n\tconst isBlocked =\n\t\t!props.page &&\n\t\t!props.refresh &&\n\t\t!props.props?.refreshAlways &&\n\t\t((isFulfilled && !props.disable) || !props.disable === isUpdate);\n\treturn isBlocked || props.disable;\n};\n\nconst transactionService = new transactionsClass();\n\nexport default transactionService;\n","import { generateUrl, ROUTE } from '@common/routes';\n\nexport const generateUserVerificationStatusUrl = () => {\n\treturn generateUrl(ROUTE.apiUserVerificationStatus);\n};\n","export enum UserVerificationLevelStatus {\n\tPENDING = 0,\n\tACCEPTED = 1,\n\tDECLINED = 2,\n\tACTION_REQUIRED = 3,\n\tEMPTY = null,\n}\n","import { createContext, FC, PropsWithChildren } from 'react';\nimport { useInsaneBonusCode } from '../../hooks/useInsaneBonusCode';\n\nexport const InsaneBonusCodeContext = createContext<\n\tReturnType<typeof useInsaneBonusCode>\n>({\n\tcheck: null,\n\tlastCommand: null,\n});\n\nexport const InsaneBonusCodeWrapper: FC<PropsWithChildren<any>> = ({\n\tchildren,\n}) => {\n\tconst result = useInsaneBonusCode();\n\treturn (\n\t\t<InsaneBonusCodeContext.Provider value={result}>\n\t\t\t{children}\n\t\t</InsaneBonusCodeContext.Provider>\n\t);\n};\n","import { useCallback, useState } from 'react';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { useFetchApi } from '@legacyApp/hooks/fetch/useFetchApi';\nimport { generateUrl, ROUTE } from '@common/routes';\nimport { handleCommands } from '@legacyApp/client/store/app/app.actions';\nimport { useInterval } from '@legacyApp/hooks/app/useInterval';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport { AppCommandsType } from '@legacyApp/client/store/app/app.constants';\nimport { hour, minute } from '@legacyApp/client/modules/app/time';\nimport { VipBenefits } from '../constants/vip.config';\nimport { useVipLevel, useVipLoaded } from '../store/selectors/vip.selectors';\nimport { useVip } from './useVip';\nimport { getVipBenefitValue } from './useVipBenefitState';\n\nexport const useInsaneBonusCode = () => {\n\tconst dispatch = useAppDispatch();\n\tconst isLogged = useUserIsLogged();\n\tuseVip();\n\tconst level = useVipLevel();\n\tconst loaded = useVipLoaded();\n\tconst [lastCommand, setLastCommand] = useState<AppCommandsType>(null);\n\tconst [existTimestamp, setExistTimestamp] = useState<number>(null);\n\tconst { fetch } = useFetchApi();\n\n\tconst validate = useCallback((): boolean => {\n\t\treturn !!(\n\t\t\tisLogged &&\n\t\t\t(!existTimestamp || existTimestamp + hour <= getTimestamp()) &&\n\t\t\tloaded &&\n\t\t\tgetVipBenefitValue(level, VipBenefits.INSANE_BONUS_CODE)\n\t\t);\n\t}, [existTimestamp, isLogged, level, loaded]);\n\n\tconst check = useCallback(\n\t\tasync (force?: boolean) => {\n\t\t\tif (!validate() && !force) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst response: {\n\t\t\t\tcommand?: AppCommandsType;\n\t\t\t} = await fetch({\n\t\t\t\turl: generateUrl(ROUTE.apiCheckInsaneBonusCode),\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.log(error);\n\t\t\t\treturn {\n\t\t\t\t\tcommand: null,\n\t\t\t\t};\n\t\t\t});\n\t\t\tif (response?.command) {\n\t\t\t\tsetExistTimestamp(getTimestamp());\n\t\t\t\tdispatch(handleCommands(response.command));\n\t\t\t}\n\t\t\tsetLastCommand(response?.command);\n\t\t},\n\t\t[dispatch, fetch, validate],\n\t);\n\n\tuseInterval({\n\t\tcallback: check,\n\t\tinterval: validate ? 10 * minute : null,\n\t\tid: `${ROUTE.apiCheckInsaneBonusCode}_${level?.level}`,\n\t});\n\n\treturn {\n\t\tcheck,\n\t\tlastCommand,\n\t};\n};\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { CircularProgressbar } from 'react-circular-progressbar';\nimport 'react-circular-progressbar/dist/styles.css';\nimport { VipIcon } from '@ui/vip-icon';\nimport { CircularProgressbarProps } from 'react-circular-progressbar/dist/types';\nimport { getLevelColor } from '@legacyApp/client/modules/style/mixins';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { useVipLevel, useVipStatus } from '../store/selectors/vip.selectors';\nimport { useNextLevel } from '../hooks/useNextLevel';\n\nexport const VipIconProgress: FC<{\n\tnextLevelIcon?: boolean;\n\tfulfilProgress?: boolean;\n\tprogressbarProps?: Partial<CircularProgressbarProps>;\n\tsize?: number;\n}> = ({ nextLevelIcon, fulfilProgress, progressbarProps, size }) => {\n\tconst { nextLevel } = useNextLevel();\n\tconst level = useVipLevel();\n\tconst status = useVipStatus();\n\tconst _size = size || 56;\n\n\tconst nextLevelThreshold = nextLevel?.threshold || status;\n\tconst nextLevelLevel = nextLevel?.level || level?.level;\n\n\treturn (\n\t\t<VipIconWrapperStyled $size={_size} $level={level?.level}>\n\t\t\t<CircularProgressbar\n\t\t\t\tstrokeWidth={5}\n\t\t\t\tvalue={fulfilProgress ? nextLevelThreshold : status || 0}\n\t\t\t\tmaxValue={nextLevelThreshold}\n\t\t\t\t{...progressbarProps}\n\t\t\t/>\n\t\t\t<VipIconProgressStyled>\n\t\t\t\t<VipIcon\n\t\t\t\t\tsize={roundNumber(_size * 0.65, 0)}\n\t\t\t\t\tnonLevel\n\t\t\t\t\tlevel={nextLevelIcon ? nextLevelLevel : level.level}\n\t\t\t\t/>\n\t\t\t</VipIconProgressStyled>\n\t\t</VipIconWrapperStyled>\n\t);\n};\n\nexport const VipIconProgressStyled = styled.div`\n\talign-items: center;\n\tbackground-color: var(--color-dark-500);\n\tborder-radius: 100%;\n\tdisplay: flex;\n\theight: calc(100% - 8px);\n\tjustify-content: center;\n\tleft: 50%;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translate(-50%, -50%);\n\twidth: calc(100% - 8px);\n`;\n\nexport const VipIconWrapperStyled = styled.div<{\n\t$level?: number;\n\t$size?: number;\n}>`\n\talign-items: center;\n\tborder-radius: 100%;\n\theight: ${(props) => props.$size}px;\n\tposition: relative;\n\twidth: ${(props) => props.$size}px;\n\n\t.CircularProgressbar {\n\t\t&-trail {\n\t\t\tstroke: transparent;\n\t\t}\n\n\t\t&-path {\n\t\t\tstroke: ${(props) => getLevelColor(props.$level)};\n\t\t}\n\t}\n`;\n","import React, { FC } from 'react';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\n\nimport { VIP_CURRENCY } from '../constants/vip.config';\nimport { VipSectionProgress } from '../../header/HeaderMenu/VipSection';\nimport { useVipStatus } from '../store/selectors/vip.selectors';\nimport { useNextLevel } from '../hooks/useNextLevel';\n\nexport const VipLeftToNextLevel: FC = () => {\n\tconst { nextLevel } = useNextLevel();\n\tconst status = useVipStatus();\n\n\tif (!nextLevel) {\n\t\treturn (\n\t\t\t<VipSectionProgress>\n\t\t\t\t<span className=\"text-style-xs-regular text-capitalize\">\n\t\t\t\t\t<Trans label={'wagered'} />\n\t\t\t\t</span>{' '}\n\t\t\t\t<span className=\"text-style-xs-medium\">\n\t\t\t\t\t{mathService.currencyValue(status, VIP_CURRENCY)}\n\t\t\t\t</span>\n\t\t\t</VipSectionProgress>\n\t\t);\n\t}\n\n\treturn (\n\t\t<VipSectionProgress>\n\t\t\t<span className=\"text-style-xs-medium\">\n\t\t\t\t{mathService.currencyValue(\n\t\t\t\t\tnextLevel.threshold - (status || 0),\n\t\t\t\t\tVIP_CURRENCY,\n\t\t\t\t)}{' '}\n\t\t\t</span>\n\t\t\t<span className=\"text-style-xs-regular\">\n\t\t\t\t<Trans label={'left till next level'} />\n\t\t\t</span>\n\t\t</VipSectionProgress>\n\t);\n};\n","import { VipBenefits } from './vip.config';\n\nexport const VIP_BENEFITS = {\n\t[VipBenefits.LEVEL_UP_BONUS]: {\n\t\tname: 'Level-Up Bonus',\n\t\tdescription:\n\t\t\t'As you progress through our VIP tiers, revel in generous level-up bonuses that keep the excitement flowing.',\n\t},\n\t[VipBenefits.WEEKLY_BONUS_CODE]: {\n\t\tname: 'Weekly Bonus Code',\n\t\tdescription:\n\t\t\t'Unwrap thrilling surprises every week with our exclusive VIP weekly bonus codes, delivering rewards that keep the action going strong.',\n\t},\n\t[VipBenefits.OTHER]: {\n\t\tname: 'Other',\n\t\tdescription: null,\n\t},\n\t[VipBenefits.DAILY_CHARGE]: {\n\t\tname: 'Daily Charge',\n\t\tdescription:\n\t\t\t'Experience the thrill daily with our special VIP daily charges, adding an extra layer of excitement to your gaming routine.',\n\t},\n\t[VipBenefits.RAKEBACK]: {\n\t\tname: 'Rakeback',\n\t\tdescription:\n\t\t\t'Get back a portion of your wagers with our Rakeback feature, adding extra value to every bet you make.',\n\t},\n\t[VipBenefits.WOLF_RACE]: {\n\t\tname: 'Wolf Race',\n\t\tdescription: null,\n\t},\n\t[VipBenefits.PRIORITY_SUPPORT]: {\n\t\tname: 'Priority Support',\n\t\tdescription:\n\t\t\t'Enjoy top-notch assistance with our dedicated priority support, ensuring your gaming experience is seamless and hassle-free.',\n\t},\n\t[VipBenefits.INSANE_BONUS_CODE]: {\n\t\tname: 'Insane Bonus Code',\n\t\tdescription:\n\t\t\t'Get your hands on jaw-dropping bonuses with our Insane Bonus Codes, setting the stage for unforgettable gaming sessions.',\n\t},\n\t[VipBenefits.RAIN_GIVEAWAYS]: {\n\t\tname: 'Chat Rain & Giveaways',\n\t\tdescription: null,\n\t},\n\t[VipBenefits.CHAT_RAIN]: {\n\t\tname: 'Chat Rain',\n\t\tdescription: null,\n\t},\n\t[VipBenefits.BONUS_CODE]: {\n\t\tname: 'Bonus Code',\n\t\tdescription: null,\n\t},\n} as const;\n","import { CurrenciesLayout } from '@legacyApp/types/wallet/CurrencyType';\n\nexport const VIP_CURRENCY = CurrenciesLayout.usd;\n\nexport enum VipLevelType {\n\tBRONZE = 'bronze',\n\tSILVER = 'silver',\n\tGOLD = 'gold',\n\tDIAMOND = 'diamond',\n}\n\nexport const VIP_LEVELS_COLORS = {\n\t1: VipLevelType.BRONZE,\n\t2: VipLevelType.BRONZE,\n\t3: VipLevelType.BRONZE,\n\t4: VipLevelType.BRONZE,\n\t5: VipLevelType.BRONZE,\n\t6: VipLevelType.SILVER,\n\t7: VipLevelType.SILVER,\n\t8: VipLevelType.SILVER,\n\t9: VipLevelType.SILVER,\n\t10: VipLevelType.SILVER,\n\t11: VipLevelType.GOLD,\n\t12: VipLevelType.GOLD,\n\t13: VipLevelType.GOLD,\n\t14: VipLevelType.GOLD,\n\t15: VipLevelType.GOLD,\n\t16: VipLevelType.DIAMOND,\n} as const;\n\nexport enum VipBenefits {\n\tLEVEL_UP_BONUS = 'levelUpBonus',\n\tWEEKLY_BONUS_CODE = 'weeklyBonusCode',\n\tDAILY_CHARGE = 'dailyCharge',\n\tRAKEBACK = 'rakeback',\n\tWOLF_RACE = 'wolfRace',\n\tPRIORITY_SUPPORT = 'prioritySupport',\n\tINSANE_BONUS_CODE = 'insaneBonusCode',\n\tRAIN_GIVEAWAYS = 'rainGiveaways',\n\tCHAT_RAIN = 'chatRain',\n\tOTHER = 'other',\n\tBONUS_CODE = 'bonusCode',\n}\n","import { useCallback } from 'react';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { isLevelEqual, useVipLevel } from '../store/selectors/vip.selectors';\nimport { useVip } from './useVip';\n\nexport const useNextLevel = () => {\n\tconst { levels } = useVip();\n\tconst level = useVipLevel();\n\tconst getNextLevel = useCallback(() => {\n\t\tif (levels?.length && isTrueOrZero(level?.level)) {\n\t\t\treturn levels[level?.level];\n\t\t}\n\t\treturn null;\n\t}, [level?.level, levels]);\n\tconst nextLevel = useStateEffect(getNextLevel, (a, b) => !isLevelEqual(a, b));\n\treturn {\n\t\tnextLevel,\n\t\tlevels,\n\t};\n};\n","import { useEffect } from 'react';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport { useVipLevels } from '../store/selectors/vip.selectors';\nimport { vipGetLevelsThunk } from '../store/thunks/vipGetLevels.thunk';\nimport { vipStatusUpdateThunk } from '../store/thunks/vipStatusUpdate.thunk';\n\nexport const useVip = () => {\n\tconst dispatch = useAppDispatch();\n\tconst levels = useVipLevels();\n\tconst isLogged = useUserIsLogged();\n\n\tuseEffect(() => {\n\t\tif (!levels?.length) {\n\t\t\tdispatch(vipGetLevelsThunk());\n\t\t}\n\t\tif (isLogged) {\n\t\t\tdispatch(vipStatusUpdateThunk());\n\t\t}\n\t}, [dispatch, isLogged, levels?.length]);\n\n\treturn {\n\t\tlevels,\n\t};\n};\n","import { VipLevel } from '../store/types/vip.types';\nimport { VipBenefits } from '../constants/vip.config';\n\nexport interface UseVipBenefitStateProps {\n\tvipLevel: VipLevel;\n\tbenefitType: VipBenefits;\n}\n\nexport const getVipBenefitValue = (\n\tvipLevel: VipLevel,\n\tbenefitType: VipBenefits,\n) => {\n\tif (!vipLevel?.dailyBonus) {\n\t\treturn false;\n\t}\n\tswitch (benefitType) {\n\t\tcase VipBenefits.DAILY_CHARGE: {\n\t\t\treturn vipLevel?.dailyBonus?.spins ? vipLevel.dailyBonus : null;\n\t\t}\n\t\tcase VipBenefits.LEVEL_UP_BONUS: {\n\t\t\treturn vipLevel.rankBonus;\n\t\t}\n\t\tcase VipBenefits.WEEKLY_BONUS_CODE: {\n\t\t\treturn vipLevel.weeklyBonus;\n\t\t}\n\t\tcase VipBenefits.INSANE_BONUS_CODE: {\n\t\t\treturn vipLevel.insaneBonus;\n\t\t}\n\t\tcase VipBenefits.BONUS_CODE: {\n\t\t\treturn true;\n\t\t}\n\t\tcase VipBenefits.RAKEBACK: {\n\t\t\treturn vipLevel.commission;\n\t\t}\n\t\tdefault: {\n\t\t\treturn false;\n\t\t}\n\t}\n};\n\nexport const useVipBenefitState = ({\n\tvipLevel,\n\tbenefitType,\n}: UseVipBenefitStateProps) => {\n\treturn getVipBenefitValue(vipLevel, benefitType);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { vipReducer } from '../vip.reducer';\nimport transactionService from '../../../transactions/transactionsService';\n\nexport type VipReducerType = ReturnType<typeof vipReducer>;\n\nexport const isLevelEqual = (prev, next) =>\n\ttransactionService.isDuplicate(prev, next, ['level', 'threshold']);\nexport const isLevelsEqual = (prev, next) =>\n\t!transactionService.isListDifferent(prev, next, ['level', 'threshold']);\n\nexport const useVipLevel = () =>\n\tuseAppSelector<VipReducerType['level']>(\n\t\t(state) => state.vip.level,\n\t\tisLevelEqual,\n\t);\nexport const useVipLevels = () =>\n\tuseAppSelector<VipReducerType['levels']>(\n\t\t(state) => state.vip.levels,\n\t\tisLevelsEqual,\n\t);\nexport const useVipStatus = () =>\n\tuseAppSelector<VipReducerType['status']>(\n\t\t(state) => state.vip.status,\n\t\tshallowEqual,\n\t);\nexport const useVipLoaded = () =>\n\tuseAppSelector<VipReducerType['loaded']>(\n\t\t(state) => state.vip.loaded,\n\t\tshallowEqual,\n\t);\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { DEFAULT_LEVEL } from '../vip.constants';\nimport { VipLevel } from '../types/vip.types';\n\nexport type ValueType = VipLevel;\nconst NAME = 'level';\nconst initialState: ValueType = DEFAULT_LEVEL;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const levelSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tlevelUpdate: setAction,\n\t},\n});\n","import { VipLevel } from './types/vip.types';\n\nexport const DEFAULT_LEVEL: VipLevel = {\n\tlevel: 0,\n\tid: 0,\n\tthreshold: 0,\n\tcommission: null,\n\trankBonus: null,\n\tdailyBonus: null,\n\tweeklyBonus: null,\n\tinsaneBonus: null,\n};\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { VipLevel } from '../types/vip.types';\n\nexport type ValueType = Array<VipLevel>;\nconst NAME = 'levels';\nconst initialState: ValueType = [];\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const levelsSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tlevelsUpdate: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nexport type ValueType = boolean;\nconst NAME = 'loaded';\nconst initialState: ValueType = false;\n\nconst loadedUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const loadedSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tloadedUpdate,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nexport type ValueType = number;\nconst NAME = 'status';\nconst initialState: ValueType = null;\n\nconst statusUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const statusSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tstatusUpdate,\n\t},\n});\n","import { VipLevel, VipLevelsResponse } from '../store/types/vip.types';\n\nexport const mapLevelsDTO = (\n\tlevelsDTO: VipLevelsResponse['levels'],\n): Array<VipLevel> => {\n\treturn levelsDTO.map((el) => ({\n\t\t...el,\n\t\tcommission: Number(el.commission),\n\t\tthreshold: Number(el.threshold),\n\t\tlevel: el.id,\n\t\tdailyBonus: {\n\t\t\tmultiplier: Number(el.dailyBonus?.multiplier),\n\t\t\tspins: Number(el.dailyBonus?.spins),\n\t\t},\n\t\trankBonus: Number(el.rankBonus),\n\t}));\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { hour } from '@legacyApp/client/modules/app/time';\nimport { vipActions } from '../vip.actions';\nimport { mapLevelsDTO } from '../../methods/mapLevelsDTO';\nimport { VipLevel } from '../types/vip.types';\n\nexport const vipGetLevelsThunk = (): AppThunk<Promise<Array<VipLevel>>> => {\n\treturn async (dispatch, getState) => {\n\t\tconst { vip } = getState();\n\t\tif (vip.levels?.length) {\n\t\t\treturn vip.levels;\n\t\t}\n\t\tconst response = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: '/user/vip/levels',\n\t\t\t\tloaderId: LOADING_IDS.VIP_LEVELS,\n\t\t\t\tfromState: hour,\n\t\t\t}),\n\t\t);\n\t\t// data = VIP_LEVELS_MOCK;\n\t\tif (!response?.levels?.length) {\n\t\t\treturn vip.levels;\n\t\t}\n\t\tconst levels = mapLevelsDTO(response?.levels);\n\t\tdispatch(vipActions.levelsUpdate(levels));\n\t\treturn levels;\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\n\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { minute } from '@legacyApp/client/modules/app/time';\nimport { vipActions } from '../vip.actions';\n\nexport const vipStatusUpdateThunk = (noError?: boolean): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tconst { user, app, vip } = getState();\n\t\tif (!user.isLogged) {\n\t\t\tif (app.initialized && vip.status === null) {\n\t\t\t\tdispatch(vipActions.statusUpdate(0));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst data = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: `/user/vip/turnover?u=${user.id}`,\n\t\t\t\tparameters: {\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\tloaderId: LOADING_IDS.VIP_STATUS,\n\t\t\t\tlockByModal: true,\n\t\t\t\tdisableErrorHandler: noError,\n\t\t\t\tfromState: minute,\n\t\t\t}),\n\t\t);\n\t\t// data = VIP_TURNOVER_MOCK;\n\t\tif (!data?.turnover) {\n\t\t\treturn;\n\t\t}\n\t\tconst status = Number(data.turnover);\n\t\tif (vip.status === status) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(vipActions.statusUpdate(status));\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { generateUserVipWheelFundsUrl } from '../../methods/generateUserVipWheelFundsUrl';\nimport { VipWheelGetFundsResponse } from '../types/vipWheel.types';\n\nexport const vipWheelGetFundsThunk = (): AppThunk<\n\tPromise<VipWheelGetFundsResponse>\n> => {\n\treturn (dispatch) => {\n\t\treturn dispatch(\n\t\t\tfetchApi(\n\t\t\t\tgenerateUserVipWheelFundsUrl(),\n\t\t\t\t{\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\t'GET',\n\t\t\t\tLOADING_IDS.VIP_WHEEL_FUNDS,\n\t\t\t),\n\t\t).then((response) => {\n\t\t\t// response = {\n\t\t\t// \t'availableAt': null,\n\t\t\t// \t'multiplier': '2.00',\n\t\t\t// \t'availableFunds': [\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'btc',\n\t\t\t// \t\t\t'amounts': [ '0.00000150', '0.00000600', '0.00001500', '0.00015000', '0.00037500', '0.00120000' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'doge',\n\t\t\t// \t\t\t'amounts': [ '0.00000070', '0.00000280', '0.00000700', '0.00007000', '0.00017500', '0.00056000' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'shib',\n\t\t\t// \t\t\t'amounts': [ '242234240.00000070', '32424242.00000280', '457453.00000700', '3522242.00007000', '45235345.00017500', '0.00056000' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'bch',\n\t\t\t// \t\t\t'amounts': [ '0.00000001', '0.00000007', '0.00000019', '0.00000190', '0.00000475', '0.00001520' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'xrp',\n\t\t\t// \t\t\t'amounts': [ '0.00000001', '0.00000006', '0.00000017', '0.00000170', '0.00000425', '0.00001360' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'trx',\n\t\t\t// \t\t\t'amounts': [ '1000.00000150', '999.00000600', '750.00001500', '1230.00015000', '500.00037500', '1030.00120000' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'uni',\n\t\t\t// \t\t\t'amounts': [ '0.00000070', '0.00000280', '0.00000700', '0.00007000', '0.00017500', '0.00056000' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'xlm',\n\t\t\t// \t\t\t'amounts': [ '0.00000001', '0.00000007', '0.00000019', '0.00000190', '0.00000475', '0.00001520' ]\n\t\t\t// \t\t},\n\t\t\t// \t\t{\n\t\t\t// \t\t\t'currency': 'eth',\n\t\t\t// \t\t\t'amounts': [ '0.00000001', '0.00000006', '0.00000017', '0.00000170', '0.00000425', '0.00001360' ]\n\t\t\t// \t\t}\n\t\t\t// \t]\n\t\t\t// };\n\t\t\tif (!response) {\n\t\t\t\tresponse = { ...response };\n\t\t\t}\n\t\t\tif (!response.availableFunds) {\n\t\t\t\tresponse.availableFunds = [];\n\t\t\t\tif (!response.availableAt) {\n\t\t\t\t\tresponse.availableAt = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet availableFunds: VipWheelGetFundsResponse['availableFunds'] = null;\n\t\t\tif (response.availableFunds.length) {\n\t\t\t\tavailableFunds = response.availableFunds.map((fundEl) => ({\n\t\t\t\t\t...fundEl,\n\t\t\t\t\tamounts: fundEl.amounts.map((amountEl, index) => ({\n\t\t\t\t\t\tamount: amountEl,\n\t\t\t\t\t\tlevel: index,\n\t\t\t\t\t})),\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tavailableAt: response.availableAt,\n\t\t\t\tavailableFunds,\n\t\t\t\tmultiplier: Number(response.multiplier),\n\t\t\t};\n\t\t});\n\t};\n};\n","import { generateUrl, ROUTE } from '@common/routes';\n\nexport const generateUserVipWheelFundsUrl = () => {\n\treturn generateUrl(ROUTE.apiUserVipWheelFunds);\n};\n","import { statusSlice } from './slices/status.slice';\nimport { levelSlice } from './slices/level.slice';\nimport { loadedSlice } from './slices/loaded.slice';\nimport { levelsSlice } from './slices/levels.slice';\n\nexport const vipActions = {\n\t...statusSlice.actions,\n\t...levelSlice.actions,\n\t...loadedSlice.actions,\n\t...levelsSlice.actions,\n};\n","import { FunctionComponent } from 'react';\nimport { useLocalization } from '@legacyApp/hooks/app/useLocalization';\n\nexport const Localization: FunctionComponent = () => {\n\tuseLocalization();\n\treturn null;\n};\n","import { useTranslation } from 'next-i18next';\nimport { useEffect } from 'react';\nimport { languageConfig } from '@server/config/language.config';\nimport { setLanguage } from '../../client/store/app/app.actions';\nimport { changeLanguage } from '../../client/modules/translation/translationService';\nimport { useAppDispatch } from '../store/useAppDispatch';\n\nexport const useLocalization = () => {\n\tconst { i18n, ready } = useTranslation();\n\tconst dispatch = useAppDispatch();\n\tuseEffect(() => {\n\t\tif (!ready) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(setLanguage(i18n.language || languageConfig.default));\n\t\ti18n.on('languageChanged', (lng) => {\n\t\t\tif (languageConfig.available.some((el) => el.id === lng)) {\n\t\t\t\treturn dispatch(setLanguage(lng));\n\t\t\t}\n\t\t\tchangeLanguage(i18n, languageConfig.default);\n\t\t});\n\t}, [ready]);\n};\n","import { FC } from 'react';\nimport NextNprogress from 'nextjs-progressbar';\nimport { theme } from '@legacyApp/client/modules/style/theme';\n\nexport const PageLoadingProgressBar: FC = () => {\n\treturn (\n\t\t<NextNprogress\n\t\t\tcolor={theme.colors.active}\n\t\t\tstartPosition={0.3}\n\t\t\tstopDelayMs={200}\n\t\t\theight={3}\n\t\t\tshowOnShallow={true}\n\t\t\toptions={{ showSpinner: false }}\n\t\t/>\n\t);\n};\n","import { createContext } from 'react';\nimport { StructuredData } from '@legacyApp/types/default/StructuredData';\n\nexport const StaticPropsContext = createContext<StructuredData>({});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { Provider } from 'react-redux';\nexport var HYDRATE = '__NEXT_REDUX_WRAPPER_HYDRATE__';\nexport var STOREKEY = '__NEXT_REDUX_WRAPPER_STORE__';\nvar getIsServer = function () { return typeof window === 'undefined'; };\nvar getDeserializedState = function (initialState, _a) {\n var deserializeState = (_a === void 0 ? {} : _a).deserializeState;\n return deserializeState ? deserializeState(initialState) : initialState;\n};\nvar getSerializedState = function (state, _a) {\n var serializeState = (_a === void 0 ? {} : _a).serializeState;\n return serializeState ? serializeState(state) : state;\n};\nvar getStoreKey = function (_a) {\n var storeKey = (_a === void 0 ? {} : _a).storeKey;\n return storeKey || STOREKEY;\n};\nvar initStore = function (_a) {\n var makeStore = _a.makeStore, context = _a.context, config = _a.config;\n var storeKey = getStoreKey(config);\n var createStore = function () { return makeStore(context); };\n if (getIsServer()) {\n var c = context;\n var req = void 0;\n if (c.req)\n req = c.req;\n if (c.ctx && c.ctx.req)\n req = c.ctx.req;\n if (req) {\n // ATTENTION! THIS IS INTERNAL, DO NOT ACCESS DIRECTLY ANYWHERE ELSE\n // @see https://github.com/kirill-konshin/next-redux-wrapper/pull/196#issuecomment-611673546\n if (!req.__nextReduxWrapperStore)\n req.__nextReduxWrapperStore = createStore();\n return req.__nextReduxWrapperStore;\n }\n return createStore();\n }\n // Memoize store if client\n if (!(storeKey in window)) {\n window[storeKey] = createStore();\n }\n return window[storeKey];\n};\nexport var createWrapper = function (makeStore, config) {\n if (config === void 0) { config = {}; }\n var makeProps = function (_a) {\n var callback = _a.callback, context = _a.context, _b = _a.isApp, isApp = _b === void 0 ? false : _b;\n return __awaiter(void 0, void 0, void 0, function () {\n var store, initialProps, _c, state;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n store = initStore({ context: context, makeStore: makeStore, config: config });\n if (config.debug)\n console.log(\"1. getProps created store with state\", store.getState());\n _c = callback;\n if (!_c) return [3 /*break*/, 2];\n return [4 /*yield*/, callback(\n // merging store into context instead of just passing as another argument because it's impossible to override getInitialProps signature\n isApp ? __assign(__assign({}, context), { ctx: __assign(__assign({}, context.ctx), { store: store }) }) : __assign(__assign({}, context), { store: store }))];\n case 1:\n _c = (_d.sent());\n _d.label = 2;\n case 2:\n initialProps = (_c) ||\n {};\n if (config.debug)\n console.log(\"3. getProps after dispatches has store state\", store.getState());\n state = store.getState();\n return [2 /*return*/, {\n initialProps: initialProps,\n initialState: getIsServer() ? getSerializedState(state, config) : state,\n }];\n }\n });\n });\n };\n var getInitialPageProps = function (callback) { return function (context) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (context.store) {\n console.warn('No need to wrap pages if _app was wrapped');\n return [2 /*return*/, callback(context)];\n }\n return [2 /*return*/, makeProps({ callback: callback, context: context })];\n });\n }); }; };\n var getInitialAppProps = function (callback) { return function (context) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, makeProps({ callback: callback, context: context, isApp: true })];\n case 1: return [2 /*return*/, (_a.sent())];\n }\n }); }); }; }; // this is just to convince TS\n var getStaticProps = function (callback) { return function (context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b, props, settings, wrapperProps;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, makeProps({ callback: callback, context: context })];\n case 1:\n _a = _c.sent(), _b = _a.initialProps, props = _b.props, settings = __rest(_b, [\"props\"]), wrapperProps = __rest(_a, [\"initialProps\"]);\n return [2 /*return*/, __assign(__assign({}, settings), { props: __assign(__assign({}, wrapperProps), props) })];\n }\n });\n }); }; };\n var getServerSideProps = function (callback) { return function (context) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getStaticProps(callback)(context)];\n case 1: return [2 /*return*/, _a.sent()]; // just not to repeat myself\n }\n });\n }); }; };\n var withRedux = function (Component) {\n var displayName = \"withRedux(\" + (Component.displayName || Component.name || 'Component') + \")\";\n //TODO Check if pages/_app was wrapped so there's no need to wrap a page itself\n var Wrapper = function (_a, context) {\n var _b;\n var initialState = _a.initialState, initialProps = _a.initialProps, props = __rest(_a, [\"initialState\", \"initialProps\"]);\n var isFirstRender = useRef(true);\n // this happens when App has page with getServerSideProps/getStaticProps\n var initialStateFromGSPorGSSR = (_b = props === null || props === void 0 ? void 0 : props.pageProps) === null || _b === void 0 ? void 0 : _b.initialState;\n if (config.debug)\n console.log('4. WrappedApp created new store with', displayName, {\n initialState: initialState,\n initialStateFromGSPorGSSR: initialStateFromGSPorGSSR,\n });\n var store = useRef(initStore({ makeStore: makeStore, config: config, context: context }));\n var hydrate = useCallback(function () {\n if (initialState)\n store.current.dispatch({\n type: HYDRATE,\n payload: getDeserializedState(initialState, config),\n });\n // ATTENTION! This code assumes that Page's getServerSideProps is executed after App.getInitialProps\n // so we dispatch in this order\n if (initialStateFromGSPorGSSR)\n store.current.dispatch({\n type: HYDRATE,\n payload: getDeserializedState(initialStateFromGSPorGSSR, config),\n });\n }, [initialStateFromGSPorGSSR, initialState]);\n // apply synchronously on first render (both server side and client side)\n if (isFirstRender.current)\n hydrate();\n // apply async in case props have changed, on navigation for example\n useEffect(function () {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n hydrate();\n }, [hydrate]);\n // order is important! Next.js overwrites props from pages/_app with getStaticProps from page\n // @see https://github.com/zeit/next.js/issues/11648\n if (initialProps && initialProps.pageProps)\n props.pageProps = __assign(__assign({}, initialProps.pageProps), props.pageProps);\n var resultProps = props;\n // just some cleanup to prevent passing it as props, we need to clone props to safely delete initialState\n if (initialStateFromGSPorGSSR) {\n resultProps = __assign(__assign({}, props), { pageProps: __assign({}, props.pageProps) });\n delete resultProps.pageProps.initialState;\n }\n return (React.createElement(Provider, { store: store.current },\n React.createElement(Component, __assign({}, initialProps, resultProps))));\n };\n Wrapper.displayName = displayName;\n if ('getInitialProps' in Component)\n Wrapper.getInitialProps = function (context) { return __awaiter(void 0, void 0, void 0, function () {\n var callback;\n return __generator(this, function (_a) {\n callback = Component.getInitialProps;\n return [2 /*return*/, (context.ctx ? getInitialAppProps(callback) : getInitialPageProps(callback))(context)];\n });\n }); };\n return Wrapper;\n };\n return {\n getServerSideProps: getServerSideProps,\n getStaticProps: getStaticProps,\n withRedux: withRedux,\n };\n};\n// Legacy\nexport default (function (makeStore, config) {\n if (config === void 0) { config = {}; }\n console.warn('/!\\\\ You are using legacy implementaion. Please update your code: use createWrapper() and wrapper.withRedux().');\n return createWrapper(makeStore, config).withRedux;\n});\n//# sourceMappingURL=index.js.map","import { updateUserSupport } from '@modules/support/methods/updateUserSupport';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport {\n\tgetVendorUserData,\n\tVendorUserData,\n} from '@common/methods/getVendorUserData';\n\nexport const supportUpdateUserThunk = (data: VendorUserData): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tupdateUserSupport(getVendorUserData(getState(), data || {}));\n\t};\n};\n","import { SUPPORT_APP_KEY } from '@modules/support/contants/SUPPORT_APP_KEY';\n\nexport interface UpdateUserSupportProps {\n\tname: string;\n\temail: string;\n\tuser_id: string;\n\tuser_hash: string;\n\tcreated_at: number;\n\tcustom_data: {\n\t\tappversion?: string;\n\t\tbrowser_dimension?: string;\n\t\tvip?: number;\n\t};\n}\n\nexport const updateUserSupport = (user: UpdateUserSupportProps) => {\n\tif (!process.browser) {\n\t\treturn;\n\t}\n\twindow[SUPPORT_APP_KEY] && window[SUPPORT_APP_KEY]('update', user);\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { RESET_USER_DATA } from '@legacyApp/client/store/user/user.constants';\nimport { epic } from '@legacyApp/client/modules/app/epicService';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { APP_INITIALIZED } from '@legacyApp/client/store/app/app.constants';\nimport { supportUpdateUserThunk } from '@modules/support/store/thunks/supportUpdateUser.thunk';\nimport { vipActions } from './vip.actions';\nimport { vipGetLevelsThunk } from './thunks/vipGetLevels.thunk';\nimport { vipResetStateThunk } from './thunks/vipResetState.thunk';\nimport { vipInitialThunk } from './thunks/vipInitial.thunk';\n\nconst levelEpic = epic('levelEpic', {\n\tactions: (ofType) =>\n\t\tofType(vipActions.statusUpdate().type, vipActions.levelsUpdate().type),\n\tcallback: ({ store$ }) => {\n\t\tif (\n\t\t\t!store$.value.vip.levels.length ||\n\t\t\t!isTrueOrZero(store$.value.vip.status)\n\t\t) {\n\t\t\treturn of(vipGetLevelsThunk());\n\t\t}\n\t\tconst levelsBelowThreshold = store$.value.vip.levels.filter(\n\t\t\t(el) => store$.value.vip.status > el.threshold,\n\t\t);\n\t\tconst currentLevel = levelsBelowThreshold.length\n\t\t\t? levelsBelowThreshold[levelsBelowThreshold.length - 1]\n\t\t\t: null;\n\t\tif (\n\t\t\tcurrentLevel === null ||\n\t\t\t(typeof currentLevel === 'object' &&\n\t\t\t\tcurrentLevel?.level === store$.value.vip.level.level)\n\t\t) {\n\t\t\tif (!store$.value.vip.loaded) {\n\t\t\t\treturn of(vipActions.loadedUpdate(true));\n\t\t\t}\n\t\t\treturn of();\n\t\t}\n\t\treturn of(vipActions.levelUpdate(currentLevel));\n\t},\n});\n\nconst loadedEpic = epic('loadedEpic', {\n\tactions: (ofType) => ofType(vipActions.levelUpdate().type),\n\tcallback: ({ store$ }) => {\n\t\tif (\n\t\t\t!store$.value.vip.levels.length ||\n\t\t\t!isTrueOrZero(store$.value.vip.status)\n\t\t) {\n\t\t\treturn of(vipGetLevelsThunk());\n\t\t}\n\t\treturn of([\n\t\t\tsupportUpdateUserThunk({\n\t\t\t\tvip: store$.value.vip.level.level,\n\t\t\t}),\n\t\t\tvipActions.loadedUpdate(true),\n\t\t]);\n\t},\n});\n\nconst loginEpic = epic('loginEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: () => {\n\t\treturn of(vipInitialThunk());\n\t},\n});\n\nconst resetUserDataEpic = epic('resetUserDataEpic', {\n\tactions: (ofType) => ofType(RESET_USER_DATA),\n\tcallback: () => {\n\t\treturn of(vipResetStateThunk());\n\t},\n});\n\nconst vipEpic = combineEpics(\n\tresetUserDataEpic,\n\tlevelEpic,\n\tloadedEpic,\n\tloginEpic,\n);\n\nexport { vipEpic };\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { vipStatusUpdateThunk } from './vipStatusUpdate.thunk';\nimport { vipGetLevelsThunk } from './vipGetLevels.thunk';\n\nexport const vipInitialThunk = (): AppThunk => {\n\treturn (dispatch) => {\n\t\tdispatch(vipStatusUpdateThunk(true));\n\t\tdispatch(vipGetLevelsThunk());\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { vipActions } from '../vip.actions';\nimport { statusSlice } from '../slices/status.slice';\nimport { levelSlice } from '../slices/level.slice';\nimport { loadedSlice } from '../slices/loaded.slice';\nimport { levelsSlice } from '../slices/levels.slice';\n\nexport const vipResetStateThunk = (): AppThunk => {\n\treturn (dispatch) => {\n\t\tdispatch(vipActions.statusUpdate(statusSlice.getInitialState()));\n\t\tdispatch(vipActions.levelUpdate(levelSlice.getInitialState()));\n\t\tdispatch(vipActions.loadedUpdate(loadedSlice.getInitialState()));\n\t\tdispatch(vipActions.levelsUpdate(levelsSlice.getInitialState()));\n\t};\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { epic } from '@legacyApp/client/modules/app/epicService';\nimport { updateBalances } from '@legacyApp/client/modules/app/balanceService';\nimport { setBalancesArray } from './balance.actions';\nimport { BALANCE_FETCH, UPDATE_BALANCE } from './balance.constants';\nimport { getBalancesThunk } from './thunks/getBalances.thunk';\n\nconst updateBalanceEpic = epic('updateBalanceEpic', {\n\tactions: (ofType) => ofType(UPDATE_BALANCE),\n\tcallback: ({ action, store$ }) => {\n\t\tconst updatedBalances = updateBalances(\n\t\t\taction.payload,\n\t\t\tstore$.value.balance.balancesArray,\n\t\t\t{\n\t\t\t\tsource: 'updateBalanceEpic - balanceEpic',\n\t\t\t\taction,\n\t\t\t},\n\t\t);\n\t\treturn of(setBalancesArray(updatedBalances, action.source));\n\t},\n});\n\nconst fetchEpic = epic('fetchEpic', {\n\tactions: (ofType) => ofType(BALANCE_FETCH),\n\tcallback: () => {\n\t\treturn of(getBalancesThunk());\n\t},\n});\n\nconst balanceEpic = combineEpics(updateBalanceEpic, fetchEpic);\n\nexport { balanceEpic };\n","import { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { bindSocketPrivateChannelEvent } from '@legacyApp/client/store/websocket/websocket.actions';\nimport { WEBSOCKET_EVENTS } from '@legacyApp/client/store/websocket/websocket.constants';\nimport { setCurrency } from '@legacyApp/client/store/user/user.actions';\nimport { getInitialCurrency } from '@legacyApp/client/modules/app/currencyService';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { checkGameForm } from '../../../games/Game/store/gameValidation/gameValidation.actions';\nimport websocketService from '../../../../LegacyApp/client/modules/app/websocketService';\nimport { updateBalance } from '../balance.actions';\n\nexport const getBalancesThunk = (): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tconst data = await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: '/v2/user/balances',\n\t\t\t\tparameters: {\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\tloaderId: 'getBalances',\n\t\t\t}),\n\t\t).catch(() => {\n\t\t\treturn null;\n\t\t});\n\t\tif (!data?.userBalances) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(updateBalance(data.userBalances, 'getBalancesThunk'));\n\t\tdispatch(\n\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\tWEBSOCKET_EVENTS.USER_BALANCE,\n\t\t\t\t(data, dispatch) => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tupdateBalance(\n\t\t\t\t\t\t\twebsocketService.getMessage(data).userBalance,\n\t\t\t\t\t\t\t'websocketBalance',\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t\tif (state?.game?.activeGame) {\n\t\t\tdispatch(checkGameForm(state.game.activeGame, true));\n\t\t}\n\t\tif (state.user.activeCurrency === 'btc') {\n\t\t\tdispatch(setCurrency(getInitialCurrency(data.userBalances)));\n\t\t}\n\t\treturn [];\n\t};\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { openModal } from 'src/modules/modals/store/modal.actions';\nimport { MODAL_ID } from 'src/common/constants/modal/ids.modal.constants';\nimport { supportActions } from '@modules/support/store/support.actions';\nimport { epic } from '../../../LegacyApp/client/modules/app/epicService';\nimport { APP_INITIALIZED } from '../../../LegacyApp/client/store/app/app.constants';\nimport { supportInit } from './thunks/supportInit.thunk';\n\nconst errorEpic = epic('errorEpic', {\n\tactions: (ofType) => ofType(supportActions.setOpen().type),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!action.payload || !store$.value.support.error) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(openModal(MODAL_ID.LIVE_SUPPORT_ERROR, 'supportErrorEpic'));\n\t},\n});\n\nconst initEpic = epic('initEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: () => {\n\t\treturn of(supportInit());\n\t},\n});\n\nconst supportEpic = combineEpics(errorEpic, initEpic);\n\nexport { supportEpic };\n","import queryString from 'query-string';\nimport Router from 'next/router';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { sentryError } from './sentryService';\n\nconst getUrl = (data) => {\n\tlet path = Object.keys(Router.router.query).length\n\t\t? Router.router.pathname\n\t\t: Router.router.asPath;\n\tif (path.indexOf('?') > -1) {\n\t\tpath = path.split('?')[0];\n\t}\n\tconst query = {\n\t\t...(Object.keys(data).length ? Router.router.query : {}),\n\t\t...data,\n\t};\n\tObject.keys(Router.router.query).forEach((key) => {\n\t\tif (path.indexOf(`[${key}]`) > -1) {\n\t\t\tpath = path.replace(`[${key}]`, Router.router.query[key]);\n\t\t\tif (query[key]) {\n\t\t\t\tdelete query[key];\n\t\t\t}\n\t\t}\n\t});\n\tObject.keys(query).forEach((key) => {\n\t\tif (!isTrueOrZero(query[key])) {\n\t\t\tdelete query[key];\n\t\t}\n\t});\n\treturn `${path}${\n\t\tObject.keys(query).length ? `?${queryString.stringify(query)}` : ''\n\t}`;\n};\n\nexport const setQueryParams = (data = {}) => {\n\tif (process.browser) {\n\t\tconst url = getUrl(data);\n\t\tconsole.log('setQueryParams - redirect', {\n\t\t\turl,\n\t\t\tdata,\n\t\t\trouter: Router.router,\n\t\t\tasPath: Router.router.asPath,\n\t\t});\n\t\tif (url === Router.router.asPath) {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tRouter.push(url, undefined, { shallow: true, scroll: false });\n\t\t} catch (error) {\n\t\t\tsentryError('Cannot pushState in setQueryParams', {\n\t\t\t\tdata,\n\t\t\t\tquery: Router.router.query,\n\t\t\t\turl,\n\t\t\t\tlocationObj: Router.router,\n\t\t\t\terror,\n\t\t\t});\n\t\t}\n\t}\n};\n","import { delay } from 'rxjs/operators';\nimport { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport queryString from 'query-string';\nimport { chatActions } from '@modules/chat/store/chat.actions';\nimport { vipActions } from '@modules/vip/store/vip.actions';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { generateUrl, ROUTE } from '@common/routes';\nimport { isPageStatic } from '@modules/page/PageConfig/PageConfig.provider';\nimport { vipIncreaseLevelThunk } from '@modules/vip/store/thunks/vipIncreaseLevel.thunk';\nimport { getDeviceType } from '@common/methods/getDeviceType';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { getRoomStreamThunk } from '@modules/chat/store/thunks/getRoomStream.thunk';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\nimport { handleGetNewFeaturesWithNotificationThunk } from '@common/store/thunks/getNewFeatures.thunk';\nimport {\n\tRESET_USER_DATA,\n\tSET_EMAIL,\n\tSET_SOCKET_PRIVATE_CHANNEL,\n\tSET_USERNAME,\n} from '../user/user.constants';\nimport websockets from '../../modules/app/websocketService';\nimport audioService from '../../modules/app/audioService';\nimport routingService from '../../modules/app/routingService';\nimport { sentryUpdateState } from '../../modules/app/sentryService';\nimport { bindSocketPrivateChannelEvent } from '../websocket/websocket.actions';\nimport { config } from '../../config';\nimport { showAlert } from '../alerts/alerts.actions';\nimport {\n\tcurrentVersion,\n\tsetLocationData,\n\tupdateLockedView,\n} from '../../modules/app/appService';\nimport { SERVER_DATA_CLEAR } from '../serverData/serverData.constants';\nimport { epic } from '../../modules/app/epicService';\nimport { initVendor } from '../../modules/app/vendorService';\nimport {\n\tsetAffiliateCode,\n\tsetAffiliateUtmSource,\n} from '../affiliate/affiliate.actions';\nimport { fetchLocalAction } from '../fetch/fetch.thunk';\nimport { serverDataClear } from '../serverData/serverData.actions';\nimport { setQueryParams } from '../../modules/app/urlService';\nimport { checkIfUserCanAccess } from '../../modules/app/featureService';\nimport { setHasAvailableBonusCode } from '../user/user.actions';\nimport { bonusInfo } from '../user/thunks/user.thunk';\nimport { getTimestamp } from '../../modules/app/timeService';\nimport {\n\tWEBSOCKET_CHANNELS,\n\tWEBSOCKET_EVENTS,\n} from '../websocket/websocket.constants';\nimport { bindSocketChannelEventThunk } from '../websocket/thunks/bindSocketChannelEvent.thunk';\nimport {\n\tappCheckVersion,\n\tappInitialized,\n\tappNewVersion,\n\tappSetCsrf,\n\tappSetSource,\n\tcheckNewFeatures,\n\thandleCommands,\n\tsetContentDeviceType,\n\tsetExtendedAccess,\n\tupdateSentryState,\n} from './app.actions';\nimport {\n\tAPP_CALLBACK,\n\tAPP_CHECK_VERSION,\n\tAPP_CLOSES,\n\tAPP_COMMANDS,\n\tAPP_GO_TO,\n\tAPP_INITIALIZED,\n\tAPP_NEW_VERSION,\n\tCHECK_NEW_FEATURES,\n\tHANDLE_COMMANDS,\n\tLISTEN_COMMANDS,\n\tSET_DEVICE_TYPE,\n\tSET_LOCKED_VIEW,\n\tSET_MOBILE,\n\tSET_VISIBLE,\n\tSET_WIDTH,\n\tUPDATE_SENTRY_STATE,\n\tUPDATE_URL_QUERY,\n} from './app.constants';\n\nconst listenCommandsEpic = epic('listenCommandsEpic', {\n\tactions: (ofType) => ofType(LISTEN_COMMANDS),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tbindSocketChannelEventThunk(\n\t\t\t\tWEBSOCKET_CHANNELS.COMMANDS,\n\t\t\t\tWEBSOCKET_EVENTS.COMMANDS,\n\t\t\t\t(data, dispatch) =>\n\t\t\t\t\tdispatch(handleCommands(websockets.getMessage(data))),\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst listenPrivateCommands = epic('listenPrivateCommands', {\n\tactions: (ofType) => ofType(SET_SOCKET_PRIVATE_CHANNEL),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.user.socketChannel) {\n\t\t\treturn of(\n\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\tWEBSOCKET_EVENTS.COMMANDS,\n\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\tdispatch(handleCommands(websockets.getMessage(data))),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst commandsEpic = epic('commandsEpic', {\n\tactions: (ofType) => ofType(HANDLE_COMMANDS),\n\tcallback: ({ action, store$ }) => {\n\t\t// logger('command', {command: action.payload});\n\t\tif (action.payload === APP_COMMANDS.CHAT_REFRESH) {\n\t\t\treturn of(getRoomStreamThunk(true));\n\t\t}\n\t\tif (action.payload === APP_COMMANDS.APP_REFRESH) {\n\t\t\treturn of(appNewVersion());\n\t\t}\n\t\tif (action.payload.indexOf(APP_COMMANDS.RAKEBACK_LEVEL_INCREASED) === 0) {\n\t\t\tconst level = action.payload.replace(\n\t\t\t\t`${APP_COMMANDS.RAKEBACK_LEVEL_INCREASED}.`,\n\t\t\t\t'',\n\t\t\t);\n\t\t\tif (level) {\n\t\t\t\treturn of(vipIncreaseLevelThunk(parseFloat(level)));\n\t\t\t}\n\t\t}\n\t\tif (action.payload === APP_COMMANDS.BONUS_CODE_GRANTED) {\n\t\t\treturn of([\n\t\t\t\tstore$.value.user.hasAvailableBonusCode\n\t\t\t\t\t? bonusInfo()\n\t\t\t\t\t: setHasAvailableBonusCode(true),\n\t\t\t]);\n\t\t}\n\t\tif (action.payload === APP_COMMANDS.OPEN_INSANE_BONUS_CODE_MODAL) {\n\t\t\treturn of(openModal(MODAL_ID.INSANE_BONUS_CODE_INFO, HANDLE_COMMANDS));\n\t\t}\n\t\tif (action.payload === APP_COMMANDS.OPEN_INSANE_BONUS_CODE_ALERT) {\n\t\t\treturn of(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\t'Insane bonus code is available to claim! Ask our support agent for BONUS CODE',\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst goToEpic = epic('goToEpic', {\n\tactions: (ofType) => ofType(APP_GO_TO),\n\tcallback: ({ action }) => {\n\t\tconst split = routingService.splitId(action.id);\n\t\tconst route = action.validUri\n\t\t\t? routingService.getRoute(split[0])\n\t\t\t: routingService.getRouteById(split[0]);\n\t\t// console.log('APP_GO_TO', {action, route, to: routingService.splitId(action.id)});\n\t\t!route?.static && !isPageStatic(route?.id)\n\t\t\t? routingService.dynamicRedirect(action.id, action.validUri)\n\t\t\t: routingService.redirect(action.id, action.validUri);\n\t\treturn of();\n\t},\n});\n\nconst visibleEpic = epic('visibleEpic', {\n\tactions: (ofType) => ofType(SET_VISIBLE),\n\tcallback: ({ action }) => {\n\t\taudioService.muteAll(!action.bool);\n\t\treturn of();\n\t},\n});\n\nconst sentryEpic = epic('sentryEpic', {\n\tactions: (ofType) => ofType(UPDATE_SENTRY_STATE),\n\tcallback: ({ store$ }) => {\n\t\tsentryUpdateState(store$.value);\n\t\tif (NEXT_CONFIG.DEV) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(updateSentryState()).pipe(\n\t\t\tdelay(config.sentryStateUpdateInterval),\n\t\t);\n\t},\n});\n\nconst sentryUserEpic = epic('sentryUserEpic', {\n\tactions: (ofType) => ofType(SET_USERNAME, SET_EMAIL, RESET_USER_DATA),\n\tcallback: ({ store$ }) => {\n\t\tsentryUpdateState(store$.value);\n\t\treturn of();\n\t},\n});\n\nconst checkFeaturesEpic = epic('checkFeaturesEpic', {\n\tactions: (ofType) => ofType(CHECK_NEW_FEATURES),\n\tcallback: ({ action, store$, }) => {\n\t\treturn of(handleGetNewFeaturesWithNotificationThunk(action.onlyCheck, store$.value.app.language));\n\t},\n});\n\nconst initializedEpic = epic('initializedEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: () => {\n\t\tsetLocationData();\n\t\tinitVendor();\n\t\tconst result = [checkNewFeatures(true), updateSentryState()];\n\t\tconst csrf = cookieService.get(CookiesKeys.CSRF_TOKEN) || window.__CSRF__;\n\t\tif (csrf) {\n\t\t\tresult.push(appSetCsrf(csrf));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst contentDeviceTypeEpic = epic('contentDeviceTypeEpic', {\n\tactions: (ofType) =>\n\t\tofType(\n\t\t\tSET_WIDTH,\n\t\t\tSET_DEVICE_TYPE,\n\t\t\tSET_MOBILE,\n\t\t\tchatActions.setWidth().type,\n\t\t\tAPP_INITIALIZED,\n\t\t),\n\tcallback: ({ store$ }) => {\n\t\t// TODO: chat store usage\n\t\tconst type = store$.value.app.mobile\n\t\t\t? store$.value.app.deviceType\n\t\t\t: getDeviceType(store$.value.app.width - store$.value?.chat?.width);\n\t\tif (type === store$.value.app.contentDeviceType) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(setContentDeviceType(type));\n\t},\n});\n\nconst extendedAccessEpic = epic('extendedAccessEpic', {\n\tactions: (ofType) =>\n\t\tofType(\n\t\t\tSET_USERNAME,\n\t\t\tvipActions.levelUpdate().type,\n\t\t\tRESET_USER_DATA,\n\t\t\tAPP_INITIALIZED,\n\t\t),\n\tcallback: ({ store$ }) => {\n\t\tconst bool = checkIfUserCanAccess(store$.value);\n\t\tconst result = [setExtendedAccess(bool)];\n\t\tbool\n\t\t\t? cookieService.set(CookiesKeys.EXTENDED_ACCESS, bool, { expires: 1 })\n\t\t\t: cookieService.clear(CookiesKeys.EXTENDED_ACCESS);\n\t\treturn of(result);\n\t},\n});\n\nconst staticLoadedEpic = epic('staticLoadedEpic', {\n\tactions: (ofType) => ofType(SERVER_DATA_CLEAR),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.app.initialized) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(appInitialized('staticLoadedEpic'));\n\t},\n});\n\nconst checkVersionEpic = epic('checkVersionEpic', {\n\tactions: (ofType) => ofType(SET_VISIBLE, APP_INITIALIZED),\n\tcallback: ({ action }) => {\n\t\tif (action.bool || action.type === APP_INITIALIZED) {\n\t\t\treturn of(appCheckVersion());\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst versionEpic = epic('versionEpic', {\n\tactions: (ofType) => ofType(APP_CHECK_VERSION),\n\tcallback: () => {\n\t\tconst timestamp = lsGet(LocalStorageKeys.VERSION_TIMESTAMP);\n\t\tconst currentTimestamp = getTimestamp();\n\t\t// console.log('checkVersion', { timestamp, currentTimestamp, bool: timestamp && currentTimestamp < timestamp + 0 });\n\t\tif (!timestamp) {\n\t\t\tlsSet(LocalStorageKeys.VERSION_TIMESTAMP, currentTimestamp);\n\t\t\treturn of();\n\t\t}\n\t\tif (currentTimestamp < timestamp + config.versionCheckTimeout) {\n\t\t\treturn of();\n\t\t}\n\t\tconst version = currentVersion();\n\t\t// console.log('checkVersion', { version });\n\t\tif (!version) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tfetchLocalAction(\n\t\t\t\t{\n\t\t\t\t\turl: generateUrl(ROUTE.apiCheckVersion, { version }),\n\t\t\t\t\tdisableErrorHandler: true,\n\t\t\t\t\tfromState: config.versionCheckTimeout,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\t// console.log(data);\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tlsSet(LocalStorageKeys.VERSION_TIMESTAMP, currentTimestamp);\n\t\t\t\t\tif (data.deprecated) {\n\t\t\t\t\t\tresult.push(appNewVersion());\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\treturn of();\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst newVersionEpic = epic('newVersionEpic', {\n\tactions: (ofType) => ofType(APP_NEW_VERSION),\n\tcallback: () => {\n\t\tlsSet(LocalStorageKeys.VERSION_TIMESTAMP, getTimestamp());\n\t\treturn of(\n\t\t\tshowAlert(\n\t\t\t\t'info',\n\t\t\t\t'New version available, please refresh the page!',\n\t\t\t\ttrue,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst defaultsEpic = epic('defaultsEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: ({ store$ }) => {\n\t\tconst actions = [];\n\t\tconst storeQuery = queryString.parse(store$.value.router.location.search);\n\t\tconst urlQueryData = {\n\t\t\t...storeQuery,\n\t\t};\n\t\tif (storeQuery.source) {\n\t\t\turlQueryData.source = undefined;\n\t\t\tactions.push(appSetSource(storeQuery.source));\n\t\t}\n\t\tif (storeQuery.c) {\n\t\t\turlQueryData.c = undefined;\n\t\t\tactions.push(setAffiliateCode(storeQuery.c));\n\t\t}\n\t\tif (storeQuery['utm_source']) {\n\t\t\tactions.push(setAffiliateUtmSource(storeQuery['utm_source']));\n\t\t}\n\t\tconst query = queryString.stringify(urlQueryData);\n\t\tif (store$.value.router.location.search !== (query ? `?${query}` : '')) {\n\t\t\t// console.log('setQueryParams - appInitialized', store$.value.router.location.search, `?${queryString.stringify(urlQueryData)}`);\n\t\t\tsetQueryParams(urlQueryData);\n\t\t}\n\t\treturn of(actions);\n\t},\n});\n\nconst appCallbackEpic = epic('appCallbackEpic', {\n\tactions: (ofType) => ofType(APP_CALLBACK),\n\tcallback: ({ action }) => {\n\t\tif (action.callback) {\n\t\t\taction.callback();\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst closesEpic = epic('closesEpic', {\n\tactions: (ofType) => ofType(APP_CLOSES, RESET_USER_DATA),\n\tcallback: () => {\n\t\tcookieService.clear(CookiesKeys.PRELOADED_STATE);\n\t\treturn of(serverDataClear());\n\t},\n});\n\nconst lockedViewEpic = epic('lockedViewEpic', {\n\tactions: (ofType) => ofType(SET_LOCKED_VIEW),\n\tcallback: ({ action, store$ }) => {\n\t\tupdateLockedView(!!store$.value.app.isViewLocked, action);\n\t\treturn of();\n\t},\n});\n\nconst urlQueryEpic = epic('urlQueryEpic', {\n\tactions: (ofType) => ofType(UPDATE_URL_QUERY),\n\tcallback: ({ store$, action }) => {\n\t\tconst storeQuery = queryString.parse(store$.value.router.location.search);\n\t\t// console.log('setQueryParams - UPDATE_URL_QUERY', store$.value.router.location.search, storeQuery, action);\n\t\tsetQueryParams({\n\t\t\t...storeQuery,\n\t\t\t...action.payload,\n\t\t});\n\t\treturn of();\n\t},\n});\n\nconst appEpic = combineEpics(\n\tlockedViewEpic,\n\tvisibleEpic,\n\tgoToEpic,\n\tsentryEpic,\n\tsentryUserEpic,\n\tcommandsEpic,\n\tlistenCommandsEpic,\n\tcheckFeaturesEpic,\n\tinitializedEpic,\n\tcontentDeviceTypeEpic,\n\textendedAccessEpic,\n\tstaticLoadedEpic,\n\tnewVersionEpic,\n\tversionEpic,\n\tcheckVersionEpic,\n\tdefaultsEpic,\n\tappCallbackEpic,\n\tlistenPrivateCommands,\n\tclosesEpic,\n\turlQueryEpic,\n);\n\nexport { appEpic };\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { notificationEnable } from '@legacyApp/client/store/notification/notification.actions';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\nimport { supportUpdateUserThunk } from '@modules/support/store/thunks/supportUpdateUser.thunk';\nimport { VipLevel } from '../types/vip.types';\nimport { openModal } from '../../../modals/store/modal.actions';\nimport { vipStatusUpdateThunk } from './vipStatusUpdate.thunk';\n\nexport const vipIncreaseLevelThunk = (level: VipLevel['level']): AppThunk => {\n\treturn (dispatch) => {\n\t\tif (!level) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(vipStatusUpdateThunk(true));\n\t\tdispatch(notificationEnable(NOTIFICATION_ID.HAS_BONUS_CODE));\n\t\tdispatch(\n\t\t\topenModal(MODAL_ID.VIP_LEVEL_INCREASED, 'levelIncreaseEpic', {\n\t\t\t\tlevel,\n\t\t\t}),\n\t\t);\n\t\tdispatch(\n\t\t\tsupportUpdateUserThunk({\n\t\t\t\tvip: level,\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { combineEpics } from 'redux-observable';\nimport { delay, map } from 'rxjs/operators';\nimport { from, of } from 'rxjs';\nimport { openModal, resetModal } from '@modules/modals/store/modal.actions';\nimport {\n\tresetAutoSession,\n\tresetGameSession,\n} from '@modules/games/Game/store/gameSession/gameSession.actions';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { clearSportsBookSession } from '@modules/sportsbook/methods/clearSportsBookSession';\nimport { supportUpdateUserThunk } from '@modules/support/store/thunks/supportUpdateUser.thunk';\nimport {\n\tupdatePasswordConfirmValue,\n\tupdatePasswordValue,\n} from '../forms/forms.actions';\nimport {\n\tACTIVATE_2FA,\n\tUNINSTALL_2FA,\n} from '../twoFactorAuthentication/twoFactorAuthentication.constants';\nimport {\n\tsetNewMyBets,\n\ttransactionsSetMeta,\n\ttransactionsUpdating,\n} from '../transactions/transactions.actions';\nimport { appGoTo } from '../app/app.actions';\nimport { resetActiveCurrency } from '../../modules/app/currencyService';\nimport transactionService from '../../../../modules/transactions/transactionsService';\nimport { config, FEATURES_TYPE } from '../../config';\nimport { registerEvent } from '../gtm/gtm.actions';\nimport { getBcheck } from '../../modules/app/fingerprintService';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { loaderModuleLoaded } from '../loader/loader.actions';\nimport { isWithdrawBlocked } from '../../modules/app/withdrawService';\nimport { epic, epicOldState } from '../../modules/app/epicService';\nimport { clearStatsLocalStorage } from '../../modules/app/gameSessionService';\n\nimport { isFeatureAvailable } from '../../modules/app/featureService';\nimport { fetchApiAction, fetchLocalAction } from '../fetch/fetch.thunk';\nimport { checkToken, tokenService } from '../../modules/app/tokenService';\nimport { sentryUpdateUser } from '../../modules/app/sentryService';\nimport { bindSocketPrivateChannelEvent } from '../websocket/websocket.actions';\nimport websocketService from '../../modules/app/websocketService';\nimport routingService from '../../modules/app/routingService';\nimport { WEBSOCKET_EVENTS } from '../websocket/websocket.constants';\nimport {\n\tCHANGE_CURRENCY,\n\tCHANGE_EMAIL,\n\tCHANGE_NAME,\n\tCHANGE_PASSWORD,\n\tCHECK_AM_I_UNIQUE,\n\tREFRESH_USER_DATA,\n\tRESEND_VERIFICATION_EMAIL,\n\tSEND_NEW_PASSWORD,\n\tSET_EMAIL,\n\tSET_HAS_AVAILABLE_BONUS_CODE,\n\tSET_NEW_PASSWORD,\n\tSET_TOKEN,\n\tSET_USER_ID,\n\tUSER_GET_BETS,\n\tUSER_GET_DATA,\n\tUSER_HANDLE_LOGIN_RESPONSE,\n\tUSER_HANDLE_REGISTER_RESPONSE,\n\tUSER_HAS_EMAIL_TO_VERIFY,\n\tUSER_LOGGED,\n\tUSER_LOGGING,\n\tUSER_LOGOUT,\n\tUSER_REGISTER_SEND,\n\tUSER_SESSION_ENDED,\n\tUSER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n} from './user.constants';\nimport {\n\tgetUserData,\n\thasPasswordToSet,\n\tloggedUser,\n\tlogoutUser,\n\tnotLoggedUser,\n\trefreshUserData,\n\tresetData,\n\tresetToken,\n\tsetCurrency,\n\tsetEmail,\n\tsetFirstLogin,\n\tsetLastRegisterTimestamp,\n\tsetToken,\n\tsetUserName,\n\tuserHandleLoginResponse,\n\tuserSetWithdrawBlocked,\n} from './user.actions';\nimport { bonusInfo } from './thunks/user.thunk';\nimport { getUserDataThunk } from './thunks/getUserData.thunk';\nimport { newMyBetThunk } from './thunks/newMyBet.thunk';\n\nconst getUserDataEpic = epic('getUserDataEpic', {\n\tactions: (ofType) => ofType(USER_GET_DATA),\n\tcallback: ({ action }) => {\n\t\treturn of(getUserDataThunk(action));\n\t},\n});\n\nconst changeCurrencyEpic = epic('changeCurrencyEpic', {\n\tactions: (ofType) => ofType(CHANGE_CURRENCY),\n\tcallback: ({ action }) => {\n\t\treturn of([setCurrency(action.payload), resetGameSession()]);\n\t},\n});\n\nconst sessionEpic = epic('sessionEpic', {\n\tactions: (ofType) => ofType(USER_SESSION_ENDED),\n\tcallback: ({ store$ }) => {\n\t\t// sentryError(new Error('User session ended'), {\n\t\t// localStorage,\n\t\t// state: store$.value,\n\t\t// });\n\t\tconst actions = [];\n\t\tif (store$.value.modal?.id) {\n\t\t\tactions.push(resetModal(false, USER_SESSION_ENDED));\n\t\t}\n\t\treturn of([\n\t\t\t...actions,\n\t\t\tresetToken(),\n\t\t\tlogoutUser(false),\n\t\t\topenModal(MODAL_ID.SESSION_ENDED, 'user_session_ended'),\n\t\t\t// showAlert('error', 'Current session ended, please login again'),\n\t\t]);\n\t},\n});\n\nconst myBetsEpic = epic('myBetsEpic', {\n\tactions: (ofType) => ofType(USER_GET_BETS),\n\tcallback: ({ action, store$ }) => {\n\t\tif (config.disableFeatures[FEATURES_TYPE.MY_BETS]) {\n\t\t\treturn of();\n\t\t}\n\t\tconst isLogged = checkToken();\n\t\tif (!isLogged) {\n\t\t\treturn of();\n\t\t}\n\t\tconst page = action.page || 1;\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/user/bets?page=${page}${\n\t\t\t\t\t\taction.perPage ? `&per_page=${action.perPage}` : ''\n\t\t\t\t\t}`,\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: LOADING_IDS.GET_USER_BETS,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tif (data.meta) {\n\t\t\t\t\t\tresult.push(transactionsSetMeta(TABLE_ID.myBets, data.meta));\n\t\t\t\t\t}\n\t\t\t\t\tif (data.data) {\n\t\t\t\t\t\tconst bets =\n\t\t\t\t\t\t\tpage > 1\n\t\t\t\t\t\t\t\t? data.data\n\t\t\t\t\t\t\t\t: transactionService.concatMyBetsFromFetch(\n\t\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\t\tstore$.value.user.id,\n\t\t\t\t\t\t\t\t\t\tdata.meta.per_page,\n\t\t\t\t\t\t\t\t );\n\t\t\t\t\t\tresult.push(setNewMyBets(bets));\n\t\t\t\t\t}\n\t\t\t\t\tresult.push(\n\t\t\t\t\t\ttransactionsUpdating(TABLE_ID.myBets, true),\n\t\t\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\t\t\tWEBSOCKET_EVENTS.MY_BETS,\n\t\t\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\t\t\tdispatch(newMyBetThunk(websocketService.getMessage(data))),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst loginUserEpic = epic('loginUserEpic', {\n\tactions: (ofType) => ofType(USER_LOGGING),\n\tcallback: ({ action }) => {\n\t\tif (action.name.length && action.name.indexOf('@') > -1) {\n\t\t\treturn of(showAlert('error', 'Invalid login'));\n\t\t}\n\t\tconst request = getBcheck();\n\t\treturn from(request).pipe(\n\t\t\tmap((bcheck) => {\n\t\t\t\treturn [\n\t\t\t\t\tfetchLocalAction(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/login',\n\t\t\t\t\t\t\tparameters: {\n\t\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\tlogin: action.name,\n\t\t\t\t\t\t\t\t\tpassword: action.password,\n\t\t\t\t\t\t\t\t\tbcheck,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\t\tloadingId: 'loginUser',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t(data) => [userHandleLoginResponse(data)],\n\t\t\t\t\t\t() => of(notLoggedUser('error.login')),\n\t\t\t\t\t),\n\t\t\t\t];\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst handleLoginResponseEpic = epic('handleLoginResponseEpic', {\n\tactions: (ofType) => ofType(USER_HANDLE_LOGIN_RESPONSE),\n\tcallback: ({ action }) => {\n\t\tconst data = action.payload;\n\t\t// console.log(data);\n\t\tif (\n\t\t\tdata.error &&\n\t\t\ttypeof data.error === 'string' &&\n\t\t\tdata.error.indexOf(config.errors.tooManyFailedLogins) > -1\n\t\t) {\n\t\t\treturn [appGoTo(ROUTING_ID.USER_ACCOUNT_BLOCKED)];\n\t\t}\n\t\tconst result = [];\n\t\tif (data.access_token || data.value) {\n\t\t\ttokenService.set(data);\n\t\t\tresult.push(\n\t\t\t\tsetToken(data),\n\t\t\t\tresetModal(false, USER_HANDLE_LOGIN_RESPONSE),\n\t\t\t);\n\t\t}\n\t\treturn result;\n\t},\n});\n\nconst registerUserEpic = epic('registerUserEpic', {\n\tactions: (ofType) => ofType(USER_REGISTER_SEND),\n\tcallback: ({ action, store$ }) => {\n\t\tconst state = store$.value;\n\t\t// console.log('checkMulti', {\n\t\t// last: state.user.lastRegisterTimestamp,\n\t\t// curr: new Date().getTime(),\n\t\t// calc: new Date().getTime() - config.lastRegisterTimeout,\n\t\t// });\n\t\tif (\n\t\t\tstate.user.lastRegisterTimestamp >=\n\t\t\t\tnew Date().getTime() - config.lastRegisterTimeout &&\n\t\t\tNEXT_CONFIG.PRODUCTION\n\t\t) {\n\t\t\treturn of(\n\t\t\t\tloaderModuleLoaded('registerUser'),\n\t\t\t\tshowAlert(\n\t\t\t\t\t'error',\n\t\t\t\t\t'Too many attempts. Multi accounts are not allowed.',\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\t// console.log(NEXT_CONFIG.RELEASE_VERSION);\n\t\tconst request = getBcheck();\n\t\treturn from(request).pipe(\n\t\t\tmap((bcheck) => {\n\t\t\t\treturn [\n\t\t\t\t\tfetchLocalAction(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/register',\n\t\t\t\t\t\t\tparameters: {\n\t\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\t...action.data,\n\t\t\t\t\t\t\t\t\tlogin: state.forms.username.value,\n\t\t\t\t\t\t\t\t\tpassword: state.forms.password.value,\n\t\t\t\t\t\t\t\t\tpassword_confirm: state.forms.password.confirm,\n\t\t\t\t\t\t\t\t\tref: state.affiliate.code,\n\t\t\t\t\t\t\t\t\tbcheck,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\t\tloadingId: 'registerUser',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t(data) => {\n\t\t\t\t\t\t\tconst result = [];\n\t\t\t\t\t\t\tif (data.access_token || data.value) {\n\t\t\t\t\t\t\t\ttokenService.set(data);\n\t\t\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\t\t\tsetLastRegisterTimestamp(new Date().getTime()),\n\t\t\t\t\t\t\t\t\tregisterEvent({\n\t\t\t\t\t\t\t\t\t\tlogin: state.forms.username.value,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tsetFirstLogin(),\n\t\t\t\t\t\t\t\t\tsetToken(data),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// console.log('error', error);\n\t\t\t\t\t\t\treturn of();\n\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t];\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst handleRegisterResponseEpic = epic('handleRegisterResponseEpic', {\n\tactions: (ofType) => ofType(USER_HANDLE_REGISTER_RESPONSE),\n\tcallback: ({ action, store$ }) => {\n\t\tconst data = action.payload;\n\t\tif (data.access_token || data.value) {\n\t\t\ttokenService.set(data);\n\t\t\treturn of([\n\t\t\t\tsetLastRegisterTimestamp(new Date().getTime()),\n\t\t\t\tregisterEvent({\n\t\t\t\t\tlogin: store$.value.forms.username.value,\n\t\t\t\t}),\n\t\t\t\tsetFirstLogin(),\n\t\t\t\tsetToken(data),\n\t\t\t]);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst changePasswordEpic = epic('changePasswordEpic', {\n\tactions: (ofType) => ofType(CHANGE_PASSWORD),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/change/password',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t\t\tpassword_confirm: action.payload.confirm,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'changePassword',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tconst result = [\n\t\t\t\t\t\tupdatePasswordValue(''),\n\t\t\t\t\t\tupdatePasswordConfirmValue(''),\n\t\t\t\t\t];\n\t\t\t\t\tif (!data.error) {\n\t\t\t\t\t\tresult.push(hasPasswordToSet(false));\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst changeNameEpic = epic('changeNameEpic', {\n\tactions: (ofType) => ofType(CHANGE_NAME),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/change/login',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tlogin: action.payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'changeName',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tif (!data.errors && !data.error) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tsetUserName(action.payload),\n\t\t\t\t\t\t\tsupportUpdateUserThunk({\n\t\t\t\t\t\t\t\tname: action.payload,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst changeEmailEpic = epic('changeEmailEpic', {\n\tactions: (ofType) => ofType(CHANGE_EMAIL),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: {\n\t\t\t\t\t\turi: '/user/email/change',\n\t\t\t\t\t\tapiUrl: '',\n\t\t\t\t\t},\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\temail: action.payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'changeEmail',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tlet result = [];\n\t\t\t\t\tif (!data.errors && !data.error) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tsetEmail(action.payload),\n\t\t\t\t\t\t\tsupportUpdateUserThunk({\n\t\t\t\t\t\t\t\temail: action.payload,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tresult.push(getUserData());\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst resendVerificationEmailEpic = epic('resendVerificationEmailEpic', {\n\tactions: (ofType) => ofType(RESEND_VERIFICATION_EMAIL),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction({\n\t\t\t\turl: '/user/resend/email-verification',\n\t\t\t\tparameters: {\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t},\n\t\t\t\tloaderId: 'resendEmail',\n\t\t\t\tlockByModal: true,\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst sendNewPasswordEpic = epic('sendNewPasswordEpic', {\n\tactions: (ofType) => ofType(SEND_NEW_PASSWORD),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction({\n\t\t\t\turl: '/user/new-password',\n\t\t\t\tparameters: {\n\t\t\t\t\tbody: {\n\t\t\t\t\t\temail: action.payload,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmethod: 'POST',\n\t\t\t\tloaderId: 'remindPassword',\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst setNewPasswordEpic = epic('setNewPasswordEpic', {\n\tactions: (ofType) => ofType(SET_NEW_PASSWORD),\n\tcallback: ({ action, store$ }) => {\n\t\tconst state = store$.value;\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/set-new-password',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tpassword: state.forms.password.value,\n\t\t\t\t\t\t\tpassword_confirm: state.forms.password.confirm,\n\t\t\t\t\t\t\ttoken: action.payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'setNewPassword',\n\t\t\t\t},\n\t\t\t\taction.callback,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst logoutUserEpic = epic('logoutUserEpic', {\n\tactions: (ofType) => ofType(USER_LOGOUT),\n\tcallback: ({ store$, action }) => {\n\t\tif (!store$.value.user.isLogged && !action.sendRequest) {\n\t\t\tresetActiveCurrency();\n\t\t\tclearStatsLocalStorage();\n\t\t\tclearSportsBookSession();\n\t\t\treturn of([\n\t\t\t\tresetData(),\n\t\t\t\tresetToken(),\n\t\t\t\tresetGameSession(),\n\t\t\t\tresetAutoSession(),\n\t\t\t\tloggedUser(false),\n\t\t\t]);\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/logout',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'logoutUser',\n\t\t\t\t\tdisableErrorHandler: true,\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tresetActiveCurrency();\n\t\t\t\t\tclearStatsLocalStorage();\n\t\t\t\t\tclearSportsBookSession();\n\t\t\t\t\treturn [\n\t\t\t\t\t\tresetData(),\n\t\t\t\t\t\tresetToken(),\n\t\t\t\t\t\tresetGameSession(),\n\t\t\t\t\t\tresetAutoSession(),\n\t\t\t\t\t\tloggedUser(false),\n\t\t\t\t\t];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\n// const resetUserDataOnCloseEpic = epic('resetUserDataOnCloseEpic', {\n// \tactions: ofType => ofType(APP_CLOSES),\n// \tcallback: ({store$}) => {\n// \t\tif (store$.value.user.isLogged) return of();\n// \t\treturn of(resetData());\n// \t}\n// });\n\nconst tokenEpic = epicOldState('tokenEpic', {\n\tactions: (ofType) => ofType(SET_TOKEN),\n\tcallback: ({ newState, oldState }) => {\n\t\tif (!tokenService.token.value) {\n\t\t\treturn [logoutUser(false)];\n\t\t}\n\t\tif (newState.user.token.value === oldState.user.token.value) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [getUserData({ enableLoader: true })];\n\t},\n});\n\nconst refreshUserDataEpic = epic('refreshUserDataEpic', {\n\tactions: (ofType) => ofType(SET_USER_ID),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.user.refreshUserDataInitialized) {\n\t\t\tof();\n\t\t}\n\t\treturn of(refreshUserData());\n\t},\n});\n\nconst updateSentryUser = epic('updateSentryUser', {\n\tactions: (ofType) => ofType(USER_LOGGED),\n\tcallback: ({ store$ }) => {\n\t\tsentryUpdateUser(store$.value);\n\t\treturn of();\n\t},\n});\n\nconst refreshUserIntervalDataEpic = epic('refreshUserIntervalDataEpic', {\n\tactions: (ofType) => ofType(REFRESH_USER_DATA),\n\tcallback: () => {\n\t\tif (!isFeatureAvailable(FEATURES_TYPE.REFRESH_USER_DATA)) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of([getUserData({ noError: true }), refreshUserData()]).pipe(\n\t\t\tdelay(config.refreshUserDataTimeout),\n\t\t);\n\t},\n});\n\nconst amIUniqueEpic = epic('amIUniqueEpic', {\n\tactions: (ofType) => ofType(CHECK_AM_I_UNIQUE),\n\tcallback: () => {\n\t\tconst request = getBcheck();\n\t\treturn from(request).pipe(\n\t\t\tmap((bcheck) => {\n\t\t\t\treturn [\n\t\t\t\t\tfetchApiAction({\n\t\t\t\t\t\turl: '/user/browser/check',\n\t\t\t\t\t\tparameters: {\n\t\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\t\tbody: bcheck,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\tloadingId: 'checkAmIUnique',\n\t\t\t\t\t\tdisableErrorHandler: true,\n\t\t\t\t\t}),\n\t\t\t\t];\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst withdrawBlockedEpic = epic('withdrawBlockedEpic', {\n\tactions: (ofType) =>\n\t\tofType(\n\t\t\tUSER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n\t\t\tUSER_HAS_EMAIL_TO_VERIFY,\n\t\t\tSET_EMAIL,\n\t\t\tACTIVATE_2FA,\n\t\t\tUNINSTALL_2FA,\n\t\t),\n\tcallback: ({ store$ }) => {\n\t\treturn of(userSetWithdrawBlocked(isWithdrawBlocked(store$.value)));\n\t},\n});\n\nconst bonusAlertEpic = epicOldState('bonusAlertEpic', {\n\tactions: (ofType) => ofType(SET_HAS_AVAILABLE_BONUS_CODE),\n\tcallback: ({ newState, oldState }) => {\n\t\tif (\n\t\t\tnewState.router.location.pathname !==\n\t\t\t\troutingService.to(ROUTING_ID.USER_VIP_BONUS_CODE) &&\n\t\t\tnewState.user.hasAvailableBonusCode !==\n\t\t\t\toldState.user.hasAvailableBonusCode &&\n\t\t\tnewState.user.hasAvailableBonusCode\n\t\t) {\n\t\t\treturn [bonusInfo()];\n\t\t}\n\t\treturn [];\n\t},\n});\n\nconst userEpic = combineEpics(\n\tgetUserDataEpic,\n\tlogoutUserEpic,\n\tloginUserEpic,\n\tregisterUserEpic,\n\ttokenEpic,\n\tmyBetsEpic,\n\tchangePasswordEpic,\n\tchangeEmailEpic,\n\tchangeNameEpic,\n\tresendVerificationEmailEpic,\n\tsendNewPasswordEpic,\n\tsetNewPasswordEpic,\n\trefreshUserDataEpic,\n\trefreshUserIntervalDataEpic,\n\tchangeCurrencyEpic,\n\tsessionEpic,\n\tamIUniqueEpic,\n\twithdrawBlockedEpic,\n\thandleLoginResponseEpic,\n\thandleRegisterResponseEpic,\n\tupdateSentryUser,\n\t// resetUserDataOnCloseEpic,\n\tbonusAlertEpic,\n);\n\nexport { userEpic };\n","export const isWithdrawBlocked = (state) => {\n\tif (!state.user.email || (state.user.email && state.user.hasEmailToVerify)) {\n\t\treturn true;\n\t}\n\n\tif (!state.twoFA.isActive) {\n\t\treturn true;\n\t}\n\n\tif (state.user.withdrawBlockedTimestamp) {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n","import { of } from 'rxjs';\nimport { combineEpics } from 'redux-observable';\nimport { isFunction } from '@common/methods/isFunction';\nimport { epic } from '../../modules/app/epicService';\nimport {\n\tclearConfirm,\n\tsetConfirmCallbackCancelDispatch,\n\tsetConfirmCallbackDispatch,\n} from './confirm.actions';\nimport { CANCEL_CONFIRM, DO_CONFIRM, SET_CONFIRM } from './confirm.constants';\n\nconst doEpic = epic('doEpic', {\n\tactions: (ofType) => ofType(DO_CONFIRM),\n\tcallback: ({ store$ }) => {\n\t\tconst data = store$.value.confirm.data;\n\n\t\tif (isFunction(store$.value.confirm.callback)) {\n\t\t\tstore$.value.confirm.callback(data);\n\t\t}\n\n\t\treturn !store$.value.confirm.data?.doNotClearConfirm && of(clearConfirm());\n\t},\n});\n\nconst cancelEpic = epic('cancelEpic', {\n\tactions: (ofType) => ofType(CANCEL_CONFIRM),\n\tcallback: ({ store$ }) => {\n\t\tconst data = store$.value.confirm.dataCancel;\n\t\tif (isFunction(store$.value.confirm.callbackCancel)) {\n\t\t\tstore$.value.confirm.callbackCancel(data);\n\t\t}\n\t\treturn of(clearConfirm());\n\t},\n});\n\nconst callbackActionEpic = epic('callbackActionEpic', {\n\tactions: (ofType) => ofType(SET_CONFIRM),\n\tcallback: ({ action }) => {\n\t\tconst result = [];\n\t\tif (action.payload.callbackAction) {\n\t\t\tresult.push(setConfirmCallbackDispatch(action.payload.callbackAction));\n\t\t}\n\t\tif (action.payload.callbackCancelAction) {\n\t\t\tresult.push(\n\t\t\t\tsetConfirmCallbackCancelDispatch(action.payload.callbackCancelAction),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst confirmEpic = combineEpics(doEpic, cancelEpic, callbackActionEpic);\n\nexport { confirmEpic };\n","import { combineEpics } from 'redux-observable';\nimport { delay } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport transactionService, {\n\tblockGetTransaction,\n} from '../../../../modules/transactions/transactionsService';\nimport { config, FEATURES_TYPE } from '../../config';\nimport { getMyBets } from '../user/user.actions';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport { showAlert } from '../alerts/alerts.actions';\nimport websocketService from '../../modules/app/websocketService';\nimport {\n\tbindSocketPrivateChannelEvent,\n\tunbindSocketChannel,\n} from '../websocket/websocket.actions';\nimport { depositEvent, withdrawEvent } from '../gtm/gtm.actions';\nimport { APP_CLOSES, TOGGLE_MAINTENANCE_MODE } from '../app/app.constants';\nimport { trans } from '../../modules/translation/translate';\nimport { epic } from '../../modules/app/epicService';\nimport { isFeatureAvailable } from '../../modules/app/featureService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport {\n\tWEBSOCKET_CHANNELS,\n\tWEBSOCKET_EVENTS,\n} from '../websocket/websocket.constants';\nimport { bindSocketChannelEventThunk } from '../websocket/thunks/bindSocketChannelEvent.thunk';\nimport { updateUrlQuery } from '../app/app.actions';\nimport {\n\tclearTransactions,\n\tgetAllBets,\n\tgetHighRolls,\n\thandleUpdateInterval,\n\tnewBet,\n\tnewDeposit,\n\tnewDepositDetected,\n\tnewHighRoll,\n\tpendingTransactions,\n\tresetTransactions,\n\tsetAllBets,\n\tsetHighRolls,\n\tsetNewMyBets,\n\ttransactionsActive,\n\ttransactionsFulfilled,\n\ttransactionsSet,\n\ttransactionsUpdate,\n\ttransactionsUpdating,\n\twithdrawConfirmed,\n} from './transactions.actions';\nimport {\n\tCLEAR_TRANSACTIONS,\n\tGET_ALL_BETS,\n\tGET_HIGH_ROLLS,\n\tGET_TRANSACTIONS,\n\tHANDLE_UPDATE_INTERVAL,\n\tHANDLE_WITHDRAWS,\n\tNEW_BET,\n\tNEW_DEPOSIT,\n\tNEW_DEPOSIT_DETECTED,\n\tNEW_HIGH_ROLL,\n\tNEW_MY_BET,\n\tRESET_TRANSACTIONS,\n\tSET_NEW_MY_BETS,\n\tTRANSACTIONS_SET,\n\tTRANSACTIONS_UPDATE,\n\tWITHDRAW_CONFIRMED,\n} from './transactions.constants';\nimport { createTableQueryPropertyKeyPage } from './methods/createTableQueryPropertyKey';\nimport { getTransactionsThunk } from './thunks/getTransactions.thunk';\n\nconst newDepositEpic = epic('newDepositEpic', {\n\tactions: (ofType) => ofType(NEW_DEPOSIT),\n\tcallback: ({ action }) => {\n\t\tlet result = [];\n\t\tconst data = action.payload;\n\t\tif (data.currency && data.amount) {\n\t\t\tconst currency = data.currency;\n\t\t\tresult.push(\n\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\tid: TABLE_ID.depositHistory,\n\t\t\t\t\trefresh: true,\n\t\t\t\t}),\n\t\t\t\tshowAlert(\n\t\t\t\t\t'success',\n\t\t\t\t\ttrans({\n\t\t\t\t\t\tlabel: '{{amount}} {{currency}} has been credited to your account',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tamount: data.amount,\n\t\t\t\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst newDepositDetectedEpic = epic('newDepositDetectedEpic', {\n\tactions: (ofType) => ofType(NEW_DEPOSIT_DETECTED),\n\tcallback: ({ action }) => {\n\t\tlet result = [];\n\t\tconst data = action.payload;\n\t\tif (data.currency && data.amount) {\n\t\t\tconst currency = data.currency;\n\t\t\tresult.push(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'success',\n\t\t\t\t\ttrans({\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t'Deposit of {{amount}} {{currency}} has been detected, waiting for the transaction to be confirmed',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tamount: data.amount,\n\t\t\t\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst depositEpic = epic('depositEpic', {\n\tactions: (ofType) => ofType(TRANSACTIONS_SET),\n\tcallback: ({ action }) => {\n\t\tif (action.id !== TABLE_ID.depositHistory) {\n\t\t\treturn of();\n\t\t}\n\t\tconst result = [];\n\t\taction.payload\n\t\t\t.filter((el) => el.new)\n\t\t\t.forEach((el) =>\n\t\t\t\tresult.push(\n\t\t\t\t\tdepositEvent({\n\t\t\t\t\t\t...el,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\treturn of(result);\n\t},\n});\n\nconst getAllBetsEpic = epic('getAllBetsEpic', {\n\tactions: (ofType) => ofType(GET_ALL_BETS),\n\tcallback: ({ action }) => {\n\t\tconst page = action.page || 1;\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/bet/last?page=${page}`,\n\t\t\t\t\tloaderId: 'GetTransactions',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data && data.data) {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tsetAllBets(data.data),\n\t\t\t\t\t\t\ttransactionsUpdating(TABLE_ID.allBets, true),\n\t\t\t\t\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t\t\t\t\tWEBSOCKET_CHANNELS.ALL_BETS,\n\t\t\t\t\t\t\t\tWEBSOCKET_EVENTS.BET_RESULT,\n\t\t\t\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tpendingTransactions(\n\t\t\t\t\t\t\t\t\t\t\tTABLE_ID.allBets,\n\t\t\t\t\t\t\t\t\t\t\twebsocketService.getMessage(data),\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\thandleUpdateInterval(TABLE_ID.allBets),\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst getHighRollsEpic = epic('getHighRollsEpic', {\n\tactions: (ofType) => ofType(GET_HIGH_ROLLS),\n\tcallback: ({ action }) => {\n\t\tconst page = action.page || 1;\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/bet/last/high?page=${page}`,\n\t\t\t\t\tloaderId: 'highGetTransactions',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data?.data?.length) {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tsetHighRolls(data.data),\n\t\t\t\t\t\t\ttransactionsUpdating(TABLE_ID.highRolls, true),\n\t\t\t\t\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t\t\t\t\tWEBSOCKET_CHANNELS.HIGH_ROLLS,\n\t\t\t\t\t\t\t\tWEBSOCKET_EVENTS.BET_RESULT,\n\t\t\t\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\t\t\t\tdispatch(newHighRoll(websocketService.getMessage(data))),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst fulfillEpic = epic('fulfillEpic', {\n\tactions: (ofType) =>\n\t\tofType(\n\t\t\tSET_NEW_MY_BETS,\n\t\t\tNEW_BET,\n\t\t\tNEW_MY_BET,\n\t\t\tNEW_HIGH_ROLL,\n\t\t\tTRANSACTIONS_SET,\n\t\t\tTRANSACTIONS_UPDATE,\n\t\t),\n\tcallback: ({ action, store$ }) => {\n\t\tif (action.reset) {\n\t\t\treturn of();\n\t\t}\n\t\tconst id = action.id || transactionService.getIdFromActionType(action.type);\n\t\tconst list = action.payload;\n\t\tconst result = [];\n\t\tif (\n\t\t\taction.type === NEW_MY_BET &&\n\t\t\taction.limit &&\n\t\t\tstore$.value.transactions.fulfilled[id]\n\t\t) {\n\t\t\tresult.push(transactionsFulfilled(id, false));\n\t\t} else if (\n\t\t\t(!list.length || list.length < config.transactionsPaginationLength) &&\n\t\t\t!store$.value.transactions.fulfilled[id]\n\t\t) {\n\t\t\tresult.push(transactionsFulfilled(id, true));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst withdrawEpic = epic('withdrawEpic', {\n\tactions: (ofType) => ofType(TRANSACTIONS_UPDATE),\n\tcallback: ({ action }) => {\n\t\tif (action.id !== TABLE_ID.withdrawHistory) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\twithdrawEvent({\n\t\t\t\t...action.payload,\n\t\t\t\tnew: true,\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst resetEpic = epic('resetEpic', {\n\tactions: (ofType) => ofType(RESET_TRANSACTIONS),\n\tcallback: ({ action, store$ }) => {\n\t\tswitch (action.id) {\n\t\t\tcase TABLE_ID.allBets: {\n\t\t\t\treturn of(setAllBets([], true));\n\t\t\t}\n\t\t\tcase TABLE_ID.highRolls: {\n\t\t\t\treturn of(setHighRolls([], true));\n\t\t\t}\n\t\t\tcase TABLE_ID.myBets: {\n\t\t\t\ttransactionService.saveMyBetsToMemory(\n\t\t\t\t\tstore$.value.transactions[TABLE_ID.myBets],\n\t\t\t\t\tstore$.value.user.id,\n\t\t\t\t);\n\t\t\t\treturn of(setNewMyBets([], true));\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tif (\n\t\t\t\t\tstore$.value.transactions[action.id] &&\n\t\t\t\t\tstore$.value.transactions[action.id].length\n\t\t\t\t) {\n\t\t\t\t\treturn of(transactionsSet(action.id, [], true));\n\t\t\t\t}\n\t\t\t\treturn of();\n\t\t\t}\n\t\t}\n\t},\n});\n\nconst clearEpic = epic('clearEpic', {\n\tactions: (ofType) => ofType(CLEAR_TRANSACTIONS),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\tstore$.value.transactions.active[action.id] ||\n\t\t\t!store$.value.transactions.update[action.id]\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\t// TODO: delete below line when myBets from backend will be always updated\n\t\tif (action.id === WEBSOCKET_EVENTS.MY_BETS) {\n\t\t\treturn of();\n\t\t}\n\t\t// unbindSocketPrivateChannelEvent(action.id)\n\t\treturn of([\n\t\t\tupdateUrlQuery({\n\t\t\t\t[createTableQueryPropertyKeyPage(action.id)]: undefined,\n\t\t\t}),\n\t\t\tunbindSocketChannel(action.id),\n\t\t\tresetTransactions(action.id),\n\t\t\ttransactionsFulfilled(action.id, false),\n\t\t]);\n\t},\n});\n\nconst handleEpic = epic('handleEpic', {\n\tactions: (ofType) => ofType(GET_TRANSACTIONS),\n\tcallback: ({ action, store$ }) => {\n\t\tif (blockGetTransaction(action, store$.value)) {\n\t\t\treturn of();\n\t\t}\n\n\t\tconst result = [];\n\n\t\tif (action.id === TABLE_ID.myBets) {\n\t\t\tresult.push(getMyBets(action.page, true));\n\t\t}\n\t\tif (action.id === TABLE_ID.allBets) {\n\t\t\tresult.push(getAllBets(action.page));\n\t\t}\n\t\tif (action.id === TABLE_ID.highRolls) {\n\t\t\tresult.push(getHighRolls(action.page));\n\t\t}\n\t\tif (action.id === TABLE_ID.depositHistory && !action.disable) {\n\t\t\tresult.push(\n\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\tWEBSOCKET_EVENTS.WALLET_DEPOSIT_ACCOUNTED,\n\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tnewDeposit({\n\t\t\t\t\t\t\t\t...websocketService.getMessage(data),\n\t\t\t\t\t\t\t\tunread: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\tWEBSOCKET_EVENTS.WALLET_DEPOSIT_DETECTED,\n\t\t\t\t\t(data, dispatch) =>\n\t\t\t\t\t\tdispatch(newDepositDetected(websocketService.getMessage(data))),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst clearDelayEpic = epic('clearDelayEpic', {\n\tactions: (ofType) => ofType(GET_TRANSACTIONS),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\t!action.page &&\n\t\t\t!action.refresh &&\n\t\t\t((store$.value.transactions.fulfilled[action.id] && !action.disable) ||\n\t\t\t\t!action.disable === store$.value.transactions.update[action.id])\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\n\t\tif (\n\t\t\t[\n\t\t\t\tTABLE_ID.myBets,\n\t\t\t\tTABLE_ID.allBets,\n\t\t\t\tTABLE_ID.highRolls,\n\t\t\t\tTABLE_ID.sessionHistory,\n\t\t\t\tTABLE_ID.vaultHistory,\n\t\t\t\tTABLE_ID.affiliateCampaigns,\n\t\t\t\tTABLE_ID.affiliateCashoutHistory,\n\t\t\t].indexOf(action.id) > -1 &&\n\t\t\taction.disable\n\t\t) {\n\t\t\treturn of(clearTransactions(action.id)).pipe(\n\t\t\t\tdelay(config.transactionsClearTimeout),\n\t\t\t);\n\t\t}\n\n\t\treturn of();\n\t},\n});\n\nconst pendingEpic = epic('pendingEpic', {\n\tactions: (ofType) => ofType(HANDLE_UPDATE_INTERVAL),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\t!store$.value.transactions.update[action.id] ||\n\t\t\t!isFeatureAvailable(FEATURES_TYPE.PENDING_TRANSACTIONS)\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(handleUpdateInterval(action.id)).pipe(\n\t\t\tdelay(config.delayTransactionsUpdate),\n\t\t);\n\t},\n});\n\nconst pendingDataEpic = epic('pendingDataEpic', {\n\tactions: (ofType) => ofType(HANDLE_UPDATE_INTERVAL),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!store$.value.transactions.update[action.id]) {\n\t\t\treturn of();\n\t\t}\n\n\t\tconst bet = transactionService.getBetFromPending(\n\t\t\tstore$.value.transactions.pending[action.id],\n\t\t);\n\n\t\tif (!bet) {\n\t\t\treturn of();\n\t\t}\n\n\t\tif (action.id === TABLE_ID.allBets) {\n\t\t\treturn of(newBet(bet));\n\t\t}\n\n\t\treturn of();\n\t},\n});\n\nconst activeEpic = epic('activeEpic', {\n\tactions: (ofType) => ofType(GET_TRANSACTIONS),\n\tcallback: ({ action }) => {\n\t\treturn of(transactionsActive(action.id, !action.disable));\n\t},\n});\n\nconst handleWithdrawsEpic = epic('handleWithdrawsEpic', {\n\tactions: (ofType) => ofType(HANDLE_WITHDRAWS),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\tWEBSOCKET_EVENTS.WALLET_WITHDRAW_ACCEPTED,\n\t\t\t\t(data, dispatch) =>\n\t\t\t\t\tdispatch(withdrawConfirmed(websocketService.getMessage(data))),\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst handleWithdrawConfirmedEpic = epic('handleWithdrawConfirmedEpic', {\n\tactions: (ofType) => ofType(WITHDRAW_CONFIRMED),\n\tcallback: ({ action, store$ }) => {\n\t\tconst list = store$.value.transactions[TABLE_ID.withdrawHistory];\n\t\tconst result = [\n\t\t\tshowAlert(\n\t\t\t\t'success',\n\t\t\t\ttrans({\n\t\t\t\t\tlabel: 'Withdraw of {{amount}} {{currency}} has been processed',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\tcurrency: action.payload.currency,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t];\n\t\tif (!list.length) {\n\t\t\treturn of(result);\n\t\t}\n\t\treturn of([\n\t\t\t...result,\n\t\t\ttransactionsUpdate(\n\t\t\t\tTABLE_ID.withdrawHistory,\n\t\t\t\tlist.map((el) => {\n\t\t\t\t\tif (el.uuid !== action.payload.uuid) {\n\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...el,\n\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t),\n\t\t]);\n\t},\n});\n\nconst appClosesEpic = epic('appClosesEpic', {\n\tactions: (ofType) => ofType(APP_CLOSES),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.transactions[TABLE_ID.myBets].length) {\n\t\t\ttransactionService.saveMyBetsToMemory(\n\t\t\t\tstore$.value.transactions[TABLE_ID.myBets],\n\t\t\t\tstore$.value.user.id,\n\t\t\t);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst disabledMaintenanceEpic = epic('disabledMaintenanceEpic', {\n\tactions: (ofType) => ofType(TOGGLE_MAINTENANCE_MODE),\n\tcallback: ({ action, store$ }) => {\n\t\tconst result = [];\n\t\ttransactionService.saveMyBetsToMemory();\n\t\tif (store$.value.transactions[TABLE_ID.myBets].length) {\n\t\t\tresult.push(transactionsSet(TABLE_ID.myBets, [], true));\n\t\t}\n\t\tif (!action.payload && store$.value.transactions.update[TABLE_ID.myBets]) {\n\t\t\tresult.push(getMyBets(1, true));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst clearMyBetsFromMemory = epic('clearMyBetsFromMemory', {\n\tactions: (ofType) => ofType(RESET_USER_DATA),\n\tcallback: () => {\n\t\ttransactionService.saveMyBetsToMemory();\n\t\treturn of();\n\t},\n});\n\nconst transactionsEpic = combineEpics(\n\tclearMyBetsFromMemory,\n\tdisabledMaintenanceEpic,\n\tclearDelayEpic,\n\tnewDepositEpic,\n\tappClosesEpic,\n\tdepositEpic,\n\tresetEpic,\n\tfulfillEpic,\n\twithdrawEpic,\n\tclearEpic,\n\tgetAllBetsEpic,\n\tgetHighRollsEpic,\n\tactiveEpic,\n\tnewDepositDetectedEpic,\n\tpendingEpic,\n\tpendingDataEpic,\n\thandleWithdrawsEpic,\n\thandleWithdrawConfirmedEpic,\n\thandleEpic,\n);\n\nexport { transactionsEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { closeModal, openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { isFunction } from '@common/methods/isFunction';\nimport { loaderThunk } from '@legacyApp/client/store/loader/loader.actions';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport {\n\tactivate2fa,\n\tsaveQrcode,\n\tsaveSecret,\n\tuninstall2fa,\n} from './twoFactorAuthentication.actions';\nimport {\n\tCODE_REQUIRED,\n\tDISABLE_2FA,\n\tENABLE_2FA,\n\tINSTALL_2FA,\n} from './twoFactorAuthentication.constants';\n\nconst codeRequiredEpic = epic('codeRequiredEpic', {\n\tactions: (ofType) => ofType(CODE_REQUIRED),\n\tcallback: ({ action, store$ }) => {\n\t\tif (store$.value.twoFA.isActive) {\n\t\t\treturn of(\n\t\t\t\topenModal(MODAL_ID.REQUIRED_2FA, undefined, {\n\t\t\t\t\turl: action.url,\n\t\t\t\t\tparameters: action.parameters,\n\t\t\t\t\tmethod: action.method,\n\t\t\t\t\tresolve: action.resolve,\n\t\t\t\t\tloaderId: action.loaderId,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tif (isFunction(action.resolve)) {\n\t\t\taction.resolve(false);\n\t\t}\n\t\treturn of([\n\t\t\topenModal(MODAL_ID.REMIND_2FA, 'fetchLocal', {\n\t\t\t\ttext: {\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'Due to security of your funds, this feature is not available with 2FA disabled on your account. Please, enable 2FA to continue.',\n\t\t\t\t},\n\t\t\t}),\n\t\t\tloaderThunk(false, action.loaderId),\n\t\t]);\n\t},\n});\n\nconst installEpic = epic('installEpic', {\n\tactions: (ofType) => ofType(INSTALL_2FA),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/2fa/install',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'install2fa',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data.qrcode && data.secret) {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\topenModal(MODAL_ID.INSTALL_2FA),\n\t\t\t\t\t\t\tsaveQrcode(data.qrcode),\n\t\t\t\t\t\t\tsaveSecret(data.secret),\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst enableEpic = epic('enableEpic', {\n\tactions: (ofType) => ofType(ENABLE_2FA),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/2fa/enable',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'enable2fa',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tlet result = [];\n\t\t\t\t\tif (data.message.toLowerCase().indexOf('success') > -1) {\n\t\t\t\t\t\tresult.push(closeModal());\n\t\t\t\t\t\tresult.push(activate2fa());\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst disableEpic = epic('disableEpic', {\n\tactions: (ofType) => ofType(DISABLE_2FA),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/2fa/disable',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'disable2fa',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tlet result = [];\n\t\t\t\t\tif (data.message.toLowerCase().indexOf('success') > -1) {\n\t\t\t\t\t\tresult.push(closeModal());\n\t\t\t\t\t\tresult.push(uninstall2fa());\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst twoFactorAuthenticationEpic = combineEpics(\n\tinstallEpic,\n\tenableEpic,\n\tdisableEpic,\n\tcodeRequiredEpic,\n);\n\nexport { twoFactorAuthenticationEpic };\n","import { jsonToString } from '@common/methods/jsonToString';\n\nclass statsClass {\n\tconstructor() {\n\t\tthis.maxValues = ['betsCounter', 'wonLast24h', 'jackpot'];\n\t}\n\n\tcanUpdate(data, key, timestamp, currState) {\n\t\tcurrState = currState.stats;\n\t\tconst isTimestampNotValid =\n\t\t\tcurrState.timestamp[key] && timestamp <= currState.timestamp[key];\n\t\tlet isDataNotValid =\n\t\t\t!data || jsonToString(currState[key]) === jsonToString(data);\n\t\tif (\n\t\t\t!isDataNotValid &&\n\t\t\tthis.maxValues.indexOf(key) > -1 &&\n\t\t\tcurrState[key] >= data\n\t\t) {\n\t\t\tisDataNotValid = true;\n\t\t}\n\t\treturn !(isTimestampNotValid || isDataNotValid);\n\t}\n}\n\nconst statsService = new statsClass();\n\nexport default statsService;\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { HIDDEN_USER } from '@common/constants/user/HIDDEN_USER';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport statsService from '../../modules/app/statsService';\nimport { NEW_HIGH_ROLL } from '../transactions/transactions.constants';\nimport { config } from '../../config';\nimport websocketService from '../../modules/app/websocketService';\nimport { APP_INITIALIZED } from '../app/app.constants';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport {\n\tWEBSOCKET_CHANNELS,\n\tWEBSOCKET_EVENTS,\n} from '../websocket/websocket.constants';\nimport { bindSocketChannelEventThunk } from '../websocket/thunks/bindSocketChannelEvent.thunk';\nimport {\n\tGET_STATS_DATA,\n\tGLOBAL_STATS_GET_LAST_WEEK,\n\tHANDLE_STATS_UPDATE,\n\tUPDATE_STATS_DATA,\n} from './globalStatistics.constants';\nimport {\n\tglobalStatsSetLastWeekRegistrations,\n\tglobalStatsSetLastWeekWagered,\n\thandleStatsUpdate,\n\tsetBetsTotal,\n\tsetLastHighWin,\n\tsetOnlineUsers,\n\tsetPrice,\n\tsetStatsTimestamp,\n\tsetWonLast24h,\n\tupdateStatsData,\n} from './globalStatistics.actions';\n\nconst getStatsDataEpic = epic('getStatsDataEpic', {\n\tactions: (ofType) => ofType(GET_STATS_DATA, APP_INITIALIZED),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/site/stats',\n\t\t\t\t\tloaderId: 'getGlobalStats',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tlet result = [handleStatsUpdate()];\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\tresult.push(updateStatsData(data));\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst getWeekStatsDataEpic = epic('getWeekStatsDataEpic', {\n\tactions: (ofType) => ofType(GLOBAL_STATS_GET_LAST_WEEK),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/site/stats/week',\n\t\t\t\t\tloaderId: 'getGlobalStatsLastWeek',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tif (data.registrations) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tglobalStatsSetLastWeekRegistrations(data.registrations),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (data.waggered) {\n\t\t\t\t\t\tresult.push(globalStatsSetLastWeekWagered(data.waggered));\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst handleUpdateEpic = epic('handleUpdateEpic', {\n\tactions: (ofType) => ofType(HANDLE_STATS_UPDATE),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tbindSocketChannelEventThunk(\n\t\t\t\tWEBSOCKET_CHANNELS.STATS,\n\t\t\t\tWEBSOCKET_EVENTS.STATS,\n\t\t\t\t(data, dispatch) =>\n\t\t\t\t\tdispatch(updateStatsData(websocketService.getMessage(data))),\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst updateStatsDataEpic = epic('updateStatsDataEpic', {\n\tactions: (ofType) => ofType(UPDATE_STATS_DATA),\n\tcallback: ({ action, store$ }) => {\n\t\tconst data = action.payload;\n\t\tconst state = store$.value;\n\t\tlet result = [];\n\t\tif (\n\t\t\tstatsService.canUpdate(\n\t\t\t\tdata.betsTotal,\n\t\t\t\t'betsCounter',\n\t\t\t\tdata.updatedTimestamp,\n\t\t\t\tstate,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(setStatsTimestamp(data.updatedTimestamp, 'betsCounter'));\n\t\t\tresult.push(setBetsTotal(data.betsTotal));\n\t\t}\n\t\tif (\n\t\t\tstatsService.canUpdate(\n\t\t\t\tdata.coinsCurrentPrice,\n\t\t\t\t'price',\n\t\t\t\tdata.updatedTimestamp,\n\t\t\t\tstate,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(setStatsTimestamp(data.updatedTimestamp, 'price'));\n\t\t\tresult.push(setPrice(data.coinsCurrentPrice));\n\t\t}\n\t\tif (\n\t\t\tstatsService.canUpdate(\n\t\t\t\tdata.highestWonLastDay,\n\t\t\t\t'wonLast24h',\n\t\t\t\tdata.updatedTimestamp,\n\t\t\t\tstate,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(setStatsTimestamp(data.updatedTimestamp, 'wonLast24h'));\n\t\t\tresult.push(setWonLast24h(data.highestWonLastDay));\n\t\t}\n\t\t// if (statsService.canUpdate(data.jackpot, 'jackpot', data.updatedTimestamp, state)) {\n\t\t// result.push(setStatsTimestamp(data.updatedTimestamp, 'jackpot'));\n\t\t// result.push(setJackpot(data.jackpot));\n\t\t// }\n\t\tif (\n\t\t\tstatsService.canUpdate(\n\t\t\t\tdata.onlineUsers,\n\t\t\t\t'online',\n\t\t\t\tdata.updatedTimestamp,\n\t\t\t\tstate,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(setStatsTimestamp(data.updatedTimestamp, 'online'));\n\t\t\tresult.push(setOnlineUsers(data.onlineUsers));\n\t\t}\n\t\tif (\n\t\t\tstatsService.canUpdate(\n\t\t\t\tdata.lastHighWin,\n\t\t\t\t'lastHighWin',\n\t\t\t\tdata.updatedTimestamp,\n\t\t\t\tstate,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(setStatsTimestamp(data.updatedTimestamp, 'lastHighWin'));\n\t\t\tresult.push(setLastHighWin(data.lastHighWin));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst newHighRollerEpic = epic('newHighRollerEpic', {\n\tactions: (ofType) => ofType(NEW_HIGH_ROLL),\n\tcallback: ({ action }) => {\n\t\tconst data = action.payload;\n\t\tif (data.length !== undefined) {\n\t\t\treturn of();\n\t\t}\n\t\tconst result = [];\n\t\tif (data.state === 'win' && data.user.login !== HIDDEN_USER) {\n\t\t\tconst stats = {\n\t\t\t\tlastHighWin: {\n\t\t\t\t\tuser: data.user.login,\n\t\t\t\t\tvalue: roundNumber(data.profit, config.decimals.bet),\n\t\t\t\t\tbetData: data,\n\t\t\t\t\tcurrency: data.currency,\n\t\t\t\t},\n\t\t\t\tupdatedTimestamp: data.published_at,\n\t\t\t};\n\t\t\tresult.push(updateStatsData(stats));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst globalStatisticsEpic = combineEpics(\n\tgetStatsDataEpic,\n\tupdateStatsDataEpic,\n\tnewHighRollerEpic,\n\thandleUpdateEpic,\n\tgetWeekStatsDataEpic,\n);\n\nexport { globalStatisticsEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport { epic } from '../../modules/app/epicService';\nimport {\n\tresetCampaignForm,\n\tresetPasswordForm,\n\tresetUsernameForm,\n\tresetVerificationForm,\n} from './forms.actions';\nimport { RESET_FORMS } from './forms.constants';\n\nconst resetEpic = epic('test', {\n\tactions: (ofType) => ofType(RESET_FORMS, RESET_USER_DATA),\n\tcallback: () => {\n\t\treturn of([\n\t\t\tresetPasswordForm(),\n\t\t\tresetUsernameForm(),\n\t\t\tresetVerificationForm(),\n\t\t\tresetCampaignForm(),\n\t\t]);\n\t},\n});\n\nconst formsEpic = combineEpics(resetEpic);\n\nexport { formsEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { isFunction } from '@common/methods/isFunction';\nimport {\n\thasEmailToVerify,\n\thasKycToVerify,\n\thasPasswordToSet,\n} from '../../modules/app/notificationService';\nimport {\n\tRESET_USER_DATA,\n\tSET_HAS_AVAILABLE_BONUS_CODE,\n\tUSER_HAS_EMAIL_TO_VERIFY,\n\tUSER_HAS_KYC_TO_VERIFY,\n\tUSER_HAS_PASSWORD_TO_SET,\n} from '../user/user.constants';\nimport { epic, epicOldState } from '../../modules/app/epicService';\nimport {\n\tNOTIFICATION_DISABLE,\n\tNOTIFICATION_ENABLE,\n\tNOTIFICATION_ID,\n} from './notification.constants';\nimport {\n\tnotificationDisable,\n\tnotificationEnable,\n\tsetIsAnyNotification,\n} from './notification.actions';\n\nconst setPasswordNotificationEpic = epic('setPasswordNotificationEpic', {\n\tactions: (ofType) => ofType(USER_HAS_PASSWORD_TO_SET, RESET_USER_DATA),\n\tcallback: ({ store$ }) => {\n\t\tconst isEnabled = hasPasswordToSet(store$.value);\n\t\treturn of([\n\t\t\tisEnabled\n\t\t\t\t? notificationEnable(NOTIFICATION_ID.HAS_PASSWORD_TO_SET)\n\t\t\t\t: notificationDisable(NOTIFICATION_ID.HAS_PASSWORD_TO_SET),\n\t\t]);\n\t},\n});\n\nconst emailVerifyNotificationEpic = epic('emailVerifyNotificationEpic', {\n\tactions: (ofType) => ofType(USER_HAS_EMAIL_TO_VERIFY, RESET_USER_DATA),\n\tcallback: ({ store$ }) => {\n\t\tconst isEnabled = hasEmailToVerify(store$.value);\n\t\treturn of([\n\t\t\tisEnabled\n\t\t\t\t? notificationEnable(NOTIFICATION_ID.HAS_EMAIL_TO_VERIFY)\n\t\t\t\t: notificationDisable(NOTIFICATION_ID.HAS_EMAIL_TO_VERIFY),\n\t\t]);\n\t},\n});\n\nconst kycVerifyNotificationEpic = epic('kycVerifyNotificationEpic', {\n\tactions: (ofType) => ofType(USER_HAS_KYC_TO_VERIFY, RESET_USER_DATA),\n\tcallback: ({ store$ }) => {\n\t\tconst isEnabled = hasKycToVerify(store$.value);\n\t\treturn of([\n\t\t\tisEnabled\n\t\t\t\t? notificationEnable(NOTIFICATION_ID.HAS_KYC_TO_VERIFY)\n\t\t\t\t: notificationDisable(NOTIFICATION_ID.HAS_KYC_TO_VERIFY),\n\t\t]);\n\t},\n});\n\nconst availableBonusCodeNotificationEpic = epic(\n\t'availableBonusCodeNotificationEpic',\n\t{\n\t\tactions: (ofType) => ofType(SET_HAS_AVAILABLE_BONUS_CODE, RESET_USER_DATA),\n\t\tcallback: ({ store$ }) => {\n\t\t\tconst isEnabled = store$.value.user.hasAvailableBonusCode;\n\t\t\treturn of([\n\t\t\t\tisEnabled\n\t\t\t\t\t? notificationEnable(NOTIFICATION_ID.HAS_BONUS_CODE)\n\t\t\t\t\t: notificationDisable(NOTIFICATION_ID.HAS_BONUS_CODE),\n\t\t\t]);\n\t\t},\n\t},\n);\n\nconst isAnyEpic = epicOldState('isAnyEpic', {\n\tactions: (ofType) => ofType(NOTIFICATION_ENABLE, NOTIFICATION_DISABLE),\n\tcallback: ({ action, oldState, newState }) => {\n\t\tconst isEnabled = action.type === NOTIFICATION_ENABLE;\n\t\tconst result = [];\n\t\tif (\n\t\t\toldState.notification.data[action.id] !== isEnabled &&\n\t\t\tisFunction(action.onChangeCallback)\n\t\t) {\n\t\t\taction.onChangeCallback();\n\t\t}\n\t\tif (newState.notification.isAny !== isEnabled) {\n\t\t\tconst bool = Object.keys(newState.notification.data).some((el) => {\n\t\t\t\tif (el === action.id) {\n\t\t\t\t\treturn isEnabled;\n\t\t\t\t}\n\t\t\t\treturn newState.notification.data[el];\n\t\t\t});\n\t\t\tresult.push(setIsAnyNotification(bool));\n\t\t}\n\t\treturn result;\n\t},\n});\n\nconst notificationEpic = combineEpics(\n\temailVerifyNotificationEpic,\n\tsetPasswordNotificationEpic,\n\tavailableBonusCodeNotificationEpic,\n\tisAnyEpic,\n\tkycVerifyNotificationEpic,\n);\n\nexport { notificationEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { updateBalance } from '@modules/balance/store/balance.actions';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { resetCampaignForm } from '../forms/forms.actions';\nimport { config } from '../../config';\nimport { appGoTo } from '../app/app.actions';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { getTransactionsThunk } from '../transactions/thunks/getTransactions.thunk';\nimport {\n\tSUBMIT_CAMPAIGN,\n\tWITHDRAW_AVAILABLE_COMMISSIONS,\n} from './affiliate.constants';\n\nconst createCampaignEpic = epic('createCampaignEpic', {\n\tactions: (ofType) => ofType(SUBMIT_CAMPAIGN),\n\tcallback: ({ store$ }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/affiliate/create-campaign',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t...store$.value.forms.campaign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloadingId: 'createCampaign',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data.name) {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tresetCampaignForm(),\n\t\t\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\t\t\tid: TABLE_ID.affiliateCampaigns,\n\t\t\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\t\t\tid: TABLE_ID.affiliateAnalytics,\n\t\t\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\t\tlabel: 'Campaign {{name}} created',\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tappGoTo(`${ROUTING_ID.USER_AFFILIATE}?tab=campaigns`),\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst withdrawEpic = epic('withdrawEpic', {\n\tactions: (ofType) => ofType(WITHDRAW_AVAILABLE_COMMISSIONS),\n\tcallback: ({ store$ }) => {\n\t\tif (\n\t\t\t!store$.value.transactions[TABLE_ID.affiliateFunds].filter((el) =>\n\t\t\t\tparseFloat(parseFloat(el.available).toFixed(config.decimals.bet)),\n\t\t\t).length\n\t\t) {\n\t\t\treturn of(showAlert('error', 'No available commission funds to cashout'));\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/affiliate/withdraw',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'withdrawAvailableCommissions',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\t\t\tid: TABLE_ID.affiliateFunds,\n\t\t\t\t\t\t\trefresh: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(data.balance\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\tupdateBalance(\n\t\t\t\t\t\t\t\t\t\tdata.userBalances,\n\t\t\t\t\t\t\t\t\t\t'withdrawAvailableCommissions',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []),\n\t\t\t\t\t];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst affiliateEpic = combineEpics(createCampaignEpic, withdrawEpic);\n\nexport { affiliateEpic };\n","export const SET_FAUCET_REMAINING = 'SET_FAUCET_REMAINING';\nexport const SET_FAUCET_DELAY_UNTIL = 'SET_FAUCET_DELAY_UNTIL';\n\nexport const CLAIM_FAUCET = 'CLAIM_FAUCET';\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { faucetEvent } from '../gtm/gtm.actions';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { setFaucetDelayUntil, setFaucetRemaining } from './faucet.actions';\nimport { CLAIM_FAUCET } from './faucet.constants';\n\nconst claimEpic = epic('claimEpic', {\n\tactions: (ofType) => ofType(CLAIM_FAUCET),\n\tcallback: ({ action, store$ }) => {\n\t\tconst state = store$.value;\n\t\tconst faucetError = action.error;\n\n\t\tif (faucetError) {\n\t\t\treturn of([showAlert('error', faucetError)]);\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/faucet/claim',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tcurrency: state.user.activeCurrency,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'claimFaucet',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tif (data.amount) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tfaucetEvent({\n\t\t\t\t\t\t\t\tcurrency: data.currency,\n\t\t\t\t\t\t\t\tamount: data.amount,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\t\tlabel: 'Faucet claimed {{amount}} {{currency}}!',\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tamount: data.amount,\n\t\t\t\t\t\t\t\t\t\tcurrency: data.currency.toUpperCase(),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tcloseModal(),\n\t\t\t\t\t\t\tsetFaucetDelayUntil(data.delayUntil * 1000),\n\t\t\t\t\t\t\tsetFaucetRemaining(data.faucetRemaining),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst faucetEpic = combineEpics(claimEpic);\n\nexport { faucetEpic };\n","import { getTimestamp } from '../../modules/app/timeService';\nimport { checkIsNoBalance } from '../../modules/app/balanceService';\nimport {\n\tCLAIM_FAUCET,\n\tSET_FAUCET_DELAY_UNTIL,\n\tSET_FAUCET_REMAINING,\n} from './faucet.constants';\n\nconst setFaucetRemaining = (payload) => {\n\treturn {\n\t\ttype: SET_FAUCET_REMAINING,\n\t\tpayload,\n\t};\n};\n\nconst setFaucetDelayUntil = (payload) => {\n\treturn {\n\t\ttype: SET_FAUCET_DELAY_UNTIL,\n\t\tpayload,\n\t};\n};\n\nconst claimFaucet = (error) => {\n\treturn {\n\t\terror,\n\t\ttype: CLAIM_FAUCET,\n\t};\n};\n\nconst verifyFaucet = () => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\n\t\tif (!checkIsNoBalance(state.balance.balancesArray)) {\n\t\t\treturn 'noEmptyWallets';\n\t\t}\n\n\t\tif (state.faucet.remaining === 0 && !state.user.email) {\n\t\t\treturn 'setEmail';\n\t\t}\n\n\t\tif (state.faucet.remaining === 0 && state.user.hasEmailToVerify) {\n\t\t\treturn 'emailVerify';\n\t\t}\n\n\t\tif (state.faucet.remaining === 0) {\n\t\t\treturn 'dailyLimitExceeded';\n\t\t}\n\n\t\tif (state.faucet.delayUntil && state.faucet.delayUntil > getTimestamp()) {\n\t\t\treturn 'delayUntil';\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nconst getFaucetErrorText = (type) => {\n\treturn (dispatch) => {\n\t\tif (!type) {\n\t\t\ttype = dispatch(verifyFaucet());\n\t\t}\n\n\t\tswitch (type) {\n\t\t\tcase 'setEmail':\n\t\t\t\treturn 'You have to set and verify your email to claim faucet.';\n\t\t\tcase 'emailVerify':\n\t\t\t\treturn 'You have to verify your email to claim faucet.';\n\t\t\tcase 'delayUntil':\n\t\t\t\treturn 'You cannot claim faucet until delay expires.';\n\t\t\tcase 'noEmptyWallets':\n\t\t\t\treturn 'Your balances must be empty to claim faucet.';\n\t\t\tcase 'dailyLimitExceeded':\n\t\t\t\treturn \"You've exceeded daily faucet claim limit, try again tomorrow.\";\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n};\n\nexport {\n\tsetFaucetRemaining,\n\tclaimFaucet,\n\tsetFaucetDelayUntil,\n\tverifyFaucet,\n\tgetFaucetErrorText,\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { SUBMIT_TIP } from './tip.constants';\n\nconst submitTipEpic = epic('submitTipEpic', {\n\tactions: (ofType) => ofType(SUBMIT_TIP),\n\tcallback: ({ action, store$ }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/v2/tip/send',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\tcurrency: action.payload.currency,\n\t\t\t\t\t\t\tuser: action.payload.user,\n\t\t\t\t\t\t\t// TODO: chat store usage\n\t\t\t\t\t\t\troom: store$.value?.chat?.room,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: LOADING_IDS.SUBMIT_TIP,\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data.message) {\n\t\t\t\t\t\treturn [closeModal()];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst tipEpic = combineEpics(submitTipEpic);\n\nexport { tipEpic };\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport websocketService from '../../../modules/app/websocketService';\n\nexport const leaveChannelThunk = (channel: string): AppThunk => {\n\treturn (dispatch) => {\n\t\twebsocketService.getInstance(dispatch).leaveChannel(channel);\n\t};\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { config } from '../../config';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport { hasNumber } from '../../modules/app/appService';\nimport { epic } from '../../modules/app/epicService';\nimport { setSocketChannel, unbindSocketChannel } from './websocket.actions';\nimport {\n\tBIND_PRIVATE_MESSAGES_SOCKET_EVENT,\n\tBIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n\tUNBIND_SOCKET_CHANNEL_EVENT,\n\tUNBIND_SOCKET_PRIVATE_CHANNEL_EVENT,\n} from './websocket.constants';\nimport { bindSocketChannelEventThunk } from './thunks/bindSocketChannelEvent.thunk';\nimport { leaveChannelThunk } from './thunks/leaveChannel.thunk';\n\nconst bindPrivateEpic = epic('bindPrivateEpic', {\n\tactions: (ofType) => ofType(BIND_SOCKET_PRIVATE_CHANNEL_EVENT),\n\tcallback: ({ store$, action }) => {\n\t\tif (!store$.value.user.socketChannel) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t`${store$.value.user.socketChannel}`,\n\t\t\t\taction.name,\n\t\t\t\t(data, dispatch) => {\n\t\t\t\t\taction.callback(data, dispatch);\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst unbindPrivateEpic = epic('unbindPrivateEpic', {\n\tactions: (ofType) => ofType(UNBIND_SOCKET_PRIVATE_CHANNEL_EVENT),\n\tcallback: ({ store$, action }) => {\n\t\tif (!store$.value.user.socketChannel) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tunbindSocketChannel(`${store$.value.user.socketChannel}`, action.name),\n\t\t);\n\t},\n});\n\nconst bindPrivateMessagesEpic = epic('bindPrivateMessagesEpic', {\n\tactions: (ofType) => ofType(BIND_PRIVATE_MESSAGES_SOCKET_EVENT),\n\tcallback: ({ store$, action }) => {\n\t\treturn of(\n\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t`${store$.value.privateMessages.channelId}`,\n\t\t\t\taction.name,\n\t\t\t\t(data, dispatch) => action.callback(data, dispatch),\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst unbindEpic = epic('unbindEpic', {\n\tactions: (ofType) => ofType(UNBIND_SOCKET_CHANNEL_EVENT),\n\tcallback: ({ action }) => {\n\t\tif (!config.websockets) {\n\t\t\treturn of();\n\t\t}\n\t\tif (action.name) {\n\t\t\treturn of(\n\t\t\t\tbindSocketChannelEventThunk(action.channel, action.name, undefined),\n\t\t\t);\n\t\t}\n\t\treturn of([\n\t\t\tleaveChannelThunk(action.channel),\n\t\t\tsetSocketChannel(action.channel, false),\n\t\t]);\n\t},\n});\n\nconst resetUserDataEpic = epic('resetUserDataEpic', {\n\tactions: (ofType) => ofType(RESET_USER_DATA),\n\tcallback: ({ store$ }) => {\n\t\tif (!config.websockets) {\n\t\t\treturn of();\n\t\t}\n\t\tconst privateChannelId = Object.keys(store$.value.websocket.channels).find(\n\t\t\thasNumber,\n\t\t);\n\t\tif (!privateChannelId) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of([\n\t\t\tleaveChannelThunk(privateChannelId),\n\t\t\tsetSocketChannel(privateChannelId, false),\n\t\t]);\n\t},\n});\n\nconst websocketEpic = combineEpics(\n\tunbindEpic,\n\tbindPrivateEpic,\n\tresetUserDataEpic,\n\tbindPrivateMessagesEpic,\n\tunbindPrivateEpic,\n);\n\nexport { websocketEpic };\n","import { combineEpics } from 'redux-observable';\nimport { delay } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { LOCATION_CHANGE } from 'connected-next-router';\nimport { CLOSE_MODAL, OPEN_MODAL } from '@modules/modals/store/modal.constants';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { getCurrencyGtmId } from '../../modules/app/appService';\nimport { SET_USERNAME } from '../user/user.constants';\nimport { NEW_DEPOSIT } from '../transactions/transactions.constants';\nimport { mathService } from '../../modules/math/mathService';\nimport { epic } from '../../modules/app/epicService';\nimport { sentryError } from '../../modules/app/sentryService';\nimport { scientificToDecimal } from '../../../methods/math/scientificToDecimal';\nimport { clearGtmPageData, push } from './gtm.actions';\nimport {\n\tCLEAR_GTM_PAGE_DATA,\n\tDAILY_STREAK_GTM_EVENT,\n\tDEPOSIT_GTM_EVENT,\n\tFAUCET_GTM_EVENT,\n\tPUSH_GTM_EVENT,\n\tREGISTER_GTM_EVENT,\n} from './gtm.constants';\n\nconst dailyStreakEpic = epic('dailyStreakEpic', {\n\tactions: (ofType) => ofType(DAILY_STREAK_GTM_EVENT),\n\tcallback: ({ action, store$ }) => {\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'dailyStreakClaimed',\n\t\t\t\t\tstep: action.data.step,\n\t\t\t\t\tcurrency: action.data.currency,\n\t\t\t\t\tamount: action.data.amount,\n\t\t\t\t\tfiat_amount: mathService.multiply(\n\t\t\t\t\t\tparseFloat(\n\t\t\t\t\t\t\tstore$.value.stats.price[action.data.currency.toLowerCase()],\n\t\t\t\t\t\t),\n\t\t\t\t\t\tparseFloat(action.data.amount),\n\t\t\t\t\t),\n\t\t\t\t\tid: getCurrencyGtmId(action.data.currency),\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst depositEpic = epic('depositEpic', {\n\tactions: (ofType) => ofType(DEPOSIT_GTM_EVENT),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!action.data.new) {\n\t\t\treturn of();\n\t\t}\n\t\tconst currency = action.data.currency;\n\t\tconst price = parseFloat(store$.value.stats.price[currency.toLowerCase()]);\n\t\tconst amount = parseFloat(action.data.amount);\n\t\tconst divider =\n\t\t\tprice < 0.0001 ? 1 : price < 1 ? 100 : price < 1000 ? 10000 : 100000;\n\t\t// console.log({divider, price, amount});\n\t\tconst satoshiPrice = roundNumber(price / divider, 6);\n\t\tconst satoshiAmount = roundNumber(amount * divider, 0);\n\t\tconst revenue = roundNumber(satoshiAmount * satoshiPrice, 6);\n\t\tif (satoshiPrice === 0 || satoshiPrice < 0.00001) {\n\t\t\tsentryError(\n\t\t\t\tnew Error(`Invalid deposit price - ${currency.toLowerCase()}`),\n\t\t\t\t{\n\t\t\t\t\taction,\n\t\t\t\t\tprice,\n\t\t\t\t\tamount,\n\t\t\t\t\tdivider,\n\t\t\t\t\tsatoshiPrice,\n\t\t\t\t\tsatoshiAmount,\n\t\t\t\t\trevenue,\n\t\t\t\t},\n\t\t\t\tstore$.value,\n\t\t\t);\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'depositCompleted',\n\t\t\t\t\tecommerce: {\n\t\t\t\t\t\tpurchase: {\n\t\t\t\t\t\t\tactionField: {\n\t\t\t\t\t\t\t\tid: `${action.data.uuid}`,\n\t\t\t\t\t\t\t\trevenue: `${scientificToDecimal(revenue)}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tproducts: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: currency,\n\t\t\t\t\t\t\t\t\tid: getCurrencyGtmId(currency),\n\t\t\t\t\t\t\t\t\tquantity: `${scientificToDecimal(satoshiAmount)}`,\n\t\t\t\t\t\t\t\t\tprice: `${scientificToDecimal(satoshiPrice)}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\n// const withdrawEpic = (action$, store$) => {\n// return action$.pipe(\n// ofType(WITHDRAW_GTM_EVENT),\n// mergeMap(action => {\n// if (!action.data.new) return;\n// const wallet = currencySymbols(action.data.wallet).wallet\n// return of(push(\n// {\n// event: 'withdraw',\n// ecommerce: {\n// checkout: {\n// actionField: {\n// step: action.data.state,\n// },\n// products: [\n// {\n// name: wallet,\n// price: `${store$.value.stats.price[wallet.toLowerCase()]}`,\n// quantity: `${action.data.amount}`,\n// id: `${action.data.uuid}`,\n// },\n// ],\n// },\n// },\n// },\n// action.data\n// ));\n// })\n// );\n// };\n\nconst registerEpic = epic('registerEpic', {\n\tactions: (ofType) => ofType(REGISTER_GTM_EVENT),\n\tcallback: ({ action }) => {\n\t\tif (!action.location) {\n\t\t\taction.location = 'interaction';\n\t\t}\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'registerCompleted',\n\t\t\t\t\tlogin: action.data.login,\n\t\t\t\t\tsignup_location: action.location,\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst faucetEpic = epic('faucetEpic', {\n\tactions: (ofType) => ofType(FAUCET_GTM_EVENT),\n\tcallback: ({ action, store$ }) => {\n\t\tconst currency = action.data.currency;\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'faucetClaimed',\n\t\t\t\t\tcurrency: currency,\n\t\t\t\t\tamount: action.data.amount,\n\t\t\t\t\tfiat_amount: mathService.multiply(\n\t\t\t\t\t\tparseFloat(store$.value.stats.price[currency.toLowerCase()]),\n\t\t\t\t\t\tparseFloat(action.data.amount),\n\t\t\t\t\t),\n\t\t\t\t\tid: getCurrencyGtmId(currency),\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst loginEpic = epic('loginEpic', {\n\tactions: (ofType) => ofType(SET_USERNAME),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tuserId: action.name,\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst openModalEpic = epic('openModalEpic', {\n\tactions: (ofType) => ofType(OPEN_MODAL),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'pageview_change',\n\t\t\t\t\tpage: `/modal/${action.name}`,\n\t\t\t\t\ttitle: process.browser ? document.title : 'server',\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst closeModalEpic = epic('closeModalEpic', {\n\tactions: (ofType) => ofType(CLOSE_MODAL),\n\tcallback: () => {\n\t\treturn of(clearGtmPageData());\n\t},\n});\n\nconst pushEpic = epic('pushEpic', {\n\tactions: (ofType) => ofType(PUSH_GTM_EVENT),\n\tcallback: ({ action }) => {\n\t\tif (process.browser && window.appWolfLayer) {\n\t\t\twindow.appWolfLayer.push(action.options);\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst newDepositEpic = epic('newDepositEpic', {\n\tactions: (ofType) => ofType(NEW_DEPOSIT),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'pageview_change',\n\t\t\t\t\tpage: '/new/deposit/',\n\t\t\t\t\ttitle: process.browser ? document.title : 'server',\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst depositPageCloseEpic = epic('depositPageCloseEpic', {\n\tactions: (ofType) => ofType(NEW_DEPOSIT),\n\tcallback: () => {\n\t\treturn of(clearGtmPageData()).pipe(delay(5000));\n\t},\n});\n\nconst locationChangeEpic = epic('locationChangeEpic', {\n\tactions: (ofType) => ofType(CLEAR_GTM_PAGE_DATA, LOCATION_CHANGE),\n\tcallback: ({ action }) => {\n\t\treturn of(\n\t\t\tpush(\n\t\t\t\t{\n\t\t\t\t\tevent: 'pageview_change',\n\t\t\t\t\tpage: process.browser ? document.location.pathname : 'server',\n\t\t\t\t\ttitle: process.browser ? document.title : 'server',\n\t\t\t\t},\n\t\t\t\taction.data,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst gtmEpic = combineEpics(\n\tdailyStreakEpic,\n\tdepositEpic,\n\t// withdrawEpic,\n\tregisterEpic,\n\tfaucetEpic,\n\tpushEpic,\n\tloginEpic,\n\topenModalEpic,\n\tcloseModalEpic,\n\tnewDepositEpic,\n\tdepositPageCloseEpic,\n\tlocationChangeEpic,\n);\n\nexport { gtmEpic };\n","import { combineEpics } from 'redux-observable';\nimport { delay } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { USER_LOGGED } from '../user/user.constants';\nimport { config } from '../../config';\nimport { SET_VISIBLE } from '../app/app.constants';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { simpleTrans } from '../../modules/translation/translationService';\nimport { parseApiInfo } from '../../modules/app/errorsService';\nimport {\n\taddPendingAlert,\n\tcloseAlert,\n\tdeleteAlert,\n\thandleAlert,\n\tshowAlert,\n} from './alerts.actions';\nimport { CLOSE_ALERT, HANDLE_ALERT, SHOW_ALERT } from './alerts.constants';\n\nconst checkAlertsEpic = epic('checkAlertsEpic', {\n\tactions: (ofType) => ofType(USER_LOGGED),\n\tcallback: ({ action }) => {\n\t\tif (!action.payload) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/alerts',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\tloaderId: 'getAlerts',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data.data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof data.data === 'object' && data.data.length) {\n\t\t\t\t\t\treturn data.data.map((el) => handleAlert(el));\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst handleAlertsEpic = epic('handleAlertsEpic', {\n\tactions: (ofType) => ofType(HANDLE_ALERT),\n\tcallback: ({ action }) => {\n\t\tif (action.payload.message) {\n\t\t\treturn of(\n\t\t\t\tshowAlert('info', action.payload.message, config.longAlertTimeout),\n\t\t\t);\n\t\t}\n\t\tswitch (action.payload.id) {\n\t\t\t// case 'SERVER_SEED_CHANGED': {\n\t\t\t// if (lsGet(`${action.payload.id}_2019-10-08`)) return of();\n\t\t\t// lsSet(`${action.payload.id}_2019-10-08`, true);\n\t\t\t// return of(\n\t\t\t// toggleServerSeedAlert(true),\n\t\t\t// showAlert('info', 'Due to security reasons, we had to change user and server seed on your account. The reason for that was our migration to a different, bigger, datacenter. It does not affect your game in any way. (2019-10-08)', config.longAlertTimeout)\n\t\t\t// );\n\t\t\t// }\n\t\t\tdefault: {\n\t\t\t\treturn of();\n\t\t\t}\n\t\t}\n\t},\n});\n\nconst appAlertEpic = epic('appAlertEpic', {\n\tactions: (ofType) => ofType(SHOW_ALERT),\n\tcallback: ({ action, store$ }) => {\n\t\tif (action.noTimeout && typeof action.noTimeout === 'boolean') {\n\t\t\treturn of();\n\t\t}\n\t\tif (!action.noTimeout) {\n\t\t\taction.noTimeout = config.alertTimeout;\n\t\t}\n\t\tif (!store$.value.app.visible) {\n\t\t\treturn of(\n\t\t\t\taddPendingAlert({\n\t\t\t\t\tid: action.id,\n\t\t\t\t\ttimeout: action.noTimeout,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\treturn of(closeAlert(action.id)).pipe(delay(action.noTimeout));\n\t},\n});\n\nconst tabAlertEpic = epic('tabAlertEpic', {\n\tactions: (ofType) => ofType(SHOW_ALERT),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!store$.value.app.visible) {\n\t\t\tlet message = parseApiInfo(action.message);\n\t\t\tif (message?.props?.children?.props?.translateKey) {\n\t\t\t\tconst props = message?.props?.children?.props;\n\t\t\t\t// components: null\n\t\t\t\t// namespace: \"common\"\n\t\t\t\t// noTranslationCheck: null\n\t\t\t\t// options: null\n\t\t\t\t// translateKey: \"TEST ALERT\"\n\t\t\t\tmessage = simpleTrans(\n\t\t\t\t\tprops.translateKey,\n\t\t\t\t\tprops.options,\n\t\t\t\t\tprops.namespace,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (message && typeof message === 'string') {\n\t\t\t\tdocument.title = message;\n\t\t\t}\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst clearTabAlertEpic = epic('clearTabAlertEpic', {\n\tactions: (ofType) => ofType(SET_VISIBLE),\n\tcallback: ({ action, store$ }) => {\n\t\tif (action.bool) {\n\t\t\tif (store$.value.alerts.pendingClose.length) {\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\t(document.title =\n\t\t\t\t\t\t\twindow.wolfMetaTitle ||\n\t\t\t\t\t\t\t`${config.appName} - Crypto Dice Game - Bitcoin Casino`),\n\t\t\t\t\t1000,\n\t\t\t\t);\n\t\t\t\treturn of(\n\t\t\t\t\tstore$.value.alerts.pendingClose.map((el) =>\n\t\t\t\t\t\tcloseAlert(el.id, false, el.timeout),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst closeAlertEpic = epic('closeAlertEpic', {\n\tactions: (ofType) => ofType(CLOSE_ALERT),\n\tcallback: ({ action }) => {\n\t\tif (action.timeout) {\n\t\t\treturn of(deleteAlert(action.id, action.force)).pipe(\n\t\t\t\tdelay(action.timeout),\n\t\t\t);\n\t\t}\n\t\treturn of(deleteAlert(action.id, action.force));\n\t},\n});\n\nconst alertsEpic = combineEpics(\n\tcheckAlertsEpic,\n\thandleAlertsEpic,\n\tappAlertEpic,\n\ttabAlertEpic,\n\tclearTabAlertEpic,\n\tcloseAlertEpic,\n);\n\nexport { alertsEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { updateBalance } from '@modules/balance/store/balance.actions';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { SUBMIT_RAIN } from './rain.constants';\n\nconst submitRainEpic = epic('submitRainEpic', {\n\tactions: (ofType) => ofType(SUBMIT_RAIN),\n\tcallback: ({ action, store$ }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/v2/user/rain',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\tcurrency: action.payload.currency,\n\t\t\t\t\t\t\tusers_amount: action.payload.usersAmount,\n\t\t\t\t\t\t\t// TODO: chat store usage\n\t\t\t\t\t\t\troom: store$.value?.chat?.room,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'submitRain',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data.amount) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateBalance(data.userBalance, 'submitRain'), closeModal()];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst rainEpic = combineEpics(submitRainEpic);\n\nexport { rainEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { updateBalance } from '@modules/balance/store/balance.actions';\nimport { TABLE_ID } from '@modules/transactions/constants/TableId';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { config } from '../../config';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { clearTransactions } from '../transactions/transactions.actions';\nimport {\n\tcheckBalancesArray,\n\tupdateBalances,\n} from '../../modules/app/balanceService';\nimport { vaultSetBalance, vaultUpdateBalance } from './vault.actions';\nimport {\n\tVAULT_DEPOSIT,\n\tVAULT_GET_BALANCE,\n\tVAULT_UPDATE_BALANCE,\n\tVAULT_WITHDRAW,\n} from './vault.constants';\n\nconst withdrawEpic = epic('withdrawEpic', {\n\tactions: (ofType) => ofType(VAULT_WITHDRAW),\n\tcallback: ({ store$, action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/vault/withdraw',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\tcurrency: store$.value.user.activeCurrency,\n\t\t\t\t\t\t\tpassword: action.payload.password,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'vaultWithdraw',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tconst currency = store$.value.user.activeCurrency;\n\t\t\t\t\tif (data.userBalance) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tupdateBalance(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: roundNumber(\n\t\t\t\t\t\t\t\t\t\tdata.userBalance.amount,\n\t\t\t\t\t\t\t\t\t\tconfig.decimals.balance,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'vaultWithdraw',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (data.vaultBalance) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tvaultUpdateBalance(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: roundNumber(\n\t\t\t\t\t\t\t\t\t\tdata.vaultBalance.amount,\n\t\t\t\t\t\t\t\t\t\tconfig.decimals.balance,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'vaultWithdraw',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tclearTransactions(TABLE_ID.vaultHistory),\n\t\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t'{{amount}} {{currency}} - has been transferred from the vault',\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst depositEpic = epic('depositEpic', {\n\tactions: (ofType) => ofType(VAULT_DEPOSIT),\n\tcallback: ({ store$, action }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/vault/deposit',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\tcurrency: store$.value.user.activeCurrency,\n\t\t\t\t\t\t\tpassword: action.payload.password,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: 'vaultDeposit',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tconst currency = store$.value.user.activeCurrency;\n\t\t\t\t\tif (data.userBalance) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tupdateBalance(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: roundNumber(\n\t\t\t\t\t\t\t\t\t\tdata.userBalance.amount,\n\t\t\t\t\t\t\t\t\t\tconfig.decimals.balance,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'vaultDeposit',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (data.vaultBalance) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tvaultUpdateBalance(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: roundNumber(\n\t\t\t\t\t\t\t\t\t\tdata.vaultBalance.amount,\n\t\t\t\t\t\t\t\t\t\tconfig.decimals.balance,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'vaultDeposit',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tclearTransactions(TABLE_ID.vaultHistory),\n\t\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t'{{amount}} {{currency}} - has been transferred to the vault',\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tamount: action.payload.amount,\n\t\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst balanceEpic = epic('balanceEpic', {\n\tactions: (ofType) => ofType(VAULT_GET_BALANCE),\n\tcallback: ({ store$ }) => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/vault/balance',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'getVaultBalance',\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data.vaultBalances || !data.vaultBalances.length) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst balances = store$.value.balance.balancesArray.map((balance) => {\n\t\t\t\t\t\tconst valueBalance = data.vaultBalances.find(\n\t\t\t\t\t\t\t(el) => el.currency === balance.currency,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcurrency: balance.currency,\n\t\t\t\t\t\t\tamount: valueBalance ? valueBalance.amount : 0,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\treturn [vaultSetBalance(checkBalancesArray('vaultEpic', balances))];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst updateBalanceEpic = epic('updateBalanceEpic', {\n\tactions: (ofType) => ofType(VAULT_UPDATE_BALANCE),\n\tcallback: ({ store$, action }) => {\n\t\treturn of(\n\t\t\tvaultSetBalance(\n\t\t\t\tupdateBalances(action.payload, store$.value.vault.balances, {\n\t\t\t\t\tsource: 'updateBalanceEpic - vaultEpic',\n\t\t\t\t\taction,\n\t\t\t\t}),\n\t\t\t\taction.source,\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst vaultEpic = combineEpics(\n\twithdrawEpic,\n\tdepositEpic,\n\tbalanceEpic,\n\tupdateBalanceEpic,\n);\n\nexport { vaultEpic };\n","import { combineEpics } from 'redux-observable';\nimport { delay } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { chatActions } from '@modules/chat/store/chat.actions';\nimport { closeModal } from '@modules/modals/store/modal.actions';\nimport { APP_INITIALIZED } from '../app/app.constants';\nimport { bindPrivateMessagesSocketEvent } from '../websocket/websocket.actions';\nimport websocketService from '../../modules/app/websocketService';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport sortService, { DIRECTION } from '../../modules/app/sortService';\nimport { epic } from '../../modules/app/epicService';\nimport { USER_LOGGED } from '../user/user.constants';\nimport { PREFERENCES_SET } from '../preferences/preferences.constants';\nimport { filterArrayDuplicates } from '../../modules/app/appService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { tokenService } from '../../modules/app/tokenService';\nimport { WEBSOCKET_EVENTS } from '../websocket/websocket.constants';\nimport {\n\tprivateMessagesChannelRead,\n\tprivateMessagesChannelReadSend,\n\tprivateMessagesClearStreamData,\n\tprivateMessagesCloseActive,\n\tprivateMessagesGetHistory,\n\tprivateMessagesNewMessages,\n\tprivateMessagesSetActiveList,\n\tprivateMessagesSetHistory,\n\tprivateMessagesSetStream,\n\tprivateMessagesSetUnread,\n} from './privateMessages.actions';\nimport {\n\tPRIVATE_MESSAGES_CHANNEL_ID,\n\tPRIVATE_MESSAGES_CHANNEL_READ_SEND,\n\tPRIVATE_MESSAGES_CLEAR_STREAM_DATA,\n\tPRIVATE_MESSAGES_CLOSE_ACTIVE,\n\tPRIVATE_MESSAGES_GET_HISTORY,\n\tPRIVATE_MESSAGES_GET_STREAM,\n\tPRIVATE_MESSAGES_NEW_MESSAGE,\n\tPRIVATE_MESSAGES_OPEN_ACTIVE,\n\tPRIVATE_MESSAGES_SET_HISTORY,\n} from './privateMessages.constants';\n\nconst initial = epic('initial', {\n\tactions: (ofType) => ofType(APP_INITIALIZED, USER_LOGGED, PREFERENCES_SET),\n\tcallback: () => {\n\t\tif (!tokenService.token.value) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(privateMessagesGetHistory());\n\t},\n});\n\nconst historyEpic = epic('historyEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_GET_HISTORY),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/rooms/open',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloadingId: 'getPrivateMessagesHistory',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\t// console.log('PRIVATE_MESSAGES_GET_HISTORY', {data, bool: !data || !data.data || !data.data.length});\n\t\t\t\t\tif (!data || !data.data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst result = [\n\t\t\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\t\t\tdata.data.map((el) => ({\n\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\tchannelId: el.user.uuid,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t),\n\t\t\t\t\t];\n\t\t\t\t\tdata.data.forEach((el) => {\n\t\t\t\t\t\tif (el.unread) {\n\t\t\t\t\t\t\tresult.push(privateMessagesSetUnread(el.user.uuid, true));\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst openActiveEpic = epic('openActiveEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_OPEN_ACTIVE),\n\tcallback: ({ action, store$ }) => {\n\t\tlet activeList = store$.value.privateMessages.activeList;\n\t\tif (\n\t\t\t!activeList.find((chat) => chat.channelId === action.payload.channelId)\n\t\t) {\n\t\t\tactiveList = [\n\t\t\t\t{\n\t\t\t\t\t...action.payload,\n\t\t\t\t},\n\t\t\t\t...activeList,\n\t\t\t];\n\t\t}\n\t\tconst result = [\n\t\t\tchatActions.setPrivateActive(action.payload.channelId),\n\t\t\tprivateMessagesSetActiveList(activeList),\n\t\t];\n\t\tif (store$.value.modal.id) {\n\t\t\tresult.push(closeModal());\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst closeActiveEpic = epic('closeActiveEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_CLOSE_ACTIVE),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!action.payload) {\n\t\t\treturn of();\n\t\t}\n\t\tlet activeList = store$.value.privateMessages.activeList;\n\t\tconst index = activeList.findIndex(\n\t\t\t(chat) => chat.channelId === action.payload.channelId,\n\t\t);\n\t\tif (index === -1) {\n\t\t\treturn of();\n\t\t}\n\t\tactiveList = activeList.filter(\n\t\t\t(chat) => chat.channelId !== action.payload.channelId,\n\t\t);\n\t\tconst result = [\n\t\t\tprivateMessagesClearStreamData(action.payload.channelId),\n\t\t\tchatActions.setPrivateActive(\n\t\t\t\tactiveList.length ? activeList[0].channelId : false,\n\t\t\t),\n\t\t\tprivateMessagesSetActiveList(activeList),\n\t\t];\n\t\treturn of(result);\n\t},\n});\n\nconst clearPrivateEpic = epic('clearPrivateEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_CLOSE_ACTIVE),\n\tcallback: ({ action, store$ }) => {\n\t\tif (!action.payload) {\n\t\t\treturn of();\n\t\t}\n\t\tif (\n\t\t\t!store$.value.privateMessages.stream[action.payload.user.uuid] ||\n\t\t\t!store$.value.privateMessages.stream[action.payload.user.uuid].length\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(privateMessagesClearStreamData(action.payload.user.uuid)).pipe(\n\t\t\tdelay(5000),\n\t\t);\n\t},\n});\n\nconst clearStreamDataEpic = epic('clearStreamDataEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_CLEAR_STREAM_DATA),\n\tcallback: ({ action, store$ }) => {\n\t\t// TODO: chat store usage\n\t\tif (store$.value?.chat?.privateActive === action.channel) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(privateMessagesSetStream(action.channel));\n\t},\n});\n\nconst getStreamEpic = epic('getStreamEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_GET_STREAM),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\tstore$.value.privateMessages.stream[action.payload] &&\n\t\t\tstore$.value.privateMessages.stream[action.payload].length &&\n\t\t\t!action.nonce\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\tif (\n\t\t\tstore$.value.privateMessages.stream[action.payload] &&\n\t\t\tstore$.value.privateMessages.stream[action.payload].length &&\n\t\t\tstore$.value.privateMessages.stream[action.payload][0].nonce === 1 &&\n\t\t\taction.nonce\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/user/messages/${action.payload}${\n\t\t\t\t\t\taction.nonce ? `/${action.nonce}` : ''\n\t\t\t\t\t}`,\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloadingId: `getPrivateStream-${action.payload}`,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data.error) {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\t\t\t\tstore$.value.privateMessages.history.filter(\n\t\t\t\t\t\t\t\t\t(el) => el.channelId !== action.payload,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tprivateMessagesCloseActive(\n\t\t\t\t\t\t\t\tstore$.value.privateMessages.activeList.find(\n\t\t\t\t\t\t\t\t\t(el) => el.channelId === action.payload,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tdata.data = data.data.map((el) => el.message);\n\t\t\t\t\tconst stream = action.nonce\n\t\t\t\t\t\t? filterArrayDuplicates([\n\t\t\t\t\t\t\t\t...store$.value.privateMessages.stream[action.payload],\n\t\t\t\t\t\t\t\t...data.data,\n\t\t\t\t\t\t ]).sort((a, b) =>\n\t\t\t\t\t\t\t\tsortService.sort(DIRECTION.ASC, a.nonce, b.nonce),\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: data.data;\n\t\t\t\t\treturn [\n\t\t\t\t\t\tprivateMessagesSetStream(action.payload, stream),\n\t\t\t\t\t\tprivateMessagesChannelRead(action.payload),\n\t\t\t\t\t];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst channelEpic = epic('channelEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_CHANNEL_ID),\n\tcallback: ({ action }) => {\n\t\tif (!action.payload) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of([\n\t\t\tbindPrivateMessagesSocketEvent(\n\t\t\t\tWEBSOCKET_EVENTS.PRIVATE_MESSAGE,\n\t\t\t\t(data, dispatch) => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tprivateMessagesNewMessages(websocketService.getMessage(data)),\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t),\n\t\t\tbindPrivateMessagesSocketEvent(\n\t\t\t\tWEBSOCKET_EVENTS.PRIVATE_CHANNEL_READ,\n\t\t\t\t(data, dispatch) => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tprivateMessagesChannelRead(\n\t\t\t\t\t\t\twebsocketService.getMessage(data).channelId,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t),\n\t\t]);\n\t},\n});\n\nconst newMessageEpic = epic('newMessageEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_NEW_MESSAGE),\n\tcallback: ({ action, store$ }) => {\n\t\tconst channelId = action.payload.channelId;\n\t\tconst result = [];\n\t\tif (\n\t\t\t// TODO: chat store usage\n\t\t\tstore$.value?.chat?.privateActive !== channelId &&\n\t\t\taction.payload.user.uuid !== store$.value.user.id\n\t\t) {\n\t\t\tif (store$.value.preferences.community.show_messages_notifications.bool) {\n\t\t\t\tresult.push(\n\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t'info',\n\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\tlabel: 'New message from {{userName}}!',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tuserName: action.payload.user.login,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tresult.push(privateMessagesSetUnread(channelId, action.payload.nonce));\n\t\t}\n\t\tif (\n\t\t\t// TODO: chat store usage\n\t\t\tstore$.value?.chat?.privateActive === channelId &&\n\t\t\taction.payload.user.uuid !== store$.value.user.id\n\t\t) {\n\t\t\tresult.push(privateMessagesChannelReadSend(channelId, true));\n\t\t}\n\t\tif (\n\t\t\tstore$.value.privateMessages.history.some(\n\t\t\t\t(el) => el.channelId === channelId,\n\t\t\t)\n\t\t) {\n\t\t\tresult.push(\n\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\tstore$.value.privateMessages.history.map((el) =>\n\t\t\t\t\t\tel.channelId !== channelId\n\t\t\t\t\t\t\t? el\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t...el,\n\t\t\t\t\t\t\t\t\tlast_message: action.payload.message,\n\t\t\t\t\t\t\t\t\tlast_message_timestamp: action.payload.published_at,\n\t\t\t\t\t\t\t },\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tresult.push(privateMessagesGetHistory());\n\t\t}\n\t\tif (store$.value.privateMessages.stream[channelId]) {\n\t\t\tresult.push(\n\t\t\t\tprivateMessagesSetStream(channelId, [\n\t\t\t\t\t...store$.value.privateMessages.stream[channelId],\n\t\t\t\t\taction.payload,\n\t\t\t\t]),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst privateActiveEpic = epic('privateActiveEpic', {\n\tactions: (ofType) => ofType(chatActions.setPrivateActive().type),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\t!action.payload ||\n\t\t\t!store$.value.privateMessages.unread[action.payload] ||\n\t\t\t!store$.value.privateMessages.stream[action.payload]\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(privateMessagesChannelReadSend(action.payload));\n\t},\n});\n\nconst readChannelEpic = epic('readChannelEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_CHANNEL_READ_SEND),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\t!action.payload ||\n\t\t\t(!store$.value.privateMessages.unread[action.payload] && !action.force) ||\n\t\t\t!store$.value.privateMessages.stream[action.payload]\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/user/messages/read/${action.payload}`,\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'getReadChannel',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (data.error || data.errors) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tif (store$.value.privateMessages.unread[action.payload]) {\n\t\t\t\t\t\treturn [privateMessagesChannelRead(action.payload)];\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst fixUnreadEpic = epic('fixUnreadEpic', {\n\tactions: (ofType) => ofType(PRIVATE_MESSAGES_SET_HISTORY),\n\tcallback: ({ store$ }) => {\n\t\tconst isUnreadDeleted = Object.keys(\n\t\t\tstore$.value.privateMessages.unread,\n\t\t).find(\n\t\t\t(id) =>\n\t\t\t\t!store$.value.privateMessages.history.some((el) => el.channelId === id),\n\t\t);\n\t\tif (!isUnreadDeleted) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(privateMessagesChannelRead(isUnreadDeleted));\n\t},\n});\n\nconst privateMessagesEpic = combineEpics(\n\thistoryEpic,\n\tgetStreamEpic,\n\topenActiveEpic,\n\tcloseActiveEpic,\n\tinitial,\n\tclearPrivateEpic,\n\tclearStreamDataEpic,\n\tchannelEpic,\n\tnewMessageEpic,\n\treadChannelEpic,\n\tprivateActiveEpic,\n\tfixUnreadEpic,\n);\n\nexport { privateMessagesEpic };\n","import { combineEpics } from 'redux-observable';\nimport { delay } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { bindSocketPrivateChannelEvent } from '../websocket/websocket.actions';\nimport websocketService from '../../modules/app/websocketService';\nimport { config, FEATURES_TYPE } from '../../config';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { trans } from '../../modules/translation/translate';\nimport sortService, { DIRECTION } from '../../modules/app/sortService';\nimport {\n\tprivateMessagesCloseActive,\n\tprivateMessagesGetHistory,\n\tprivateMessagesSetHistory,\n} from '../privateMessages/privateMessages.actions';\nimport { epic } from '../../modules/app/epicService';\nimport { USER_LOGGED } from '../user/user.constants';\nimport { isFeatureAvailable } from '../../modules/app/featureService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { tokenService } from '../../modules/app/tokenService';\nimport { WEBSOCKET_EVENTS } from '../websocket/websocket.constants';\nimport {\n\tfriendsAcceptedRequest,\n\tfriendsCancelledRequest,\n\tfriendsDeleted,\n\tfriendsGetList,\n\tfriendsGetOnline,\n\tfriendsGetRequests,\n\tfriendsNewRequest,\n\tfriendsRepeatOnline,\n\tfriendsSetDisableOnline,\n\tfriendsSetList,\n\tfriendsSetOnline,\n\tfriendsSetRequests,\n} from './friends.actions';\nimport {\n\tFRIENDS_ACCEPTED_REQUEST,\n\tFRIENDS_CANCELLED_REQUEST,\n\tFRIENDS_DELETED,\n\tFRIENDS_GET_LIST,\n\tFRIENDS_GET_ONLINE,\n\tFRIENDS_GET_REQUESTS,\n\tFRIENDS_NEW_REQUEST,\n\tFRIENDS_REPEAT_ONLINE,\n} from './friends.constants';\n\nconst initial = epic('initial', {\n\tactions: (ofType) => ofType(USER_LOGGED),\n\tcallback: ({ store$ }) => {\n\t\tif (!tokenService.token.value) {\n\t\t\treturn of();\n\t\t}\n\t\tconst result = [friendsGetList(), friendsGetRequests()];\n\t\tif (!store$.value.friends.repeatOnlineActive) {\n\t\t\tresult.push(friendsRepeatOnline());\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst friendsListEpic = epic('friendsListEpic', {\n\tactions: (ofType) => ofType(FRIENDS_GET_LIST),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/friends',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'getFriends',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data.data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\treturn [friendsSetList(data.data)];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst friendsRequestsEpic = epic('friendsRequestsEpic', {\n\tactions: (ofType) => ofType(FRIENDS_GET_REQUESTS),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/friends/requests',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'getFriendsRequests',\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!data.data) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tfriendsSetRequests(data.data || []),\n\t\t\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\t\t\tWEBSOCKET_EVENTS.FRIENDS_REQUEST_SENT,\n\t\t\t\t\t\t\t(data, dispatch) => {\n\t\t\t\t\t\t\t\tdispatch(friendsNewRequest(websocketService.getMessage(data)));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\t\t\tWEBSOCKET_EVENTS.FRIENDS_REQUEST_CANCELED,\n\t\t\t\t\t\t\t(data, dispatch) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tfriendsCancelledRequest(websocketService.getMessage(data)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\t\t\tWEBSOCKET_EVENTS.FRIENDS_REQUEST_ACCEPTED,\n\t\t\t\t\t\t\t(data, dispatch) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tfriendsAcceptedRequest(websocketService.getMessage(data)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tbindSocketPrivateChannelEvent(\n\t\t\t\t\t\t\tWEBSOCKET_EVENTS.FRIENDS_FRIEND_DELETED,\n\t\t\t\t\t\t\t(data, dispatch) => {\n\t\t\t\t\t\t\t\tdispatch(friendsDeleted(websocketService.getMessage(data)));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t];\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst newRequestEpic = epic('newRequestEpic', {\n\tactions: (ofType) => ofType(FRIENDS_NEW_REQUEST),\n\tcallback: ({ action, store$ }) => {\n\t\tconst list = store$.value.friends.requests;\n\t\tconst data = action.payload;\n\t\tif (list.some((el) => el.user.uuid === data.user.uuid)) {\n\t\t\treturn of();\n\t\t}\n\t\tconst result = [friendsSetRequests([data, ...list])];\n\t\tif (\n\t\t\t!store$.value.preferences.community.block_friend_requests_notifications\n\t\t\t\t.bool\n\t\t) {\n\t\t\tresult.push(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\ttrans({\n\t\t\t\t\t\tlabel: 'You have received an invitation to friends from {{login}}',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tlogin: data.user.login,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst cancelRequestEpic = epic('cancelRequestEpic', {\n\tactions: (ofType) => ofType(FRIENDS_CANCELLED_REQUEST),\n\tcallback: ({ action, store$ }) => {\n\t\tconst list = store$.value.friends.requests.filter(\n\t\t\t(el) => el.user.uuid !== action.payload.user.uuid,\n\t\t);\n\t\treturn of(friendsSetRequests([...list]));\n\t},\n});\n\nconst acceptedRequestEpic = epic('acceptedRequestEpic', {\n\tactions: (ofType) => ofType(FRIENDS_ACCEPTED_REQUEST),\n\tcallback: ({ action, store$ }) => {\n\t\tconst list = store$.value.friends.requests.filter(\n\t\t\t(el) => el.user.uuid !== action.payload.user.uuid,\n\t\t);\n\t\tconst result = [\n\t\t\tfriendsSetRequests([...list]),\n\t\t\tfriendsSetList([action.payload, ...store$.value.friends.list]),\n\t\t\tprivateMessagesGetHistory(),\n\t\t];\n\t\tif (\n\t\t\t!store$.value.preferences.community.block_friend_requests_notifications\n\t\t\t\t.bool\n\t\t) {\n\t\t\tresult.push(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\ttrans({\n\t\t\t\t\t\tlabel: 'Your friend request has been accepted by {{login}}',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tlogin: action.payload.user.login,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst deletedFriendEpic = epic('deletedFriendEpic', {\n\tactions: (ofType) => ofType(FRIENDS_DELETED),\n\tcallback: ({ action, store$ }) => {\n\t\tconst list = store$.value.friends.list.filter(\n\t\t\t(el) => el.user.uuid !== action.payload.user.uuid,\n\t\t);\n\t\tconst result = [friendsSetList([...list])];\n\t\tif (!store$.value.preferences.community.allow_messages_from_all.bool) {\n\t\t\tresult.push(\n\t\t\t\tprivateMessagesSetHistory(\n\t\t\t\t\tstore$.value.privateMessages.history.filter(\n\t\t\t\t\t\t(el) => el.user.uuid !== action.payload.user.uuid,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t\tresult.push(\n\t\t\t\tprivateMessagesCloseActive(\n\t\t\t\t\tstore$.value.privateMessages.activeList.find(\n\t\t\t\t\t\t(el) => el.user.uuid === action.payload.user.uuid,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst getOnlineEpic = epic('onlineEpic', {\n\tactions: (ofType) => ofType(FRIENDS_GET_ONLINE),\n\tcallback: () => {\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: '/user/online',\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t},\n\t\t\t\t\tloaderId: 'getFriendsOnline',\n\t\t\t\t\tdisableErrorHandler: true,\n\t\t\t\t},\n\t\t\t\t(data) => {\n\t\t\t\t\t// console.log('getFriendsOnline', data);\n\t\t\t\t\tconst actions = [];\n\t\t\t\t\tif (data && data.status === 403) {\n\t\t\t\t\t\tactions.push(friendsSetDisableOnline(true));\n\t\t\t\t\t}\n\t\t\t\t\tif (data && data.data) {\n\t\t\t\t\t\tactions.push(\n\t\t\t\t\t\t\tfriendsSetOnline(\n\t\t\t\t\t\t\t\tdata.data.sort((a, b) =>\n\t\t\t\t\t\t\t\t\tsortService.sort(DIRECTION.ASC, a.uuid, b.uuid),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn actions;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst onlineRepeatEpic = epic('onlineRepeatEpic', {\n\tactions: (ofType) => ofType(FRIENDS_REPEAT_ONLINE),\n\tcallback: ({ store$ }) => {\n\t\tif (\n\t\t\t!store$.value.user.isLogged ||\n\t\t\t!isFeatureAvailable(FEATURES_TYPE.ONLINE_UPDATE) ||\n\t\t\tstore$.value.friends.disableOnline\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(friendsRepeatOnline()).pipe(delay(config.refreshOnlineTimeout));\n\t},\n});\n\nconst onlineRepeatGetEpic = epic('onlineRepeatGetEpic', {\n\tactions: (ofType) => ofType(FRIENDS_REPEAT_ONLINE),\n\tcallback: () => {\n\t\treturn of(friendsGetOnline());\n\t},\n});\n\nconst friendsEpic = combineEpics(\n\tinitial,\n\tfriendsListEpic,\n\tfriendsRequestsEpic,\n\tnewRequestEpic,\n\tcancelRequestEpic,\n\tacceptedRequestEpic,\n\tdeletedFriendEpic,\n\tgetOnlineEpic,\n\tonlineRepeatEpic,\n\tonlineRepeatGetEpic,\n);\n\nexport { friendsEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { epic } from '../../modules/app/epicService';\nimport { fetchApiAction } from '../fetch/fetch.thunk';\nimport { preferencesSet } from './preferences.actions';\nimport { PREFERENCES_INIT, PREFERENCES_UPDATE } from './preferences.constants';\n\nconst initPreferencesEpic = epic('initPreferencesEpic', {\n\tactions: (ofType) => ofType(PREFERENCES_INIT),\n\tcallback: ({ action, store$ }) => {\n\t\tif (\n\t\t\tObject.keys(action.payload)\n\t\t\t\t.map((key) => `${key}${action.payload[key]}`)\n\t\t\t\t.join(',') !==\n\t\t\tObject.keys(store$.value.preferences[action.data_type])\n\t\t\t\t.map(\n\t\t\t\t\t(key) =>\n\t\t\t\t\t\t`${key}${store$.value.preferences[action.data_type][key].bool}`,\n\t\t\t\t)\n\t\t\t\t.join(',')\n\t\t) {\n\t\t\treturn of(preferencesSet(action.data_type, action.payload));\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst updatePrivacyEpic = epic('updatePrivacyEpic', {\n\tactions: (ofType) => ofType(PREFERENCES_UPDATE),\n\tcallback: ({ action }) => {\n\t\tconst data = {};\n\t\tObject.keys(action.payload).forEach((key) => {\n\t\t\tdata[key] = action.payload[key].bool;\n\t\t});\n\t\treturn of(\n\t\t\tfetchApiAction(\n\t\t\t\t{\n\t\t\t\t\turl: `/user/change/preferences/${action.data_type}`,\n\t\t\t\t\tparameters: {\n\t\t\t\t\t\tAuthorization: true,\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tloaderId: `updatePreferences-${action.data_type}`,\n\t\t\t\t\tlockByModal: true,\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tresult.push(preferencesSet(action.data_type, action.payload));\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t},\n});\n\nconst preferencesEpic = combineEpics(updatePrivacyEpic, initPreferencesEpic);\n\nexport { preferencesEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { APP_INITIALIZED } from '../app/app.constants';\nimport { epic } from '../../modules/app/epicService';\nimport { SET_CURRENCY } from '../user/user.constants';\nimport { trans } from '../../modules/translation/translate';\nimport { setConfirm } from '../confirm/confirm.actions';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { converterSetConfirm, converterSetCurrency } from './converter.actions';\nimport { CONVERTER_SWITCH_CURRENCY } from './converter.constants';\n\nconst changeEpic = epic('changeEpic', {\n\tactions: (ofType) => ofType(SET_CURRENCY),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.converter.currency === 'usd') {\n\t\t\treturn of();\n\t\t}\n\t\treturn of(converterSetCurrency(store$.value.user.activeCurrency));\n\t},\n});\n\nconst confirmEpic = epic('changeEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: () => {\n\t\tconst confirm = lsGet(LocalStorageKeys.ENABLE_CONVERTER);\n\t\tif (confirm) {\n\t\t\treturn of(converterSetConfirm(true));\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst currencyEpic = epic('currencyEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: ({ store$ }) => {\n\t\tlet currency =\n\t\t\tlsGet(LocalStorageKeys.CURRENCY_CONVERTER) ||\n\t\t\tstore$.value.user.activeCurrency;\n\t\treturn of(converterSetCurrency(currency));\n\t},\n});\n\nconst switchEpic = epic('switchEpic', {\n\tactions: (ofType) => ofType(CONVERTER_SWITCH_CURRENCY),\n\tcallback: ({ store$, action }) => {\n\t\tconst currency = action.payload || store$.value.user.activeCurrency;\n\t\tif (!store$.value.converter.confirm) {\n\t\t\treturn of(\n\t\t\t\tsetConfirm({\n\t\t\t\t\tcallbackAction: (dispatch) => {\n\t\t\t\t\t\treturn dispatch([\n\t\t\t\t\t\t\tconverterSetConfirm(true),\n\t\t\t\t\t\t\tconverterSetCurrency(\n\t\t\t\t\t\t\t\tstore$.value.converter.currency === 'usd' ? currency : 'usd',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t]);\n\t\t\t\t\t},\n\t\t\t\t\tquestion: trans({\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t'It is just a visual change. All bets are always settled in cryptocurrencies.',\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tconst actions = [\n\t\t\tconverterSetCurrency(\n\t\t\t\tstore$.value.converter.currency === 'usd' ? currency : 'usd',\n\t\t\t),\n\t\t];\n\t\tif (store$.value.app.mobile) {\n\t\t\tactions.push(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\t`USD Converter - ${\n\t\t\t\t\t\tstore$.value.converter.currency !== 'usd' ? 'enabled' : 'disabled'\n\t\t\t\t\t}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn of(actions);\n\t},\n});\n\nconst converterEpic = combineEpics(\n\tchangeEpic,\n\tconfirmEpic,\n\tcurrencyEpic,\n\tswitchEpic,\n);\n\nexport { converterEpic };\n","import { combineEpics } from 'redux-observable';\nimport { catchError, map } from 'rxjs/operators';\nimport { from } from 'rxjs';\nimport { epic } from '../../modules/app/epicService';\nimport { FETCH_RESPONSE } from './fetch.constants';\n\nconst responseEpic = epic('responseEpic', {\n\tactions: (ofType) => ofType(FETCH_RESPONSE),\n\tcallback: ({ action }) => {\n\t\treturn from(action.payload.response).pipe(\n\t\t\tmap(action.payload.callback),\n\t\t\tcatchError(action.payload.catchCallback),\n\t\t);\n\t},\n});\n\nconst fetchEpic = combineEpics(responseEpic);\n\nexport { fetchEpic };\n","import { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const setOption = (id, bool) => {\n\tlsSet(LocalStorageKeys.OPTIONS, {\n\t\t...lsGet(LocalStorageKeys.OPTIONS, {}),\n\t\t[id]: bool,\n\t});\n};\n\nexport const parseOptions = () => {\n\tconst options = lsGet(LocalStorageKeys.OPTIONS, {});\n\n\tconst optionsData = {\n\t\tsound: lsGet(LocalStorageKeys.DISABLE_SOUND),\n\t\tmaxBet: lsGet(LocalStorageKeys.DISABLE_MAX_BUTTON),\n\t\thotkeys: lsGet(LocalStorageKeys.DISABLE_HOTKEYS),\n\t\tchart: lsGet(LocalStorageKeys.DISABLE_CHART),\n\t\tautobetSummary: lsGet(LocalStorageKeys.DISABLE_AUTOBET_SUMMARY),\n\t\tanimation: lsGet(LocalStorageKeys.DISABLE_ANIMATIONS),\n\t};\n\n\tObject.keys(optionsData).forEach((key) => {\n\t\tconst data = optionsData[key];\n\t\tif (data !== null) {\n\t\t\toptions[key] = !data;\n\t\t}\n\t});\n\n\t[\n\t\tLocalStorageKeys.DISABLE_STATS,\n\t\tLocalStorageKeys.DISABLE_SOUND,\n\t\tLocalStorageKeys.DISABLE_MAX_BUTTON,\n\t\tLocalStorageKeys.DISABLE_HOTKEYS,\n\t\tLocalStorageKeys.DISABLE_CHART,\n\t\tLocalStorageKeys.DISABLE_AUTOBET_SUMMARY,\n\t\tLocalStorageKeys.DISABLE_ANIMATIONS,\n\t].forEach((el) => lsClear(el));\n\n\treturn options;\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { epic, epicOldState } from '../../modules/app/epicService';\nimport audioService from '../../modules/app/audioService';\nimport { parseOptions, setOption } from '../../modules/app/optionsService';\nimport { showAlert } from '../alerts/alerts.actions';\nimport { camelCaseToSentence, capitalize } from '../../modules/app/appService';\nimport { APP_INITIALIZED } from '../app/app.constants';\nimport { OPTIONS_DISABLE, OPTIONS_ENABLE } from './options.constants';\n\nimport { optionChangeThunk } from './thunks/optionChange.thunk';\n\nconst localStorageEpic = epicOldState('localStorageEpic', {\n\tactions: (ofType) => ofType(OPTIONS_ENABLE, OPTIONS_DISABLE),\n\tcallback: ({ action, newState, oldState }) => {\n\t\tconst bool = action.type === OPTIONS_ENABLE;\n\t\tif (action.payload === 'sound') {\n\t\t\tbool ? audioService.startAll() : audioService.stopAll();\n\t\t}\n\t\tconst noAlert = !!action.props;\n\t\tsetOption(action.payload, bool);\n\t\tif (\n\t\t\t!noAlert &&\n\t\t\tnewState.app.mobile &&\n\t\t\toldState.options[action.payload] !== newState.options[action.payload] &&\n\t\t\t!action.props\n\t\t) {\n\t\t\treturn [\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\t`${capitalize(camelCaseToSentence(action.payload))} - ${\n\t\t\t\t\t\tbool ? 'enabled' : 'disabled'\n\t\t\t\t\t}`,\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t},\n});\n\nconst optionsInitEpic = epic('optionsInitEpic', {\n\tactions: (ofType) => ofType(APP_INITIALIZED),\n\tcallback: ({ store$ }) => {\n\t\tconst options = {\n\t\t\t...store$.value.options,\n\t\t\t...parseOptions(),\n\t\t\t...lsGet(LocalStorageKeys.OPTIONS, {}),\n\t\t};\n\t\tif (options.sound) {\n\t\t\taudioService.startAll();\n\t\t}\n\t\treturn of(\n\t\t\tObject.keys(options).map((key) => {\n\t\t\t\treturn optionChangeThunk(key, options[key], {\n\t\t\t\t\tnoAlert: true,\n\t\t\t\t});\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst optionsEpic = combineEpics(localStorageEpic, optionsInitEpic);\n\nexport { optionsEpic };\n","export const PWA_SET_ACTIVE = 'PWA_SET_ACTIVE';\nexport const PWA_INSTALL_ACCEPTED = 'PWA_INSTALL_ACCEPTED';\nexport const PWA_INSTALL_DECLINED = 'PWA_INSTALL_DECLINED';\nexport const PWA_SET_CALLBACK = 'PWA_SET_CALLBACK';\nexport const PWA_SET_MODE = 'PWA_SET_MODE';\n","import { isFunction } from '@common/methods/isFunction';\nimport { actionSimple } from '../../modules/app/actionService';\nimport { handlePwaPrompt } from '../../modules/app/pwaService';\nimport {\n\tPWA_INSTALL_ACCEPTED,\n\tPWA_INSTALL_DECLINED,\n\tPWA_SET_ACTIVE,\n\tPWA_SET_CALLBACK,\n\tPWA_SET_MODE,\n} from './pwa.constants';\n\nexport const pwaSetActive = actionSimple(PWA_SET_ACTIVE);\n\nexport const pwaSetCallback = actionSimple(PWA_SET_CALLBACK);\n\nexport const pwaSetMode = actionSimple(PWA_SET_MODE);\n\nexport const pwaInstallAccepted = actionSimple(PWA_INSTALL_ACCEPTED);\n\nexport const pwaInstallDeclined = actionSimple(PWA_INSTALL_DECLINED);\n\nconst onActive = (dispatch) => {\n\treturn (onClick) => {\n\t\tif (!isFunction(onClick)) {\n\t\t\treturn;\n\t\t}\n\t\tconst onAccept = () => dispatch(pwaInstallAccepted());\n\t\tconst onDecline = () => dispatch(pwaInstallDeclined());\n\t\tdispatch([pwaSetCallback(() => onClick(onAccept, onDecline))]);\n\t};\n};\n\nconst onLoad = (dispatch) => {\n\treturn (pwaMode) => {\n\t\tif (!pwaMode) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(pwaSetMode(pwaMode));\n\t};\n};\n\nconst onInstall = (dispatch) => {\n\treturn () => dispatch(pwaInstallAccepted());\n};\n\nexport const pwaInit = () => {\n\treturn (dispatch) => {\n\t\thandlePwaPrompt(onActive(dispatch), onLoad(dispatch), onInstall(dispatch));\n\t};\n};\n","export const initPwaServiceWorker = () => {\n\t// Register service worker to control making site work offline\n\tif (process.browser) {\n\t\tif ('serviceWorker' in navigator) {\n\t\t\tnavigator.serviceWorker\n\t\t\t\t.register('/service-worker.js', { scope: '/' })\n\t\t\t\t.then((registration) => {\n\t\t\t\t\tconsole.log('Service Worker registered successfully.', registration);\n\t\t\t\t\t// registration.pushManager.subscribe({userVisibleOnly: true});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error('Service Worker registration failed:', error);\n\t\t\t\t});\n\t\t}\n\t}\n};\n\nexport const handlePwaPrompt = (onActive, onLoad, onInstall) => {\n\tif (process.browser) {\n\t\tlet deferredPrompt;\n\n\t\tif ('onappinstalled' in window) {\n\t\t\t// Code to handle install event\n\t\t\twindow.addEventListener('appinstalled', () => {\n\t\t\t\t// Log install to analytics\n\t\t\t\tonInstall();\n\t\t\t});\n\t\t}\n\n\t\t// Code to detect PWA mode\n\t\twindow.addEventListener('DOMContentLoaded', () => {\n\t\t\tlet pwaMode = false;\n\t\t\tif (navigator.standalone) {\n\t\t\t\tpwaMode = 'standalone-ios';\n\t\t\t}\n\t\t\tif (window.matchMedia('(display-mode: standalone)').matches) {\n\t\t\t\tpwaMode = 'standalone';\n\t\t\t}\n\t\t\t// Log launch display mode to analytics\n\t\t\tconsole.log('DISPLAY_MODE_LAUNCH:', pwaMode);\n\t\t\tonLoad(pwaMode);\n\t\t});\n\n\t\tif ('onbeforeinstallprompt' in window) {\n\t\t\t// Code to handle install prompt on desktop\n\t\t\twindow.addEventListener('beforeinstallprompt', (e) => {\n\t\t\t\t// Prevent Chrome 67 and earlier from automatically showing the prompt\n\t\t\t\tconsole.log('beforeinstallprompt', e);\n\t\t\t\te.preventDefault();\n\t\t\t\t// Stash the event so it can be triggered later.\n\t\t\t\tdeferredPrompt = e;\n\t\t\t\t// Update UI to notify the user they can add to home screen\n\t\t\t\tonActive((onAccept, onDecline) => {\n\t\t\t\t\tonInstall = onAccept;\n\t\t\t\t\t// Show the prompt\n\t\t\t\t\tdeferredPrompt.prompt();\n\t\t\t\t\t// Wait for the user to respond to the prompt\n\t\t\t\t\tdeferredPrompt.userChoice.then((choiceResult) => {\n\t\t\t\t\t\tif (choiceResult.outcome === 'accepted') {\n\t\t\t\t\t\t\tconsole.log('User accepted the A2HS prompt');\n\t\t\t\t\t\t\tonAccept();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log('User dismissed the A2HS prompt');\n\t\t\t\t\t\t\tonDecline();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdeferredPrompt = null;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { epic } from '../../modules/app/epicService';\nimport {\n\tPWA_INSTALL_ACCEPTED,\n\tPWA_INSTALL_DECLINED,\n\tPWA_SET_CALLBACK,\n} from './pwa.constants';\nimport { pwaSetActive, pwaSetCallback } from './pwa.actions';\n\nconst installEpic = epic('installEpic', {\n\tactions: (ofType) => ofType(PWA_INSTALL_DECLINED, PWA_INSTALL_ACCEPTED),\n\tcallback: () => {\n\t\treturn of(pwaSetCallback(false));\n\t},\n});\n\nconst activeEpic = epic('activeEpic', {\n\tactions: (ofType) => ofType(PWA_SET_CALLBACK),\n\tcallback: ({ action }) => {\n\t\treturn of(pwaSetActive(!!action.payload));\n\t},\n});\n\nconst pwaEpic = combineEpics(installEpic, activeEpic);\n\nexport { pwaEpic };\n","import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { epic } from '../../modules/app/epicService';\nimport {\n\tREGISTRY_EPIC_INJECTED,\n\tREGISTRY_EPIC_REJECTED,\n\tREGISTRY_PACKAGE_INJECTED,\n\tREGISTRY_PACKAGE_REJECTED,\n\tREGISTRY_REDUCER_INJECTED,\n\tREGISTRY_REDUCER_REJECTED,\n} from './registry.constants';\n\nconst packageRejectedEpic = epic('packageRejectedEpic', {\n\tactions: (ofType) =>\n\t\tofType(REGISTRY_EPIC_REJECTED, REGISTRY_REDUCER_REJECTED),\n\tcallback: ({ store$, action }) => {\n\t\tconst packageData = store$.value.registry.packages[action.payload.package];\n\t\tconst isRejected = Object.keys(packageData).filter(\n\t\t\t(module) => !packageData[module],\n\t\t).length;\n\t\tif (isRejected) {\n\t\t\treturn of({\n\t\t\t\ttype: REGISTRY_PACKAGE_REJECTED(action.payload.package.toUpperCase()),\n\t\t\t});\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst packageInjectedEpic = epic('packageInjectedEpic', {\n\tactions: (ofType) =>\n\t\tofType(REGISTRY_EPIC_INJECTED, REGISTRY_REDUCER_INJECTED),\n\tcallback: ({ store$, action }) => {\n\t\tconst packageData = store$.value.registry.packages[action.payload.package];\n\t\tconst isInjected = !Object.keys(packageData).filter(\n\t\t\t(module) => !packageData[module],\n\t\t).length;\n\t\tif (isInjected) {\n\t\t\treturn of({\n\t\t\t\ttype: REGISTRY_PACKAGE_INJECTED(action.payload.package.toUpperCase()),\n\t\t\t});\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst registryEpic = combineEpics(packageRejectedEpic, packageInjectedEpic);\n\nexport { registryEpic };\n","import { combineEpics } from 'redux-observable';\nimport { BehaviorSubject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { vipEpic } from '@modules/vip/store/vip.epic';\nimport { balanceEpic } from '@modules/balance/store/balance.epic';\nimport { supportEpic } from '@modules/support/store/support.epic';\nimport { appEpic } from '../app/app.epic';\nimport { userEpic } from '../user/user.epic';\nimport { confirmEpic } from '../confirm/confirm.epic';\nimport { transactionsEpic } from '../transactions/transactions.epic';\nimport { twoFactorAuthenticationEpic } from '../twoFactorAuthentication/twoFactorAuthentication.epic';\nimport { globalStatisticsEpic } from '../globalStatistics/globalStatistics.epic';\nimport { formsEpic } from '../forms/forms.epic';\nimport { notificationEpic } from '../notification/notification.epic';\nimport { affiliateEpic } from '../affiliate/affiliate.epic';\nimport { faucetEpic } from '../faucet/faucet.epic';\nimport { tipEpic } from '../tip/tip.epic';\nimport { websocketEpic } from '../websocket/websocket.epic';\nimport { gtmEpic } from '../gtm/gtm.epic';\nimport { alertsEpic } from '../alerts/alerts.epic';\nimport { rainEpic } from '../rain/rain.epic';\nimport { vaultEpic } from '../vault/vault.epic';\nimport { privateMessagesEpic } from '../privateMessages/privateMessages.epic';\nimport { friendsEpic } from '../friends/friends.epic';\nimport { preferencesEpic } from '../preferences/preferences.epic';\nimport { onesignalEpic } from '../onesignal/onesignal.epic';\nimport { converterEpic } from '../converter/converter.epic';\nimport { fetchEpic } from '../fetch/fetch.epic';\nimport { optionsEpic } from '../options/options.epic';\nimport { pwaEpic } from '../pwa/pwa.epic';\nimport { registryEpic } from '../registry/registry.epic';\n\nexport const epic$ = new BehaviorSubject(\n\tcombineEpics(\n\t\tappEpic,\n\t\tuserEpic,\n\t\tconfirmEpic,\n\t\ttransactionsEpic,\n\t\ttwoFactorAuthenticationEpic,\n\t\tglobalStatisticsEpic,\n\t\tformsEpic,\n\t\tnotificationEpic,\n\t\tfaucetEpic,\n\t\taffiliateEpic,\n\t\ttipEpic,\n\t\twebsocketEpic,\n\t\tgtmEpic,\n\t\talertsEpic,\n\t\tvipEpic,\n\t\trainEpic,\n\t\tvaultEpic,\n\t\tprivateMessagesEpic,\n\t\tfriendsEpic,\n\t\tpreferencesEpic,\n\t\tonesignalEpic,\n\t\tconverterEpic,\n\t\tbalanceEpic,\n\t\tfetchEpic,\n\t\toptionsEpic,\n\t\tsupportEpic,\n\t\tpwaEpic,\n\t\tregistryEpic,\n\t),\n);\n\nexport const rootEpic = (action$, store$) => {\n\treturn epic$.pipe(\n\t\tmergeMap((epic) => {\n\t\t\treturn epic(action$, store$);\n\t\t}),\n\t);\n};\n","import { combineReducers } from 'redux';\nimport { HYDRATE } from 'next-redux-wrapper';\nimport { epic$ } from './root/root.epic';\n\nexport const createEpicManager = () => {\n\t// An array which is used to delete state keys when reducers are removed\n\tlet asyncEpics = [];\n\n\treturn {\n\t\t// Adds a new reducer with the specified key\n\t\tadd: (key, epic) => {\n\t\t\tif (!key || asyncEpics.indexOf(key) > -1) {\n\t\t\t\t// console.error('Epic already exist', key);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tasyncEpics.push(key);\n\t\t\tepic$.next(epic);\n\t\t\treturn true;\n\t\t},\n\t\t// NOT POSSIBLE TO REMOVE EPIC IF ALREADY CREATED - https://redux-observable.js.org/docs/recipes/HotModuleReplacement.html\n\t\t// remove: (key, epic, dispatch) => {\n\t\t// \tconsole.log('removeEpic', {\n\t\t// \t\tkey,\n\t\t// \t\tepic,\n\t\t// \t\tdispatch,\n\t\t// \t});\n\t\t// },\n\t};\n};\n\nexport const createReducerManager = (initialReducers) => {\n\t// Create an object which maps keys to reducers\n\tconst reducers = {\n\t\t...initialReducers,\n\t};\n\n\t// Create the initial combinedReducer\n\tlet combinedReducer = combineReducers(reducers);\n\n\t// An array which is used to delete state keys when reducers are removed\n\tlet keysToRemove = [];\n\n\treturn {\n\t\tgetReducerMap: () => reducers,\n\n\t\t// The root reducer function exposed by this object\n\t\t// This will be passed to the store\n\t\treduce: (state, action) => {\n\t\t\t// If any reducers have been removed, clean up their state first\n\t\t\t// console.log('reduce', {state, action});\n\n\t\t\tif (keysToRemove.length > 0) {\n\t\t\t\tstate = {\n\t\t\t\t\t...state,\n\t\t\t\t};\n\t\t\t\tfor (let key of keysToRemove) {\n\t\t\t\t\tdelete state[key];\n\t\t\t\t}\n\t\t\t\tkeysToRemove = [];\n\t\t\t}\n\n\t\t\tif (action.type === HYDRATE) {\n\t\t\t\tconst nextState = {\n\t\t\t\t\t...state, // use previous state\n\t\t\t\t\t...(state.app.initialized ? {} : action.payload), // apply delta from hydration\n\t\t\t\t};\n\t\t\t\tif (typeof window !== 'undefined' && state?.router) {\n\t\t\t\t\t// preserve router value on client side navigation\n\t\t\t\t\tnextState.router = state.router;\n\t\t\t\t}\n\t\t\t\treturn nextState;\n\t\t\t} else {\n\t\t\t\t// Delegate to the combined reducer\n\t\t\t\treturn combinedReducer(state, action);\n\t\t\t}\n\t\t},\n\n\t\t// Adds a new reducer with the specified key\n\t\tadd: (key, reducer) => {\n\t\t\tif (!key || reducers[key]) {\n\t\t\t\t// console.error('Reducer already exist', key);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Add the reducer to the reducer mapping\n\t\t\treducers[key] = reducer;\n\n\t\t\t// Generate a new combined reducer\n\t\t\tcombinedReducer = combineReducers(reducers);\n\t\t\treturn true;\n\t\t},\n\n\t\t// Removes a reducer with the specified key\n\t\tremove: (key) => {\n\t\t\tif (!key || !reducers[key]) {\n\t\t\t\t// console.error('Reducer does not exist', key);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Remove it from the reducer mapping\n\t\t\tdelete reducers[key];\n\n\t\t\t// Add the key to the list of keys to clean up\n\t\t\tkeysToRemove.push(key);\n\n\t\t\t// Generate a new combined reducer\n\t\t\tcombinedReducer = combineReducers(reducers);\n\t\t\treturn true;\n\t\t},\n\t};\n};\n","import Redux, { createStore as _createStore } from 'redux';\nimport { createEpicManager, createReducerManager } from './storeManagers';\n\nexport let reducerManager = null;\nexport let epicManager = null;\n\nexport const createStore = (\n\tstaticReducers: unknown,\n\tinitialState = {},\n\tmiddleware: Redux.StoreEnhancer,\n): Redux.Store => {\n\treducerManager = createReducerManager(staticReducers);\n\tepicManager = createEpicManager();\n\treturn _createStore(reducerManager.reduce, initialState, middleware);\n};\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;","/** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\nvar SubscribeOnObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) {\n delayTime = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!isNumeric(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) {\n delay = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable));\nexport { SubscribeOnObservable };\n//# sourceMappingURL=SubscribeOnObservable.js.map\n","/** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */\nimport { SubscribeOnObservable } from '../observable/SubscribeOnObservable';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nvar SubscribeOnOperator = /*@__PURE__*/ (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Observable, of as _of, from as _from } from 'rxjs';\nimport { ofType as _ofType } from './operators';\n\nexport var ActionsObservable = function (_Observable) {\n _inherits(ActionsObservable, _Observable);\n\n _createClass(ActionsObservable, null, [{\n key: 'of',\n value: function of() {\n return new this(_of.apply(undefined, arguments));\n }\n }, {\n key: 'from',\n value: function from(actions, scheduler) {\n return new this(_from(actions, scheduler));\n }\n }]);\n\n function ActionsObservable(actionsSubject) {\n _classCallCheck(this, ActionsObservable);\n\n var _this = _possibleConstructorReturn(this, (ActionsObservable.__proto__ || Object.getPrototypeOf(ActionsObservable)).call(this));\n\n _this.source = actionsSubject;\n return _this;\n }\n\n _createClass(ActionsObservable, [{\n key: 'lift',\n value: function lift(operator) {\n var observable = new ActionsObservable(this);\n observable.operator = operator;\n return observable;\n }\n }, {\n key: 'ofType',\n value: function ofType() {\n return _ofType.apply(undefined, arguments)(this);\n }\n }]);\n\n return ActionsObservable;\n}(Observable);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Observable, Subject } from 'rxjs';\n\nexport var StateObservable = function (_Observable) {\n _inherits(StateObservable, _Observable);\n\n function StateObservable(stateSubject, initialState) {\n _classCallCheck(this, StateObservable);\n\n var _this = _possibleConstructorReturn(this, (StateObservable.__proto__ || Object.getPrototypeOf(StateObservable)).call(this, function (subscriber) {\n var subscription = _this.__notifier.subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(_this.value);\n }\n return subscription;\n }));\n\n _this.value = initialState;\n _this.__notifier = new Subject();\n _this.__subscription = stateSubject.subscribe(function (value) {\n // We only want to update state$ if it has actually changed since\n // redux requires reducers use immutability patterns.\n // This is basically what distinctUntilChanged() does but it's so simple\n // we don't need to pull that code in\n if (value !== _this.value) {\n _this.value = value;\n _this.__notifier.next(value);\n }\n });\n return _this;\n }\n\n return StateObservable;\n}(Observable);","import { createLogger } from 'redux-logger';\n\nconst logger = createLogger({\n\tcollapsed: true,\n});\n\nexport { logger };\n","import isPlainObject from 'lodash.isplainobject';\nimport { epicManager, reducerManager } from '../create.store';\nimport { second } from '../../modules/app/time';\nimport {\n\tREGISTRY_EPIC_INJECT,\n\tREGISTRY_EPIC_REJECT,\n\tREGISTRY_REDUCER_INJECT,\n\tREGISTRY_REDUCER_REJECT,\n} from './registry.constants';\nimport {\n\tregistryEpicInjected,\n\tregistryEpicRejected,\n\tregistryReducerInjected,\n\tregistryReducerRejected,\n} from './registry.actions';\n\nconst REJECT_TIMEOUT = 5 * second;\n\nconst injectedCounter = {};\n\nconst rejectTimouts = {};\n\nconst handle = (\n\taction,\n\tdispatch,\n\tinjectConst,\n\trejectConst,\n\tinjectedAction,\n\trejectedAction,\n\tmanager,\n) => {\n\tif (\n\t\tisPlainObject(action) &&\n\t\taction.type &&\n\t\t[injectConst, rejectConst].indexOf(action.type) > -1\n\t) {\n\t\tif (action.payload) {\n\t\t\tconst isAdding = action.type === injectConst;\n\t\t\tconst managerFunc = isAdding ? manager.add : manager.remove;\n\t\t\tconst actionFunc = isAdding ? injectedAction : rejectedAction;\n\t\t\tconst id = `${rejectConst}_${action.payload.key}`;\n\n\t\t\t// console.log(action.type, {\n\t\t\t// \taction,\n\t\t\t// \tmanager,\n\t\t\t// \tid,\n\t\t\t// \tinjectedCounter: injectedCounter[id],\n\t\t\t// \trejectTimouts,\n\t\t\t// });\n\n\t\t\tconst callback = () => {\n\t\t\t\tconst finnished =\n\t\t\t\t\tmanagerFunc &&\n\t\t\t\t\tmanagerFunc(action.payload.key, action.payload.module, dispatch);\n\t\t\t\tif (finnished) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tactionFunc({\n\t\t\t\t\t\t\tkey: action.payload.key,\n\t\t\t\t\t\t\tpackage: action.payload.package,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (rejectTimouts[id]) {\n\t\t\t\tclearTimeout(rejectTimouts[id]);\n\t\t\t\trejectTimouts[id] = null;\n\t\t\t}\n\t\t\tif (!isAdding) {\n\t\t\t\tinjectedCounter[id] = injectedCounter[id] - 1 || 0;\n\t\t\t\tif (!injectedCounter[id]) {\n\t\t\t\t\tdelete injectedCounter[id];\n\t\t\t\t\trejectTimouts[id] = setTimeout(() => {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}, REJECT_TIMEOUT);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinjectedCounter[id] = injectedCounter[id] ? injectedCounter[id] + 1 : 1;\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t\t// console.log('handleRegistry', {\n\t\t\t// \taction: { ...action },\n\t\t\t// \tmanager,\n\t\t\t// \tisAdding,\n\t\t\t// \tmanagerFunc,\n\t\t\t// \tactionFunc,\n\t\t\t// \tid,\n\t\t\t// \tinjectedCounter,\n\t\t\t// \trejectTimouts: { ...rejectTimouts },\n\t\t\t// });\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const registryMiddleware = () => {\n\treturn (store$) => (next) => (action) => {\n\t\tif (!action?.type) {\n\t\t\tconsole.trace();\n\t\t\tthrow new Error('registryMiddleware - Missing type in action');\n\t\t}\n\t\tif (\n\t\t\thandle(\n\t\t\t\taction,\n\t\t\t\tstore$.dispatch,\n\t\t\t\tREGISTRY_REDUCER_INJECT,\n\t\t\t\tREGISTRY_REDUCER_REJECT,\n\t\t\t\tregistryReducerInjected,\n\t\t\t\tregistryReducerRejected,\n\t\t\t\treducerManager,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\thandle(\n\t\t\t\taction,\n\t\t\t\tstore$.dispatch,\n\t\t\t\tREGISTRY_EPIC_INJECT,\n\t\t\t\tREGISTRY_EPIC_REJECT,\n\t\t\t\tregistryEpicInjected,\n\t\t\t\tregistryEpicRejected,\n\t\t\t\tepicManager,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\treturn next(action);\n\t};\n};\n","import { applyMiddleware } from 'redux';\nimport { batchedSubscribe } from 'redux-batched-subscribe';\nimport debounce from 'lodash.debounce';\nimport multi from 'redux-multi';\nimport thunk from 'redux-thunk';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport { createEpicMiddleware } from 'redux-observable';\nimport { createRouterMiddleware } from 'connected-next-router';\nimport { config } from '../config';\nimport { logger } from './logger';\nimport { rootEpic } from './root/root.epic';\nimport { registryMiddleware } from './registry/registry.middleware';\n\nconst epicMiddleware = createEpicMiddleware();\n\nconst enhancers = [];\nconst middlewares = [\n\tmulti,\n\tthunk,\n\tregistryMiddleware(),\n\tcreateRouterMiddleware(),\n];\n\n// NEXT_CONFIG.DEV is a global defined by webpack\n// when we work in NEXT_CONFIG.DEV environment\nif (config.logger && process.browser) {\n\tmiddlewares.push(logger);\n}\n\nif (process.browser) {\n\tmiddlewares.unshift(epicMiddleware);\n}\n\nexport const middleware = () => {\n\treturn composeWithDevTools(\n\t\tapplyMiddleware(...middlewares),\n\t\t...enhancers,\n\t\tbatchedSubscribe(\n\t\t\tdebounce((notify) => {\n\t\t\t\tif (config.logger) {\n\t\t\t\t\tconsole.log('------------');\n\t\t\t\t}\n\t\t\t\tnotify();\n\t\t\t}),\n\t\t),\n\t);\n};\n\nexport const runEpic = () => {\n\treturn epicMiddleware.run(rootEpic);\n};\n","import { Subject, from, queueScheduler } from 'rxjs';\nimport { map, mergeMap, observeOn, subscribeOn } from 'rxjs/operators';\nimport { ActionsObservable } from './ActionsObservable';\nimport { StateObservable } from './StateObservable';\nimport { warn } from './utils/console';\n\nexport function createEpicMiddleware() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // This isn't great. RxJS doesn't publicly export the constructor for\n // QueueScheduler nor QueueAction, so we reach in. We need to do this because\n // we don't want our internal queuing mechanism to be on the same queue as any\n // other RxJS code outside of redux-observable internals.\n var QueueScheduler = queueScheduler.constructor;\n var uniqueQueueScheduler = new QueueScheduler(queueScheduler.SchedulerAction);\n\n if (process.env.NODE_ENV !== 'production' && typeof options === 'function') {\n throw new TypeError('Providing your root Epic to `createEpicMiddleware(rootEpic)` is no longer supported, instead use `epicMiddleware.run(rootEpic)`\\n\\nLearn more: https://redux-observable.js.org/MIGRATION.html#setting-up-the-middleware');\n }\n\n var epic$ = new Subject();\n var store = void 0;\n\n var epicMiddleware = function epicMiddleware(_store) {\n if (process.env.NODE_ENV !== 'production' && store) {\n // https://github.com/redux-observable/redux-observable/issues/389\n warn('this middleware is already associated with a store. createEpicMiddleware should be called for every store.\\n\\nLearn more: https://goo.gl/2GQ7Da');\n }\n store = _store;\n var actionSubject$ = new Subject().pipe(observeOn(uniqueQueueScheduler));\n var stateSubject$ = new Subject().pipe(observeOn(uniqueQueueScheduler));\n var action$ = new ActionsObservable(actionSubject$);\n var state$ = new StateObservable(stateSubject$, store.getState());\n\n var result$ = epic$.pipe(map(function (epic) {\n var output$ = 'dependencies' in options ? epic(action$, state$, options.dependencies) : epic(action$, state$);\n\n if (!output$) {\n throw new TypeError('Your root Epic \"' + (epic.name || '<anonymous>') + '\" does not return a stream. Double check you\\'re not missing a return statement!');\n }\n\n return output$;\n }), mergeMap(function (output$) {\n return from(output$).pipe(subscribeOn(uniqueQueueScheduler), observeOn(uniqueQueueScheduler));\n }));\n\n result$.subscribe(store.dispatch);\n\n return function (next) {\n return function (action) {\n // Downstream middleware gets the action first,\n // which includes their reducers, so state is\n // updated before epics receive the action\n var result = next(action);\n\n // It's important to update the state$ before we emit\n // the action because otherwise it would be stale\n stateSubject$.next(store.getState());\n actionSubject$.next(action);\n\n return result;\n };\n };\n };\n\n epicMiddleware.run = function (rootEpic) {\n if (process.env.NODE_ENV !== 'production' && !store) {\n warn('epicMiddleware.run(rootEpic) called before the middleware has been setup by redux. Provide the epicMiddleware instance to createStore() first.');\n }\n epic$.next(rootEpic);\n };\n\n return epicMiddleware;\n}","import { combineReducers } from 'redux';\nimport { statusSlice } from './slices/status.slice';\nimport { levelSlice } from './slices/level.slice';\nimport { loadedSlice } from './slices/loaded.slice';\nimport { levelsSlice } from './slices/levels.slice';\n\nconst vipReducer = combineReducers({\n\tstatus: statusSlice.reducer,\n\tlevels: levelsSlice.reducer,\n\tlevel: levelSlice.reducer,\n\tloaded: loadedSlice.reducer,\n});\n\nexport { vipReducer };\n","import Redux, { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '@legacyApp/client/store/user/user.constants';\nimport { BalancesArray } from '@legacyApp/types/balance/BalancesArray';\nimport { Balances } from '@legacyApp/types/balance/Balances';\nimport {\n\tcurrenciesSettings,\n\tDEFAULT_CURRENCY,\n} from '@common/controllers/currency/currenciesSettings';\nimport {\n\tBALANCE_SET_CONVERTED,\n\tBalanceConvertedCurrencies,\n\tSET_BALANCES_ARRAY,\n\tUPDATE_BALANCE,\n} from './balance.constants';\n\nexport interface BalanceReducerType {\n\tbalancesArray: BalancesArray;\n\tbalances: Balances;\n\tbalanceConverted?: BalanceConvertedCurrencies;\n}\n\nconst balancesArrayReducer = (\n\tstate: BalanceReducerType['balancesArray'] = [\n\t\t{ currency: DEFAULT_CURRENCY, amount: 0, amount_usd: 0 },\n\t],\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_BALANCES_ARRAY:\n\t\t\treturn action.payload.sort((a, b) =>\n\t\t\t\tcurrenciesSettings.sortCurrency(a.currency, b.currency),\n\t\t\t);\n\t\tcase RESET_USER_DATA:\n\t\t\treturn [];\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst balancesReducer = (\n\tstate: BalanceReducerType['balances'] = {\n\t\t[DEFAULT_CURRENCY]: 0,\n\t},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tlet newState;\n\tswitch (action.type) {\n\t\tcase UPDATE_BALANCE:\n\t\t\tnewState = {\n\t\t\t\t...state,\n\t\t\t};\n\t\t\tif (\n\t\t\t\ttypeof action.payload === 'object' &&\n\t\t\t\taction.payload.length !== undefined\n\t\t\t) {\n\t\t\t\taction.payload.forEach((el) => {\n\t\t\t\t\tnewState[el.currency] = el.amount;\n\t\t\t\t});\n\t\t\t} else if (typeof action.payload === 'object' && !action.payload.amount) {\n\t\t\t\tnewState = {\n\t\t\t\t\t...newState,\n\t\t\t\t\t...action.payload,\n\t\t\t\t};\n\t\t\t} else if (\n\t\t\t\ttypeof action.payload === 'object' &&\n\t\t\t\taction.payload.amount &&\n\t\t\t\taction.payload.currency\n\t\t\t) {\n\t\t\t\tnewState[action.payload.currency] = action.payload.amount;\n\t\t\t}\n\t\t\treturn newState;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn {};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst balanceConvertedReducer = (\n\tstate: BalanceReducerType['balanceConverted'] = null,\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase BALANCE_SET_CONVERTED:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst balanceReducer = combineReducers({\n\tbalancesArray: balancesArrayReducer,\n\tbalances: balancesReducer,\n\tbalanceConverted: balanceConvertedReducer,\n});\n\nexport { balanceReducer };\n","import { combineReducers } from 'redux';\nimport { openSlice } from '@modules/support/store/slices/open.slice';\nimport { unreadSlice } from '@modules/support/store/slices/unread.slice';\nimport { errorSlice } from '@modules/support/store/slices/error.slice';\n\nconst supportReducer = combineReducers({\n\topen: openSlice.reducer,\n\tunread: unreadSlice.reducer,\n\terror: errorSlice.reducer,\n});\n\nexport { supportReducer };\n","import { combineReducers } from 'redux';\nimport { getDeviceType } from '@common/methods/getDeviceType';\nimport { getTimestamp } from '../../modules/app/timeService';\nimport { getLocationData, saveLanguage } from '../../modules/app/appService';\nimport {\n\tsetReducer,\n\tstaticReducer,\n} from '../../modules/app/reducers/reducerService';\nimport {\n\tAPP_INITIALIZED,\n\tAPP_SET_CSRF,\n\tAPP_SET_SOURCE,\n\tMENU_HIDE,\n\tMENU_TOGGLE,\n\tSIDE_MENU_HIDE,\n\tSIDE_MENU_TOGGLE,\n\tSET_CONTENT_DEVICE_TYPE,\n\tSET_DEVICE_TYPE,\n\tSET_EXTENDED_ACCESS,\n\tSET_HEIGHT,\n\tSET_LANGUAGE,\n\tSET_LOCKED_VIEW,\n\tSET_MOBILE,\n\tSET_MOBILE_CHAT,\n\tSET_PATH,\n\tSET_VISIBLE,\n\tSET_WIDTH,\n\tTOGGLE_MAINTENANCE_MODE,\n} from './app.constants';\n\nconst menuVisibleReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase MENU_HIDE: {\n\t\t\treturn false;\n\t\t}\n\t\tcase MENU_TOGGLE: {\n\t\t\treturn action.bool === undefined ? !state : action.bool;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst sideMenuVisibleReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SIDE_MENU_HIDE: {\n\t\t\treturn false;\n\t\t}\n\t\tcase SIDE_MENU_TOGGLE: {\n\t\t\treturn action.bool === undefined ? !state : action.bool;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\n\nconst visibleReducer = (\n\tstate = true,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_VISIBLE: {\n\t\t\treturn action.bool;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst mobileReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_MOBILE: {\n\t\t\treturn action.bool;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst mobileChatReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_MOBILE_CHAT: {\n\t\t\treturn action.bool;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst pathReducer = (\n\tstate = '',\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_PATH: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst lockedViewReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tlet index = null;\n\tlet newState = null;\n\tswitch (action.type) {\n\t\tcase SET_LOCKED_VIEW: {\n\t\t\tif (action.id === 'all') {\n\t\t\t\treturn action.payload ? ['all'] : false;\n\t\t\t}\n\t\t\tif (action.payload) {\n\t\t\t\tif (state && state.length) {\n\t\t\t\t\tindex = state.indexOf(action.id);\n\t\t\t\t\tif (index > -1) {\n\t\t\t\t\t\treturn state;\n\t\t\t\t\t}\n\t\t\t\t\treturn [...state, action.id];\n\t\t\t\t}\n\t\t\t\treturn [action.id];\n\t\t\t}\n\t\t\tif (!state) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\tindex = state.indexOf(action.id);\n\t\t\tif (index === -1) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\tif (state.length === 1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tnewState = [...state];\n\t\t\tnewState.splice(index, 1);\n\t\t\treturn newState;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst firstTimestampReducer = (state = getTimestamp()) => state;\n\nconst widthReducer = (\n\tstate = 0,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_WIDTH: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst heightReducer = (\n\tstate = 0,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_HEIGHT: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst deviceTypeReducer = (\n\tstate = getDeviceType(),\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_DEVICE_TYPE: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst maintenanceModeReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TOGGLE_MAINTENANCE_MODE: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst initializedReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase APP_INITIALIZED: {\n\t\t\treturn true;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst languageReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_LANGUAGE: {\n\t\t\tsaveLanguage(action.payload);\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst contentDeviceTypeReducer = setReducer(\n\tgetDeviceType(),\n\tSET_CONTENT_DEVICE_TYPE,\n);\n\nconst extendedAccessReducer = setReducer(\n\tfalse,\n\tSET_EXTENDED_ACCESS,\n\t'extendedAccess',\n);\n\nconst locationReducer = staticReducer(getLocationData());\n\nconst csrfReducer = setReducer(false, APP_SET_CSRF);\n\nconst sourceReducer = setReducer(false, APP_SET_SOURCE);\n\nconst appReducer = combineReducers({\n\tinitialized: initializedReducer,\n\tmobile: mobileReducer,\n\tmobileChat: mobileChatReducer,\n\tvisible: visibleReducer,\n\tisMenuVisible: menuVisibleReducer,\n\tisSideMenuVisible: sideMenuVisibleReducer,\n\tpath: pathReducer,\n\tisViewLocked: lockedViewReducer,\n\tfirstTimestamp: firstTimestampReducer,\n\twidth: widthReducer,\n\theight: heightReducer,\n\tdeviceType: deviceTypeReducer,\n\tmaintenanceMode: maintenanceModeReducer,\n\tlanguage: languageReducer,\n\tcontentDeviceType: contentDeviceTypeReducer,\n\textendedAccess: extendedAccessReducer,\n\tlocation: locationReducer,\n\tcsrf: csrfReducer,\n\tsource: sourceReducer,\n});\n\nexport { appReducer };\n","import { combineReducers } from 'redux';\nimport { DEFAULT_CURRENCY } from '@common/controllers/currency/currenciesSettings';\nimport { saveActiveCurrency } from '../../modules/app/currencyService';\nimport {\n\tgetLastRegisterTimestampFromLocalStorage,\n\tsetLastRegisterTimestampToLocalStorage,\n} from '../../modules/app/userService';\nimport { setUserReducerOld } from '../../modules/app/reducers/reducerService';\nimport { APP_INITIALIZED } from '../app/app.constants';\nimport { checkToken, tokenService } from '../../modules/app/tokenService';\nimport {\n\tCLEAR_FIRST_LOGIN,\n\tREFRESH_USER_DATA,\n\tRESET_TOKEN,\n\tRESET_USER_DATA,\n\tSET_CURRENCY,\n\tSET_EMAIL,\n\tSET_FIRST_LOGIN,\n\tSET_HAS_AVAILABLE_BONUS_CODE,\n\tSET_JOINED_DATE,\n\tSET_LAST_REGISTER_TIMESTAMP,\n\tSET_SOCKET_PRIVATE_CHANNEL,\n\tSET_TOKEN,\n\tSET_USER_ADMIN,\n\tSET_USER_HIGH_ROLLER,\n\tSET_USER_ID,\n\tSET_USER_MODERATOR,\n\tSET_USER_RACE_BADGE,\n\tSET_USERNAME,\n\tUSER_HAS_EMAIL_TO_VERIFY,\n\tUSER_HAS_KYC_TO_VERIFY,\n\tUSER_HAS_PASSWORD_TO_SET,\n\tUSER_LOGGED,\n\tUSER_LOGGING,\n\tUSER_LOGOUT,\n\tUSER_NOT_LOGGED,\n\tUSER_SET_WITHDRAW_BLOCKED,\n\tUSER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n} from './user.constants';\n\nconst loginReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_LOGGED:\n\t\t\treturn action.isLogged;\n\t\tcase USER_LOGOUT:\n\t\t\treturn false;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst loggingReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_LOGGING:\n\t\t\treturn true;\n\t\tcase USER_LOGGED:\n\t\t\treturn false;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst loginErrorReducer = (\n\tstate = null,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_NOT_LOGGED: {\n\t\t\treturn action.message;\n\t\t}\n\t\tcase USER_LOGGED: {\n\t\t\treturn null;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst tokenReducer = (\n\tstate = {\n\t\tvalue: false,\n\t\texpire: false,\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_TOKEN:\n\t\t\ttokenService.set(action.data);\n\t\t\treturn checkToken(action.data);\n\t\tcase RESET_TOKEN:\n\t\t\ttokenService.set(false);\n\t\t\treturn checkToken(false);\n\t\tcase RESET_USER_DATA:\n\t\t\ttokenService.set(false);\n\t\t\treturn checkToken(false);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst nameReducer = (\n\tstate = '',\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USERNAME:\n\t\t\tif (window.__insp) {\n\t\t\t\twindow.__insp.push(['identify', action.name]);\n\t\t\t}\n\t\t\treturn action.name;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn '';\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst emailReducer = (\n\tstate = '',\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_EMAIL:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn '';\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst currencyReducer = (\n\tstate = DEFAULT_CURRENCY,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CURRENCY:\n\t\t\tsaveActiveCurrency(action.payload);\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn DEFAULT_CURRENCY;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst verifyEmailReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_HAS_EMAIL_TO_VERIFY:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst verifyKycReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_HAS_KYC_TO_VERIFY:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst setPasswordReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase USER_HAS_PASSWORD_TO_SET:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst firstLoginReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_FIRST_LOGIN:\n\t\t\treturn true;\n\t\tcase CLEAR_FIRST_LOGIN:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst socketChannelReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_SOCKET_PRIVATE_CHANNEL:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst joinedDateReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_JOINED_DATE:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst idReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USER_ID:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst adminReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USER_ADMIN:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst moderatorReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USER_MODERATOR:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst highRollerReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USER_HIGH_ROLLER:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst refreshUserDataInitializedReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase REFRESH_USER_DATA:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst raceBadgeReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_USER_RACE_BADGE:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst lastRegisterTimestampReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase APP_INITIALIZED: {\n\t\t\treturn getLastRegisterTimestampFromLocalStorage();\n\t\t}\n\t\tcase SET_LAST_REGISTER_TIMESTAMP:\n\t\t\tsetLastRegisterTimestampToLocalStorage(action.payload);\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst withdrawBlockedReducer = setUserReducerOld(\n\tfalse,\n\tUSER_SET_WITHDRAW_BLOCKED,\n);\n\nconst withdrawBlockedTimestampReducer = setUserReducerOld(\n\tnull,\n\tUSER_SET_WITHDRAW_BLOCKED_TIMESTAMP,\n);\n\nconst hasAvailableBonusCodeReducer = setUserReducerOld(\n\tnull,\n\tSET_HAS_AVAILABLE_BONUS_CODE,\n);\n\nconst userReducer = combineReducers({\n\tisLogged: loginReducer,\n\tisLogging: loggingReducer,\n\tisAdmin: adminReducer,\n\tisModerator: moderatorReducer,\n\tisHighRoller: highRollerReducer,\n\tloginError: loginErrorReducer,\n\ttoken: tokenReducer,\n\tname: nameReducer,\n\temail: emailReducer,\n\tactiveCurrency: currencyReducer,\n\thasEmailToVerify: verifyEmailReducer,\n\thasKycToVerify: verifyKycReducer,\n\tisFirstLogin: firstLoginReducer,\n\tsocketChannel: socketChannelReducer,\n\thasPasswordToSet: setPasswordReducer,\n\tjoinedDate: joinedDateReducer,\n\tid: idReducer,\n\trefreshUserDataInitialized: refreshUserDataInitializedReducer,\n\traceBadge: raceBadgeReducer,\n\tlastRegisterTimestamp: lastRegisterTimestampReducer,\n\twithdrawBlocked: withdrawBlockedReducer,\n\twithdrawBlockedTimestamp: withdrawBlockedTimestampReducer,\n\thasAvailableBonusCode: hasAvailableBonusCodeReducer,\n});\n\nexport { userReducer };\n","import { combineReducers } from 'redux';\nimport {\n\tCLEAR_CONFIRM,\n\tSET_CONFIRM,\n\tSET_CONFIRM_CALLBACK,\n\tSET_CONFIRM_CALLBACK_CANCEL,\n} from './confirm.constants';\n\nconst openReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn true;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst callbackReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.callback || false;\n\t\tcase SET_CONFIRM_CALLBACK:\n\t\t\treturn action.payload || false;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst questionReducer = (\n\tstate = '',\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.question || 'Are you sure?';\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn '';\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst dataReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.data || {};\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn {\n\t\t\t\tdata: {},\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst callbackCancelReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.callbackCancel || false;\n\t\tcase SET_CONFIRM_CALLBACK_CANCEL:\n\t\t\treturn action.payload;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst dataCancelReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.dataCancel || {};\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn {\n\t\t\t\tdata: {},\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst textReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.text || false;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn {\n\t\t\t\tdata: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst lockConfirmReducer = (\n\tstate = null,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.lockConfirm || null;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn null;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst disableCancelButtonReducer = (\n\tstate = null,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_CONFIRM:\n\t\t\treturn action.payload.disableCancelButton || null;\n\t\tcase CLEAR_CONFIRM:\n\t\t\treturn null;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst confirmReducer = combineReducers({\n\topen: openReducer,\n\tcallback: callbackReducer,\n\tquestion: questionReducer,\n\tdata: dataReducer,\n\tcallbackCancel: callbackCancelReducer,\n\tdataCancel: dataCancelReducer,\n\ttext: textReducer,\n\tdisableCancelButton: disableCancelButtonReducer,\n\tlockConfirm: lockConfirmReducer,\n});\n\nexport { confirmReducer };\n","import Redux, { combineReducers } from 'redux';\nimport { TABLE_ID, TableIdType } from '@modules/transactions/constants/TableId';\nimport { TransactionsMetaType } from '@modules/transactions/constants/TransactionsResponse.type';\nimport transactionService from '../../../../modules/transactions/transactionsService';\nimport { config } from '../../config';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport { transactionReducer } from '../../modules/app/reducers/reducerService';\nimport { TABLE_MOCKS } from '../../../mocks/tableMocks';\nimport { DIRECTION } from '../../modules/app/sortService';\nimport {\n\tNEW_BET,\n\tNEW_DEPOSIT,\n\tNEW_DEPOSIT_DETECTED,\n\tNEW_HIGH_ROLL,\n\tNEW_MY_BET,\n\tNEW_RESULT,\n\tPENDING_TRANSACTIONS,\n\tRESET_PENDING_TRANSACTIONS,\n\tRESET_TRANSACTIONS,\n\tSET_ALL_BETS,\n\tSET_HIGH_ROLLS,\n\tSET_NEW_MY_BETS,\n\tTRANSACTIONS_ACTIVE,\n\tTRANSACTIONS_FULFILLED,\n\tTRANSACTIONS_SET,\n\tTRANSACTIONS_SET_META,\n\tTRANSACTIONS_UPDATE,\n\tTRANSACTIONS_UPDATING,\n} from './transactions.constants';\n\nconst activeReducer = (\n\tstate = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_ACTIVE: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: action.bool,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst metaReducer = (\n\tstate: Partial<Record<TableIdType, TransactionsMetaType>> = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_SET_META: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: action.payload,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst pendingReducer = (\n\tstate = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase PENDING_TRANSACTIONS: {\n\t\t\tconst data = state[action.id] ? [...state[action.id]] : [];\n\t\t\tdata.push(action.data);\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: transactionService.sortTransactions(\n\t\t\t\t\tdata,\n\t\t\t\t\tDIRECTION.DESC,\n\t\t\t\t\tconfig.transactionsPaginationLength,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tcase RESET_PENDING_TRANSACTIONS: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: null,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst updateReducer = (\n\tstate = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_UPDATING: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: action.bool,\n\t\t\t};\n\t\t}\n\t\tcase RESET_TRANSACTIONS: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: false,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst fulfilledReducer = (\n\tstate = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_FULFILLED: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: action.bool,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst allBetsReducer = (\n\tstate = TABLE_MOCKS.allBets,\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase NEW_BET: {\n\t\t\tif (!action.payload.length && action.payload.hide) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn transactionService.addOnlyLastToList({\n\t\t\t\tlabel: TABLE_ID.allBets,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tlimit: config.transactionsPaginationLength,\n\t\t\t});\n\t\t}\n\t\tcase SET_ALL_BETS: {\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.allBets,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: [],\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tlimit: config.transactionsPaginationLength,\n\t\t\t});\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst highRollsReducer = (\n\tstate = [],\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase NEW_HIGH_ROLL: {\n\t\t\treturn transactionService.addOnlyLastToList({\n\t\t\t\tlabel: TABLE_ID.highRolls,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tlimit: config.transactionsPaginationLength,\n\t\t\t});\n\t\t}\n\t\tcase SET_HIGH_ROLLS: {\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.highRolls,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: [],\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tlimit: config.transactionsPaginationLength,\n\t\t\t});\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst myBetsReducer = (\n\tstate = [],\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase NEW_MY_BET: {\n\t\t\treturn transactionService.addElementToList({\n\t\t\t\tlabel: TABLE_ID.myBets,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tlimit: action.limit,\n\t\t\t\tdisableSort: true,\n\t\t\t});\n\t\t}\n\t\tcase SET_NEW_MY_BETS: {\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.myBets,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: [],\n\t\t\t});\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn [];\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst resultsReducer = (\n\tstate = {},\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tconst newState = {\n\t\t...state,\n\t};\n\tswitch (action.type) {\n\t\tcase NEW_RESULT: {\n\t\t\tif (!newState[action.payload.game]) {\n\t\t\t\tnewState[action.payload.game] = [];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t\t[action.payload.game]: transactionService.addElementToList({\n\t\t\t\t\tlabel: TABLE_ID.gameResults,\n\t\t\t\t\telement: action.payload.data,\n\t\t\t\t\tlist: newState[action.payload.game],\n\t\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\t\tlimit: config.transactionsPaginationLength,\n\t\t\t\t\tdisableSort: true,\n\t\t\t\t}),\n\t\t\t};\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn {};\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst depositHistoryReducer = (\n\tstate = [],\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_SET: {\n\t\t\tif (action.id !== TABLE_ID.depositHistory) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn transactionService.sortTransactions(\n\t\t\t\taction.payload.map((el) => ({\n\t\t\t\t\t...el,\n\t\t\t\t\tnew: false,\n\t\t\t\t})),\n\t\t\t\tDIRECTION.DESC,\n\t\t\t);\n\t\t}\n\t\tcase TRANSACTIONS_UPDATE: {\n\t\t\tif (action.id !== TABLE_ID.depositHistory) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.depositHistory,\n\t\t\t\telement: action.payload.map((el) => ({\n\t\t\t\t\t...el,\n\t\t\t\t\tnew: false,\n\t\t\t\t})),\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tkeys: transactionService.getTableCompareKeys(\n\t\t\t\t\tTABLE_ID.depositHistory,\n\t\t\t\t\tstate,\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\t\tcase NEW_DEPOSIT: {\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.depositHistory,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tkeys: transactionService.getTableCompareKeys(\n\t\t\t\t\tTABLE_ID.depositHistory,\n\t\t\t\t\tstate,\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\t\tcase NEW_DEPOSIT_DETECTED: {\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.depositHistory,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tkeys: transactionService.getTableCompareKeys(\n\t\t\t\t\tTABLE_ID.depositHistory,\n\t\t\t\t\tstate,\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn [];\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst withdrawHistoryReducer = (\n\tstate = [],\n\taction: Redux.AnyAction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TRANSACTIONS_SET: {\n\t\t\tif (action.id !== TABLE_ID.withdrawHistory) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn transactionService.sortTransactions(\n\t\t\t\taction.payload,\n\t\t\t\tDIRECTION.DESC,\n\t\t\t);\n\t\t}\n\t\tcase TRANSACTIONS_UPDATE: {\n\t\t\tif (action.id !== TABLE_ID.withdrawHistory) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn transactionService.addNewToList({\n\t\t\t\tlabel: TABLE_ID.withdrawHistory,\n\t\t\t\telement: action.payload,\n\t\t\t\tlist: state,\n\t\t\t\tdirection: DIRECTION.DESC,\n\t\t\t\tkeys: transactionService.getTableCompareKeys(\n\t\t\t\t\tTABLE_ID.withdrawHistory,\n\t\t\t\t\tstate,\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn [];\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst affiliateCampaignsReducer = transactionReducer(\n\tTABLE_ID.affiliateCampaigns,\n\ttrue,\n);\n\nconst affiliateAnalyticsReducer = transactionReducer(\n\tTABLE_ID.affiliateAnalytics,\n\ttrue,\n);\n\nconst affiliateFundsReducer = transactionReducer(TABLE_ID.affiliateFunds, true);\n\nconst affiliateCashoutHistoryReducer = transactionReducer(\n\tTABLE_ID.affiliateCashoutHistory,\n\ttrue,\n);\n\nconst otherTransactionsReducer = transactionReducer(\n\tTABLE_ID.otherTransactions,\n\ttrue,\n);\n\nconst vaultHistoryReducer = transactionReducer(TABLE_ID.vaultHistory, true);\n\nconst friendsIgnoredReducer = transactionReducer(TABLE_ID.friendsIgnored, true);\n\nconst sessionsReducer = transactionReducer(TABLE_ID.sessions, true);\n\nconst sessionHistoryReducer = transactionReducer(TABLE_ID.sessionHistory, true);\n\nconst transactionsReducer = combineReducers({\n\tactive: activeReducer,\n\tupdate: updateReducer,\n\tfulfilled: fulfilledReducer,\n\tpending: pendingReducer,\n\tallBets: allBetsReducer,\n\thighRolls: highRollsReducer,\n\tmyBets: myBetsReducer,\n\tdepositHistory: depositHistoryReducer,\n\twithdrawHistory: withdrawHistoryReducer,\n\tresults: resultsReducer,\n\taffiliateCampaigns: affiliateCampaignsReducer,\n\taffiliateAnalytics: affiliateAnalyticsReducer,\n\taffiliateFunds: affiliateFundsReducer,\n\totherTransactions: otherTransactionsReducer,\n\taffiliateCashoutHistory: affiliateCashoutHistoryReducer,\n\tvaultHistory: vaultHistoryReducer,\n\tfriendsIgnored: friendsIgnoredReducer,\n\tsessions: sessionsReducer,\n\tsessionHistory: sessionHistoryReducer,\n\tmeta: metaReducer,\n});\n\nexport { transactionsReducer };\n","import { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport {\n\tACTIVATE_2FA,\n\tSAVE_QRCODE,\n\tSAVE_SECRET,\n\tUNINSTALL_2FA,\n} from './twoFactorAuthentication.constants';\n\nconst isActiveReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase ACTIVATE_2FA:\n\t\t\treturn true;\n\t\tcase UNINSTALL_2FA:\n\t\t\treturn false;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst secretReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SAVE_SECRET:\n\t\t\treturn action.payload;\n\t\tcase UNINSTALL_2FA:\n\t\t\treturn false;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst qrcodeReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SAVE_QRCODE:\n\t\t\treturn action.payload;\n\t\tcase UNINSTALL_2FA:\n\t\t\treturn false;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst twoFactorAuthenticationReducer = combineReducers({\n\tisActive: isActiveReducer,\n\tsecret: secretReducer,\n\tqrCode: qrcodeReducer,\n});\n\nexport { twoFactorAuthenticationReducer };\n","import Redux from 'redux';\n\nexport const objectBoolReducer = (\n\tinit,\n\tTRUE_ACTION,\n\tFALSE_ACTION,\n\tcallback,\n) => {\n\treturn (\n\t\tstate = init,\n\t\taction: Redux.AnyAction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase TRUE_ACTION: {\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback(true, action.payload, state);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload]: true,\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase FALSE_ACTION: {\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback(false, action.payload, state);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[action.payload]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n};\n","import { combineReducers } from 'redux';\nimport { objectBoolReducer } from '../../modules/app/reducers/objectBoolReducer';\nimport {\n\tLOADER_GROUP_LOADED,\n\tLOADER_GROUP_LOADING,\n\tLOADER_GROUP_SET_DATA,\n\tLOADER_MODULE_LOADED,\n\tLOADER_MODULE_LOADING,\n} from './loader.constants';\n\nconst modulesReducer = objectBoolReducer(\n\t{},\n\tLOADER_MODULE_LOADING,\n\tLOADER_MODULE_LOADED,\n);\n\nconst groupsReducer = objectBoolReducer(\n\t{},\n\tLOADER_GROUP_LOADING,\n\tLOADER_GROUP_LOADED,\n\t(bool, payload, state) => {\n\t\tif (!payload.element || !payload.group) {\n\t\t\treturn state;\n\t\t}\n\t\tconst newState = {\n\t\t\t...state,\n\t\t};\n\t\tlet groupData = newState[payload.group];\n\t\tif (bool) {\n\t\t\tif (!groupData) {\n\t\t\t\tgroupData = [];\n\t\t\t}\n\t\t\tif (groupData.indexOf(payload.element) > -1) {\n\t\t\t\treturn newState;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t\t[payload.group]: [...groupData, payload.element],\n\t\t\t};\n\t\t}\n\t\tif (!groupData) {\n\t\t\treturn newState;\n\t\t}\n\t\tif (groupData.indexOf(payload.element) === -1) {\n\t\t\treturn newState;\n\t\t}\n\t\tgroupData = groupData.filter((el) => el !== payload.element);\n\t\tif (!groupData.length) {\n\t\t\treturn false;\n\t\t}\n\t\treturn {\n\t\t\t...newState,\n\t\t\t[payload.group]: [...groupData],\n\t\t};\n\t},\n);\n\nconst groupsDataReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tconst newState = {\n\t\t...state,\n\t};\n\tswitch (action.type) {\n\t\tcase LOADER_GROUP_SET_DATA: {\n\t\t\tif (!newState[action.payload.group]) {\n\t\t\t\tnewState[action.payload.group] = {};\n\t\t\t}\n\t\t\tif (action.payload.data.error || action.payload.data.timedOut) {\n\t\t\t\tnewState[action.payload.group][action.payload.element] = {\n\t\t\t\t\t...action.payload.data,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tif (newState[action.payload.group][action.payload.element]) {\n\t\t\t\t\tdelete newState[action.payload.group][action.payload.element];\n\t\t\t\t}\n\t\t\t\tif (!Object.keys(newState[action.payload.group]).length) {\n\t\t\t\t\tdelete newState[action.payload.group];\n\t\t\t\t}\n\t\t\t}\n\t\t\tconsole.log({\n\t\t\t\tnewState,\n\t\t\t\taction: {\n\t\t\t\t\t...action,\n\t\t\t\t},\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t};\n\t\t}\n\t\tcase LOADER_GROUP_LOADED: {\n\t\t\tif (!newState[action.payload.group]) {\n\t\t\t\treturn newState;\n\t\t\t}\n\t\t\tif (newState[action.payload.group][action.payload.element]) {\n\t\t\t\tdelete newState[action.payload.group][action.payload.element];\n\t\t\t}\n\t\t\tif (!Object.keys(newState[action.payload.group]).length) {\n\t\t\t\tdelete newState[action.payload.group];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...newState,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst loaderReducer = combineReducers({\n\tmodules: modulesReducer,\n\tgroups: groupsReducer,\n\tgroupsData: groupsDataReducer,\n});\n\nexport { loaderReducer };\n","import { combineReducers } from 'redux';\nimport { setReducer } from '@legacyApp/methods/store/setReducer';\nimport {\n\tGLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS,\n\tGLOBAL_STATS_SET_LAST_WEEK_WAGERED,\n\tSET_BETS_TOTAL,\n\tSET_LAST_HIGH_WIN,\n\tSET_ONLINE_USERS,\n\tSET_PRICE,\n\tSET_TIMESTAMP,\n\tSET_WON_LAST_24H,\n} from './globalStatistics.constants';\n\nconst priceReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_PRICE:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst onlineReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_ONLINE_USERS:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst betsCounterReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_BETS_TOTAL:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst wonLast24hReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_WON_LAST_24H:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst timestampReducer = (\n\tstate = {\n\t\tprice: false,\n\t\tonline: false,\n\t\tbetsCounter: false,\n\t\twonLast24h: false,\n\t\tlastHighWin: false,\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tlet newState = {};\n\tswitch (action.type) {\n\t\tcase SET_TIMESTAMP:\n\t\t\tif (!action.key) {\n\t\t\t\tObject.keys(state).forEach((key) => {\n\t\t\t\t\tnewState[key] = action.payload;\n\t\t\t\t});\n\t\t\t\treturn newState;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.key]: action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst lastHighWinReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_LAST_HIGH_WIN:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst lastWeekWageredReducer = setReducer(\n\t0,\n\tGLOBAL_STATS_SET_LAST_WEEK_WAGERED,\n);\n\nconst lastWeekRegistrationsReducer = setReducer(\n\t0,\n\tGLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS,\n);\n\nconst globalStatisticsReducer = combineReducers({\n\tprice: priceReducer,\n\tonline: onlineReducer,\n\tbetsCounter: betsCounterReducer,\n\twonLast24h: wonLast24hReducer,\n\tlastHighWin: lastHighWinReducer,\n\ttimestamp: timestampReducer,\n\tlastWeekWagered: lastWeekWageredReducer,\n\tlastWeekRegistrations: lastWeekRegistrationsReducer,\n});\n\nexport { globalStatisticsReducer };\n","import { combineReducers } from 'redux';\nimport { Risk } from '@modules/games/PlinkoGame/types';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport {\n\tFORM_VERIFICATION_SET_GAME,\n\tRESET_CAMPAIGN_FORM,\n\tRESET_PASSWORD_FORM,\n\tRESET_USERNAME_FORM,\n\tRESET_VERIFICATION_FORM,\n\tSET_CLIENT_SEED,\n\tSET_NONCE,\n\tSET_SERVER_SEED,\n\tUPDATE_CAMPAIGN_CODE,\n\tUPDATE_CAMPAIGN_NAME,\n\tUPDATE_FORM,\n\tUPDATE_PASSWORD_CONFIRM_VALUE,\n\tUPDATE_PASSWORD_VALIDATE,\n\tUPDATE_PASSWORD_VALUE,\n\tUPDATE_USERNAME_VALIDATE,\n\tUPDATE_USERNAME_VALUE,\n} from './forms.constants';\n\nconst passwordReducer = (\n\tstate = {\n\t\tvalue: '',\n\t\tconfirm: '',\n\t\tisValid: false,\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase UPDATE_FORM: {\n\t\t\tif (action.payload.section !== 'password') {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.field]: action.payload.value,\n\t\t\t};\n\t\t}\n\t\tcase UPDATE_PASSWORD_VALUE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tvalue: action.payload,\n\t\t\t};\n\t\tcase UPDATE_PASSWORD_CONFIRM_VALUE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tconfirm: action.payload,\n\t\t\t};\n\t\tcase UPDATE_PASSWORD_VALIDATE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.payload,\n\t\t\t};\n\t\tcase RESET_PASSWORD_FORM:\n\t\t\treturn {\n\t\t\t\tvalue: '',\n\t\t\t\tconfirm: '',\n\t\t\t\tisValid: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst campaignReducer = (\n\tstate = {\n\t\tname: '',\n\t\tcode: '',\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase UPDATE_FORM: {\n\t\t\tif (action.payload.section !== 'campaign') {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.field]: action.payload.value,\n\t\t\t};\n\t\t}\n\t\tcase UPDATE_CAMPAIGN_NAME:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tname: action.payload,\n\t\t\t};\n\t\tcase UPDATE_CAMPAIGN_CODE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcode: action.payload,\n\t\t\t};\n\t\tcase RESET_CAMPAIGN_FORM:\n\t\t\treturn {\n\t\t\t\tname: '',\n\t\t\t\tcode: '',\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst usernameReducer = (\n\tstate = {\n\t\tvalue: '',\n\t\tisValid: false,\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase UPDATE_FORM: {\n\t\t\tif (action.payload.section !== 'username') {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.field]: action.payload.value,\n\t\t\t};\n\t\t}\n\t\tcase UPDATE_USERNAME_VALUE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tvalue: action.payload,\n\t\t\t};\n\t\tcase UPDATE_USERNAME_VALIDATE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.payload,\n\t\t\t};\n\t\tcase RESET_USERNAME_FORM:\n\t\t\treturn {\n\t\t\t\tvalue: '',\n\t\t\t\tisValid: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst verificationReducer = (\n\tstate = {\n\t\tclient_seed: '',\n\t\tserver_seed: '',\n\t\tnonce: '',\n\t\tgame: GameType.DICE,\n\t\trows: 8,\n\t\trisk: Risk.MEDIUM,\n\t},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase UPDATE_FORM: {\n\t\t\tif (action.payload.section !== 'bet_verification') {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.field]: action.payload.value,\n\t\t\t};\n\t\t}\n\t\tcase SET_CLIENT_SEED:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tclient_seed: action.payload,\n\t\t\t};\n\t\tcase SET_SERVER_SEED:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tserver_seed: action.payload,\n\t\t\t};\n\t\tcase SET_NONCE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tnonce: action.payload,\n\t\t\t};\n\t\tcase FORM_VERIFICATION_SET_GAME:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tgame: action.payload,\n\t\t\t};\n\t\tcase RESET_VERIFICATION_FORM:\n\t\t\treturn {\n\t\t\t\tclient_seed: '',\n\t\t\t\tserver_seed: '',\n\t\t\t\tnonce: '',\n\t\t\t\tgame: state.game,\n\t\t\t\trows: 8,\n\t\t\t\trisk: Risk.MEDIUM,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst formsReducer = combineReducers({\n\tpassword: passwordReducer,\n\tusername: usernameReducer,\n\tbet_verification: verificationReducer,\n\tcampaign: campaignReducer,\n});\n\nexport { formsReducer };\n","import { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport {\n\tSET_FAUCET_DELAY_UNTIL,\n\tSET_FAUCET_REMAINING,\n} from './faucet.constants';\n\nconst remainingReducer = (\n\tstate = 0,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_FAUCET_REMAINING:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn 0;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst delayUntilReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_FAUCET_DELAY_UNTIL:\n\t\t\t// console.log('SET_FAUCET_DELAY_UNTIL', {\n\t\t\t// until: action.payload,\n\t\t\t// now: new Date().getTime(),\n\t\t\t// diff: action.payload - new Date().getTime(),\n\t\t\t// });\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst faucetReducer = combineReducers({\n\tremaining: remainingReducer,\n\tdelayUntil: delayUntilReducer,\n});\n\nexport { faucetReducer };\n","import { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport {\n\tNOTIFICATION_DISABLE,\n\tNOTIFICATION_ENABLE,\n\tSET_IS_ANY_NOTIFICATION,\n} from './notification.constants';\n\nconst dataReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase NOTIFICATION_ENABLE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: true,\n\t\t\t};\n\t\tcase NOTIFICATION_DISABLE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.id]: false,\n\t\t\t};\n\t\tcase RESET_USER_DATA:\n\t\t\treturn {};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst isAnyReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_IS_ANY_NOTIFICATION:\n\t\t\treturn action.payload;\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst notificationReducer = combineReducers({\n\tdata: dataReducer,\n\tisAny: isAnyReducer,\n});\n\nexport { notificationReducer };\n","import { combineReducers } from 'redux';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { RESET_USER_DATA } from '@legacyApp/client/store/user/user.constants';\nimport { APP_INITIALIZED } from '@legacyApp/client/store/app/app.constants';\nimport {\n\tSET_AFFILIATE_CODE,\n\tSET_AFFILIATE_UTM_SOURCE,\n} from '@legacyApp/client/store/affiliate/affiliate.constants';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nconst codeReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase APP_INITIALIZED: {\n\t\t\treturn cookieService.get(CookiesKeys.AFFILIATE_CODE) || false;\n\t\t}\n\t\tcase SET_AFFILIATE_CODE: {\n\t\t\taction.payload\n\t\t\t\t? cookieService.set(CookiesKeys.AFFILIATE_CODE, action.payload)\n\t\t\t\t: cookieService.clear(CookiesKeys.AFFILIATE_CODE);\n\t\t\treturn action.payload;\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn cookieService.get(CookiesKeys.AFFILIATE_CODE) || false;\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst utmSourceReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase APP_INITIALIZED: {\n\t\t\treturn cookieService.get(CookiesKeys.UTM_SOURCE) || false;\n\t\t}\n\t\tcase SET_AFFILIATE_UTM_SOURCE: {\n\t\t\taction.payload\n\t\t\t\t? cookieService.set(CookiesKeys.UTM_SOURCE, action.payload)\n\t\t\t\t: cookieService.clear(CookiesKeys.UTM_SOURCE);\n\t\t\treturn action.payload;\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn cookieService.get(CookiesKeys.UTM_SOURCE) || false;\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst affiliateReducer = combineReducers({\n\tcode: codeReducer,\n\tutmSource: utmSourceReducer,\n});\n\nexport { affiliateReducer };\n","import { combineReducers } from 'redux';\nimport {\n\tSET_SOCKET_CHANNEL,\n\tWEBSOCKET_SET_CONNECTION_STATE,\n} from './websocket.constants';\n\nconst channelsReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_SOCKET_CHANNEL:\n\t\t\tif (!action.data) {\n\t\t\t\tif (state[action.name]) {\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\t...state,\n\t\t\t\t\t};\n\t\t\t\t\tdelete data[action.name];\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.name]: action.data,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst connectionStateReducer = (\n\tstate = null,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase WEBSOCKET_SET_CONNECTION_STATE:\n\t\t\treturn action.payload;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst websocketReducer = combineReducers({\n\tchannels: channelsReducer,\n\tconnectionState: connectionStateReducer,\n});\n\nexport { websocketReducer };\n","import { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport {\n\tADD_PENDING_ALERT,\n\tDELETE_ALERT,\n\tSHOW_ALERT,\n\tTOGGLE_SERVER_SEED_ALERT,\n} from './alerts.constants';\n\nconst serverSeedReducer = (\n\tstate = false,\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase TOGGLE_SERVER_SEED_ALERT: {\n\t\t\tif (action.bool === undefined) {\n\t\t\t\taction.bool = !state;\n\t\t\t}\n\t\t\treturn action.bool;\n\t\t}\n\t\tcase RESET_USER_DATA:\n\t\t\treturn false;\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst listReducer = (\n\tstate = [],\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SHOW_ALERT:\n\t\t\tif (!action.message) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: action.alertType,\n\t\t\t\t\tmessage: action.message,\n\t\t\t\t\tid: action.id,\n\t\t\t\t},\n\t\t\t\t...state,\n\t\t\t];\n\t\tcase DELETE_ALERT:\n\t\t\tif (action.force) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn state.filter((el) => el.id !== action.id);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst pendingCloseReducer = (\n\tstate = [],\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase ADD_PENDING_ALERT:\n\t\t\treturn [...state, action.payload];\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst alertsReducer = combineReducers({\n\tserverSeed: serverSeedReducer,\n\tlist: listReducer,\n\tpendingClose: pendingCloseReducer,\n});\n\nexport { alertsReducer };\n","import { combineReducers } from 'redux';\nimport { SET_TIP_MIN_VALUES } from './tip.constants';\n\nconst minValueReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase SET_TIP_MIN_VALUES: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n};\n\nconst tipReducer = combineReducers({\n\tminValue: minValueReducer,\n});\n\nexport { tipReducer };\n","import { combineReducers } from 'redux';\nimport { SERVER_DATA_CLEAR } from './serverData.constants';\n\nconst dataReducer = (data = {}) => {\n\t// console.log('dataReducer', data);\n\treturn (\n\t\tstate = data,\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tswitch (action.type) {\n\t\t\tcase SERVER_DATA_CLEAR: {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n};\n\nconst serverDataReducer = (data) =>\n\tcombineReducers({\n\t\tdata: dataReducer(data),\n\t});\n\nexport { serverDataReducer };\n","import { combineReducers } from 'redux';\nimport { setReducer } from '@legacyApp/methods/store/setReducer';\nimport { VAULT_SET_BALANCE } from './vault.constants';\n\nconst balancesReducer = setReducer([], VAULT_SET_BALANCE);\n\nconst vaultReducer = combineReducers({\n\tbalances: balancesReducer,\n});\n\nexport { vaultReducer };\n","import { combineReducers } from 'redux';\nimport { setUserReducerOld } from '../../modules/app/reducers/reducerService';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport {\n\tPRIVATE_MESSAGES_CHANNEL_ID,\n\tPRIVATE_MESSAGES_CHANNEL_READ,\n\tPRIVATE_MESSAGES_SET_ACTIVE_LIST,\n\tPRIVATE_MESSAGES_SET_HISTORY,\n\tPRIVATE_MESSAGES_SET_STREAM,\n\tPRIVATE_MESSAGES_SET_UNREAD,\n} from './privateMessages.constants';\n\nconst historyReducer = setUserReducerOld([], PRIVATE_MESSAGES_SET_HISTORY);\nconst activeListReducer = setUserReducerOld(\n\t[],\n\tPRIVATE_MESSAGES_SET_ACTIVE_LIST,\n);\nconst channelIdReducer = setUserReducerOld(false, PRIVATE_MESSAGES_CHANNEL_ID);\n\nconst streamReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase PRIVATE_MESSAGES_SET_STREAM:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.channel]: action.data,\n\t\t\t};\n\t\tcase RESET_USER_DATA: {\n\t\t\treturn {};\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst unreadReducer = (\n\tstate = {},\n\taction = {\n\t\ttype: '',\n\t},\n) => {\n\tswitch (action.type) {\n\t\tcase PRIVATE_MESSAGES_SET_UNREAD:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.channel]: action.nonce || true,\n\t\t\t};\n\t\tcase PRIVATE_MESSAGES_CHANNEL_READ:\n\t\t\tif (state[action.channel]) {\n\t\t\t\tdelete state[action.channel];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t};\n\t\tcase RESET_USER_DATA: {\n\t\t\treturn {};\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst privateMessagesReducer = combineReducers({\n\thistory: historyReducer,\n\tactiveList: activeListReducer,\n\tstream: streamReducer,\n\tchannelId: channelIdReducer,\n\tunread: unreadReducer,\n});\n\nexport { privateMessagesReducer };\n","import { combineReducers } from 'redux';\nimport {\n\tcallbackUserReducer,\n\tsetUserReducerOld,\n} from '../../modules/app/reducers/reducerService';\nimport {\n\tFRIENDS_REPEAT_ONLINE,\n\tFRIENDS_SET_DISABLE_ONLINE,\n\tFRIENDS_SET_LIST,\n\tFRIENDS_SET_ONLINE,\n\tFRIENDS_SET_REQUESTS,\n} from './friends.constants';\n\nexport const listReducer = setUserReducerOld([], FRIENDS_SET_LIST);\nexport const requestsReducer = setUserReducerOld([], FRIENDS_SET_REQUESTS);\nexport const onlineReducer = setUserReducerOld([], FRIENDS_SET_ONLINE);\nexport const disableOnlineReducer = setUserReducerOld(\n\tfalse,\n\tFRIENDS_SET_DISABLE_ONLINE,\n);\nexport const repeatOnlineActiveReducer = callbackUserReducer(\n\tfalse,\n\tFRIENDS_REPEAT_ONLINE,\n\t() => true,\n);\n\nconst friendsReducer = combineReducers({\n\tlist: listReducer,\n\trequests: requestsReducer,\n\tonline: onlineReducer,\n\trepeatOnlineActive: repeatOnlineActiveReducer,\n\tdisableOnline: disableOnlineReducer,\n});\n\nexport { friendsReducer };\n","import { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '../user/user.constants';\nimport { PREFERENCES_SET } from './preferences.constants';\n\nconst getObject = (text, bool = false) => ({\n\tbool,\n\ttext,\n});\n\nconst init = {\n\tprivacy: {\n\t\tpublic_total_profit: getObject('Show total profit in public'),\n\t\tpublic_total_wagered: getObject('Show total wagered in public'),\n\t\tpublic_bets: getObject('Show bets in public'),\n\t},\n\tcommunity: {\n\t\tblock_all_friend_requests: getObject('Block all friend requests'),\n\t\tblock_friend_requests_notifications: getObject(\n\t\t\t'Block friend request notifications',\n\t\t),\n\t\tallow_messages_from_all: getObject(\n\t\t\t'Allow private messages from non friends',\n\t\t),\n\t\tshow_messages_notifications: getObject(\n\t\t\t'Show private message notifications',\n\t\t),\n\t},\n};\n\nconst reducer = (type) => {\n\treturn (\n\t\tstate = init[type] || {},\n\t\taction = {\n\t\t\ttype: '',\n\t\t},\n\t) => {\n\t\tlet newState;\n\t\tswitch (action.type) {\n\t\t\tcase PREFERENCES_SET:\n\t\t\t\tif (action.data_type !== type) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\t\t\t\tnewState = {\n\t\t\t\t\t...state,\n\t\t\t\t};\n\t\t\t\tObject.keys(action.payload).forEach((key) => {\n\t\t\t\t\tif (!newState[key]) {\n\t\t\t\t\t\tnewState[key] = {\n\t\t\t\t\t\t\tbool:\n\t\t\t\t\t\t\t\taction.payload[key].bool !== undefined\n\t\t\t\t\t\t\t\t\t? action.payload[key].bool\n\t\t\t\t\t\t\t\t\t: action.payload[key],\n\t\t\t\t\t\t\ttext: key,\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewState[key].bool =\n\t\t\t\t\t\t\taction.payload[key].bool !== undefined\n\t\t\t\t\t\t\t\t? action.payload[key].bool\n\t\t\t\t\t\t\t\t: action.payload[key];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn newState;\n\t\t\tcase RESET_USER_DATA:\n\t\t\t\treturn init[type];\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n};\n\nconst privacyReducer = reducer('privacy');\n\nconst communityReducer = reducer('community');\n\nconst preferencesReducer = combineReducers({\n\tprivacy: privacyReducer,\n\tcommunity: communityReducer,\n});\n\nexport { preferencesReducer };\n","import { combineReducers } from 'redux';\nimport {\n\tDROPDOWN_ADD,\n\tDROPDOWN_DELETE,\n\tDROPDOWN_SET_ACTIVE,\n\tDROPDOWN_SET_CONTENT,\n\tDROPDOWN_TOGGLE,\n} from './dropdown.constants';\n\nconst activeReducer = (state = {}, action = { type: '' }) => {\n\tconst newState = { ...state };\n\tswitch (action.type) {\n\t\tcase DROPDOWN_SET_ACTIVE: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.id]: true,\n\t\t\t};\n\t\t}\n\t\tcase DROPDOWN_TOGGLE: {\n\t\t\tconst bool =\n\t\t\t\taction.payload.bool === undefined\n\t\t\t\t\t? !state[action.payload.id]\n\t\t\t\t\t: action.payload.bool;\n\t\t\tif (state[action.payload.id] === bool) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\tif (!bool) {\n\t\t\t\tdelete newState[action.payload.id];\n\t\t\t} else {\n\t\t\t\tnewState[action.payload.id] = bool;\n\t\t\t}\n\t\t\treturn newState;\n\t\t}\n\t\tcase DROPDOWN_DELETE: {\n\t\t\tif (newState[action.payload]) {\n\t\t\t\tdelete newState[action.payload];\n\t\t\t}\n\t\t\treturn newState;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst contentReducer = (state = {}, action = { type: '' }) => {\n\tconst newState = { ...state };\n\tswitch (action.type) {\n\t\tcase DROPDOWN_SET_CONTENT: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.id]: action.payload.content,\n\t\t\t};\n\t\t}\n\t\tcase DROPDOWN_ADD: {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[action.payload.id]: action.payload.content,\n\t\t\t};\n\t\t}\n\t\tcase DROPDOWN_DELETE: {\n\t\t\tif (newState[action.payload]) {\n\t\t\t\tdelete newState[action.payload];\n\t\t\t}\n\t\t\treturn newState;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst dropdownReducer = combineReducers({\n\tactive: activeReducer,\n\tcontent: contentReducer,\n});\n\nexport { dropdownReducer };\n","import { combineReducers } from 'redux';\nimport { setReducer } from '@legacyApp/methods/store/setReducer';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport {\n\tCONVERTER_SET_CONFIRM,\n\tCONVERTER_SET_CURRENCY,\n} from './converter.constants';\n\nconst currencyReducer = setReducer(\n\tfalse,\n\tCONVERTER_SET_CURRENCY,\n\t`localstorage-${LocalStorageKeys.CURRENCY_CONVERTER}`,\n);\nconst confirmReducer = setReducer(\n\tfalse,\n\tCONVERTER_SET_CONFIRM,\n\t`localstorage-${LocalStorageKeys.ENABLE_CONVERTER}`,\n);\n\nconst converterReducer = combineReducers({\n\tcurrency: currencyReducer,\n\tconfirm: confirmReducer,\n});\n\nexport { converterReducer };\n","import { objectBoolReducer } from '../../modules/app/reducers/objectBoolReducer';\nimport { OPTIONS, OPTIONS_DISABLE, OPTIONS_ENABLE } from './options.constants';\n\nconst optionsReducer = (data) =>\n\tobjectBoolReducer(\n\t\t{\n\t\t\t[OPTIONS.AUTOBET_CHART]: true,\n\t\t\t[OPTIONS.ANIMATION]: true,\n\t\t\t[OPTIONS.AUTOBET_SUMMARY]: true,\n\t\t\t[OPTIONS.SOUND]: true,\n\t\t\t[OPTIONS.HIDE_ZERO_BALANCES]: false,\n\t\t\t...(data || {}),\n\t\t},\n\t\tOPTIONS_ENABLE,\n\t\tOPTIONS_DISABLE,\n\t);\n\nexport { optionsReducer };\n","import { combineReducers } from 'redux';\nimport { setReducer } from '@legacyApp/methods/store/setReducer';\nimport {\n\tPWA_SET_ACTIVE,\n\tPWA_SET_CALLBACK,\n\tPWA_SET_MODE,\n} from './pwa.constants';\n\nconst installActiveReducer = setReducer(false, PWA_SET_ACTIVE);\nconst callbackReducer = setReducer(false, PWA_SET_CALLBACK);\nconst modeReducer = setReducer(false, PWA_SET_MODE);\n\nconst pwaReducer = combineReducers({\n\tinstallActive: installActiveReducer,\n\tcallback: callbackReducer,\n\tmode: modeReducer,\n});\n\nexport { pwaReducer };\n","import Redux, { combineReducers } from 'redux';\nimport {\n\tPackageType,\n\tREGISTRY_EPIC_INJECTED,\n\tREGISTRY_EPIC_REJECTED,\n\tREGISTRY_PACKAGE_REGISTER,\n\tREGISTRY_REDUCER_INJECTED,\n\tREGISTRY_REDUCER_REJECTED,\n} from './registry.constants';\n\nconst packagesReducer = (state = {}, action: Redux.AnyAction) => {\n\tif (REGISTRY_PACKAGE_REGISTER === action.type) {\n\t\tconst modules = {};\n\t\taction.modules.forEach((key) => (modules[key] = false));\n\t\treturn {\n\t\t\t...state,\n\t\t\t[action.id]: {\n\t\t\t\t...modules,\n\t\t\t\t...(state[action.id] || {}),\n\t\t\t},\n\t\t};\n\t}\n\tif (REGISTRY_REDUCER_INJECTED === action.type) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t[action.payload.package]: {\n\t\t\t\t...(state[action.payload.package] || {}),\n\t\t\t\t[`reducer_${action.payload.key}`]: true,\n\t\t\t},\n\t\t};\n\t}\n\tif (REGISTRY_EPIC_INJECTED === action.type) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t[action.payload.package]: {\n\t\t\t\t...(state[action.payload.package] || {}),\n\t\t\t\t[`epic_${action.payload.key}`]: true,\n\t\t\t},\n\t\t};\n\t}\n\tif (REGISTRY_REDUCER_REJECTED === action.type) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t[action.payload.package]: {\n\t\t\t\t...(state[action.payload.package] || {}),\n\t\t\t\t[`reducer_${action.payload.key}`]: false,\n\t\t\t},\n\t\t};\n\t}\n\tif (REGISTRY_EPIC_REJECTED === action.type) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t[action.payload.package]: {\n\t\t\t\t...(state[action.payload.package] || {}),\n\t\t\t\t[`epic_${action.payload.key}`]: false,\n\t\t\t},\n\t\t};\n\t}\n\treturn state;\n};\n\nexport interface RegistryReducerType {\n\tpackages: Record<PackageType, Record<string, boolean>>;\n}\n\nconst registryReducer = combineReducers({\n\tpackages: packagesReducer,\n});\n\nexport default registryReducer;\n","import logSlowReducers from 'redux-log-slow-reducers';\nimport { routerReducer } from 'connected-next-router';\nimport { vipReducer } from '@modules/vip/store/vip.reducer';\nimport { balanceReducer } from '@modules/balance/store/balance.reducer';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { supportReducer } from '@modules/support/store/support.reducer';\nimport { appReducer } from '../app/app.reducer';\nimport { userReducer } from '../user/user.reducer';\nimport { confirmReducer } from '../confirm/confirm.reducer';\nimport { transactionsReducer } from '../transactions/transactions.reducer';\nimport { twoFactorAuthenticationReducer } from '../twoFactorAuthentication/twoFactorAuthentication.reducer';\nimport { loaderReducer } from '../loader/loader.reducer';\nimport { globalStatisticsReducer } from '../globalStatistics/globalStatistics.reducer';\nimport { formsReducer } from '../forms/forms.reducer';\nimport { faucetReducer } from '../faucet/faucet.reducer';\nimport { notificationReducer } from '../notification/notification.reducer';\nimport { affiliateReducer } from '../affiliate/affiliate.reducer';\nimport { websocketReducer } from '../websocket/websocket.reducer';\nimport { alertsReducer } from '../alerts/alerts.reducer';\nimport { tipReducer } from '../tip/tip.reducer';\nimport { serverDataReducer } from '../serverData/serverData.reducer';\nimport { vaultReducer } from '../vault/vault.reducer';\nimport { privateMessagesReducer } from '../privateMessages/privateMessages.reducer';\nimport { friendsReducer } from '../friends/friends.reducer';\nimport { preferencesReducer } from '../preferences/preferences.reducer';\nimport { dropdownReducer } from '../dropdown/dropdown.reducer';\nimport { converterReducer } from '../converter/converter.reducer';\nimport { optionsReducer } from '../options/options.reducer';\nimport { pwaReducer } from '../pwa/pwa.reducer';\nimport registryReducer from '../registry/registry.reducer';\n\nexport const createRootReducer = (data = {}) => {\n\t// console.log('createRootReducer', data);\n\tlet reducers = {\n\t\trouter: routerReducer,\n\t\tapp: appReducer,\n\t\tuser: userReducer,\n\t\tconfirm: confirmReducer,\n\t\ttransactions: transactionsReducer,\n\t\ttwoFA: twoFactorAuthenticationReducer,\n\t\tloader: loaderReducer,\n\t\tstats: globalStatisticsReducer,\n\t\tforms: formsReducer,\n\t\tnotification: notificationReducer,\n\t\tfaucet: faucetReducer,\n\t\taffiliate: affiliateReducer,\n\t\twebsocket: websocketReducer,\n\t\talerts: alertsReducer,\n\t\tvip: vipReducer,\n\t\ttip: tipReducer,\n\t\tserverData: serverDataReducer(data.serverData),\n\t\tvault: vaultReducer,\n\t\tprivateMessages: privateMessagesReducer,\n\t\tfriends: friendsReducer,\n\t\tpreferences: preferencesReducer,\n\t\tdropdown: dropdownReducer,\n\t\tconverter: converterReducer,\n\t\tbalance: balanceReducer,\n\t\tsupport: supportReducer,\n\t\tpwa: pwaReducer,\n\t\toptions: optionsReducer(data.options),\n\t\tregistry: registryReducer,\n\n\t\t// dailyStreak: dailyStreakReducer,\n\n\t\t// dice: diceReducer,\n\t\t// limbo: limboReducer,\n\t\t// hilo: hiloReducer,\n\t\t// game: gameReducer,\n\t\t// gameSession: gameSessionReducer,\n\t\t// gameAutobet: gameAutobetReducer,\n\t\t// gameValidation: gameValidationReducer,\n\t};\n\tif (NEXT_CONFIG.DEV) {\n\t\treducers = logSlowReducers(reducers);\n\t}\n\treturn reducers;\n};\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { stringToJson } from '@common/methods/stringToJson';\nimport { handleDeprecatedBrowserData } from '@legacyApp/client/modules/app/appService';\nimport { createRootReducer } from '@legacyApp/client/store/root/root.reducer';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nexport const reducer = (data = {}) => {\n\tif (NEXT_CONFIG.RELEASE_VERSION) {\n\t\tcookieService.set(CookiesKeys.VER_28, NEXT_CONFIG.RELEASE_VERSION);\n\t}\n\tlet preloadedState = cookieService.get(CookiesKeys.PRELOADED_STATE, {});\n\tpreloadedState = preloadedState\n\t\t? stringToJson(decodeURIComponent(preloadedState), {})\n\t\t: {};\n\t// console.log('preloaded_state cookie', preloadedState, {\n\t// \t...preloadedState,\n\t// \t...data.serverData || {}\n\t// });\n\tcookieService.clear(CookiesKeys.PRELOADED_STATE);\n\treturn createRootReducer({\n\t\t...data,\n\t\t...handleDeprecatedBrowserData(),\n\t\tserverData: {\n\t\t\t...preloadedState,\n\t\t\t...(data.serverData || {}),\n\t\t},\n\t});\n};\n","import { initialRouterState } from 'connected-next-router';\n// eslint-disable-next-line import/named\nimport { Context, createWrapper, MakeStore } from 'next-redux-wrapper';\nimport Router from 'next/router';\nimport { RouterState } from 'connected-next-router/types';\nimport { SportsBetSlipReducerType } from '@modules/sports/store/sportsBetSlip/sportsBetSlip.reducer';\nimport { SportsEventsDataReducerType } from '@modules/sports/store/sportsEventsData/sportsEventsData.reducer';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { RaceReducerType } from '@modules/race/types/RaceReducerType';\nimport { PerformanceReducerType } from '@modules/performance/types/PerformanceReducerType';\nimport { ModalReducerType } from '@modules/modals/store/modal.types';\nimport { vipReducer } from '@modules/vip/store/vip.reducer';\nimport { BalanceReducerType } from '@modules/balance/store/balance.reducer';\nimport { supportReducer } from '@modules/support/store/support.reducer';\nimport { alertsReducer } from '@legacyApp/client/store/alerts/alerts.reducer';\nimport { confirmReducer } from '@legacyApp/client/store/confirm/confirm.reducer';\nimport { getServerData } from '../../methods/router/getServerData';\nimport { handleUrlQuery } from '../../methods/router/handleUrlQuery';\nimport diceReducer from '../../../modules/games/Game/store/dice/dice.reducer';\nimport hiloReducer from '../../../modules/games/Game/store/hilo/hilo.reducer';\nimport gameValidationReducer from '../../../modules/games/Game/store/gameValidation/gameValidation.reducer';\nimport captchaReducer from '../../../modules/captcha/store/captcha.reducer';\nimport limboReducer from '../../../modules/games/Game/store/limbo/limbo.reducer';\nimport gameReducer from '../../../modules/games/Game/store/game/game.reducer';\nimport gameAutobetReducer from '../../../modules/games/Game/store/gameAutobet/gameAutobet.reducer';\nimport seedReducer from '../store.async/seed/seed.reducer';\nimport sportsReducer from '../../../modules/sports/store/sports/sports.reducer';\nimport gameSessionReducer from '../../../modules/games/Game/store/gameSession/gameSession.reducer';\nimport plinkoReducer from '../../../modules/games/Game/store/plinko/plinko.reducer';\nimport chatReducer from '../../../modules/chat/store/chat.reducer';\nimport { createStore } from './create.store';\nimport { middleware, runEpic } from './middleware';\nimport { reducer } from './reducer';\nimport { RegistryReducerType } from './registry/registry.reducer';\nimport { affiliateReducer } from './affiliate/affiliate.reducer';\nimport { twoFactorAuthenticationReducer } from './twoFactorAuthentication/twoFactorAuthentication.reducer';\nimport { vaultReducer } from './vault/vault.reducer';\nimport { notificationReducer } from './notification/notification.reducer';\nimport { serverDataReducer } from './serverData/serverData.reducer';\nimport { tipReducer } from './tip/tip.reducer';\nimport { loaderReducer } from './loader/loader.reducer';\nimport { appReducer } from './app/app.reducer';\nimport { userReducer } from './user/user.reducer';\nimport { transactionsReducer } from './transactions/transactions.reducer';\nimport { websocketReducer } from './websocket/websocket.reducer';\nimport { privateMessagesReducer } from './privateMessages/privateMessages.reducer';\nimport { friendsReducer } from './friends/friends.reducer';\nimport { converterReducer } from './converter/converter.reducer';\nimport { formsReducer } from './forms/forms.reducer';\nimport { OptionsType } from './options/options.constants';\nimport { preferencesReducer } from './preferences/preferences.reducer';\n\nexport interface RootState {\n\twebsocket: ReturnType<typeof websocketReducer>;\n\ttransactions: ReturnType<typeof transactionsReducer>;\n\tsports?: ReturnType<typeof sportsReducer>;\n\tsportsEventsData?: SportsEventsDataReducerType;\n\tsportsBetSlip?: SportsBetSlipReducerType;\n\tuser: ReturnType<typeof userReducer>;\n\tchat?: ReturnType<typeof chatReducer>;\n\tmodal?: ModalReducerType;\n\tapp: ReturnType<typeof appReducer>;\n\tseed?: ReturnType<typeof seedReducer>;\n\tgameAutobet?: ReturnType<typeof gameAutobetReducer>;\n\tgameSession?: ReturnType<typeof gameSessionReducer>;\n\tgame?: ReturnType<typeof gameReducer>;\n\trouter: RouterState;\n\tstats: any;\n\tloader: ReturnType<typeof loaderReducer>;\n\ttip: ReturnType<typeof tipReducer>;\n\tregistry: RegistryReducerType;\n\tvip: ReturnType<typeof vipReducer>;\n\tbalance: BalanceReducerType;\n\tserverData: ReturnType<typeof serverDataReducer>;\n\tdice?: ReturnType<typeof diceReducer>;\n\tlimbo?: ReturnType<typeof limboReducer>;\n\thilo?: ReturnType<typeof hiloReducer>;\n\tgameValidation?: ReturnType<typeof gameValidationReducer>;\n\tcaptcha?: ReturnType<typeof captchaReducer>;\n\trace?: RaceReducerType;\n\tperformance?: PerformanceReducerType;\n\tnotification?: ReturnType<typeof notificationReducer>;\n\toptions?: Record<OptionsType, boolean>;\n\tvault: ReturnType<typeof vaultReducer>;\n\ttwoFA: ReturnType<typeof twoFactorAuthenticationReducer>;\n\taffiliate: ReturnType<typeof affiliateReducer>;\n\tprivateMessages: ReturnType<typeof privateMessagesReducer>;\n\tfriends: ReturnType<typeof friendsReducer>;\n\tplinko: ReturnType<typeof plinkoReducer>;\n\tconverter: ReturnType<typeof converterReducer>;\n\tforms: ReturnType<typeof formsReducer>;\n\tpreferences: ReturnType<typeof preferencesReducer>;\n\tsupport: ReturnType<typeof supportReducer>;\n\talerts: ReturnType<typeof alertsReducer>;\n\tconfirm: ReturnType<typeof confirmReducer>;\n}\n\nconst makeStore: MakeStore<RootState> = (context: Context) => {\n\tconsole.log();\n\thandleUrlQuery(context);\n\tconst { asPath } = Router.router || {};\n\tconst serverData = getServerData(context);\n\tlet initialState;\n\tif (asPath) {\n\t\tinitialState = {\n\t\t\trouter: initialRouterState(asPath),\n\t\t};\n\t}\n\t// console.log('getStore', {\n\t// \tasPath,\n\t// \tRouter,\n\t// \tinitialState,\n\t// \tcontext,\n\t// \tserverData,\n\t// });\n\tconst store = createStore(\n\t\treducer({\n\t\t\tserverData: serverData?.preloadedState,\n\t\t}),\n\t\tinitialState,\n\t\tmiddleware(),\n\t);\n\tif (process.browser) {\n\t\trunEpic();\n\t}\n\treturn store;\n};\n\nexport const wrapper = createWrapper<RootState>(makeStore, {\n\tdebug: !!NEXT_CONFIG.DEV,\n});\n","import Router from 'next/router';\nimport { cookieService } from '@common/controllers/cookieService';\nimport { CookiesKeys } from '@modules/cookies/types/cookiesKeys.type';\n\nexport const handleUrlQuery = (ctx) => {\n\tif (!ctx) {\n\t\treturn;\n\t}\n\tconst { c } = ctx?.req?.query ?? {};\n\tif (c) {\n\t\t// console.log('handleUrlQuery', ctx.req);\n\t\tconst redirectLocation = `${ctx.req.url.split('?')[0]}`;\n\t\tif (ctx.res) {\n\t\t\tconsole.log('context/query - redirect', { c, redirectLocation });\n\t\t\tctx.res.cookie(CookiesKeys.AFFILIATE_CODE, c, {\n\t\t\t\texpires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7),\n\t\t\t});\n\t\t\tctx.res.redirect(301, redirectLocation);\n\t\t} else {\n\t\t\tconsole.log('router/query - redirect', { c, redirectLocation });\n\t\t\tcookieService.set(CookiesKeys.AFFILIATE_CODE, c);\n\t\t\tRouter.push(redirectLocation);\n\t\t}\n\t}\n};\n","import { stringToJson } from '@common/methods/stringToJson';\n\nexport const getServerData = (ctx) => {\n\tif (!ctx || !ctx.res) {\n\t\treturn null;\n\t}\n\t// console.log('getServerData', isJSON(ctx.res.locals));\n\treturn stringToJson(ctx.res.locals, null);\n};\n","import Router from 'next/router';\nimport { checkAuth } from '../auth/checkAuth';\nimport { checkToken } from '../../client/modules/app/tokenService';\nimport routingService from '../../client/modules/app/routingService';\n\nexport const handlePageAuth = (id, token) => {\n\tconst checkedToken = checkToken(token);\n\tconst route = routingService.getRouteById(id);\n\tif (route) {\n\t\tconst check = checkAuth(route && route.uri, checkedToken);\n\t\t// console.log('handlePageAuth', {\n\t\t// \ttoken,\n\t\t// \tid,\n\t\t// \tcheckedToken,\n\t\t// \troute,\n\t\t// \tcheck,\n\t\t// });\n\t\t// if (token.value && route.isPrivate) ctx?.res?.cookie('token', JSON.stringify(token));\n\t\tif (!check) {\n\t\t\tif (process.browser) {\n\t\t\t\tconsole.log('client - redirect', { id });\n\t\t\t\tRouter.push('/');\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn checkedToken;\n};\n","import routingService from '../../client/modules/app/routingService';\n\nexport const checkAuth = (id, token) => {\n\tif (!id && id !== '') {\n\t\treturn false;\n\t}\n\n\tconst route = routingService.getRoute(id);\n\n\t// console.log('checkAuth', {\n\t// \ttoken,\n\t// \tid,\n\t// \troute,\n\t// });\n\n\tif (!route) {\n\t\treturn token;\n\t}\n\n\tif (route.isPrivate && !token.value) {\n\t\treturn false;\n\t}\n\n\tif (route.isOnlyPublic && token.value) {\n\t\treturn false;\n\t}\n\n\treturn token;\n};\n","import { useAuth } from '@legacyApp/hooks/app/useAuth';\nimport { useAppInitialized } from '../selectors/app.selectors';\n\nexport const useAuthInitialized = ({ id }: { id: string }) => {\n\tconst { token } = useAuth(id);\n\tconst isInitialized = useAppInitialized();\n\n\treturn {\n\t\tisInitialized: token?.value ? isInitialized : true,\n\t};\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useAppInitialized } from '@common/selectors/app.selectors';\nimport { useUserTokenValue } from '@common/selectors/user.selectors';\nimport { handlePageAuth } from '../../methods/router/handlePageAuth';\nimport { setToken } from '../../client/store/user/user.actions';\nimport {\n\tcheckToken,\n\ttokenService,\n} from '../../client/modules/app/tokenService';\nimport { appInitialized } from '../../client/store/app/app.actions';\nimport { useAppSelector } from '../store/useAppSelector';\nimport { useAppDispatch } from '../store/useAppDispatch';\n\nexport const useAuth = (id) => {\n\tconst dispatch = useAppDispatch();\n\tconst { data } = useAppSelector((state) => state.serverData);\n\tconst initialized = useAppInitialized();\n\tconst tokenValue = useUserTokenValue();\n\tconst refTokenValue = useRef(tokenValue);\n\n\tconst getTokenCallback = useCallback(() => {\n\t\tif (initialized) {\n\t\t\treturn refTokenValue.current;\n\t\t}\n\t\treturn handlePageAuth(\n\t\t\tid,\n\t\t\tdata.status === 200 && data?.data?.access_token ? data.data : undefined,\n\t\t);\n\t}, [data.data, data.status, id, initialized]);\n\n\tconst [token] = useState(getTokenCallback());\n\n\tuseEffect(() => {\n\t\tif (initialized) {\n\t\t\treturn;\n\t\t}\n\t\t// console.log('useAuth - useEffect', { id, token: token?.value, initialized, refToken: refTokenValue?.current, tokenValue: token_?.value });\n\t\tif (token?.value && token?.value !== refTokenValue?.current) {\n\t\t\ttokenService.set(token?.value ? token : checkToken());\n\t\t\trefTokenValue.current = token?.value;\n\t\t\tdispatch(setToken(token));\n\t\t\treturn;\n\t\t}\n\t\tif (!token?.value) {\n\t\t\tdispatch(appInitialized('useAuth'));\n\t\t}\n\t}, [dispatch, id, initialized, token, token?.value]);\n\n\treturn { token };\n};\n","import { FC, PropsWithChildren, useCallback, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { useLocationChange } from '@common/hooks/useLocationChange';\nimport { useAuthInitialized } from '@common/hooks/useAuthInitialized';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { chatActions } from '@modules/chat/store/chat.actions';\nimport { useChatVisible } from '@modules/chat/store/selectors/useChatVisible';\nimport { useSideMenu } from '@modules/SideMenu/hooks/useSideMenu';\n\nconst INIT_LS_VALUE = lsGet(LocalStorageKeys.SIDE_MENU_IS_OPEN, null);\n\nexport const SideMenuProvider: FC<PropsWithChildren<{ disabled: boolean }>> = ({\n\tchildren,\n\tdisabled,\n}) => {\n\tconst isMobile = useAppMobile();\n\tconst { isOpen, setIsOpen } = useSideMenu();\n\tconst isChatVisible = useChatVisible();\n\tconst dispatch = useDispatch();\n\tconst isLogged = useUserIsLogged();\n\tconst { isInitialized } = useAuthInitialized({ id: ROUTING_ID.HOME });\n\n\tconst prevIsInitialized = usePrevious(isInitialized);\n\n\tconst setIsOpen_ = useCallback(\n\t\t(_isOpen) => {\n\t\t\tif (_isOpen === isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (disabled) {\n\t\t\t\t_isOpen = false;\n\t\t\t}\n\n\t\t\tsetIsOpen(_isOpen);\n\n\t\t\tif (isChatVisible && _isOpen) {\n\t\t\t\tdispatch(chatActions.setVisible({ isVisible: false }));\n\t\t\t}\n\t\t},\n\t\t[disabled, dispatch, isChatVisible, isOpen],\n\t);\n\n\tuseLocationChange(() => {\n\t\tif (isMobile && isOpen) {\n\t\t\tconsole.log('useLocationChange');\n\t\t\tsetIsOpen_(false);\n\t\t}\n\t});\n\n\tuseOnMount(() => {\n\t\tconst isOpen_ =\n\t\t\tdisabled || isMobile\n\t\t\t\t? false\n\t\t\t\t: !!lsGet(LocalStorageKeys.SIDE_MENU_IS_OPEN);\n\t\tsetIsOpen_(isOpen_);\n\t});\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!prevIsInitialized &&\n\t\t\tisInitialized &&\n\t\t\tisLogged &&\n\t\t\t!isOpen &&\n\t\t\tINIT_LS_VALUE === null &&\n\t\t\t!disabled &&\n\t\t\t!isMobile\n\t\t) {\n\t\t\tsetIsOpen_(true);\n\t\t}\n\t}, [\n\t\tdisabled,\n\t\tisInitialized,\n\t\tisLogged,\n\t\tisMobile,\n\t\tisOpen,\n\t\tprevIsInitialized,\n\t\tsetIsOpen_,\n\t]);\n\n\treturn <>{children}</>;\n};\n","import { useRouter } from 'next/router';\nimport { useEffect } from 'react';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\n\nexport const useLocationChange = (callback) => {\n\tconst router = useRouter();\n\n\tconst { asPath } = router;\n\n\tconst asPathPrev = usePrevious(asPath);\n\n\tuseEffect(() => {\n\t\tif (asPath !== asPathPrev) {\n\t\t\tcallback();\n\t\t}\n\t}, [callback, asPathPrev, asPath]);\n};\n","import styled, { css } from 'styled-components';\nimport { TabGroupStyled } from '@ui/tab-group/TabGroup.styled';\nimport { noWrap } from '@legacyApp/client/modules/style/defaults';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\n\nexport const StyledHeaderBox = styled.div.attrs(() => ({\n\tclassName: 'header__box',\n}))<{\n\t$noWrap?: boolean;\n}>`\n\tmargin: 10px 0;\n\theight: calc(100% - 20px);\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 8px;\n\n\t${(props) => (props.$noWrap ? noWrap : '')}\n\n\t.user-menu {\n\t\tmargin: 0;\n\t}\n\n\t${TabGroupStyled} {\n\t\tmargin-left: 24px;\n\t\theight: 32px;\n\n\t\t${chatViewport(\n\t\t\t(viewportPadding) => css`\n\t\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_large,\n\t\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t\t})}) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t`,\n\t\t)}\n\t}\n`;\n","import { FC, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { NotificationIcon } from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { Button } from '@legacyApp/client/components/button';\nimport { DropdownElementStyled } from '@legacyApp/client/components/dropdown/dropdownMenu/DropdownElement.styled';\nimport { ModalIdType } from '@common/constants/modal/ids.modal.constants';\nimport routingService from '../../../LegacyApp/client/modules/app/routingService';\n\nexport interface MenuElementType {\n\tid: string;\n\ticon: ReactNode;\n\tname: string | (() => string);\n\tisModal?: boolean;\n\tcheckNotification?: Array<string> | boolean;\n}\n\nexport interface MenuElementProps {\n\tmenuElement: MenuElementType;\n\topenModalCallback: (id: ModalIdType) => void;\n\tcloseCallback: () => void;\n\tclassName?: string;\n}\n\nconst getName = (menuElement: MenuElementType): string => {\n\treturn typeof menuElement.name === 'function'\n\t\t? menuElement.name()\n\t\t: menuElement.name;\n};\n\nconst getProps = (props: MenuElementProps) => {\n\tconst { menuElement, className, openModalCallback, closeCallback } = props;\n\n\tconst tag =\n\t\tmenuElement.isModal || menuElement.id.indexOf('http') > -1\n\t\t\t? undefined\n\t\t\t: LinkTo;\n\n\tconst defaultProps = {\n\t\tas: tag,\n\t\tclassName,\n\t\thref: null,\n\t};\n\n\tif (menuElement.id.indexOf('http') > -1) {\n\t\treturn {\n\t\t\t...defaultProps,\n\t\t\ttarget: '_blank',\n\t\t\trel: 'noopener noreferrer',\n\t\t\thref: menuElement.id,\n\t\t};\n\t}\n\n\tif (menuElement.isModal) {\n\t\treturn {\n\t\t\t...defaultProps,\n\t\t\tonClick: () => openModalCallback(menuElement.id as ModalIdType),\n\t\t};\n\t}\n\n\treturn {\n\t\t...defaultProps,\n\t\thref: routingService.to(menuElement.id),\n\t\tonClick: closeCallback,\n\t};\n};\n\nexport const MenuElement: FC<MenuElementProps> = (props) => {\n\tconst { menuElement } = props;\n\n\tconst name = getName(menuElement);\n\tconst props_ = getProps(props);\n\n\treturn (\n\t\t<MenuElementStyled key={menuElement.id} {...props_}>\n\t\t\t<Button\n\t\t\t\tclassName=\"relative\"\n\t\t\t\tname={`header-${menuElement.id}`}\n\t\t\t\tnoClassName\n\t\t\t>\n\t\t\t\t<MenuElementIcon>{menuElement.icon}</MenuElementIcon>\n\t\t\t\t<span className=\"text-style-sm-medium capitalize\">\n\t\t\t\t\t{trans({ label: name })}\n\t\t\t\t</span>\n\t\t\t\t{menuElement.checkNotification && (\n\t\t\t\t\t<NotificationIcon type={menuElement.id} />\n\t\t\t\t)}\n\t\t\t</Button>\n\t\t</MenuElementStyled>\n\t);\n};\n\nexport const MenuElementIcon = styled.div`\n\talign-items: center;\n\tbackground-color: var(--color-dark-500);\n\tborder-radius: 100%;\n\tdisplay: flex;\n\theight: 32px;\n\tjustify-content: center;\n\twidth: 32px;\n\n\tsvg {\n\t\theight: 14px;\n\t\twidth: 14px;\n\t}\n`;\n\nexport const MenuElementStyled = styled(DropdownElementStyled)`\n\tborder-radius: 4px;\n\tpadding: 0;\n\tposition: relative;\n\twidth: 100%;\n\n\t&:hover {\n\t\tbackground-color: var(--color-dark-400);\n\t}\n\n\tbutton {\n\t\talign-items: center;\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t\tjustify-content: flex-start;\n\t\tmax-width: unset;\n\t\tpadding: 6px 8px;\n\t\twidth: 100%;\n\t}\n\n\t&:last-of-type {\n\t\t${MenuElementIcon} {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\tcolor: var(--color-dark-200);\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-dark-500);\n\t\t}\n\t}\n`;\n","import { FC, useCallback } from 'react';\nimport { useDispatch } from 'react-redux';\nimport styled from 'styled-components';\nimport { Sport } from '@icons/sport';\nimport { Transactions } from '@icons/user-menu/transactions';\nimport { Trending } from '@icons/trending';\nimport { Options } from '@icons/bottom-menu/options';\nimport { Logout } from '@icons/user-menu/logout';\nimport { Wallet } from '@icons/wallet';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport {\n\tMODAL_ID,\n\tModalIdType,\n} from '@common/constants/modal/ids.modal.constants';\nimport { useAppInitialized } from '@common/selectors/app.selectors';\nimport { hideMenu } from '@legacyApp/client/store/app/app.actions';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { openModal } from '../../modals/store/modal.actions';\nimport { MenuElement, MenuElementType } from './MenuElement';\n\nconst MENU: Array<MenuElementType> = [\n\t{\n\t\tid: MODAL_ID.WALLET,\n\t\ticon: <Wallet fill={theme.ui.colors['blue-dark']} />,\n\t\tname: () => 'Wallet',\n\t\tisModal: true,\n\t},\n\t{\n\t\tid: ROUTING_ID.USER_SPORTS_HISTORY,\n\t\ticon: <Sport fill={theme.ui.colors['blue-dark']} />,\n\t\tname: () => 'Sport Bets',\n\t},\n\t{\n\t\tid: ROUTING_ID.USER_ALL_TRANSACTIONS,\n\t\ticon: <Transactions fill={theme.ui.colors['blue-dark']} />,\n\t\tname: () => 'Transactions',\n\t},\n\t{\n\t\tid: MODAL_ID.USER_DETAILS,\n\t\ticon: <Trending fill={theme.ui.colors['blue-dark']} />,\n\t\tname: () => 'Statistics',\n\t\tisModal: true,\n\t},\n\t{\n\t\tid: ROUTING_ID.USER_SETTINGS,\n\t\ticon: <Options fill={theme.ui.colors['blue-dark']} />,\n\t\tname: () => 'Settings',\n\t\tcheckNotification: [\n\t\t\tNOTIFICATION_ID.HAS_PASSWORD_TO_SET,\n\t\t\tNOTIFICATION_ID.HAS_EMAIL_TO_VERIFY,\n\t\t\tNOTIFICATION_ID.HAS_KYC_TO_VERIFY,\n\t\t],\n\t},\n\t{\n\t\tid: MODAL_ID.LOGOUT,\n\t\ticon: <Logout fill={theme.ui.colors['dark-200']} />,\n\t\tname: () => 'Logout',\n\t\tisModal: true,\n\t},\n];\n\nexport const MenuList: FC = () => {\n\tconst dispatch = useDispatch();\n\n\tconst initialized = useAppInitialized();\n\n\tconst hideMenu_ = useCallback(() => dispatch(hideMenu()), [dispatch]);\n\tconst openModal_ = useCallback(\n\t\t(id: ModalIdType) => dispatch(openModal(id, 'menuList')),\n\t\t[dispatch],\n\t);\n\n\tif (!initialized) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuListStyled>\n\t\t\t{MENU.map((menuElement) => (\n\t\t\t\t<MenuElement\n\t\t\t\t\tkey={menuElement.id}\n\t\t\t\t\tmenuElement={menuElement}\n\t\t\t\t\topenModalCallback={(id: ModalIdType) => {\n\t\t\t\t\t\topenModal_(id);\n\t\t\t\t\t\thideMenu_();\n\t\t\t\t\t}}\n\t\t\t\t\tcloseCallback={hideMenu_}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</MenuListStyled>\n\t);\n};\n\nconst MenuListStyled = styled.nav`\n\talign-items: flex-start;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\tjustify-content: flex-start;\n`;\n","import { FC, useCallback, useEffect } from 'react';\nimport useOnclickOutside from 'react-cool-onclickoutside';\nimport styled, { css } from 'styled-components';\nimport { StyledDropdownMenu } from '@legacyApp/client/components/dropdown/dropdownMenu/dropdownMenu.styled';\nimport { useAppIsMenuVisible } from '@common/selectors/app.selectors';\nimport { hideMenu } from '@legacyApp/client/store/app/app.actions';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { vipStatusUpdateThunk } from '../../vip/store/thunks/vipStatusUpdate.thunk';\nimport { VipSection } from './VipSection';\nimport { MenuList } from './MenuList';\n\nexport const HeaderMenu: FC = () => {\n\tconst isMenuVisible = useAppIsMenuVisible();\n\tconst dispatch = useAppDispatch();\n\n\tconst prevIsMenuVisible = usePrevious(isMenuVisible);\n\n\tconst hideMenu_ = useCallback(() => dispatch(hideMenu()), [dispatch]);\n\n\tconst handleClickOutside_ = useCallback(() => {\n\t\tsetTimeout(() => {\n\t\t\tif (!isMenuVisible) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thideMenu_();\n\t\t}, 150);\n\t}, [hideMenu_, isMenuVisible]);\n\n\tconst outSideRef = useOnclickOutside(handleClickOutside_);\n\n\tuseEffect(() => {\n\t\tif (isMenuVisible && prevIsMenuVisible !== isMenuVisible) {\n\t\t\tdispatch(vipStatusUpdateThunk(true));\n\t\t}\n\t}, [dispatch, isMenuVisible, prevIsMenuVisible]);\n\n\treturn (\n\t\t<StyledHeaderMenu\n\t\t\tref={outSideRef}\n\t\t\tas={StyledDropdownMenu}\n\t\t\tvisible={isMenuVisible}\n\t\t>\n\t\t\t<VipSection />\n\t\t\t<MenuList />\n\t\t</StyledHeaderMenu>\n\t);\n};\n\nexport const StyledHeaderMenu = styled.div.attrs({\n\tclassName: 'overflow-scrollbar--vertical',\n})`\n\tbackground-color: var(--color-dark-800);\n\tcolor: var(--color-white);\n\tmax-height: calc(\n\t\t95vh - ${(props) => props.theme.layout.header.heightBigDesktop}\n\t);\n\tpadding: 24px 8px;\n\tposition: absolute;\n\tright: 20px;\n\ttop: 50px;\n\twidth: 280px;\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media.maxWidthTablet,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tmax-height: calc(\n\t\t\t\t\t80vh - ${(props) => props.theme.layout.header.heightBigDesktop}\n\t\t\t\t);\n\t\t\t}\n\t\t`,\n\t)}\n`;\n","import styled from 'styled-components';\n\nexport const StyledHeaderRow = styled.div.attrs(() => ({\n\tclassName: 'header--row',\n}))`\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tpadding: 0 ${(props) => props.theme.layout.sideFullPadding};\n\talign-items: center;\n\theight: 100%;\n`;\n","import { Button } from '@ui/button';\nimport { Chat } from '@icons/chat';\nimport { FC } from 'react';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { ChatToggleWrapper } from '../../chat/components/chatToggleWrapper/ChatToggleWrapper';\n\nexport const HeaderChat: FC = () => {\n\tconst isMobile_ = useAppMobile();\n\tif (isMobile_) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ChatToggleWrapper className={'x'}>\n\t\t\t<Button\n\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\ticonBefore={<Chat fill={theme.colors.text} />}\n\t\t\t/>\n\t\t</ChatToggleWrapper>\n\t);\n};\n","import React, { FC, PropsWithChildren, ReactElement, useMemo } from 'react';\n// import styled from 'styled-components';\nimport { useAppSelector } from '../../../hooks/store/useAppSelector';\n// import gif from './LoadingGifBase64';\n\nconst TRIGGERS = ['getUserData'];\n\nconst isLoaderActive = ({ appInitialized, modules }) => {\n\tif (!appInitialized) {\n\t\treturn true;\n\t}\n\tif (!Object.keys(modules).length) {\n\t\treturn false;\n\t}\n\treturn !!TRIGGERS.find((el) => modules[el]);\n};\n\nexport const UserLoadingWrapper: FC<\n\tPropsWithChildren<{\n\t\tloader: ReactElement;\n\t}>\n> = ({ children, loader }) => {\n\tconst { appInitialized, modules } = useAppSelector((state) => ({\n\t\tmodules: state.loader.modules,\n\t\tappInitialized: state.app.initialized,\n\t}));\n\n\tconst active = useMemo(() => {\n\t\treturn isLoaderActive({ appInitialized, modules });\n\t}, [appInitialized, modules]);\n\n\tif (!active) {\n\t\treturn <>{children}</>;\n\t}\n\treturn loader;\n};\n","import React, { FC } from 'react';\n\nimport { VipIcon } from '@ui/vip-icon';\nimport { EmptyIcon } from '@common/components/icons/Icon';\n\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport {\n\tuseVipLevel,\n\tuseVipLoaded,\n} from '../vip/store/selectors/vip.selectors';\nimport { useVip } from '../vip/hooks/useVip';\n\nexport const MyVipIcon: FC<{\n\tsize: number;\n}> = ({ size }) => {\n\tuseVip();\n\tconst level = useVipLevel();\n\tconst loaded = useVipLoaded();\n\n\tif (!isTrueOrZero(level?.level) && !loaded) {\n\t\treturn <EmptyIcon />;\n\t}\n\n\treturn <VipIcon size={size} nonLevel level={level?.level} />;\n};\n","import React, { FC, useCallback } from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { useAppIsMenuVisible } from '@common/selectors/app.selectors';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { toggleMenu } from '@legacyApp/client/store/app/app.actions';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\n\nimport { RectangleLoader } from '@common/components/contentLoaders/RectangleLoader';\nimport { Redirect } from '@common/components/default/Redirect/Redirect';\nimport { UserLoadingWrapper } from '@legacyApp/client/components/loading/UserLoadingWrapper';\nimport { NotificationIcon } from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport { BalanceContainer } from '@modules/balance';\nimport { MyVipIcon } from '@modules/header/MyVipIcon';\nimport { Button } from '@ui/button';\n\nexport const HeaderUser: FC = () => {\n\tconst isLogged_ = useUserIsLogged();\n\n\tconst dispatch = useDispatch();\n\n\tconst isMenuVisible_ = useAppIsMenuVisible();\n\n\tconst toggleMenu_ = useCallback(() => {\n\t\tif (!isMenuVisible_) {\n\t\t\tdispatch(toggleMenu());\n\t\t}\n\t}, [dispatch, isMenuVisible_]);\n\n\treturn (\n\t\t<>\n\t\t\t<UserLoadingWrapper\n\t\t\t\tloader={\n\t\t\t\t\t<RectangleLoader\n\t\t\t\t\t\tpassToWrapper\n\t\t\t\t\t\theight={20}\n\t\t\t\t\t\twidth={150}\n\t\t\t\t\t\tid={'header-balance'}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{isLogged_ ? (\n\t\t\t\t\t<BalanceContainer source=\"header\" showHideZeroBalancesSwitch />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Redirect href={'/login'} rel=\"nofollow\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tname=\"Login\"\n\t\t\t\t\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\t\t\t\t\tlabel={trans({ label: 'Login' })}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Redirect>\n\n\t\t\t\t\t\t<Redirect href={'/register'} rel=\"nofollow\">\n\t\t\t\t\t\t\t<Button name=\"Register\" label={trans({ label: 'Register' })} />\n\t\t\t\t\t\t</Redirect>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</UserLoadingWrapper>\n\n\t\t\t{isLogged_ && (\n\t\t\t\t<UserLoadingWrapper\n\t\t\t\t\tloader={\n\t\t\t\t\t\t<RectangleLoader\n\t\t\t\t\t\t\tclassName=\"show-desktop\"\n\t\t\t\t\t\t\tpassToWrapper\n\t\t\t\t\t\t\theight={20}\n\t\t\t\t\t\t\twidth={100}\n\t\t\t\t\t\t\tid={'header-menu'}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={toggleMenu_}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackground: 'var(--color-dark-500)',\n\t\t\t\t\t\t\t\tborderRadius: '100%',\n\t\t\t\t\t\t\t\theight: '32px',\n\t\t\t\t\t\t\t\twidth: '32px',\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<NotificationIcon type={ROUTING_ID.USER_SETTINGS} />\n\n\t\t\t\t\t\t\t<MyVipIcon size={24} />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t}\n\t\t\t\t</UserLoadingWrapper>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import React, { FC, useEffect, useState } from 'react';\nimport { TabGroup, TabGroupProps } from '@ui/tab-group';\nimport { Sport } from '@icons/sport';\nimport { CasinoV2 } from '@icons/casino-v2';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { useRouterPathname } from '@common/selectors/router.selectors';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { appGoTo } from '@legacyApp/client/store/app/app.actions';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\n\nconst TABS = (dispatch): TabGroupProps['tabs'] => [\n\t{\n\t\tid: 'casino',\n\t\tlabel: Trans({ label: 'Casino' }),\n\t\ticon: CasinoV2,\n\t\tonClick: () => dispatch(appGoTo(ROUTING_ID.HOME)),\n\t},\n\t{\n\t\tid: 'sports',\n\t\tlabel: Trans({ label: 'Sports' }),\n\t\ticon: Sport,\n\t\tonClick: (e, props) => {\n\t\t\tif (!props.active) {\n\t\t\t\tdispatch(appGoTo(ROUTING_ID.SPORTS_BOOK));\n\t\t\t}\n\t\t},\n\t},\n];\n\nexport const SectionSwitch: FC = () => {\n\tconst pathname = useRouterPathname();\n\tconst prevPathname = usePrevious(pathname);\n\tconst dispatch = useAppDispatch();\n\n\tconst [activeTabId, setActiveTabId] = useState(null);\n\n\tconst tabs = TABS(dispatch);\n\n\tuseEffect(() => {\n\t\tif (pathname !== prevPathname || !activeTabId) {\n\t\t\tconst newTab =\n\t\t\t\tpathname.indexOf(ROUTING_ID.SPORTS_BOOK) === -1\n\t\t\t\t\t? tabs[0].id\n\t\t\t\t\t: tabs[1].id;\n\t\t\tif (newTab !== activeTabId) {\n\t\t\t\tsetActiveTabId(newTab);\n\t\t\t}\n\t\t}\n\t}, [activeTabId, pathname, prevPathname, tabs]);\n\n\treturn <TabGroup tabs={tabs} activeTabId={activeTabId} small />;\n};\n","import { Button } from '@ui/button';\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Svg } from '@legacyApp/client/components/svg/Svg';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { NotificationIcon } from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { useSideMenu } from './hooks/useSideMenu';\n\nexport const SideMenuToggle = () => {\n\tconst { isOpen, setIsOpen } = useSideMenu();\n\n\tconst toggleMenu_ = useCallback(() => {\n\t\tsetIsOpen(!isOpen);\n\t}, [isOpen, setIsOpen]);\n\n\treturn (\n\t\t<>\n\t\t\t<SideMenuToggleStyled\n\t\t\t\tonClick={toggleMenu_}\n\t\t\t\tstyleType={ButtonStyleType.CLEAR}\n\t\t\t\ticonBefore={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NotificationIcon\n\t\t\t\t\t\t\ttypes={[ROUTING_ID.USER_VIP, MODAL_ID.NEW_FEATURES]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Svg\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<rect x=\"6\" y=\"9\" width=\"14\" height=\"1\" fill=\"white\" />\n\t\t\t\t\t\t\t\t\t<rect x=\"8\" y=\"5\" width=\"10\" height=\"1\" fill=\"white\" />\n\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\td=\"M1 1L5 5.5L1 10\"\n\t\t\t\t\t\t\t\t\t\tstroke=\"#8392AA\"\n\t\t\t\t\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(isOpen && {\n\t\t\t\t\t\t\t\t\t\t\t\ttransform: 'rotateY(225deg) translateX(-6px)',\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\ttransition: '300ms',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<rect x=\"6\" y=\"1\" width=\"14\" height=\"1\" fill=\"white\" />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\theight={11}\n\t\t\t\t\t\t\twidth={20}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport const SideMenuToggleStyled = styled(Button)``;\n","import React, { FC, useCallback, useState } from 'react';\n\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { useWindowEventListener } from '@common/hooks/useEventListener';\nimport { useAppIsViewLocked } from '@common/selectors/app.selectors';\nimport { config } from '@legacyApp/client/config';\nimport routingService from '@legacyApp/client/modules/app/routingService';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\n\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { StyledHeader } from '@modules/header/Header.styled';\nimport { StyledHeaderBox } from '@modules/header/HeaderBox.styled';\nimport { StyledHeaderLogo, StyledHeaderLogoWrapper } from '@modules/header/HeaderLogo.styled';\nimport { HeaderMenu } from '@modules/header/HeaderMenu/HeaderMenu';\nimport { StyledHeaderRow } from '@modules/header/HeaderRow.styled';\nimport { HeaderChat } from '@modules/header/HeaderUser/HeaderChat';\nimport { HeaderUser } from '@modules/header/HeaderUser/HeaderUser';\nimport { SectionSwitch } from '@modules/header/SectionSwitch';\nimport { SideMenuToggle } from '@modules/SideMenu/SideMenuToggle';\nimport Logo from '@public/img/wolf-icon.svg';\n\nconst HOME_URL = routingService.to(ROUTING_ID.HOME);\n\nexport const Header: FC = () => {\n\tconst isLockedView_ = useAppIsViewLocked();\n\n\tconst [scrolled, setScrolled] = useState(false);\n\n\tconst checkIfScrolled_ = useCallback(\n\t\t(e: Event) => {\n\t\t\tif (!e) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!isLockedView_) {\n\t\t\t\tconst scrolled_ = window.scrollY > 1;\n\n\t\t\t\tif (scrolled_ !== scrolled) {\n\t\t\t\t\tsetScrolled(scrolled_);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (scrolled) {\n\t\t\t\tsetScrolled(false);\n\t\t\t}\n\t\t},\n\t\t[isLockedView_, scrolled],\n\t);\n\n\tconst logoOnClick_ = useCallback(() => {\n\t\twindow.scrollTo(0, 0);\n\t}, []);\n\n\tuseWindowEventListener('scroll', checkIfScrolled_);\n\n\treturn (\n\t\t<StyledHeader $scrolled={scrolled}>\n\t\t\t<StyledHeaderRow>\n\t\t\t\t<StyledHeaderBox $noWrap>\n\t\t\t\t\t<SideMenuToggle />\n\n\t\t\t\t\t<LinkTo href={HOME_URL} onClick={logoOnClick_}>\n\t\t\t\t\t\t<StyledHeaderLogoWrapper>\n\t\t\t\t\t\t\t<StyledHeaderLogo\n\t\t\t\t\t\t\t\tsrc={Logo}\n\t\t\t\t\t\t\t\talt={simpleTrans(\"Crypto Casino Wolfbet - Gambling games online\")}\n\t\t\t\t\t\t\t/>{' '}\n\n\t\t\t\t\t\t\t<span className=\"text-logo show-desktop\">{config.logo}</span>\n\t\t\t\t\t\t</StyledHeaderLogoWrapper>\n\t\t\t\t\t</LinkTo>\n\n\t\t\t\t\t<SectionSwitch />\n\t\t\t\t</StyledHeaderBox>\n\n\t\t\t\t<StyledHeaderBox>\n\t\t\t\t\t<HeaderUser />\n\n\t\t\t\t\t<HeaderChat />\n\t\t\t\t</StyledHeaderBox>\n\n\t\t\t\t<HeaderMenu />\n\t\t\t</StyledHeaderRow>\n\t\t</StyledHeader>\n\t);\n};\n","import { Loadable } from '../loader/loadable/loadable';\nimport { isFeatureAvailable } from '../../modules/app/featureService';\nimport { FEATURES_TYPE } from '../../config';\n\nconst ChristmasThemeLoadable = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"app\" */ './christmasTheme'),\n\t\tssr: false,\n\t},\n\t'./christmasTheme',\n\tundefined,\n\ttrue,\n);\n\nexport const ChristmasTheme = () => {\n\tif (!isFeatureAvailable(FEATURES_TYPE.CHRISTMAS)) {\n\t\treturn null;\n\t}\n\treturn <ChristmasThemeLoadable />;\n};\n","import { FunctionComponent } from 'react';\nimport { useRouter } from 'next/router';\nimport styled from 'styled-components';\nimport { languageConfig } from '@server/config/language.config';\nimport { useAppLanguage } from '@common/selectors/app.selectors';\nimport { preventDefault } from '@common/methods/preventDefault';\nimport { LinkTo } from '../../default/LinkTo/LinkTo';\nimport { LanguageType } from '../LangPicker';\nimport { FlagIcon } from '../../icons/FlagIcon';\n\nexport const FlagLang: FunctionComponent<{\n\tlang: LanguageType;\n}> = ({ lang }) => {\n\tconst router = useRouter();\n\tconst current = useAppLanguage();\n\tconst locale = lang.id;\n\n\tconst element = (\n\t\t<StyledFlagLanguage className={`lang-${locale} text-style-sm-medium`}>\n\t\t\t<div>\n\t\t\t\t<FlagIcon\n\t\t\t\t\tsymbol={locale === languageConfig.default ? 'gb' : locale}\n\t\t\t\t\twithWrapper\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{lang.name}</span>\n\t\t</StyledFlagLanguage>\n\t);\n\n\tif (lang.id === current) {\n\t\treturn <a onClick={preventDefault}>{element}</a>;\n\t}\n\n\treturn (\n\t\t<LinkTo passHref locale={locale} href={router.asPath} forceATag={true}>\n\t\t\t{element}\n\t\t</LinkTo>\n\t);\n};\n\nexport const StyledFlagLanguage = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tposition: relative;\n\n\t> div {\n\t\theight: 16px;\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t\twidth: 22px;\n\n\t\t> div {\n\t\t\tleft: 50%;\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translate(-50%, -50%);\n\t\t}\n\t}\n\n\t> span {\n\t\tmargin-left: 10px;\n\t\ttext-transform: capitalize;\n\t}\n`;\n","import { FC } from 'react';\nimport { Dropdown, StyledDropdownButtonWrapper } from '@ui/dropdown';\nimport styled from 'styled-components';\nimport { CSSClassNameButton } from '@ui/button';\nimport { changeLanguage } from '@legacyApp/client/modules/translation/translationService';\nimport { languageConfig } from '@server/config/language.config';\nimport { Size } from '@uiTypes/Size';\nimport { useAppNoDefaultLanguage } from '@common/selectors/app.selectors';\nimport { FlagLang } from '@common/components/langPicker/flagLink/flagLang';\n\nexport interface LanguageType {\n\tid: string;\n\tname: string;\n}\n\nconst { available } = languageConfig;\n\nexport const LangPicker: FC = () => {\n\tconst current = useAppNoDefaultLanguage();\n\tconst onClick = (element) => changeLanguage(element.id);\n\tif (!current) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<StyledLangPickerDropdown>\n\t\t\t<Dropdown\n\t\t\t\tlist={available.map((lang) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: lang.id,\n\t\t\t\t\t\tcontent: <FlagLang key={lang.id} lang={lang} />,\n\t\t\t\t\t};\n\t\t\t\t})}\n\t\t\t\tpopperOptions={{\n\t\t\t\t\tplacement: 'top-start',\n\t\t\t\t}}\n\t\t\t\tsize={Size.LARGE}\n\t\t\t\tdefaultActiveId={current}\n\t\t\t\tonSelect={onClick}\n\t\t\t/>\n\t\t</StyledLangPickerDropdown>\n\t);\n};\n\nexport const StyledLangPickerDropdown = styled.div<{ className?: string }>`\n\twidth: 100%;\n\n\t${StyledDropdownButtonWrapper} {\n\t\twidth: 100%;\n\t}\n\n\t.${CSSClassNameButton} {\n\t\tpadding-left: 16px;\n\t\twidth: 100%;\n\t}\n`;\n","import React, { FC, MouseEventHandler, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { NOTIFICATION_ICON_CLASS_NAME } from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport { useSideMenu } from '../hooks/useSideMenu';\n\nexport interface SideMenuListElement {\n\thref?: string;\n\tid: string;\n\tonClick?: MouseEventHandler<any>;\n\tlabel: ReactNode;\n}\n\ninterface SideMenuListProps {\n\tlist: Array<SideMenuListElement>;\n\tclassName?: string;\n}\n\nexport const SideMenuList: FC<SideMenuListProps> = ({ list, className }) => {\n\tconst { closeOnMobile } = useSideMenu();\n\treturn (\n\t\t<SideMenuListStyled className={className}>\n\t\t\t{list\n\t\t\t\t.filter((el) => !!el)\n\t\t\t\t.map(({ href, label, onClick, id }) => {\n\t\t\t\t\tif (onClick) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a key={id} id={id}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={'text-style-sm-medium'}\n\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\tonClick(event);\n\t\t\t\t\t\t\t\t\t\tcloseOnMobile();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (href.indexOf('http') > -1) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\tkey={id}\n\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\ttarget={'_blank'}\n\t\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t\t\tonClick={closeOnMobile}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={'text-style-sm-medium'}>{label}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<LinkTo href={href} key={id}>\n\t\t\t\t\t\t\t<a id={id}>\n\t\t\t\t\t\t\t\t<div onClick={closeOnMobile} className={'text-style-sm-medium'}>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</LinkTo>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</SideMenuListStyled>\n\t);\n};\n\nexport const SideMenuListStyled = styled.div`\n\talign-items: flex-start;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\n\ta {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\n\t\tdiv {\n\t\t\tpadding: 8px 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\n\t\t\t.${NOTIFICATION_ICON_CLASS_NAME} {\n\t\t\t\tleft: -10px;\n\t\t\t\tright: unset;\n\t\t\t\ttop: 1px !important;\n\t\t\t}\n\t\t}\n\t}\n`;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport {\n\tConfettiImage,\n\tConfettiImage2,\n\tTrophyImage,\n\tWolfRaceOnClickWrapper,\n\tWolfRacePromoStyled,\n} from '@common/components/home/WelcomSection/components/WolfRacePromo';\nimport {\n\tBonusCodeOnClickWrapper,\n\tBonusCodesPromoStyled,\n\tBonusImage,\n} from '@common/components/home/WelcomSection/components/BonusCodesPromo';\nimport {\n\tVipWheelOnClickWrapper,\n\tVipWheelPromoStyled,\n\tWheelImage,\n} from '@common/components/home/WelcomSection/components/VipWheelPromo';\nimport {\n\tRakebackImage,\n\tRakebackOnClickWrapper,\n\tRakebackPromoStyled,\n} from '@common/components/home/WelcomSection/components/RakebackPromo';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\nimport {\n\tNOTIFICATION_ICON_CLASS_NAME,\n\tNotificationIcon,\n} from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport {\n\tBigPromoStyled,\n\tMediumPromoStyled,\n} from '@common/components/home/WelcomSection/components/Promotions.styled';\nimport { useSideMenu } from '../hooks/useSideMenu';\n\nexport const SideMenuQuickAccess: FC = () => {\n\tconst { closeOnMobile } = useSideMenu();\n\treturn (\n\t\t<SideMenuQuickAccessStyled>\n\t\t\t<RakebackOnClickWrapper>\n\t\t\t\t<SideMenuQuickAccessBoxStyled onClick={closeOnMobile}>\n\t\t\t\t\t<RakebackPromoStyled>\n\t\t\t\t\t\t<RakebackImage />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\tlabel: 'rakeback<1/>system',\n\t\t\t\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\tweekly\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\tsystem\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</RakebackPromoStyled>\n\t\t\t\t</SideMenuQuickAccessBoxStyled>\n\t\t\t</RakebackOnClickWrapper>\n\t\t\t<VipWheelOnClickWrapper>\n\t\t\t\t<SideMenuQuickAccessBoxStyled onClick={closeOnMobile}>\n\t\t\t\t\t<NotificationIcon\n\t\t\t\t\t\tnotification={NOTIFICATION_ID.HAS_VIP_WHEEL_TO_SPIN}\n\t\t\t\t\t/>\n\t\t\t\t\t<VipWheelPromoStyled>\n\t\t\t\t\t\t<WheelImage />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\tlabel: 'daily<1/>charge',\n\t\t\t\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\tdaily\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\tcharge\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</VipWheelPromoStyled>\n\t\t\t\t</SideMenuQuickAccessBoxStyled>\n\t\t\t</VipWheelOnClickWrapper>\n\t\t\t<BonusCodeOnClickWrapper>\n\t\t\t\t<SideMenuQuickAccessBoxStyled onClick={closeOnMobile}>\n\t\t\t\t\t<NotificationIcon notification={NOTIFICATION_ID.HAS_BONUS_CODE} />\n\t\t\t\t\t<BonusCodesPromoStyled>\n\t\t\t\t\t\t<BonusImage src=\"/img/promosection/bonus/code.png\" />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\tlabel: 'bonus<1/>codes',\n\t\t\t\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\tbonus\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\tcodes\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</BonusCodesPromoStyled>\n\t\t\t\t</SideMenuQuickAccessBoxStyled>\n\t\t\t</BonusCodeOnClickWrapper>\n\t\t\t<WolfRaceOnClickWrapper>\n\t\t\t\t<SideMenuQuickAccessBoxStyled onClick={closeOnMobile}>\n\t\t\t\t\t<WolfRacePromoStyled>\n\t\t\t\t\t\t<TrophyImage />\n\t\t\t\t\t\t<ConfettiImage />\n\t\t\t\t\t\t<ConfettiImage2 />\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{trans({\n\t\t\t\t\t\t\t\tlabel: 'wolf<1/>race',\n\t\t\t\t\t\t\t\tnamespace: TransNamespace.COMMON,\n\t\t\t\t\t\t\t\tcomponents: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\twolf\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\trace\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</WolfRacePromoStyled>\n\t\t\t\t</SideMenuQuickAccessBoxStyled>\n\t\t\t</WolfRaceOnClickWrapper>\n\t\t</SideMenuQuickAccessStyled>\n\t);\n};\n\nconst SideMenuQuickAccessStyled = styled.div`\n\tdisplay: grid;\n\tgrid-column-gap: 8px;\n\tgrid-row: auto;\n\tgrid-row-gap: 8px;\n\tgrid-template-columns: calc(50% - 4px) calc(50% - 4px);\n\theight: auto;\n\twidth: 100%;\n`;\n\nexport const SideMenuQuickAccessBoxStyled = styled.div.attrs(() => {\n\treturn {\n\t\tclassName: 'text-style-h-7',\n\t};\n})`\n\talign-items: center;\n\tposition: relative;\n\tcursor: pointer;\n\tcolor: #fff;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\ttext-transform: uppercase;\n\n\tspan {\n\t\tz-index: 3;\n\t}\n\n\t.${NOTIFICATION_ICON_CLASS_NAME} {\n\t\tleft: -7px;\n\t\tright: unset;\n\t\tz-index: 1;\n\t\ttop: -7px !important;\n\t}\n\n\t${BigPromoStyled}, ${MediumPromoStyled} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder-radius: 5px;\n\t\tpadding: 17px 8px;\n\t}\n\n\t${VipWheelPromoStyled} {\n\t\t${WheelImage} {\n\t\t\tright: -10px;\n\t\t\tleft: unset;\n\t\t\ttransform: unset;\n\t\t\ttop: 12%;\n\t\t}\n\t}\n\n\t${RakebackPromoStyled} {\n\t\t${RakebackImage} {\n\t\t\ttop: 3%;\n\t\t\theight: 100%;\n\t\t\tleft: unset;\n\t\t\tright: -5px;\n\t\t\ttransform: unset;\n\t\t}\n\t}\n\n\t${BonusCodesPromoStyled} {\n\t\t${BonusImage} {\n\t\t\ttop: 0;\n\t\t\theight: 100%;\n\t\t\tright: -2%;\n\t\t\tleft: unset;\n\t\t\ttransform: unset;\n\t\t}\n\t}\n`;\n","import React, { FC } from 'react';\nimport { Button, CSSClassNameButton } from '@ui/button';\nimport { Close } from '@icons/ui/Close';\nimport styled, { css } from 'styled-components';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { SectionSwitch } from '../../header/SectionSwitch';\nimport { useSideMenu } from '../hooks/useSideMenu';\n\nexport const SideMenuNavigation: FC = () => {\n\tconst { setIsOpen } = useSideMenu();\n\n\treturn (\n\t\t<SideMenuNavigationStyled>\n\t\t\t<SectionSwitch />\n\t\t\t<Button\n\t\t\t\tname={'Close side menu'}\n\t\t\t\tstyleType={ButtonStyleType.OUTLINE}\n\t\t\t\ticonBefore={<Close fill={'white'} />}\n\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t/>\n\t\t</SideMenuNavigationStyled>\n\t);\n};\n\nexport const SideMenuNavigationStyled = styled.div`\n\tdisplay: none;\n\tjustify-content: space-between;\n\t.${CSSClassNameButton} {\n\t\tfloat: right;\n\t}\n\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\t@media (max-width: ${(props) =>\n\t\t\t\t\tcalcStyle({\n\t\t\t\t\t\ta: props.theme.media_v2.max_tablet_large,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t})}) {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t`,\n\t)}\n`;\n","import React, { FC, useCallback } from 'react';\nimport { Button, CSSClassNameButton, CSSClassNameIcon } from '@ui/button';\nimport { useDispatch } from 'react-redux';\nimport styled, { css } from 'styled-components';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { config } from '@legacyApp/client/config';\nimport routingService from '@legacyApp/client/modules/app/routingService';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { NOTIFICATION_ID } from '@legacyApp/client/store/notification/notification.constants';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { useSideMenu } from '@modules/SideMenu/hooks/useSideMenu';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { Size } from '@uiTypes/Size';\nimport { LangPicker } from '@common/components/langPicker/LangPicker';\nimport { ClickOutsideWrapper } from '@legacyApp/client/components/clickOutSideWrapper';\nimport { socialConfig } from '@server/config/social.config';\nimport { InstallContainer } from '@legacyApp/client/components/install';\nimport { NotificationIcon } from '@legacyApp/client/components/notificationIcon/NotificationIcon';\nimport { SupportButton } from '@modules/support/components/SupportButton';\nimport { VipIcon } from '@ui/vip-icon';\nimport { SideMenuList, SideMenuListElement } from './components/SideMenuList';\nimport { SideMenuQuickAccess } from './components/SideMenuQuickAccess';\nimport { SideMenuNavigation } from './components/SideMenuNavigation';\n\nconst StyledVipClub = styled.span`\n\t.${CSSClassNameButton} {\n\t\tpadding-left: 16px;\n\t\twidth: 100%;\n\n\t\t.${CSSClassNameIcon} {\n\t\t\tmargin-right: 8px !important;\n\t\t}\n\t}\n`;\n\nconst FIRST_LIST = [\n\t{\n\t\tid: 'vip',\n\t\thref: routingService.to(ROUTING_ID.USER_VIP),\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t<StyledVipClub>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\t\t\tsize={Size.LARGE}\n\t\t\t\t\t\tlabel={trans({ label: 'VIP Club' })}\n\t\t\t\t\t\ticonBefore={<VipIcon level={16} size={15} />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NotificationIcon type={ROUTING_ID.USER_VIP} />\n\t\t\t\t\t</Button>\n\t\t\t\t</StyledVipClub>\n\t\t\t</>\n\t\t),\n\t},\n\t{\n\t\tid: 'ranking',\n\t\thref: routingService.to(ROUTING_ID.RANKING),\n\t\tlabel: trans({ label: 'Ranking' }),\n\t},\n\t{\n\t\tid: 'promotions',\n\t\thref: routingService.to(ROUTING_ID.PROMOTIONS),\n\t\tlabel: trans({ label: 'Promotions' }),\n\t},\n\t{\n\t\tid: 'affiliate',\n\t\thref: routingService.to(ROUTING_ID.USER_AFFILIATE),\n\t\tlabel: trans({ label: 'Affiliate' }),\n\t},\n];\n\nconst SECOND_LIST = (dispatch): Array<SideMenuListElement> => {\n\treturn [\n\t\t{\n\t\t\tid: 'provablyfair',\n\t\t\thref: routingService.to(ROUTING_ID.PROVABLY_FAIR),\n\t\t\tlabel: trans({ label: 'Provably Fair' }),\n\t\t},\n\t\t{\n\t\t\tid: 'newfeatures',\n\t\t\tonClick: () => dispatch(openModal(MODAL_ID.NEW_FEATURES, 'SideMenu')),\n\t\t\tlabel: (\n\t\t\t\t<>\n\t\t\t\t\t<NotificationIcon notification={NOTIFICATION_ID.NEW_FEATURES} />\n\t\t\t\t\t{trans({ label: 'New Features' })}\n\t\t\t\t</>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tid: 'api',\n\t\t\thref: config.documentationUrl,\n\t\t\tlabel: trans({ label: 'API' }),\n\t\t},\n\t];\n};\n\nconst THIRD_LIST: Array<SideMenuListElement> = [\n\t{\n\t\tid: 'twitter',\n\t\thref: socialConfig.twitter,\n\t\tlabel: 'X/Twitter',\n\t},\n\t{\n\t\tid: 'facebook',\n\t\thref: socialConfig.facebook,\n\t\tlabel: 'Facebook',\n\t},\n\t{\n\t\tid: 'instagram',\n\t\thref: socialConfig.instagram,\n\t\tlabel: 'Instagram',\n\t},\n\t{\n\t\tid: 'telegram',\n\t\thref: socialConfig.telegram,\n\t\tlabel: 'Telegram',\n\t},\n\t{\n\t\tid: 'discord',\n\t\thref: socialConfig.discord,\n\t\tlabel: 'Discord',\n\t},\n\t{\n\t\tid: 'bitcointalk',\n\t\thref: socialConfig.bitcointalk,\n\t\tlabel: 'Bitcointalk',\n\t},\n];\n\nconst SideMenu: FC = () => {\n\tconst { isOpen, setIsOpen } = useSideMenu();\n\n\tconst isMobile = useAppMobile();\n\n\tconst dispatch = useDispatch();\n\n\tconst onClickOutside = useCallback(() => {\n\t\tif (isMobile) {\n\t\t\tsetIsOpen(false);\n\t\t}\n\t}, [isMobile, setIsOpen]);\n\n\treturn (\n\t\t<ClickOutsideWrapper onClickOutside={onClickOutside}>\n\t\t\t<SideMenuStyled $isOpen={isOpen} className=\"overflow-scrollbar--vertical\">\n\t\t\t\t<SideMenuNavigation />\n\n\t\t\t\t<SideMenuQuickAccess />\n\n\t\t\t\t<SideMenuList list={FIRST_LIST} />\n\n\t\t\t\t<SideMenuSpacer />\n\n\t\t\t\t<SideMenuList list={SECOND_LIST(dispatch)} />\n\n\t\t\t\t<SideMenuSupportButton>\n\t\t\t\t\t<SupportButton size={Size.LARGE} />\n\t\t\t\t</SideMenuSupportButton>\n\n\t\t\t\t<SideMenuList list={THIRD_LIST} className=\"side-menu-list-dark\" />\n\n\t\t\t\t<LangPicker />\n\n\t\t\t\t<InstallContainer />\n\t\t\t</SideMenuStyled>\n\t\t</ClickOutsideWrapper>\n\t);\n};\n\nconst SideMenuSupportButton = styled.div``;\n\nconst SideMenuStyled = styled.div<{\n\t$isOpen: Boolean;\n}>`\n\tbackground-color: var(--color-dark-900);\n\theight: 100%;\n\tleft: 0;\n\toverflow: auto;\n\tpadding: 18px;\n\tposition: fixed;\n\ttop: 0;\n\ttransform: translateX(\n\t\t${(props) =>\n\t\t\tprops.$isOpen ? '0' : css`-${props.theme.layout.chat.leftMenuWidth}`}\n\t);\n\ttransition: 100ms;\n\twidth: ${(props) => props.theme.layout.chat.leftMenuWidth};\n\tz-index: 9999;\n\n\t> * {\n\t\tmargin-bottom: 24px;\n\t}\n\n\t.side-menu-list-dark {\n\t\t* {\n\t\t\tcolor: var(--color-dark-200);\n\t\t}\n\t}\n\n\t${SideMenuSupportButton} {\n\t\t> .${CSSClassNameButton} {\n\t\t\tpadding-left: 16px;\n\t\t\twidth: 100%;\n\n\t\t\tsvg {\n\t\t\t\tmargin-right: 8px !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\twidth: ${(props) => props.theme.layout.chat.leftMenuWidth};\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\tz-index: 9999;\n\t\ttransform: translateX(${(props) => (props.$isOpen ? '0' : '-100%')});\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthMobile}) {\n\t\twidth: 100%;\n\t}\n`;\n\nconst SideMenuSpacer = styled.div`\n\tbackground-color: var(--color-dark-500);\n\theight: 1px;\n\twidth: 100%;\n`;\n\nexport default SideMenu;\n","import styled from 'styled-components';\nimport { CSSClassNameBreadcrumbsFooter } from '@legacyApp/client/modules/style/components/MainDashboard.styled';\n\nexport const StyledMain = styled.div.attrs({ className: 'main' })`\n\tfloat: left;\n\twidth: 100%;\n\tmin-height: calc(100vh - ${(props) => props.theme.layout.footerHeight});\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: ${(props) => props.theme.colors.background};\n\tcolor: ${(props) => props.theme.colors.text};\n\tposition: relative;\n\n\t.main-dashboard:first-of-type:not(.${CSSClassNameBreadcrumbsFooter}) {\n\t\tmin-height: calc(\n\t\t\t100vh - (2 * ${(props) => props.theme.layout.footerHeight})\n\t\t);\n\t}\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport { ThemeType } from '@legacyApp/client/modules/style/theme';\nimport {\n\tbox,\n\tboxNoHeight,\n\tclearfix,\n} from '@legacyApp/client/modules/style/defaults';\nimport { spaces } from '@legacyApp/client/modules/style/mixins';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nexport const StyledDefaultGlobal = createGlobalStyle<{ theme: ThemeType }>`\n\t[data-nextjs-dialog-overlay] {\n\t\tz-index: 2147483647;\n\t}\n\n\thtml {\n\t\tmin-height: 100vh;\n\t}\n\n\thtml, body {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t\tbackground-color: ${(props) => props.theme.colors.background};\n\n\t\t&.locked-view {\n\t\t\tposition: fixed;\n\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\theight: 100%;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\t}\n\n\tsvg {\n\t\tpadding: 0 !important;\n\t\tmax-width: 100%;\n\n\t\t&[class*=\"svg-inline\"] {\n\t\t\twidth: 1em;\n\t\t}\n\t}\n\n\t.grecaptcha-badge {\n\t\tdisplay: none !important;\n\t}\n\n\t* {\n\t\tscrollbar-width: none;\n\t\t-ms-overflow-style: none;\n\t\t-webkit-overflow-scrolling: touch;\n\t\t-webkit-font-smoothing: antialiased;\n\n\t\t//&::-webkit-scrollbar {\n\t\t// display: none;\n\t\t//}\n\n\t\t&::-webkit-scrollbar {\n\t\t\twidth: 0;\n\t\t\theight: 5px;\n\t\t}\n\n\t\t&::-webkit-scrollbar-track {\n\t\t\tborder-radius: 10px;\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&::-webkit-scrollbar-thumb {\n\t\t\tborder-radius: 10px;\n\t\t\tbackground: rgba(172, 172, 172, 0.59);\n\t\t\ttransition: ${(props) => props.theme.layout.transition};\n\t\t}\n\n\t\t&::-webkit-scrollbar-thumb:window-inactive {\n\t\t\tbackground: rgba(172, 172, 172, 0.26);\n\t\t\ttransition: ${(props) => props.theme.layout.transition};\n\t\t}\n\t}\n\n\t.overflow-scrollbar {\n\t\t-ms-overflow-style: auto !important;\n\t\tscrollbar-width: thin;\n\t\t-webkit-overflow-scrolling: auto;\n\n\t\t&--vertical {\n\t\t\t-ms-overflow-style: auto !important;\n\t\t\tscrollbar-width: thin;\n\t\t\t-webkit-overflow-scrolling: auto;\n\n\t\t\t&::-webkit-scrollbar {\n\t\t\t\twidth: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\tbody {\n\t\tposition: relative;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\t-webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n\t\tfont-weight: ${(props) => props.theme.text.weight.light};\n\t\tmargin: 0;\n\t\tcolor: ${(props) => props.theme.colors.text};\n\t\tbackground-color: ${(props) => props.theme.colors.background};\n\t\tmin-height: 100%;\n\t\tmin-width: 100%;\n\n\t\t[class*='language-'] {\n\t\t\tfont-family: ${(props) => props.theme.text.fonts.Bold};\n\t\t}\n\n\t\t#__next {\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\t//height: 100vh;\n\t\t\tmin-width: 100%;\n\t\t\tmin-height: 100%;\n\t\t\toverflow-x: hidden;\n\t\t}\n\n\t\t&.locked-view {\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\t#__next {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@media screen and (max-device-width: 480px) {\n\t\tbody {\n\t\t\t-webkit-text-size-adjust: none;\n\t\t}\n\t}\n\n\tdialog {\n\t\tdisplay: block;\n\t\tposition: unset;\n\t\tleft: unset;\n\t\tright: unset;\n\t\twidth: unset;\n\t\theight: unset;\n\t\tcolor: unset;\n\t\tmargin: unset;\n\t\tborder-width: unset;\n\t\tborder-style: unset;\n\t\tborder-color: unset;\n\t\tborder-image: unset;\n\t\tpadding: unset;\n\t\tbackground: unset;\n\t}\n\n\t* {\n\t\ta {\n\t\t\tcolor: inherit;\n\t\t\ttext-decoration: none;\n\t\t\tcursor: pointer;\n\t\t\ttransition: ${(props) => props.theme.layout.transition};\n\t\t}\n\t}\n\n\t* {\n\t\tbox-sizing: border-box;\n\t\toutline: none;\n\t}\n\n\t.montserrat {\n\t\tfont-family: 'Montserrat', sans-serif !important;\n\t}\n\n\tp:not([class*=\"text-style\"]) {\n\t\t${boxNoHeight};\n\t\tmargin-top: 0;\n\t\t${fontSize({ important: true })};\n\n\t\t&:first-of-type {\n\t\t\tmargin-top: 1em;\n\t\t}\n\n\t\t&[class*=\"hint\"] {\n\t\t\t${fontSize({\n\t\t\t\timportant: true,\n\t\t\t\tsizeDiff: -3,\n\t\t\t\tsizeDesktopDiff: -4,\n\t\t\t\tsizeBigScreenDiff: -5,\n\t\t\t})};\n\t\t}\n\t}\n\n\t.hint {\n\t\tcolor: ${(props) => props.theme.colors.secondText};\n\t\tborder-color: ${(props) => props.theme.colors.secondText};\n\n\t\t&-dark {\n\t\t\tcolor: ${(props) => props.theme.colors.inputBackgroundSolid};\n\t\t\tborder-color: ${(props) => props.theme.colors.inputBackgroundSolid};\n\t\t}\n\t}\n\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\tp,\n\tspan,\n\tdiv {\n\t\tuser-select: none;\n\t}\n\n\t.user-select-all {\n\t\tuser-select: all !important;\n\n\t\t* {\n\t\t\tuser-select: all !important;\n\t\t}\n\t}\n\n\t.user-select-text {\n\t\tuser-select: text !important;\n\n\t\t* {\n\t\t\tuser-select: text !important;\n\t\t}\n\t}\n\n\t.break-all {\n\t\tword-break: break-all;\n\t}\n\n\t.onclick {\n\t\tcursor: pointer;\n\t}\n\n\t.width-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.display-none {\n\t\tdisplay: none;\n\t}\n\n\t.display-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.display-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.break-word-all {\n\t\tword-break: break-all;\n\t}\n\n\t.opacity-50 {\n\t\topacity: 0.5 !important;\n\t}\n\n\t.no-transition {\n\t\ttransition: none !important;\n\t}\n\n\t.transition {\n\t\ttransition: ${(props) => props.theme.layout.transition} !important;\n\t}\n\n\t.hidden {\n\t\topacity: 0;\n\t\theight: 0 !important;\n\t\toverflow: hidden;\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\n\t.active {\n\t\tcolor: ${(props) => props.theme.colors.active} !important;\n\n\t\t&-bg {\n\t\t\tbackground-color: ${(props) => props.theme.colors.active} !important;\n\t\t}\n\t}\n\n\t.z-field {\n\t\theight: 100%;\n\n\t\tdiv {\n\t\t\theight: 100%;\n\t\t\tdisplay: block !important;\n\t\t}\n\t}\n\n\t.box {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t.box-no-height {\n\t\t${box};\n\t\theight: unset;\n\t}\n\n\t.no-height {\n\t\theight: unset !important;\n\t}\n\n\t.no-width {\n\t\twidth: unset !important;\n\t}\n\n\t.box-margin-bottom {\n\t\t${box};\n\t\theight: auto;\n\t\tmargin-bottom: 30px;\n\t}\n\n\t.width-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.width-80 {\n\t\twidth: 80%;\n\t}\n\n\t.width-75 {\n\t\twidth: 75%;\n\t}\n\n\t.width-70 {\n\t\twidth: 70%;\n\t}\n\n\t.width-66 {\n\t\twidth: 66.66%;\n\t}\n\n\t.width-65 {\n\t\twidth: 65%;\n\t}\n\n\t.width-60 {\n\t\twidth: 60%;\n\t}\n\n\t.width-55 {\n\t\twidth: 55%;\n\t}\n\n\t.width-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.width-45 {\n\t\twidth: 45%;\n\t}\n\n\t.width-40 {\n\t\twidth: 40%;\n\t}\n\n\t.width-35 {\n\t\twidth: 35%;\n\t}\n\n\t.width-33 {\n\t\twidth: 33.3%;\n\t}\n\n\t.width-30 {\n\t\twidth: 30%;\n\t}\n\n\t.width-25 {\n\t\twidth: 25%;\n\t}\n\n\t.width-20 {\n\t\twidth: 20%;\n\t}\n\n\t.width-16 {\n\t\twidth: 16.66%;\n\t}\n\n\t.width-16 {\n\t\twidth: 16.66%;\n\t}\n\n\t.width-15 {\n\t\twidth: 15%;\n\t}\n\n\t.width-10 {\n\t\twidth: 10%;\n\t}\n\n\t.width-5 {\n\t\twidth: 5%;\n\t}\n\n\t.height-50 {\n\t\theight: 50% !important;\n\t}\n\n\tb {\n\t\tfont-weight: ${(props) => props.theme.text.weight.bold};\n\t}\n\n\t.no-select {\n\t\t-webkit-touch-callout: none; /* iOS Safari */\n\t\t-webkit-user-select: none; /* Chrome/Safari/Opera */\n\t\t-khtml-user-select: none; /* Konqueror */\n\t\t-moz-user-select: none; /* Firefox */\n\t\t-ms-user-select: none; /* Internet Explorer/Edge */\n\t\tuser-select: none;\n\t\t/* Non-prefixed version, currently\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t not supported by any browser */\n\t}\n\n\t.no-pointer {\n\t\tcursor: default !important;\n\t}\n\n\t.no-click {\n\t\tpointer-events: none !important;\n\n\t\t* {\n\t\t\tpointer-events: none !important;\n\t\t}\n\t}\n\n\t.no-hover {\n\t\t&:hover {\n\t\t\tbackground-color: inherit;\n\t\t\tcolor: inherit;\n\t\t\topacity: inherit !important;\n\t\t}\n\t}\n\n\t.no-side-padding {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\n\t.no-top-padding {\n\t\tpadding-top: 0 !important;\n\t}\n\n\t.no-padding {\n\t\tpadding: 0 !important;\n\t}\n\n\t.padding-bottom-10 {\n\t\tpadding-bottom: 10px !important;\n\t}\n\n\t.padding-bottom-20 {\n\t\tpadding-bottom: 20px !important;\n\t}\n\n\t.padding-top-10 {\n\t\tpadding-top: 10px !important;\n\t}\n\n\t.padding-top-20 {\n\t\tpadding-top: 20px !important;\n\t}\n\n\t.padding-side-5 {\n\t\tpadding-left: 5px !important;\n\t\tpadding-right: 5px !important;\n\t}\n\n\t.padding-side-10 {\n\t\tpadding-left: 10px !important;\n\t\tpadding-right: 10px !important;\n\t}\n\n\t.padding-side-20 {\n\t\tpadding-left: 20px !important;\n\t\tpadding-right: 20px !important;\n\t}\n\n\t.no-margin {\n\t\tmargin: 0 !important;\n\t}\n\n\t.no-margin-bottom {\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.no-margin-top {\n\t\tmargin-top: 0 !important;\n\t}\n\n\t.no-max-width {\n\t\tmax-width: unset !important;\n\t}\n\n\t.no-width {\n\t\twidth: unset !important;\n\t}\n\n\t${spaces(0)};\n\t${spaces(4)};\n\t${spaces(8)};\n\t${spaces(12)};\n\t${spaces(16)};\n\t${spaces(20)};\n\t${spaces(24)};\n\t${spaces(28)};\n\t${spaces(32)};\n\t${spaces(36)};\n\t${spaces(40)};\n\t${spaces(48)};\n\t${spaces(60)};\n\n\t.margin-top {\n\t\tmargin-top: 20px !important;\n\t}\n\n\t.margin-bottom {\n\t\tmargin-bottom: 20px !important;\n\t}\n\n\t.margin-left {\n\t\tmargin-left: 20px !important;\n\t}\n\n\t.margin-right {\n\t\tmargin-right: 20px !important;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthMobile}) {\n\t\t.margin-top {\n\t\t\tmargin-top: 10px !important;\n\t\t}\n\n\t\t.margin-bottom {\n\t\t\tmargin-bottom: 10px !important;\n\t\t}\n\n\t\t.margin-left {\n\t\t\tmargin-left: 10px !important;\n\t\t}\n\n\t\t.margin-right {\n\t\t\tmargin-right: 10px !important;\n\t\t}\n\t}\n\n\t.small-margin-left {\n\t\tmargin-left: 5px !important;\n\t}\n\n\t.small-margin-right {\n\t\tmargin-right: 5px !important;\n\t}\n\n\t.small-margin-top {\n\t\tmargin-top: 5px !important;\n\t}\n\n\t.small-margin-bottom {\n\t\tmargin-bottom: 5px !important;\n\t}\n\n\t.padding-top {\n\t\tpadding-top: 20px !important;\n\t}\n\n\t.padding-bottom {\n\t\tpadding-bottom: 20px !important;\n\t}\n\n\t.padding-left {\n\t\tpadding-left: 20px !important;\n\t}\n\n\t.small-padding-left {\n\t\tpadding-left: 5px !important;\n\t}\n\n\t.small-padding-right {\n\t\tpadding-right: 5px !important;\n\t}\n\n\t.small-padding-top {\n\t\tpadding-top: 5px !important;\n\t}\n\n\t.small-padding-bottom {\n\t\tpadding-bottom: 5px !important;\n\t}\n\n\t.text-logo {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Bold};\n\t\tfont-size: 24px;\n\t}\n\n\t.text-small {\n\t\t${fontSize({ size: '10px', sizeDesktop: '12px', important: true })};\n\t}\n\n\t.text-medium {\n\t\t${fontSize({ size: '12px', sizeDesktop: '14px', important: true })};\n\t}\n\n\t.text-gold {\n\t\tcolor: ${(props) => props.theme.colors.gold} !important;\n\t}\n\n\t.text-button {\n\t\tcolor: ${(props) => props.theme.colors.inputButton} !important;\n\t}\n\n\t.text-blue {\n\t\tcolor: ${(props) => props.theme.colors.inputButton} !important;\n\t}\n\n\t.text-skyblue {\n\t\tcolor: ${(props) => props.theme.colors.skyblue} !important;\n\t}\n\n\t.text-black {\n\t\tcolor: black !important;\n\t}\n\n\t.text-turquoise {\n\t\tcolor: ${(props) => props.theme.colors.turquoise} !important;\n\t}\n\n\t.text-green {\n\t\tcolor: ${(props) => props.theme.colors.green} !important;\n\t}\n\n\t.text-green::first-letter {\n\t\tcolor: ${(props) => props.theme.colors.green} !important;\n\t}\n\n\t.text-red {\n\t\tcolor: ${(props) => props.theme.colors.red} !important;\n\t}\n\n\t.text-active {\n\t\tcolor: ${(props) => props.theme.colors.active} !important;\n\t}\n\n\t.text-grey {\n\t\tcolor: ${(props) => props.theme.colors.grey} !important;\n\t}\n\n\t.text-orange {\n\t\tcolor: ${(props) => props.theme.colors.orange} !important;\n\t}\n\n\t.text-positive {\n\t\tcolor: ${(props) => props.theme.colors.positive} !important;\n\t}\n\n\t.text-negative {\n\t\tcolor: ${(props) => props.theme.colors.negative} !important;\n\t}\n\n\t.text-second {\n\t\tcolor: ${(props) => props.theme.colors.secondText} !important;\n\t}\n\n\t.text-orange::first-letter {\n\t\tcolor: ${(props) => props.theme.colors.orange} !important;\n\t}\n\n\t.text-disabled {\n\t\tcolor: ${(props) => props.theme.colors.text}-disabled !important;\n\t}\n\n\t.text-uppercase {\n\t\ttext-transform: uppercase;\n\t}\n\n\t.border-positive {\n\t\tborder: 1px solid ${(props) => props.theme.colors.positive} !important;\n\t}\n\n\t.border-negative {\n\t\tborder: 1px solid ${(props) => props.theme.colors.negative} !important;\n\t}\n\n\t.border-fat-positive {\n\t\tborder: 5px solid ${(props) => props.theme.colors.positive} !important;\n\t}\n\n\t.border-fat-negative {\n\t\tborder: 5px solid ${(props) => props.theme.colors.negative} !important;\n\t}\n\n\t.text-overflow-ellipsis {\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\t.text-notransform {\n\t\ttext-transform: none;\n\t}\n\n\t.text-underline {\n\t\ttext-decoration: underline;\n\t}\n\n\t.text-validation {\n\t\tcolor: ${(props) => props.theme.colors.passwordValidationColor};\n\t}\n\n\t.text-sm {\n\t\tfont-size: 0.7em;\n\t}\n\n\t.relative {\n\t\tposition: relative;\n\t}\n\n\t.text-bold {\n\t\tfont-weight: ${(props) => props.theme.text.weight.bold};\n\t}\n\n\t.text-line {\n\t\ttext-decoration: line-through;\n\t}\n\n\t.text-capitalize {\n\t\ttext-transform: capitalize;\n\t}\n\n\t.text-unset {\n\t\ttext-transform: unset;\n\t}\n\n\t.inline {\n\t\tdisplay: inline-block;\n\t\twidth: auto;\n\t}\n\n\t.align-center {\n\t\ttext-align: center !important;\n\t}\n\n\t.align-left {\n\t\ttext-align: left !important;\n\t}\n\n\t.align-right {\n\t\ttext-align: right !important;\n\t}\n\n\t.no-border {\n\t\tborder: ${(props) => props.theme.layout.noBorder} !important;\n\t}\n\n\t.no-wrap {\n\t\twhite-space: nowrap;\n\t}\n\n\timg:not([src]) {\n\t\tvisibility: hidden;\n\t}\n\n\t@-moz-document url-prefix() {\n\t\timg:-moz-loading {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t.text-elipsis {\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t}\n\n\t.show-mobile {\n\t\tdisplay: none!important;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t.show-mobile {\n\t\t\tdisplay: block!important;\n\t\t}\n\n\t\t.show-desktop {\n\t\t\tdisplay: none!important;\n\t\t}\n\t}\n\n\t.clearfix {\n\t\t${clearfix};\n\t}\n\n\t.no-scroll, .no-scroll > #__next {\n\t\toverflow: hidden;\n\t}\n\n\t.cut-text {\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\tspan.cut-text {\n\t\tdisplay: inline-block !important;\n\t\tmax-width: 100%;\n\t}\n\n\t.test-gtm {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: 2147483647;\n\t\tpadding: 5px;\n\t\tbackground-color: rgba(orange, 0.3);\n\t\twidth: 100%;\n\n\t\t.button {\n\t\t\tpadding: 0 10px;\n\t\t\tbackground-color: orange;\n\t\t}\n\t}\n\n\t.auto-overflow {\n\t\toverflow: auto;\n\t}\n\n\t.click-box {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tz-index: 0;\n\t}\n\n\ti, svg {\n\t\t&.hover-icon {\n\t\t\t&:hover {\n\t\t\t\topacity: 0.5;\n\t\t\t\ttransition: ${(props) => props.theme.layout.transition};\n\t\t\t}\n\t\t}\n\t}\n\n\tbutton {\n\t\toutline: none;\n\t\tborder: 0 none;\n\t\tcursor: pointer;\n\t\tbackground-color: transparent;\n\t\tcolor: inherit;\n\t\tvertical-align: top;\n\t\tfont-size: inherit;\n\t\tfont-family: inherit;\n\t\tposition: relative;\n\n\t\t&:hover,\n\t\t&:active,\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t.mobile {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t.desktop {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport { ThemeType } from '@legacyApp/client/modules/style/theme';\nimport { mediumLayout } from '@legacyApp/client/modules/style/mixins';\nimport { SPORTSBOOK_PAGE_ID } from '@modules/sportsbook/constants/sportsbook.page.config';\nimport { SPORTS_PAGE_ID } from '@modules/sports/constants/sports.page.config';\nimport { SLOTS_PAGE_ID } from '@modules/slots/constants/slots.page.config';\nimport { ROUTING_ID } from '../../constants/routing/ids.routing.constants';\nimport { HomePageBackgroundMixin } from '../home/Home.global.styled';\n\nexport const StyledPagesGlobal = createGlobalStyle<{ theme: ThemeType }>`\n\t#__next {\n\t\t> [class*=\"page-\"] {\n\t\t\theight: auto;\n\t\t\tmin-height: 100%;\n\t\t\twidth: 100%;\n\t\t\tfloat: left;\n\n\t\t\t.main-dashboard > h1 {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\n\t\t\t\t&.page-title:after {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\theight: 30px;\n\t\t\t\t\twidth: 30px;\n\t\t\t\t\tmargin-left: 15px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.information {\n\t\t\t\tmargin-top: 40px;\n\t\t\t}\n\n\t\t\t.locked-view & {\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\tbody:not(.locked-view) & {\n\t\t\t\t\tpadding-bottom: ${(props) => props.theme.layout.bottomMenuHeight};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t[class*=\"page-${SLOTS_PAGE_ID.CATEGORY}\"],\n\t[class*=\"page-${SLOTS_PAGE_ID.INDEX}\"],\n\t[class*=\"page-user_sports\"],\n\t.page-${ROUTING_ID.USER_VERIFICATION},\n\t.page-${ROUTING_ID.PROMOTIONS},\n\t[class*='page-${SPORTS_PAGE_ID.INDEX}'],\n\t.page-${ROUTING_ID.CASINO}\n\t{\n\t\t${HomePageBackgroundMixin};\n\t}\n\n\t[class*='page-${SPORTSBOOK_PAGE_ID.INDEX}'] {\n\t\tbackground: #111b28;\n\n\t\t.main {\n\t\t\tbackground-color: #111b28;\n\t\t}\n\n\t\t.header.scrolled {\n\t\t\tbackground-color: #142336!important;\n\t\t}\n\n\t\t:after {\n\t\t\tcontent: unset;\n\t\t\tbackground: unset;\n\t\t}\n\n\t\t:before {\n\t\t\tcontent: unset;\n\t\t}\n\t}\n\n \t[class*=\"page-${SLOTS_PAGE_ID.INDEX}_lobby\"] {\n\t\t:after {\n\t\t\tbackground: none;\n\t\t}\n\t}\n\n\t[class*=\"page-user_email_verified\"],\n\t[class*=\"page-user_email_verificationFailed\"],\n\t[class*=\"page-error\"],\n\t[class*=\"page-404\"],\n\t[class*=\"page-user_account_blocked\"],\n\t[class*=\"page-user_account_blockedError\"],\n\t.page-remindPassword,\n\t.page-${ROUTING_ID.USER_VIP_BONUS_CODE},\n\t.page-user_newPassword,\n\t.page-redirect {\n\t\t${HomePageBackgroundMixin};\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t.page-provablyFair,\n\t\t.page-user_settings,\n\t\t.page-user_affiliate,\n\t\t.page-user_vip {\n\t\t\t${HomePageBackgroundMixin};\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t.page-provablyFair,\n\t\t.page-user_settings,\n\t\t.page-user_affiliate {\n\t\t\t${mediumLayout};\n\t\t}\n\t}\n\n\t.page-user_deposit,\n\t.page-user_withdraw {\n\t\t${HomePageBackgroundMixin};\n\t}\n\n\t.page-user_allTransactions,\n\t.page-faq,\n\t.page-ranking,\n\t.page-terms {\n\t\t${mediumLayout};\n\t}\n\n\t.page-game,\n\t.locked-view {\n\t\t.header {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.page-game {\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\theight: 100% !important;\n\t\t}\n\t}\n\n\t[class*=\"page-user_email_verified\"],\n\t[class*=\"page-user_email_verificationFailed\"],\n\t[class*=\"page-error\"],\n\t[class*=\"page-404\"],\n\t[class*=\"page-user_account_blocked\"],\n\t[class*=\"page-user_account_blockedError\"] {\n\t\t.buttons-box {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\twidth: 100%;\n\n\t\t\t.button {\n\t\t\t\tpadding: 10px 20px!important;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport { ThemeType } from '@legacyApp/client/modules/style/theme';\nimport { MessageTextStyled } from '@modules/chat/components/message/components/text/MessageTextStyled';\n\nexport const StyledChatGlobal = createGlobalStyle<{ theme: ThemeType }>`\n\t.chat {\n\t\t&-russian {\n\t\t\t${MessageTextStyled} span {\n\t\t\t\tfont-family: sans-serif;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media (min-width: ${(props) => props.theme.media.minWidthDesktop}) {\n\t\t#__next {\n\t\t\t> [class*='page-'] {\n\t\t\t\t&:not(.page-register):not(.page-login),\n\t\t\t\t&:not(.page-register):not(.page-login) .header{\n\t\t\t\t\ttransition: padding-right 50ms, padding-left 50ms;\n\t\t\t\t}\n\n\t\t\t\t&.page-login,\n\t\t\t\t&.page-register {\n\t\t\t\t\t.chat-wrapper {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t> [class*='page-'].chat-visible,\n\t\t\t> [class*='page-'].chat-visible .header {\n\t\t\t\tmargin-right: ${(props) => props.theme.layout.chat.width};\n\t\t\t\twidth: calc(100% - ${(props) => props.theme.layout.chat.width});\n\n\t\t\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t\t\tmargin-right: ${(props) => props.theme.layout.chat.widthDesktop};\n\t\t\t\t\twidth: calc(100% - ${(props) => props.theme.layout.chat.widthDesktop});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t> [class*='page-'].left-menu-visible,\n\t\t\t> [class*='page-'].left-menu-visible .header {\n\t\t\t\tpadding-left: ${(props) => props.theme.layout.chat.leftMenuWidth};\n\n\t\t\t\t@media (min-width: ${(props) => props.theme.media.minWidthBigDesktop}) {\n\t\t\t\t\tpadding-left: ${(props) => props.theme.layout.chat.leftMenuWidthDesktop};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@keyframes FadeOut {\n\t\t0% {\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\topacity: 0.4;\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { BottomMenuProps } from './BottomMenuProps';\n\nconst BottomMenuLoadable = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"BottomMenu\" */ './BottomMenu'),\n\t\tssr: true,\n\t},\n\t'./BottomMenu',\n\tundefined,\n\ttrue,\n);\n\nexport const BottomMenu: FC<BottomMenuProps> = (props) => {\n\tconst isMobile = useAppMobile();\n\tif (!isMobile) {\n\t\treturn null;\n\t}\n\treturn <BottomMenuLoadable {...props} />;\n};\n","import { useCallback, useContext, useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport classnames from 'classnames';\nimport { useSideMenu } from '@modules/SideMenu/hooks/useSideMenu';\nimport { useModalIsOpened } from '@modules/modals/store/modal.selectors';\nimport {\n\tappCloses,\n\tlistenCommands,\n\tsetDeviceType,\n\tsetHeight,\n\tsetMobile,\n\tsetMobileChat,\n\tsetVisible,\n\tsetWidth,\n} from '@legacyApp/client/store/app/app.actions';\nimport { pwaInit } from '@legacyApp/client/store/pwa/pwa.actions';\nimport {\n\tcheckIsMobile,\n\tcheckIsMobileChat,\n} from '@legacyApp/client/modules/app/appService';\nimport { isWindowVisible } from '@legacyApp/methods/app/isWindowVisible';\nimport { isFeatureAvailable } from '@legacyApp/client/modules/app/featureService';\nimport { FEATURES_TYPE } from '@legacyApp/client/config';\nimport { useGameActiveGame } from '@modules/games/Game/store/game/game.selectors';\nimport { useChatVisible } from '@modules/chat/store/selectors/useChatVisible';\nimport { getClientSize } from '@common/methods/getClientSize';\nimport { useConditionalTimeout } from '@legacyApp/hooks/app/useConditionalTimeout';\nimport {\n\tuseDocumentEventListener,\n\tuseWindowEventListener,\n} from '../../hooks/useEventListener';\nimport { EnhancedNextComponentPageProps } from '../../hoc/pageEnhancer';\nimport { useOnMount } from '../../hooks/useOnMount';\nimport { getDeviceType } from '../../methods/getDeviceType';\nimport { useAuthInitialized } from '../../hooks/useAuthInitialized';\nimport { useRouterQueryTab } from '../../selectors/router.selectors';\nimport {\n\tuseAppDeviceType,\n\tuseAppInitialized,\n\tuseAppIsViewLocked,\n\tuseAppLanguage,\n\tuseAppMobile,\n\tuseContentDeviceType,\n} from '../../selectors/app.selectors';\nimport { FullscreenLoadingContext } from '../../context/app/FullscreenLoading.context';\n\nconst RESIZE_REPEAT_LIMIT = 10;\nlet width, height, timeout;\n\nexport const useApp = (opts: EnhancedNextComponentPageProps) => {\n\tconst { props, id } = opts;\n\tconst { loaded, setLoaded } = useContext(FullscreenLoadingContext);\n\tconst [rootClasses, setRootClasses] = useState<string>('');\n\tconst [loaded_, setLoaded_] = useState(false);\n\n\tconst dispatch = useDispatch();\n\n\tconst { isOpen: isLeftMenuOpen } = useSideMenu();\n\n\tconst isMobile = useAppMobile();\n\tconst game = useGameActiveGame();\n\tconst language = useAppLanguage();\n\tconst isViewLocked = useAppIsViewLocked();\n\tconst isChatVisible = useChatVisible();\n\tconst modalOpened = useModalIsOpened();\n\tconst tab = useRouterQueryTab();\n\tconst deviceType = useAppDeviceType();\n\tconst isAppInitialized = useAppInitialized();\n\tconst contentDeviceType = useContentDeviceType();\n\tconst { isInitialized: isAuthInitialized } = useAuthInitialized({ id });\n\tconst { setTimeout } = useConditionalTimeout(loaded);\n\n\tconst listenCommands_ = () => dispatch(listenCommands());\n\tconst pwaInit_ = () => dispatch(pwaInit());\n\n\tconst getRootClasses = useCallback(() => {\n\t\treturn classnames(\n\t\t\t`language-${language}`,\n\t\t\t`tab-${tab}`,\n\t\t\t`device-${deviceType}`,\n\t\t\t`content-${contentDeviceType}`,\n\t\t);\n\t}, [contentDeviceType, deviceType, language, tab]);\n\n\tconst isMobileChat_ = useCallback(() => {\n\t\treturn isChatVisible ? checkIsMobileChat() : checkIsMobile();\n\t}, [isChatVisible]);\n\n\tuseEffect(() => {\n\t\tsetTimeout(() => setLoaded_(true), 0);\n\t}, [setTimeout, loaded]);\n\n\tconst handleResize = useCallback(\n\t\t(counter = 0) => {\n\t\t\tconst { width: currentWidth, height: currentHeight } = getClientSize();\n\t\t\tif (width === null) {\n\t\t\t\tif (counter < RESIZE_REPEAT_LIMIT) {\n\t\t\t\t\ttimeout = setTimeout(() => {\n\t\t\t\t\t\thandleResize(counter + 1);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdocument.documentElement.style.setProperty(\n\t\t\t\t'--vh',\n\t\t\t\t`${currentHeight * 0.01}px`,\n\t\t\t);\n\t\t\tif (currentWidth !== width) {\n\t\t\t\twidth = currentWidth;\n\t\t\t\tdispatch(setWidth(currentWidth));\n\t\t\t\tdispatch(setMobile(checkIsMobile()));\n\t\t\t\tdispatch(setDeviceType(getDeviceType()));\n\t\t\t\tdispatch(setMobileChat(isMobileChat_()));\n\t\t\t}\n\t\t\tif (currentHeight !== height) {\n\t\t\t\theight = currentHeight;\n\t\t\t\tdispatch(setHeight(currentHeight));\n\t\t\t}\n\t\t\t// if (!currentHeight || !currentWidth) {\n\t\t\t// \tsentryError(new Error('Invalid page size'), {\n\t\t\t// \t\tcurrentWidth,\n\t\t\t// \t\tcurrentHeight,\n\t\t\t// \t\twidth,\n\t\t\t// \t\theight,\n\t\t\t// \t\tdocument,\n\t\t\t// \t});\n\t\t\t// }\n\t\t},\n\t\t[dispatch, isMobileChat_],\n\t);\n\n\tuseWindowEventListener('resize', () => handleResize());\n\tuseDocumentEventListener('visibilitychange', () => {\n\t\tdispatch(setVisible(isWindowVisible()));\n\t});\n\tuseDocumentEventListener('mousewheel', () => {\n\t\tif (\n\t\t\t'type' in document.activeElement &&\n\t\t\t'blur' in document.activeElement &&\n\t\t\tdocument.activeElement.type === 'number'\n\t\t) {\n\t\t\tif (typeof document.activeElement.blur === 'function') {\n\t\t\t\tdocument.activeElement.blur();\n\t\t\t}\n\t\t}\n\t});\n\tuseWindowEventListener('beforeunload', () => {\n\t\tdispatch(appCloses());\n\t});\n\n\tuseOnMount(() => {\n\t\tif (isAppInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tpwaInit_();\n\t\thandleResize();\n\t\tsetRootClasses(getRootClasses());\n\t\tdispatch(setMobile(checkIsMobile()));\n\t\tdispatch(setDeviceType(getDeviceType()));\n\t\tdispatch(setMobileChat(isMobileChat_()));\n\t\tlistenCommands_();\n\n\t\treturn () => {\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}\n\t\t};\n\t});\n\n\tuseEffect(() => {\n\t\tdocument.body.style.cursor = isMobile ? 'pointer' : 'default';\n\t}, [isMobile]);\n\n\tuseEffect(() => {\n\t\tdispatch(setMobileChat(isMobileChat_()));\n\t}, [dispatch, isMobileChat_]);\n\n\tuseEffect(() => {\n\t\tconst currClasses = getRootClasses();\n\t\tif (currClasses !== rootClasses) {\n\t\t\tsetRootClasses(currClasses);\n\t\t}\n\t}, [getRootClasses, rootClasses]);\n\n\tuseEffect(() => {\n\t\tsetLoaded(isAuthInitialized);\n\t}, [isAuthInitialized, setLoaded]);\n\n\treturn classnames(\n\t\t{\n\t\t\t'no-scroll': modalOpened,\n\t\t\t'locked-view': isViewLocked,\n\t\t\tchristmas: isFeatureAvailable(FEATURES_TYPE.CHRISTMAS),\n\t\t\t'dark-theme': isFeatureAvailable(FEATURES_TYPE.DARK),\n\t\t\t'app-loading': !loaded_,\n\t\t},\n\t\t`left-menu-${isLeftMenuOpen ? 'visible' : 'hidden'}`,\n\t\t`chat-${isChatVisible && !props?.noChat ? 'visible' : 'hidden'}`,\n\t\t`page-${id}`,\n\t\tgame,\n\t\trootClasses,\n\t);\n};\n","import { Loadable } from '../loader/loadable/loadable';\n\nexport const Confirm = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"confirm\" */ './confirm'),\n\t\tssr: false,\n\t},\n\t'./confirm',\n);\n","import React, { FC } from 'react';\n\nimport { useAppIsMaintenanceMode } from '@common/selectors/app.selectors';\nimport { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\n\nconst CoverLoadable = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"cover\" */ './cover'),\n\t\tssr: false,\n\t},\n\t'./cover',\n);\n\nexport const Cover: FC = () => {\n\tconst maintenanceMode = useAppIsMaintenanceMode();\n\n\tif (!maintenanceMode) {\n\t\treturn null;\n\t}\n\n\treturn <CoverLoadable />;\n};\n","import { Loadable } from '../../loader/loadable/loadable';\n\nexport const DropdownMenu = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"dropdownMenu.container\" */ './dropdownMenu.container'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'./dropdownMenu.container',\n);\n","import { Loadable } from '../loader/loadable/loadable';\n\nexport const InfoModalContainer = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"infoModal.container\" */ './infoModal.container'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'./infoModal.container',\n);\n","import React, { FC } from 'react';\nimport { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { Loadable } from '../loader/loadable/loadable';\nimport { testMenuConfig } from './TestMenuConfig';\n\nconst TestMenu_ = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"TestMenu\" */ './TestMenu'),\n\t\tssr: false,\n\t},\n\t'./TestMenu',\n);\n\nexport const TestMenu: FC = () => {\n\tif (!Object.keys(testMenuConfig).find((key) => testMenuConfig[key])) {\n\t\treturn null;\n\t}\n\treturn NEXT_CONFIG.DEV ? <TestMenu_ game={'dice'} /> : null;\n};\n","import { FC } from 'react';\nimport dynamic from 'next/dynamic';\nimport { useRegistryPackageLoaded } from '@common/selectors/registry.selectors';\nimport { PackageType } from '@legacyApp/client/store/registry/registry.constants';\nimport ModalStoreController from '../../../common/components/storeControllers/ModalStoreController';\nimport { useModalId } from '../store/modal.selectors';\n\nconst Modal_ = dynamic(() => import('./Modal'), {\n\tssr: false,\n});\n\nexport const Modal: FC = () => {\n\tconst active = useRegistryPackageLoaded(PackageType.MODAL);\n\tconst id = useModalId();\n\n\treturn (\n\t\t<>\n\t\t\t<ModalStoreController />\n\t\t\t{active && id && <Modal_ />}\n\t\t</>\n\t);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { PackageType } from '@legacyApp/client/store/registry/registry.constants';\n\nexport const useRegistryPackageLoaded = (module: PackageType) =>\n\tuseAppSelector<boolean>(\n\t\t(state) =>\n\t\t\tstate?.registry?.packages?.[module]\n\t\t\t\t? Object.keys(state.registry.packages[module]).every(Boolean)\n\t\t\t\t: false,\n\t\tshallowEqual,\n\t);\n","import { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\n\nexport const Performance = Loadable(\n\t{\n\t\tloader: () => import(/* webpackChunkName: \"Performance\" */ './Performance'),\n\t\tssr: false,\n\t},\n\t'./Performance',\n);\n","import React, { FC } from 'react';\n\nimport { EnhancedNextComponentPageProps } from '@common/hoc/pageEnhancer';\n\nimport { BottomMenu } from '@common/components/layout/BottomMenu';\nimport { Confirm } from '@legacyApp/client/components/confirm';\nimport { Cover } from '@legacyApp/client/components/cover';\nimport { DropdownMenu } from '@legacyApp/client/components/dropdown/dropdownMenu';\nimport { InfoModalContainer } from '@legacyApp/client/components/infoModal';\nimport { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\nimport { TestMenu } from '@legacyApp/client/components/TestGTM';\nimport { Modal } from '@modules/modals/modal';\nimport { Performance } from '@modules/performance/components';\n\nconst SupportToggle = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"supportToggle\" */ '@modules/support/components/FloatingSupportToggle/floatingSupportToggle'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'src/LegacyApp/client/components/supportToggle/supportToggle',\n);\n\nconst AlertsWrapperContainer = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"AlertsWrapper\" */ 'src/common/components/alertsWrapper/AlertsWrapper'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'src/common/components/alertsWrapper/AlertsWrapper',\n);\n\nconst CaptchaStoreController = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"CaptchaStoreController\" */ 'src/modules/captcha/components/CaptchaStoreController'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'src/modules/captcha/components/CaptchaStoreController',\n);\n\nconst ChatContainer = Loadable(\n\t{\n\t\tloader: () =>\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"Chat.wrapper\" */ 'src/modules/chat/components/wrapper/Chat.wrapper'\n\t\t\t),\n\t\tssr: false,\n\t},\n\t'src/modules/chat/components/wrapper/Chat.wrapper',\n);\n\nexport const AsyncModules: FC<EnhancedNextComponentPageProps> = ({\n\tprops,\n\tid,\n}) => {\n\treturn (\n\t\t<>\n\t\t\t<CaptchaStoreController />\n\n\t\t\t<Cover />\n\n\t\t\t{props?.noChat ? null : <ChatContainer />}\n\n\t\t\t{props?.noBottomMenu ? null : <BottomMenu pageId={id} />}\n\n\t\t\t<AlertsWrapperContainer />\n\n\t\t\t<Modal />\n\n\t\t\t<InfoModalContainer />\n\n\t\t\t<Confirm />\n\n\t\t\t<SupportToggle />\n\n\t\t\t<DropdownMenu />\n\n\t\t\t<TestMenu />\n\n\t\t\t<Performance />\n\t\t</>\n\t);\n};\n","import { useCallback, useRef } from 'react';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { notUndefOrNull } from '@common/components/layout/ScrollCards/ScrollMenu/utils';\n\nexport const useConditionalTimeout = (condition: Boolean) => {\n\tconst timeoutHandler = useRef(null);\n\n\tconst _setTimeout = useCallback(\n\t\t(callback, timeout) => {\n\t\t\tif (timeoutHandler.current) {\n\t\t\t\tclearTimeout(timeoutHandler.current);\n\t\t\t\ttimeoutHandler.current = null;\n\t\t\t}\n\n\t\t\tif (notUndefOrNull(timeout) && condition) {\n\t\t\t\ttimeoutHandler.current = setTimeout(() => {\n\t\t\t\t\tcallback();\n\t\t\t\t}, timeout);\n\t\t\t}\n\t\t},\n\t\t[condition],\n\t);\n\n\tuseOnMount(() => () => {\n\t\tclearTimeout(timeoutHandler.current);\n\t});\n\n\treturn {\n\t\tsetTimeout: _setTimeout,\n\t};\n};\n","import { createContext } from 'react';\nimport { EnhancedNextComponentPageProps } from '../../hoc/pageEnhancer';\n\nexport const AppContext = createContext<EnhancedNextComponentPageProps>({\n\tprops: null,\n\tid: null,\n});\n","import React, { FC, PropsWithChildren } from 'react';\nimport { Header } from '@modules/header/Header';\nimport { ChristmasTheme } from '@legacyApp/client/components/christmasTheme';\nimport SideMenu from '@modules/SideMenu';\nimport { Footer } from '../footer/Footer';\nimport { EnhancedNextComponentPageProps } from '../../hoc/pageEnhancer';\nimport { useAppIsViewLocked } from '../../selectors/app.selectors';\nimport { ROUTING_ID } from '../../constants/routing/ids.routing.constants';\nimport { StyledMain } from './Main.styled';\nimport { StyledDefaultGlobal } from './Default.global.styled';\nimport { StyledPagesGlobal } from './Pages.global.styled';\nimport { StyledChatGlobal } from './Chat.global.styled';\nimport { AsyncModules } from './AsyncModules';\nimport { useApp } from './useApp';\nimport { AppContext } from './AppContext';\n\nconst Footer_ = () => {\n\tconst isViewLocked = useAppIsViewLocked();\n\treturn isViewLocked ? null : <Footer />;\n};\n\nexport const App: FC<PropsWithChildren<EnhancedNextComponentPageProps>> = ({\n\tchildren,\n\tprops,\n\tid,\n}) => {\n\tconst className = useApp({\n\t\tprops,\n\t\tid,\n\t});\n\treturn (\n\t\t<AppContext.Provider value={{ props, id }}>\n\t\t\t<div className={className}>\n\t\t\t\t<StyledDefaultGlobal />\n\t\t\t\t<StyledPagesGlobal />\n\t\t\t\t<StyledChatGlobal />\n\t\t\t\t{props?.noHeader ? null : <Header />}\n\t\t\t\t<StyledMain>\n\t\t\t\t\t<ChristmasTheme />\n\t\t\t\t\t{children}\n\t\t\t\t</StyledMain>\n\t\t\t\t{props?.noFooter ? null : <Footer_ />}\n\t\t\t\t<AsyncModules id={id || ROUTING_ID.HOME} props={props} />\n\t\t\t\t{props?.noHeader ? null : <SideMenu />}\n\t\t\t</div>\n\t\t</AppContext.Provider>\n\t);\n};\n","import { ConnectedRouter } from 'connected-next-router';\nimport { AppProps } from 'next/app';\nimport Head from 'next/head';\nimport { appWithTranslation } from 'next-i18next';\nimport Router from 'next/router';\nimport { ThemeProvider } from 'styled-components';\n\nimport { Localization } from '@common/components/default/Localization/Localization';\nimport { PageLoadingProgressBar } from '@common/components/default/PageLoadingProgressBar/PageLoadingProgressBar';\nimport { StaticPropsContext } from '@common/context/app/StaticPropsContext';\nimport { EnhancedNextComponent } from '@common/hoc/pageEnhancer';\nimport { useCheckAccessDenied } from '@common/hooks/useCheckAccessDenied';\nimport { theme } from '@legacyApp/client/modules/style/theme';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { wrapper } from '@legacyApp/client/store/configure.store';\nimport { useCheckNamespaces } from '@legacyApp/hooks/translation/useCheckNamespaces';\nimport { PageConfigProvider } from '@modules/page/PageConfig/PageConfig.provider';\nimport { SideMenuProvider } from '@modules/SideMenu/SideMenu.provider';\n\nimport { App } from '@common/components/app/App';\nimport { FullscreenLoading } from '@legacyApp/client/components/loading/FullScreenLoading';\nimport { InsaneBonusCodeWrapper } from '@modules/vip/components/BonusCode/InsaneBonusCodeWrapper';\n\nimport '@common/vendor/requestAnimationFrame.polyfill';\nimport '@legacyApp/client/modules/app/sentryService';\nimport '@legacyApp/client/styles/styles.scss';\n\nexport function reportWebVitals(metric) {\n\tmetric.label === 'web-vital' &&\n\t\tconsole.log(metric.label, metric.name, metric.value, metric);\n}\n\nRouter.events.on('routeChangeComplete', (url, options) => {\n\t// console.log('routeChangeComplete', {url, options});\n\tif (!options.shallow && process.browser) {\n\t\t// pageScrollTo({ top: 0 });\n\t}\n});\n\ntype MyAppProps = AppProps & {\n\tComponent: EnhancedNextComponent;\n\tpageProps: AppProps['pageProps'] & {\n\t\tnamespaces: TransNamespace[];\n\t};\n};\n\nfunction MyApp(props: MyAppProps) {\n\tconst { Component, pageProps } = props;\n\n\tuseCheckNamespaces({ namespaces: pageProps?.namespaces });\n\tuseCheckAccessDenied();\n\n\treturn (\n\t\t<ConnectedRouter>\n\t\t\t<ThemeProvider theme={theme}>\n\t\t\t\t<PageConfigProvider id={Component?.pageConfig?.id}>\n\t\t\t\t\t<SideMenuProvider disabled={false}>\n\t\t\t\t\t\t<PageLoadingProgressBar />\n\t\t\t\t\t\t<Head>\n\t\t\t\t\t\t\t<meta charSet=\"utf-8\" />\n\t\t\t\t\t\t\t<meta httpEquiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" />\n\t\t\t\t\t\t\t<meta\n\t\t\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\t\t\tcontent=\"width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, viewport-fit=cover, user-scalable=yes\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<meta name=\"google\" content=\"notranslate\" />\n\t\t\t\t\t\t\t<meta name=\"mobile-web-app-capable\" content=\"yes\" />\n\t\t\t\t\t\t\t<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n\t\t\t\t\t\t\t<meta name=\"theme-color\" content=\"#ffffff\" />\n\t\t\t\t\t\t\t<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n\t\t\t\t\t\t\t<link\n\t\t\t\t\t\t\t\trel=\"preconnect\"\n\t\t\t\t\t\t\t\thref=\"https://fonts.gstatic.com\"\n\t\t\t\t\t\t\t\tcrossOrigin=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<link rel=\"dns-prefetch\" href=\"https://fonts.googleapis.com\" />\n\t\t\t\t\t\t\t<link rel=\"dns-prefetch\" href=\"https://fonts.gstatic.com\" />\n\t\t\t\t\t\t\t<link\n\t\t\t\t\t\t\t\thref=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,700;1,700&family=Maven+Pro:wght@400;500;600&family=Inter:wght@400;500;600&display=swap\"\n\t\t\t\t\t\t\t\trel=\"stylesheet\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Head>\n\t\t\t\t\t\t<StaticPropsContext.Provider value={pageProps}>\n\t\t\t\t\t\t\t<InsaneBonusCodeWrapper>\n\t\t\t\t\t\t\t\t<FullscreenLoading>\n\t\t\t\t\t\t\t\t\t<App {...Component.pageConfig}>\n\t\t\t\t\t\t\t\t\t\t<Component {...Component.pageConfig} {...pageProps} />\n\t\t\t\t\t\t\t\t\t</App>\n\t\t\t\t\t\t\t\t</FullscreenLoading>\n\t\t\t\t\t\t\t</InsaneBonusCodeWrapper>\n\t\t\t\t\t\t</StaticPropsContext.Provider>\n\t\t\t\t\t\t<Localization />\n\t\t\t\t\t</SideMenuProvider>\n\t\t\t\t</PageConfigProvider>\n\t\t\t</ThemeProvider>\n\t\t</ConnectedRouter>\n\t);\n}\n\n// @ts-expect-error invalid type\nexport default wrapper.withRedux(appWithTranslation(MyApp));\n","import { useEffect } from 'react';\nimport { useAppLanguage } from '@common/selectors/app.selectors';\nimport { translationService } from '../../client/modules/translation/translationService';\nimport { TransNamespace } from '../../client/modules/translation/TransNamespace';\n\nexport const useCheckNamespaces = ({\n\tnamespaces,\n}: {\n\tnamespaces: Array<TransNamespace>;\n}) => {\n\tconst language = useAppLanguage();\n\tuseEffect(() => {\n\t\tif (!namespaces?.length) {\n\t\t\treturn;\n\t\t}\n\t\t// console.log('useCheckNamespaces', { namespaces });\n\t\tnamespaces.forEach((namespace) =>\n\t\t\ttranslationService.getTranslationObject(namespace, language),\n\t\t);\n\t}, [namespaces?.join(''), language]);\n};\n","import { useFetchApi } from '@legacyApp/hooks/fetch/useFetchApi';\nimport { second } from '@legacyApp/client/modules/app/time';\nimport routingService from '@legacyApp/client/modules/app/routingService';\nimport { ROUTING_ID } from '@common/constants/routing/ids.routing.constants';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { generateUrl, ROUTE } from '../routes';\n\nexport const useCheckAccessDenied = () => {\n\tconst { fetchLocal } = useFetchApi();\n\n\tconst fetch = async () => {\n\t\tconst response = await fetchLocal({\n\t\t\turl: generateUrl(ROUTE.apiCheckAccess),\n\t\t\tfromState: 30 * second,\n\t\t\tdisableErrorHandler: true,\n\t\t}).catch((error) => {\n\t\t\tsentryError(new Error('useCheckAccessDenied fetch error'), {\n\t\t\t\terror,\n\t\t\t\turl: generateUrl(ROUTE.apiCheckAccess),\n\t\t\t\tfromState: 30 * second,\n\t\t\t\tdisableErrorHandler: true,\n\t\t\t});\n\t\t\treturn null;\n\t\t});\n\t\tif (\n\t\t\tresponse?.status &&\n\t\t\tresponse?.text &&\n\t\t\tresponse?.text.indexOf('403 Forbidden') > -1 &&\n\t\t\tresponse?.status === 403\n\t\t) {\n\t\t\troutingService.redirect(`/${ROUTING_ID.ACCESS_DENIED}`, true, true);\n\t\t}\n\t};\n\n\tuseOnMount(() => {\n\t\tfetch();\n\t});\n};\n","import {\n\tButtonHTMLAttributes,\n\tFC,\n\tMutableRefObject,\n\tPropsWithChildren,\n\tReactNode,\n} from 'react';\nimport classnames from 'classnames';\nimport { Size } from '@uiTypes/Size';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { InputStyleType } from '@uiTypes/InputStyleType';\nimport styles from '@ui/button/Button.module.scss';\n\nexport interface ButtonProps\n\textends PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> {\n\tlabel?: string | ReactNode;\n\tsize?: Size;\n\tborderType?: InputStyleType;\n\tstyleType?: ButtonStyleType;\n\tdisabled?: ButtonHTMLAttributes<HTMLButtonElement>['disabled'];\n\ticonBefore?: ReactNode;\n\ticonAfter?: ReactNode;\n\trefElement?: MutableRefObject<any>;\n\tonlyIcon?: boolean;\n}\n\nexport const CSSClassNameButton = 'styled-button';\nexport const CSSClassNameIcon = 'styled-icon';\n\nexport const Button: FC<ButtonProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tlabel,\n\t\ticonBefore,\n\t\ticonAfter,\n\t\tstyleType,\n\t\tsize,\n\t\tclassName,\n\t\tborderType,\n\t\trefElement,\n\t\tonlyIcon,\n\t\tdisabled,\n\t\t...restProps\n\t} = props;\n\n\tconst isLabel = onlyIcon ? false : !!label || !!children;\n\n\treturn (\n\t\t<button\n\t\t\tref={refElement}\n\t\t\tclassName={classnames(\n\t\t\t\tCSSClassNameButton,\n\t\t\t\tstyleType,\n\t\t\t\tborderType,\n\t\t\t\tsize,\n\t\t\t\tclassName,\n\t\t\t\tstyles.styledButton,\n\t\t\t\t{\n\t\t\t\t\t'text-style-sm-medium': !!label,\n\t\t\t\t\t[styles['styledButton--disabled']]: disabled,\n\t\t\t\t\t[styles['styledButton--has-label']]: isLabel,\n\t\t\t\t\t[styles['styledButton--square']]:\n\t\t\t\t\t\tborderType === InputStyleType.SQUARE,\n\t\t\t\t\t[styles['styledButton--type-label']]:\n\t\t\t\t\t\tstyleType === ButtonStyleType.LABEL,\n\t\t\t\t\t[styles['styledButton--type-clear']]:\n\t\t\t\t\t\tstyleType === ButtonStyleType.CLEAR,\n\t\t\t\t\t[styles['styledButton--type-outline']]:\n\t\t\t\t\t\tstyleType === ButtonStyleType.OUTLINE,\n\t\t\t\t\t[styles['styledButton--type-primary']]:\n\t\t\t\t\t\tstyleType === ButtonStyleType.PRIMARY,\n\t\t\t\t\t[styles['styledButton--type-secondary']]:\n\t\t\t\t\t\tstyleType === ButtonStyleType.SECONDARY,\n\t\t\t\t\t[styles['styledButton--small']]: size === Size.SMALL,\n\t\t\t\t\t[styles['styledButton--medium']]: size === Size.MEDIUM,\n\t\t\t\t\t[styles['styledButton--large']]: size === Size.LARGE,\n\t\t\t\t},\n\t\t\t)}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{iconBefore && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\tCSSClassNameIcon,\n\t\t\t\t\t\t'text-style-sm-medium',\n\t\t\t\t\t\tstyles.styledButtonIcon,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[styles['styledButtonIcon--icon-after']]: !!iconAfter,\n\t\t\t\t\t\t},\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{iconBefore}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{label && (\n\t\t\t\t<span className=\"float-left max-w-full whitespace-nowrap\">{label}</span>\n\t\t\t)}\n\n\t\t\t{children}\n\n\t\t\t{iconAfter && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\tCSSClassNameIcon,\n\t\t\t\t\t\t'text-style-sm-medium',\n\t\t\t\t\t\tstyles.styledButtonIcon,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[styles['styledButtonIcon--icon-after']]: !!iconAfter,\n\t\t\t\t\t\t},\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{iconAfter}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</button>\n\t);\n};\n\nButton.defaultProps = {\n\tsize: Size.MEDIUM,\n\tstyleType: ButtonStyleType.PRIMARY,\n};\n","import React, { FC, PropsWithChildren } from 'react';\nimport styled, { css } from 'styled-components';\nimport { CaretDown } from '@icons/ui/caret-down';\n\nexport const DropdownArrow: FC<PropsWithChildren<any>> = ({ children }) => {\n\treturn <DropdownArrowStyled>{children || <CaretDown />}</DropdownArrowStyled>;\n};\n\nexport const DropdownArrowStyled = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\tposition: absolute;\n\tright: 5px;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n`;\n\nexport const DropdownArrowParentMixin = css`\n\tpadding-right: 35px !important;\n\tposition: relative;\n\n\t${DropdownArrowStyled} {\n\t\tsvg {\n\t\t\theight: 31.5px;\n\t\t\twidth: 30px;\n\t\t}\n\t}\n`;\n","export enum PORTAL {\n\tDROPDOWN = 'dropdown',\n}\n","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import { FC, PropsWithChildren, useLayoutEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { PORTAL } from './portal.constants';\n\nexport const Portal: FC<PropsWithChildren<{ id: PORTAL; subId?: string }>> = ({\n\tchildren,\n\tid,\n\tsubId,\n}) => {\n\tconst id_ = subId ? `${id}-${subId}` : id;\n\tconst [dom, setDom] = useState(\n\t\tprocess.browser ? document.getElementById(id_) : null,\n\t);\n\n\tuseLayoutEffect(() => {\n\t\tif (!dom) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.id = id_;\n\t\t\tconst next = document.getElementById('__next');\n\t\t\tnext.parentNode.insertBefore(div, next);\n\t\t\tsetDom(document.getElementById(id_));\n\t\t}\n\t}, [dom, id_]);\n\n\tif (!dom) {\n\t\treturn null;\n\t}\n\n\treturn createPortal(children, dom);\n};\n","import * as PopperJS from '@popperjs/core';\nimport React, {\n\tFC,\n\tPropsWithChildren,\n\tReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n} from 'react';\nimport { usePopper } from 'react-popper';\nimport styled, { css } from 'styled-components';\n\nimport { PORTAL } from '@common/components/portal/portal.constants';\nimport { useOrientationChangeEventListener } from '@common/hooks/useEventListener';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { handleHover } from '@legacyApp/client/modules/style/mixins';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { Size } from '@uiTypes/Size';\n\nimport { Portal } from '@common/components/portal/portal';\nimport { Check } from '@icons/ui/check';\nimport { ClickOutsideWrapper } from '@legacyApp/client/components/clickOutSideWrapper';\nimport { StyledBalanceCurrency } from '@modules/balance/styles/BalanceCurrency.styled';\nimport { Button, ButtonProps, CSSClassNameButton } from '@ui/button';\nimport {\n\tDropdownArrow,\n\tDropdownArrowParentMixin,\n} from '@ui/dropdown/DropdownArrow';\nimport { InputLabelStyled } from '@ui/input/Input.styled';\n\nexport interface DropdownItemProps {\n\tid: string;\n\tcontent: ReactNode | string;\n}\n\nexport interface DropdownProps {\n\tlist: Array<DropdownItemProps>;\n\tdefaultActiveId: DropdownItemProps['id'];\n\tonSelect: (id: string) => void;\n\tonVisibleChange?: (isVisible: boolean) => void;\n\tsize: Size;\n\tforceVisible?: boolean;\n\tportalId?: string;\n\tpopperOptions?: Omit<Partial<PopperJS.Options>, 'modifiers'>;\n\tmaxHeight?: number;\n\tbuttonProps?: ButtonProps;\n\tactiveContent?: ReactNode;\n\tlabel?: string | ReactNode;\n\tdisabled?: boolean;\n}\n\nexport const Dropdown: FC<PropsWithChildren<DropdownProps>> = ({\n\tlist,\n\tforceVisible,\n\tdefaultActiveId,\n\tonSelect,\n\tonVisibleChange,\n\tchildren,\n\tpopperOptions,\n\tportalId,\n\tbuttonProps,\n\tactiveContent,\n\tlabel,\n\tmaxHeight,\n\tdisabled,\n}) => {\n\tconst [visible, setVisibility] = useState(forceVisible || false);\n\n\tconst [active, setActive] = useState<DropdownItemProps>(null);\n\n\tconst [referenceRef, setReferenceRef] = useState<HTMLElement | null>(null);\n\n\tconst [popperRef, setPopperRef] = useState<HTMLElement | null>(null);\n\n\tconst { styles, attributes, forceUpdate } = usePopper(\n\t\treferenceRef,\n\t\tpopperRef,\n\t\t{\n\t\t\tplacement: 'bottom-start',\n\t\t\tmodifiers: [\n\t\t\t\t{\n\t\t\t\t\tname: 'offset',\n\t\t\t\t\tenabled: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\toffset: [0, 10],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t...popperOptions,\n\t\t},\n\t);\n\n\tconst updateVisibility = useCallback(\n\t\t(isVisible) => {\n\t\t\tif (disabled && isVisible) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (forceVisible !== undefined) {\n\t\t\t\tif (forceVisible !== visible) {\n\t\t\t\t\tsetVisibility(forceVisible);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetVisibility(isVisible);\n\n\t\t\tif (typeof forceUpdate === 'function') {\n\t\t\t\tforceUpdate();\n\t\t\t}\n\n\t\t\tif (isVisible === visible) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof onVisibleChange === 'function') {\n\t\t\t\tonVisibleChange(isVisible);\n\t\t\t}\n\t\t},\n\t\t[disabled, forceUpdate, forceVisible, onVisibleChange, visible],\n\t);\n\n\tconst hideDropdownMenu = () => updateVisibility(false);\n\n\tconst handleDocumentClick = useCallback(\n\t\t(event) => {\n\t\t\tif (!popperRef?.contains || !referenceRef?.contains) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!popperRef.contains(event.target) &&\n\t\t\t\t!referenceRef.contains(event.target)\n\t\t\t) {\n\t\t\t\thideDropdownMenu();\n\t\t\t}\n\t\t},\n\t\t[updateVisibility],\n\t);\n\n\tconst handleDropdownClick = useCallback(() => {\n\t\tupdateVisibility(!visible);\n\t}, [updateVisibility, visible]);\n\n\tconst handleItemClick = useCallback(\n\t\t(item: DropdownItemProps) => {\n\t\t\tsetActive(item);\n\n\t\t\thideDropdownMenu();\n\n\t\t\tif (typeof onSelect === 'function') {\n\t\t\t\tonSelect(item?.id);\n\t\t\t}\n\t\t},\n\t\t[onSelect, updateVisibility],\n\t);\n\n\tuseOrientationChangeEventListener(hideDropdownMenu);\n\n\tuseOnMount(() => {\n\t\t// listen for clicks and close dropdown on body\n\t\tdocument.addEventListener('mousedown', handleDocumentClick);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleDocumentClick);\n\t\t};\n\t});\n\n\tuseEffect(() => {\n\t\tconst selected_ = list.find(({ id }) => id === defaultActiveId);\n\n\t\tif (selected_?.id !== active?.id) {\n\t\t\tsetActive(selected_);\n\t\t}\n\t}, [active?.id, defaultActiveId, list]);\n\n\tuseEffect(() => {\n\t\tif (forceVisible !== undefined) {\n\t\t\tupdateVisibility(forceVisible);\n\t\t}\n\t}, [forceVisible, updateVisibility]);\n\n\tif (!active?.id && defaultActiveId) {\n\t\treturn null;\n\t}\n\n\tconst dropdownMenu = (\n\t\t<ClickOutsideWrapper onClickOutside={hideDropdownMenu}>\n\t\t\t<div\n\t\t\t\tref={setPopperRef}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.popper,\n\t\t\t\t\t...(portalId &&\n\t\t\t\t\t\tvisible && {\n\t\t\t\t\t\t\tzIndex: 999999,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t\t{...attributes.popper}\n\t\t\t>\n\t\t\t\t<DropdownContainer\n\t\t\t\t\t$maxHeight={maxHeight}\n\t\t\t\t\tstyle={styles.offset}\n\t\t\t\t\t$visible={visible}\n\t\t\t\t>\n\t\t\t\t\t{list.map((item) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<DropdownItem key={item.id} onClick={() => handleItemClick(item)}>\n\t\t\t\t\t\t\t\t{item.content}\n\n\t\t\t\t\t\t\t\t{active?.id === item.id && (\n\t\t\t\t\t\t\t\t\t<DropdownArrow>\n\t\t\t\t\t\t\t\t\t\t<Check />\n\t\t\t\t\t\t\t\t\t</DropdownArrow>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</DropdownItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</DropdownContainer>\n\t\t\t</div>\n\t\t</ClickOutsideWrapper>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<StyledDropdownButtonWrapper ref={setReferenceRef}>\n\t\t\t\t{label && (\n\t\t\t\t\t<InputLabelStyled className=\"text-style-label-cap\">\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</InputLabelStyled>\n\t\t\t\t)}\n\n\t\t\t\t{children ? (\n\t\t\t\t\t<span onClick={handleDropdownClick}>{children}</span>\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t\t\t\tsize={Size.LARGE}\n\t\t\t\t\t\tonClick={handleDropdownClick}\n\t\t\t\t\t\t{...buttonProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeContent !== undefined ? activeContent : active?.content}\n\n\t\t\t\t\t\t<DropdownArrow />\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</StyledDropdownButtonWrapper>\n\n\t\t\t{portalId ? (\n\t\t\t\t<Portal id={PORTAL.DROPDOWN} subId={portalId}>\n\t\t\t\t\t{dropdownMenu}\n\t\t\t\t</Portal>\n\t\t\t) : (\n\t\t\t\tdropdownMenu\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport const StyledDropdownButtonWrapper = styled.div`\n\tdisplay: inline-grid;\n\n\t.${CSSClassNameButton} {\n\t\tposition: relative;\n\t\twidth: 100%;\n\n\t\t&:focus {\n\t\t\tbox-shadow: 0 0 0 1px var(--color-blue-brand-blue) inset;\n\t\t}\n\n\t\t${DropdownArrowParentMixin};\n\t}\n\n\t:has(${StyledBalanceCurrency}) {\n\t\t.${CSSClassNameButton} {\n\t\t\tpadding-bottom: 0;\n\t\t\tpadding-left: 0;\n\t\t\tpadding-top: 0;\n\t\t}\n\t}\n`;\n\nconst DropdownContainer = styled.div<{\n\t$visible?: boolean;\n\t$maxHeight?: number;\n}>`\n\tbackground-color: var(--color-dark-700);\n\tborder-color: transparent;\n\tborder-radius: 8px;\n\tbox-shadow: 0 1px 5px var(--color-dark-900);\n\tdisplay: ${(props) => (props.$visible ? 'flex' : 'none')};\n\tflex-direction: column;\n\t${(props) =>\n\t\tprops.$maxHeight\n\t\t\t? css`\n\t\t\t\t\tmax-height: ${props.$maxHeight}px;\n\t\t\t\t\toverflow: auto;\n\t\t\t `\n\t\t\t: css`\n\t\t\t\t\toverflow: hidden;\n\t\t\t `};\n`;\n\nconst DropdownItem = styled.div`\n\talign-items: center;\n\tcolor: var(--color-white);\n\tcursor: pointer;\n\tjustify-content: flex-start;\n\tposition: relative;\n\n\t> *:first-child {\n\t\tdisplay: grid;\n\t\tgrid-auto-flow: column;\n\t\tpadding: 12px 35px 12px 12px;\n\t}\n\n\t${handleHover(css`\n\t\tbackground-color: var(--color-dark-500);\n\t`)}\n`;\n","import styled, { css } from 'styled-components';\nimport { InputStyleType } from '@uiTypes/InputStyleType';\nimport { handleHover } from '@legacyApp/client/modules/style/mixins';\nimport { InputBorderRadius } from './mixins/input.border-radius';\nimport { InputProps } from './index';\n\nconst PROPS_DEFAULTS = {\n\t$type: InputStyleType.SQUARE,\n};\n\nexport interface InputStyledProps extends InputProps {\n\t$icon: boolean;\n\t$isLabel: boolean;\n}\n\nexport const InputLabelActionStyled = styled.span`\n\tcolor: var(--color-blue-blue-light);\n\tcursor: pointer;\n`;\n\nexport const InputLabelStyled = styled.label`\n\tcolor: var(--color-dark-300);\n\tpadding-bottom: 12px;\n\twidth: 100%;\n\n\t${InputLabelActionStyled} {\n\t\tfloat: right;\n\t}\n`;\n\nexport const InputIconWrapperStyled = styled.span`\n\tleft: 8px;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\n\t* {\n\t\tfloat: left;\n\t\theight: 20px !important;\n\t\twidth: 20px !important;\n\t}\n`;\n\nexport const InputStyled = styled.input<InputStyledProps>`\n\tbackground-color: var(--color-dark-500);\n\tborder: 1px solid transparent;\n\tbox-shadow: none;\n\tcolor: var(--color-white);\n\tmargin: 0;\n\toutline: none;\n\tpadding: 10px ${(props) => (props.$icon ? '8px 10px 36px' : '16px')};\n\ttouch-action: manipulation;\n\ttransition: 300ms;\n\t::placeholder {\n\t\tcolor: var(--color-dark-300);\n\t}\n\n\t// ::-webkit-input-placeholder {\n\t// \t/* Chrome/Opera/Safari */\n\t// \tcolor: ${(props) => props.theme.colors.placeholderText};\n\t// }\n\t//\n\t// ::-moz-placeholder {\n\t// \t/* Firefox 19+ */\n\t// \tcolor: ${(props) => props.theme.colors.placeholderText};\n\t// }\n\t//\n\t// :-ms-input-placeholder {\n\t// \t/* IE 10+ */\n\t// \tcolor: ${(props) => props.theme.colors.placeholderText};\n\t// }\n\t//\n\t// :-moz-placeholder {\n\t// \t/* Firefox 18- */\n\t// \tcolor: ${(props) => props.theme.colors.placeholderText};\n\t// }\n\n\t${InputBorderRadius};\n\n\t&[type='number']::-webkit-inner-spin-button,\n\t&[type='number']::-webkit-outer-spin-button {\n\t\t-webkit-appearance: none;\n\t\tmargin: 0;\n\t}\n\n\t&[type='number'] {\n\t\t-moz-appearance: textfield;\n\t}\n\n\t${(props) =>\n\t\tprops.disabled\n\t\t\t? css`\n\t\t\t\t\tcolor: var(--color-dark-200);\n\n\t\t\t\t\t::placeholder {\n\t\t\t\t\t\tcolor: var(--color-dark-200);\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: css`\n\t\t\t\t\t:focus {\n\t\t\t\t\t\tborder-color: var(--color-blue-brand-blue);\n\t\t\t\t\t}\n\n\t\t\t\t\t${handleHover(css`\n\t\t\t\t\t\tbackground-color: var(--color-dark-800);\n\t\t\t\t\t\tborder-color: var(--color-blue-brand-blue);\n\t\t\t\t\t`)}\n\t\t\t `}\n`;\n\nInputStyled.defaultProps = PROPS_DEFAULTS;\n\nexport const InputWrapperStyled = styled.div<InputStyledProps>`\n\tposition: relative;\n`;\n\nInputWrapperStyled.defaultProps = PROPS_DEFAULTS;\n\nexport const InputBoxStyled = styled.div<InputStyledProps>`\n\talign-items: flex-start;\n\tdisplay: flex;\n\tflex-direction: column;\n`;\n\nInputBoxStyled.defaultProps = PROPS_DEFAULTS;\n","import { css } from 'styled-components';\nimport { InputStyleType } from '@uiTypes/InputStyleType';\nimport { InputStyledProps } from '../Input.styled';\n\nexport const InputBorderRadius = (props: InputStyledProps) => css`\n\tborder-radius: ${props.$type === InputStyleType.SQUARE ? '3px' : '75px'};\n`;\n","import { FC, InputHTMLAttributes, PropsWithChildren, ReactNode } from 'react';\nimport { InputStyleType } from '@uiTypes/InputStyleType';\nimport {\n\tInputBoxStyled,\n\tInputIconWrapperStyled,\n\tInputLabelActionStyled,\n\tInputLabelStyled,\n\tInputStyled,\n\tInputWrapperStyled,\n} from './Input.styled';\n\ntype InputElementAttributes = InputHTMLAttributes<HTMLInputElement>;\n\nexport interface InputProps extends PropsWithChildren<InputElementAttributes> {\n\tlabel?: string | ReactNode;\n\tlabelAction?: string | ReactNode;\n\t$type?: InputStyleType;\n\tdisabled?: InputElementAttributes['disabled'];\n\ticon?: ReactNode;\n\tplaceholder?: InputElementAttributes['placeholder'];\n\tref?: any;\n}\n\nexport const Input: FC<InputProps> = (props) => {\n\tconst { label, labelAction, icon, children, ...restProps } = props;\n\n\tconst inputProps_ = {\n\t\t$icon: !!icon,\n\t\t$isLabel: !!label,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputBoxStyled ref={props.ref} {...inputProps_}>\n\t\t\t{label && (\n\t\t\t\t<InputLabelStyled className=\"text-style-label-cap\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{!!labelAction && (\n\t\t\t\t\t\t<InputLabelActionStyled>{labelAction}</InputLabelActionStyled>\n\t\t\t\t\t)}\n\t\t\t\t</InputLabelStyled>\n\t\t\t)}\n\t\t\t<InputWrapperStyled {...inputProps_}>\n\t\t\t\t{icon && <InputIconWrapperStyled>{icon}</InputIconWrapperStyled>}\n\t\t\t\t<InputStyled className={'text-style-sm-medium'} {...inputProps_} />\n\t\t\t\t{children}\n\t\t\t</InputWrapperStyled>\n\t\t</InputBoxStyled>\n\t);\n};\n","import styled from 'styled-components';\n\nexport const PaginationStyled = styled.div.attrs({\n\tclassName: 'pagination__box box-no-height',\n})`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t.pagination__element {\n\t\tcursor: pointer;\n\t\theight: 44px;\n\t\tmargin: 0 10px !important;\n\t\tpadding: 0 15px !important;\n\n\t\t&.active {\n\t\t\tbackground-color: ${(props) => props.theme.colors.inputBackgroundActive};\n\t\t\tcolor: var(--color-white) !important;\n\t\t\tcursor: default;\n\t\t}\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\tmargin: 0 7px !important;\n\t\t\tpadding: 0 10px !important;\n\t\t\theight: 34px;\n\t\t}\n\t}\n`;\n","import { FC, MouseEvent, MouseEventHandler, useCallback } from 'react';\nimport { Button, ButtonProps } from '@ui/button';\nimport styled, { css } from 'styled-components';\nimport { IconProps } from '@icons/all-bets';\nimport { Size } from '@uiTypes/Size';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { theme } from '@legacyApp/client/modules/style/theme';\n\ntype TabButtonOnClick = (\n\tevent: MouseEvent,\n\tprops: {\n\t\tid: string;\n\t\tactive: boolean;\n\t},\n) => void;\n\nexport interface TabButtonProps\n\textends Omit<\n\t\tButtonProps,\n\t\t'iconBefore' | 'iconAfter' | 'disabled' | 'size' | 'styleType' | 'onClick'\n\t> {\n\tsmall?: boolean;\n\ticon?: (props: IconProps) => ButtonProps['iconBefore'];\n\tactive?: boolean;\n\tid: string;\n\tcontent?: FC;\n\tonClick?: TabButtonOnClick;\n\tdoNotShowInTabs?: boolean;\n}\n\nexport const getTabButtonActiveColors = (active: boolean): IconProps => {\n\treturn {\n\t\tfill: active\n\t\t\t? theme.ui.colors['other-primary-gradient-to']\n\t\t\t: theme.ui.colors['dark-50'],\n\t\tfillStop: active ? theme.ui.colors['other-primary-gradient-from'] : null,\n\t};\n};\n\nexport const TabButton: FC<TabButtonProps> = (props) => {\n\tconst { label, small, icon, active, onClick, content, ...restProps } = props;\n\n\tconst onClick_: MouseEventHandler = useCallback(\n\t\t(event) => {\n\t\t\tif (onClick) {\n\t\t\t\tonClick(event, {\n\t\t\t\t\tid: restProps.id,\n\t\t\t\t\tactive,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[active, onClick, restProps.id],\n\t);\n\n\treturn (\n\t\t<TabButtonStyled\n\t\t\tclassName=\"text-style-sm-medium\"\n\t\t\tas={Button}\n\t\t\tsize={small ? Size.MEDIUM : Size.LARGE}\n\t\t\ticonBefore={\n\t\t\t\ttypeof icon === 'function'\n\t\t\t\t\t? icon(getTabButtonActiveColors(active))\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tstyleType={ButtonStyleType.SECONDARY}\n\t\t\t$active={active}\n\t\t\tonClick={onClick_}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t<span>{label}</span>\n\t\t</TabButtonStyled>\n\t);\n};\n\ninterface TabButtonStyledProps extends ButtonProps {\n\t$active: TabButtonProps['active'];\n}\n\nexport const TabButtonStyled = styled.button<TabButtonStyledProps>`\n\t${(props) =>\n\t\t!props.$active\n\t\t\t? css`\n\t\t\t\t\t&:not(:hover):not(:active) {\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder-color: transparent;\n\t\t\t\t\t\tcolor: var(--color-dark-50);\n\t\t\t\t\t}\n\t\t\t `\n\t\t\t: null};\n\n\t${(props) =>\n\t\tprops.size === Size.MEDIUM\n\t\t\t? css`\n\t\t\t\t\tline-height: 16px;\n\t\t\t `\n\t\t\t: css`\n\t\t\t\t\tpadding-bottom: 10px;\n\t\t\t\t\tpadding-top: 10px;\n\t\t\t `}\n\n\tsvg {\n\t\tmargin-right: 4px;\n\t}\n\n\t:focus {\n\t\tbox-shadow: unset;\n\t}\n`;\n","import styled from 'styled-components';\nimport { Property } from 'csstype';\n\nexport const TabGroupStyled = styled.div`\n\tbackground-color: var(--color-dark-800);\n\tborder-radius: 40px;\n\tbox-shadow: inset 0 0 0 1px var(--color-dark-500);\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\tfloat: left;\n\tpadding: 0;\n`;\n\nexport const TabGroupWrapperStyled = styled.div<{\n\talign: Property.JustifyContent;\n}>`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: ${(props) => props.align};\n\twidth: 100%;\n`;\n","import { FC } from 'react';\nimport { TabButton } from '@ui/tab-button';\nimport { TabNavigationProps } from '@ui/tab-navigation';\nimport { TabGroupStyled } from '@ui/tab-group/TabGroup.styled';\n\nexport type TabGroupProps = TabNavigationProps;\n\nexport const TabGroup: FC<TabGroupProps> = ({\n\ttabs,\n\tactiveTabId,\n\tonClick,\n\tchildren,\n\tsmall,\n}) => {\n\tif (!tabs?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<TabGroupStyled>\n\t\t\t{tabs.map((tab) => (\n\t\t\t\t<TabButton\n\t\t\t\t\tkey={tab.id}\n\t\t\t\t\t{...tab}\n\t\t\t\t\tactive={activeTabId === tab.id}\n\t\t\t\t\t{...{\n\t\t\t\t\t\t...(onClick && { onClick }),\n\t\t\t\t\t\t...(small && { small }),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{children}\n\t\t</TabGroupStyled>\n\t);\n};\n","import { faUser } from '@fortawesome/free-solid-svg-icons';\nimport { AwesomeIcon } from '../icons/AwesomeIcon';\n\nexport const UserIcon = () => {\n\treturn (\n\t\t<div className={'game-icon'}>\n\t\t\t<AwesomeIcon icon={faUser} />\n\t\t</div>\n\t);\n};\n","import React, { FC } from 'react';\nimport { faUserCog } from '@fortawesome/free-solid-svg-icons';\nimport { AwesomeIcon } from '../../icons/AwesomeIcon';\n\nexport const ModeratorBadge: FC = () => {\n\treturn <AwesomeIcon icon={faUserCog} />;\n};\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { UserIcon } from '@common/components/user/UserIcon';\nimport { ModeratorBadge } from '@common/components/user/UserLogin/ModeratorBadge';\nimport {\n\tOnlineIcon,\n\tStyledOnlineIcon,\n} from '@common/components/user/UserLogin/OnlineIcon';\nimport { RaceBadge } from '@common/components/user/UserLogin/RaceBadge';\nimport { UserNameProps } from '@ui/user-name/index';\nimport { VipIcon } from '@ui/vip-icon';\n\nexport const UserNameIcons: FC<UserNameProps> = ({ user, options, isMe }) => {\n\tif (options?.prefix || options?.noBadges) {\n\t\treturn null;\n\t}\n\n\tconst isDisabledBadges = user.admin && !isMe;\n\n\tconst noIcons =\n\t\toptions.noLevelIcon && !user.moderator && !user.raceBadge && !user.vipLevel;\n\n\treturn (\n\t\t<UserNameIconsStyled>\n\t\t\t{options.isOnline && !isMe && <OnlineIcon />}\n\n\t\t\t{noIcons ? (\n\t\t\t\t<UserIcon />\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{!isDisabledBadges && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{user.moderator && <ModeratorBadge />}\n\n\t\t\t\t\t\t\t<RaceBadge size={18} data={user.raceBadge} />\n\n\t\t\t\t\t\t\t{!options.noLevelIcon && (\n\t\t\t\t\t\t\t\t<VipIcon size={21} level={user.vipLevel} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</UserNameIconsStyled>\n\t);\n};\n\nexport const UserNameIconsStyled = styled.span`\n\talign-items: center;\n\tdisplay: inline-flex;\n\tgap: 4px;\n\n\t> *:last-child {\n\t\tmargin-right: 4px;\n\t}\n\n\t${StyledOnlineIcon} {\n\t\tmargin: 0 !important;\n\t}\n`;\n","import styled, { css } from 'styled-components';\nimport classnames from 'classnames';\nimport { UserNameIconsStyled } from '@ui/user-name/user-name-icons';\n\nexport const StyledUserNameText = styled.span``;\n\ninterface StyledUserNameProps {\n\t$my: boolean;\n\t$inline: boolean;\n\t$noStyles: boolean;\n\tclassName: string;\n}\n\nexport const StyledUserName = styled.a.attrs<StyledUserNameProps>((props) => ({\n\tclassName: classnames(props.className, {\n\t\t'user-name--my': props.$my,\n\t}),\n}))<StyledUserNameProps>`\n\t${(props) =>\n\t\tprops.$noStyles\n\t\t\t? ''\n\t\t\t: css`\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tdisplay: ${props.$inline ? 'inline' : 'inline-flex'}!important;\n\n\t\t\t\t\tspan:not(${StyledUserNameText}):not(${UserNameIconsStyled}) {\n\t\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\t}\n\t\t\t `}\n`;\n","import styled, { css } from 'styled-components';\nimport classNames from 'classnames';\nimport { VipLevelType } from '@modules/vip/constants/vip.config';\n\nexport const StyledVipIconLabel = styled.div`\n\tcolor: ${(props) => props.theme.colors.text};\n\tletter-spacing: unset;\n\tposition: absolute;\n\ttransform: translate(-50%, -50%);\n\tz-index: 1;\n`;\n\ninterface StyledVipIconProps {\n\t$size?: number;\n\t$type?: VipLevelType;\n\t$level?: number;\n}\n\nexport const StyledVipIcon = styled.div.attrs<StyledVipIconProps>((props) => {\n\treturn {\n\t\t...props,\n\t\t$size: props.$size || 20,\n\t\tclassName: classNames(props.className, 'vip-icon'),\n\t};\n})<StyledVipIconProps>`\n\talign-items: center;\n\tdisplay: inline-flex !important;\n\tfont-size: unset;\n\theight: ${(props) => props.$size}px;\n\tjustify-content: center;\n\tline-height: unset;\n\tmin-width: ${(props) => props.$size}px;\n\tposition: relative;\n\ttransition: ${(props) => props.theme.layout.transition};\n\n\tdiv[role='button'] {\n\t\tmargin: -25% !important;\n\t}\n\n\t${StyledVipIconLabel} {\n\t\tfont-size: ${(props) => props.$size / 2.5}px;\n\t\tline-height: ${(props) => props.$size / 2.5}px;\n\n\t\t${(props) =>\n\t\t\tprops.$level >= 10\n\t\t\t\t? css`\n\t\t\t\t\t\t${props.$level === 11\n\t\t\t\t\t\t\t? css`\n\t\t\t\t\t\t\t\t\tleft: 51%;\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\tleft: 48.5%;\n\t\t\t\t\t\ttop: 58%;\n\t\t\t\t `\n\t\t\t\t: css`\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\ttop: 57%;\n\t\t\t\t `}\n\n\t\t${(props) =>\n\t\t\tprops.$type === VipLevelType.BRONZE &&\n\t\t\tcss`\n\t\t\t\tcolor: #623b24;\n\t\t\t`};\n\n\t\t${(props) =>\n\t\t\tprops.$type === VipLevelType.SILVER &&\n\t\t\tcss`\n\t\t\t\tcolor: #3e3e44;\n\t\t\t`};\n\n\t\t${(props) =>\n\t\t\tprops.$type === VipLevelType.GOLD &&\n\t\t\tcss`\n\t\t\t\tcolor: #8a4004;\n\t\t\t`};\n\n\t\t${(props) =>\n\t\t\tprops.$type === VipLevelType.DIAMOND &&\n\t\t\tcss`\n\t\t\t\tcolor: #2f015b;\n\t\t\t\tleft: 48%;\n\t\t\t\ttop: 47%;\n\t\t\t`};\n\t}\n\n\timg,\n\tsvg {\n\t\theight: ${(props) => props.$size}px;\n\t\tleft: 50%;\n\t\tmax-width: unset;\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t\twidth: auto;\n\t\tz-index: 0;\n\t}\n`;\n","import { FunctionComponent } from 'react';\nimport { StyledVipIcon, StyledVipIconLabel } from '@ui/vip-icon/VipIcon.styled';\nimport {\n\tVIP_LEVELS_COLORS,\n\tVipLevelType,\n} from '@modules/vip/constants/vip.config';\nimport Icon from '../../../common/components/icons/Icon';\n\nexport interface VipIconProps {\n\tlevel: number;\n\tnonLevel?: boolean;\n\tsize: number;\n\tnoValue?: boolean;\n}\n\nexport type VipIconType = FunctionComponent<VipIconProps>;\n\nexport const VipIcon: VipIconType = ({ level, nonLevel, size, noValue }) => {\n\tif (!level) {\n\t\treturn nonLevel ? (\n\t\t\t<StyledVipIcon data-size={size} $size={size}>\n\t\t\t\t<Icon id=\"vip-levels/unranked\" noColor />\n\t\t\t</StyledVipIcon>\n\t\t) : null;\n\t}\n\n\tconst type: VipLevelType = VIP_LEVELS_COLORS[level];\n\n\tif (!type) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyledVipIcon data-size={size} $type={type} $size={size} $level={level}>\n\t\t\t{type !== VipLevelType.DIAMOND && !noValue && (\n\t\t\t\t<StyledVipIconLabel className=\"text-style-h-4\">\n\t\t\t\t\t{level}\n\t\t\t\t</StyledVipIconLabel>\n\t\t\t)}\n\t\t\t<Icon id={`vip-levels/${type}-star`} noColor />\n\t\t</StyledVipIcon>\n\t);\n};\n","export const enum ButtonStyleType {\n\tPRIMARY = 'primary',\n\tSECONDARY = 'secondary',\n\tOUTLINE = 'outline',\n\tCLEAR = 'clear',\n\tLABEL = 'label',\n}\n","export const enum InputStyleType {\n\tROUND = 'round',\n\tSQUARE = 'square',\n}\n","export const enum Size {\n\tSMALL = 'small',\n\tMEDIUM = 'medium',\n\tLARGE = 'large',\n}\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return require(\"private-next-pages/_app.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n ","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}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"currencyLogo\":\"tokenSymbol_currencyLogo__X0MZb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"currencyValue\":\"CurrencyValue_currencyValue__ZAPQr\",\"currencyValue--font\":\"CurrencyValue_currencyValue--font__wrGR0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"styledButton\":\"Button_styledButton__BfkIL\",\"styledButton--has-label\":\"Button_styledButton--has-label__thMEx\",\"styledButton--square\":\"Button_styledButton--square__UjMaI\",\"styledButton--type-label\":\"Button_styledButton--type-label__IOlMS\",\"styledButton--type-outline\":\"Button_styledButton--type-outline__X7lj_\",\"styledButton--type-primary\":\"Button_styledButton--type-primary__ZgGic\",\"styledButton--type-secondary\":\"Button_styledButton--type-secondary__dlHH9\",\"styledButton--small\":\"Button_styledButton--small__clIUF\",\"styledButton--medium\":\"Button_styledButton--medium__LHAp3\",\"styledButton--large\":\"Button_styledButton--large__dRMVs\",\"styledButton--disabled\":\"Button_styledButton--disabled__SI7XT\",\"styledButtonIcon\":\"Button_styledButtonIcon__eWm0F\",\"styledButtonIcon--icon-after\":\"Button_styledButtonIcon--icon-after__eTdlj\"};","(function(){var e={477:function(e){\"use strict\";e.exports=require(\"querystring\")}};var t={};function __nccwpck_require__(o){var a=t[o];if(a!==undefined){return a.exports}var s=t[o]={exports:{}};var n=true;try{e[o](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete t[o]}return s.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o={};!function(){var e=o;var t,a=(t=__nccwpck_require__(477))&&\"object\"==typeof t&&\"default\"in t?t.default:t,s=/https?|ftp|gopher|file/;function r(e){\"string\"==typeof e&&(e=d(e));var t=function(e,t,o){var a=e.auth,s=e.hostname,n=e.protocol||\"\",p=e.pathname||\"\",c=e.hash||\"\",i=e.query||\"\",u=!1;a=a?encodeURIComponent(a).replace(/%3A/i,\":\")+\"@\":\"\",e.host?u=a+e.host:s&&(u=a+(~s.indexOf(\":\")?\"[\"+s+\"]\":s),e.port&&(u+=\":\"+e.port)),i&&\"object\"==typeof i&&(i=t.encode(i));var f=e.search||i&&\"?\"+i||\"\";return n&&\":\"!==n.substr(-1)&&(n+=\":\"),e.slashes||(!n||o.test(n))&&!1!==u?(u=\"//\"+(u||\"\"),p&&\"/\"!==p[0]&&(p=\"/\"+p)):u||(u=\"\"),c&&\"#\"!==c[0]&&(c=\"#\"+c),f&&\"?\"!==f[0]&&(f=\"?\"+f),{protocol:n,host:u,pathname:p=p.replace(/[?#]/g,encodeURIComponent),search:f=f.replace(\"#\",\"%23\"),hash:c}}(e,a,s);return\"\"+t.protocol+t.host+t.pathname+t.search+t.hash}var n=\"http://\",p=\"w.w\",c=n+p,i=/^([a-z0-9.+-]*:\\/\\/\\/)([a-z0-9.+-]:\\/*)?/i,u=/https?|ftp|gopher|file/;function h(e,t){var o=\"string\"==typeof e?d(e):e;e=\"object\"==typeof e?r(e):e;var a=d(t),s=\"\";o.protocol&&!o.slashes&&(s=o.protocol,e=e.replace(o.protocol,\"\"),s+=\"/\"===t[0]||\"/\"===e[0]?\"/\":\"\"),s&&a.protocol&&(s=\"\",a.slashes||(s=a.protocol,t=t.replace(a.protocol,\"\")));var p=e.match(i);p&&!a.protocol&&(e=e.substr((s=p[1]+(p[2]||\"\")).length),/^\\/\\/[^/]/.test(t)&&(s=s.slice(0,-1)));var f=new URL(e,c+\"/\"),m=new URL(t,f).toString().replace(c,\"\"),v=a.protocol||o.protocol;return v+=o.slashes||a.slashes?\"//\":\"\",!s&&v?m=m.replace(n,v):s&&(m=m.replace(n,\"\")),u.test(m)||~t.indexOf(\".\")||\"/\"===e.slice(-1)||\"/\"===t.slice(-1)||\"/\"!==m.slice(-1)||(m=m.slice(0,-1)),s&&(m=s+(\"/\"===m[0]?m.substr(1):m)),m}function l(){}l.prototype.parse=d,l.prototype.format=r,l.prototype.resolve=h,l.prototype.resolveObject=h;var f=/^https?|ftp|gopher|file/,m=/^(.*?)([#?].*)/,v=/^([a-z0-9.+-]*:)(\\/{0,3})(.*)/i,_=/^([a-z0-9.+-]*:)?\\/\\/\\/*/i,b=/^([a-z0-9.+-]*:)(\\/{0,2})\\[(.*)\\]$/i;function d(e,t,o){if(void 0===t&&(t=!1),void 0===o&&(o=!1),e&&\"object\"==typeof e&&e instanceof l)return e;var s=(e=e.trim()).match(m);e=s?s[1].replace(/\\\\/g,\"/\")+s[2]:e.replace(/\\\\/g,\"/\"),b.test(e)&&\"/\"!==e.slice(-1)&&(e+=\"/\");var n=!/(^javascript)/.test(e)&&e.match(v),i=_.test(e),u=\"\";n&&(f.test(n[1])||(u=n[1].toLowerCase(),e=\"\"+n[2]+n[3]),n[2]||(i=!1,f.test(n[1])?(u=n[1],e=\"\"+n[3]):e=\"//\"+n[3]),3!==n[2].length&&1!==n[2].length||(u=n[1],e=\"/\"+n[3]));var g,y=(s?s[1]:e).match(/^https?:\\/\\/[^/]+(:[0-9]+)(?=\\/|$)/),w=y&&y[1],C=new l,U=\"\",j=\"\";try{g=new URL(e)}catch(t){U=t,u||o||!/^\\/\\//.test(e)||/^\\/\\/.+[@.]/.test(e)||(j=\"/\",e=e.substr(1));try{g=new URL(e,c)}catch(e){return C.protocol=u,C.href=u,C}}C.slashes=i&&!j,C.host=g.host===p?\"\":g.host,C.hostname=g.hostname===p?\"\":g.hostname.replace(/(\\[|\\])/g,\"\"),C.protocol=U?u||null:g.protocol,C.search=g.search.replace(/\\\\/g,\"%5C\"),C.hash=g.hash.replace(/\\\\/g,\"%5C\");var x=e.split(\"#\");!C.search&&~x[0].indexOf(\"?\")&&(C.search=\"?\"),C.hash||\"\"!==x[1]||(C.hash=\"#\"),C.query=t?a.decode(g.search.substr(1)):C.search.substr(1),C.pathname=j+(n?function(e){return e.replace(/['^|`]/g,(function(e){return\"%\"+e.charCodeAt().toString(16).toUpperCase()})).replace(/((?:%[0-9A-F]{2})+)/g,(function(e,t){try{return decodeURIComponent(t).split(\"\").map((function(e){var t=e.charCodeAt();return t>256||/^[a-z0-9]$/i.test(e)?e:\"%\"+t.toString(16).toUpperCase()})).join(\"\")}catch(e){return t}}))}(g.pathname):g.pathname),\"about:\"===C.protocol&&\"blank\"===C.pathname&&(C.protocol=\"\",C.pathname=\"\"),U&&\"/\"!==e[0]&&(C.pathname=C.pathname.substr(1)),u&&!f.test(u)&&\"/\"!==e.slice(-1)&&\"/\"===C.pathname&&(C.pathname=\"\"),C.path=C.pathname+C.search,C.auth=[g.username,g.password].map(decodeURIComponent).filter(Boolean).join(\":\"),C.port=g.port,w&&!C.host.endsWith(w)&&(C.host+=w,C.port=w.slice(1)),C.href=j?\"\"+C.pathname+C.search+C.hash:r(C);var q=/^(file)/.test(C.href)?[\"host\",\"hostname\"]:[];return Object.keys(C).forEach((function(e){~q.indexOf(e)||(C[e]=C[e]||null)})),C}e.parse=d,e.format=r,e.resolve=h,e.resolveObject=function(e,t){return d(h(e,t))},e.Url=l}();module.exports=o})();","(function(){\"use strict\";var e={815:function(e){function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}e.exports=function(e,n,t,o){n=n||\"&\";t=t||\"=\";var a={};if(typeof e!==\"string\"||e.length===0){return a}var i=/\\+/g;e=e.split(n);var u=1e3;if(o&&typeof o.maxKeys===\"number\"){u=o.maxKeys}var c=e.length;if(u>0&&c>u){c=u}for(var p=0;p<c;++p){var f=e[p].replace(i,\"%20\"),s=f.indexOf(t),_,l,y,d;if(s>=0){_=f.substr(0,s);l=f.substr(s+1)}else{_=f;l=\"\"}y=decodeURIComponent(_);d=decodeURIComponent(l);if(!hasOwnProperty(a,y)){a[y]=d}else if(r(a[y])){a[y].push(d)}else{a[y]=[a[y],d]}}return a};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"}},577:function(e){var stringifyPrimitive=function(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"true\":\"false\";case\"number\":return isFinite(e)?e:\"\";default:return\"\"}};e.exports=function(e,t,o,a){t=t||\"&\";o=o||\"=\";if(e===null){e=undefined}if(typeof e===\"object\"){return map(n(e),(function(n){var a=encodeURIComponent(stringifyPrimitive(n))+o;if(r(e[n])){return map(e[n],(function(e){return a+encodeURIComponent(stringifyPrimitive(e))})).join(t)}else{return a+encodeURIComponent(stringifyPrimitive(e[n]))}})).join(t)}if(!a)return\"\";return encodeURIComponent(stringifyPrimitive(a))+o+encodeURIComponent(stringifyPrimitive(e))};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"};function map(e,r){if(e.map)return e.map(r);var n=[];for(var t=0;t<e.length;t++){n.push(r(e[t],t))}return n}var n=Object.keys||function(e){var r=[];for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))r.push(n)}return r}}};var r={};function __nccwpck_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={exports:{}};var a=true;try{e[n](o,o.exports,__nccwpck_require__);a=false}finally{if(a)delete r[n]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.decode=e.parse=__nccwpck_require__(815);e.encode=e.stringify=__nccwpck_require__(577)}();module.exports=n})();","(function(){var __webpack_modules__={950:function(__unused_webpack_module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);else for(var r=0;r<e.length;r++){if(e[r]===t)return r}return-1};var Object_keys=function(e){if(Object.keys)return Object.keys(e);else{var t=[];for(var r in e)t.push(r);return t}};var forEach=function(e,t){if(e.forEach)return e.forEach(t);else for(var r=0;r<e.length;r++){t(e[r],r,e)}};var defineProp=function(){try{Object.defineProperty({},\"_\",{});return function(e,t,r){Object.defineProperty(e,t,{writable:true,enumerable:false,configurable:true,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}();var globals=[\"Array\",\"Boolean\",\"Date\",\"Error\",\"EvalError\",\"Function\",\"Infinity\",\"JSON\",\"Math\",\"NaN\",\"Number\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"String\",\"SyntaxError\",\"TypeError\",\"URIError\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"undefined\",\"unescape\"];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context)){throw new TypeError(\"needs a 'context' argument.\")}var t=document.createElement(\"iframe\");if(!t.style)t.style={};t.style.display=\"none\";document.body.appendChild(t);var r=t.contentWindow;var n=r.eval,o=r.execScript;if(!n&&o){o.call(r,\"null\");n=r.eval}forEach(Object_keys(e),(function(t){r[t]=e[t]}));forEach(globals,(function(t){if(e[t]){r[t]=e[t]}}));var c=Object_keys(r);var i=n.call(r,this.code);forEach(Object_keys(r),(function(t){if(t in e||indexOf(c,t)===-1){e[t]=r[t]}}));forEach(globals,(function(t){if(!(t in e)){defineProp(e,t,r[t])}}));document.body.removeChild(t);return i};Script.prototype.runInThisContext=function(){return eval(this.code)};Script.prototype.runInNewContext=function(e){var t=Script.createContext(e);var r=this.runInContext(t);if(e){forEach(Object_keys(t),(function(r){e[r]=t[r]}))}return r};forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}}));exports.isContext=function(e){return e instanceof Context};exports.createScript=function(e){return exports.Script(e)};exports.createContext=Script.createContext=function(e){var t=new Context;if(typeof e===\"object\"){forEach(Object_keys(e),(function(r){t[r]=e[r]}))}return t}}};if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var __webpack_exports__={};__webpack_modules__[950](0,__webpack_exports__);module.exports=__webpack_exports__})();","module.exports = require('./dist/shared/lib/dynamic')\n","module.exports = require('./dist/shared/lib/head')\n","module.exports = require('./dist/client/link')\n","module.exports = require('./dist/client/router')\n","\"use strict\";function _typeof(a){\"@babel/helpers - typeof\";return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&\"function\"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?\"symbol\":typeof a},_typeof(a)}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports[\"default\"]=void 0;var _style=_interopRequireDefault(require(\"styled-jsx/style\")),_react=_interopRequireDefault(require(\"react\")),_nprogress=_interopRequireDefault(require(\"nprogress\")),_router=_interopRequireDefault(require(\"next/router\")),_propTypes=_interopRequireDefault(require(\"prop-types\"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,\"value\"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}function _inherits(a,b){if(\"function\"!=typeof b&&null!==b)throw new TypeError(\"Super expression must either be null or a function\");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){return b&&(\"object\"===_typeof(b)||\"function\"==typeof b)?b:_assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return a}function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}/* eslint-disable react/prefer-stateless-function */var NextNProgress=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),\"timer\",null),_defineProperty(_assertThisInitialized(a),\"routeChangeStart\",function(b,c){var d=c.shallow;(!d||a.props.showOnShallow)&&(_nprogress[\"default\"].set(a.props.startPosition),_nprogress[\"default\"].start())}),_defineProperty(_assertThisInitialized(a),\"routeChangeEnd\",function(b,c){var d=c.shallow;(!d||a.props.showOnShallow)&&(clearTimeout(a.timer),a.timer=setTimeout(function(){_nprogress[\"default\"].done(!0)},a.props.stopDelayMs))}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:\"render\",value:function render(){var a=this.props,b=a.color,c=a.height;return/*#__PURE__*/_react[\"default\"].createElement(_style[\"default\"],{id:\"2264455431\",dynamic:[b,c,b,b,b,b]},\"#nprogress{pointer-events:none;}#nprogress .bar{background:\".concat(b,\";position:fixed;z-index:9999;top:0;left:0;width:100%;height:\").concat(c,\"px;}#nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px \").concat(b,\",0 0 5px \").concat(b,\";opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px);}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px;}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:\").concat(b,\";border-left-color:\").concat(b,\";border-radius:50%;-webkit-animation:nprogresss-spinner 400ms linear infinite;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite;}.nprogress-custom-parent{overflow:hidden;position:relative;}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute;}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);}}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}\"))}},{key:\"componentDidMount\",value:function componentDidMount(){var a=this.props.options;a&&_nprogress[\"default\"].configure(a),_router[\"default\"].events.on(\"routeChangeStart\",this.routeChangeStart),_router[\"default\"].events.on(\"routeChangeComplete\",this.routeChangeEnd),_router[\"default\"].events.on(\"routeChangeError\",this.routeChangeEnd)}},{key:\"componentWillUnmount\",value:function componentWillUnmount(){_router[\"default\"].events.off(\"routeChangeStart\",this.routeChangeStart),_router[\"default\"].events.off(\"routeChangeComplete\",this.routeChangeEnd),_router[\"default\"].events.off(\"routeChangeError\",this.routeChangeEnd)}}]),b}(_react[\"default\"].Component);_defineProperty(NextNProgress,\"defaultProps\",{color:\"#29D\",startPosition:.3,stopDelayMs:200,height:3,showOnShallow:!0}),NextNProgress.propTypes={color:_propTypes[\"default\"].string,startPosition:_propTypes[\"default\"].number,stopDelayMs:_propTypes[\"default\"].number,height:_propTypes[\"default\"].number,showOnShallow:_propTypes[\"default\"].bool,options:_propTypes[\"default\"].object};var _default=NextNProgress;exports[\"default\"]=_default;","module.exports = require(\"./dist\");","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '<div class=\"bar\" role=\"bar\"><div class=\"peg\"></div></div><div class=\"spinner\" role=\"spinner\"><div class=\"spinner-icon\"></div></div>'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaultRenderAnnounceSlideMessage = exports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar styles = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n padding: 0,\n margin: '-1px',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: 0\n};\n\nvar AnnounceSlide = function AnnounceSlide(_ref) {\n var message = _ref.message,\n _ref$ariaLive = _ref.ariaLive,\n ariaLive = _ref$ariaLive === void 0 ? 'polite' : _ref$ariaLive;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"true\",\n style: styles,\n tabIndex: -1\n }, message);\n};\n\nvar defaultRenderAnnounceSlideMessage = function defaultRenderAnnounceSlideMessage(_ref2) {\n var currentSlide = _ref2.currentSlide,\n count = _ref2.count;\n return \"Slide \".concat(currentSlide + 1, \" of \").concat(count);\n};\n\nexports.defaultRenderAnnounceSlideMessage = defaultRenderAnnounceSlideMessage;\nvar _default = AnnounceSlide;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Carousel = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _slide = _interopRequireDefault(require(\"./slide\"));\n\nvar _announceSlide = _interopRequireDefault(require(\"./announce-slide\"));\n\nvar _sliderList = require(\"./slider-list\");\n\nvar _types = require(\"./types\");\n\nvar _controls = _interopRequireDefault(require(\"./controls\"));\n\nvar _defaultCarouselProps = _interopRequireDefault(require(\"./default-carousel-props\"));\n\nvar _utils = require(\"./utils\");\n\nvar _useFrameHeight2 = require(\"./hooks/use-frame-height\");\n\nvar _defaultControls = require(\"./default-controls\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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\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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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\nvar Carousel = function Carousel(rawProps) {\n /**\n * We need this cast because we want the component's properties to seem\n * optional to external users, but always-present for the internal\n * implementation.\n *\n * This cast is safe due to the `Carousel.defaultProps = defaultProps;`\n * statement below. That guarantees all the properties are present, since\n * `defaultProps` has type `InternalCarouselProps`.\n */\n var props = rawProps;\n var adaptiveHeight = props.adaptiveHeight,\n adaptiveHeightAnimation = props.adaptiveHeightAnimation,\n afterSlide = props.afterSlide,\n animation = props.animation,\n autoplay = props.autoplay,\n autoplayInterval = props.autoplayInterval,\n autoplayReverse = props.autoplayReverse,\n beforeSlide = props.beforeSlide,\n propsCellAlign = props.cellAlign,\n cellSpacing = props.cellSpacing,\n children = props.children,\n className = props.className,\n disableAnimation = props.disableAnimation,\n desktopDraggingEnabled = props.dragging,\n propsDragThreshold = props.dragThreshold,\n enableKeyboardControls = props.enableKeyboardControls,\n frameAriaLabel = props.frameAriaLabel,\n innerRef = props.innerRef,\n keyCodeConfig = props.keyCodeConfig,\n onDrag = props.onDrag,\n onDragEnd = props.onDragEnd,\n onDragStart = props.onDragStart,\n onUserNavigation = props.onUserNavigation,\n pauseOnHover = props.pauseOnHover,\n renderAnnounceSlideMessage = props.renderAnnounceSlideMessage,\n propsScrollMode = props.scrollMode,\n slideIndex = props.slideIndex,\n propsSlidesToScroll = props.slidesToScroll,\n propsSlidesToShow = props.slidesToShow,\n slideWidth = props.slideWidth,\n speed = props.speed,\n style = props.style,\n mobileDraggingEnabled = props.swiping,\n wrapAround = props.wrapAround,\n zoomScale = props.zoomScale;\n\n var filteredSlides = _react[\"default\"].Children.toArray(children).filter(Boolean);\n\n var slideCount = filteredSlides.length;\n var cellAlign = slideWidth || propsSlidesToScroll === 'auto' ? 'left' : propsCellAlign;\n var scrollMode = propsSlidesToScroll === 'auto' ? _types.ScrollMode.remainder : propsScrollMode;\n\n var _useState = (0, _react.useState)(new Map()),\n _useState2 = _slicedToArray(_useState, 2),\n slideIOEntries = _useState2[0],\n setSlideIOEntries = _useState2[1];\n\n var visibleCount = Array.from(slideIOEntries).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n visible = _ref2[1];\n\n return visible;\n }).length;\n\n var _useState3 = (0, _react.useState)(visibleCount),\n _useState4 = _slicedToArray(_useState3, 2),\n constantVisibleCount = _useState4[0],\n setConstantVisibleCount = _useState4[1];\n\n var slidesToShow = slideWidth ? constantVisibleCount : propsSlidesToShow;\n var slidesToScroll = animation === 'fade' ? slidesToShow : propsSlidesToScroll === 'auto' ? Math.max(constantVisibleCount, 1) : propsSlidesToScroll;\n\n var _useState5 = (0, _react.useState)(function () {\n return (0, _utils.getDefaultSlideIndex)(slideIndex, slideCount, slidesToShow, slidesToScroll, cellAlign, autoplayReverse, scrollMode);\n }),\n _useState6 = _slicedToArray(_useState5, 2),\n currentSlide = _useState6[0],\n setCurrentSlide = _useState6[1];\n\n var _useState7 = (0, _react.useState)(false),\n _useState8 = _slicedToArray(_useState7, 2),\n pause = _useState8[0],\n setPause = _useState8[1];\n\n var _useState9 = (0, _react.useState)(false),\n _useState10 = _slicedToArray(_useState9, 2),\n isDragging = _useState10[0],\n setIsDragging = _useState10[1];\n\n var _useState11 = (0, _react.useState)(0),\n _useState12 = _slicedToArray(_useState11, 2),\n dragDistance = _useState12[0],\n setDragDistance = _useState12[1];\n\n var _useState13 = (0, _react.useState)(0),\n _useState14 = _slicedToArray(_useState13, 2),\n animationDistance = _useState14[0],\n setAnimationDistance = _useState14[1];\n\n var _useState15 = (0, _react.useState)(false),\n _useState16 = _slicedToArray(_useState15, 2),\n isAnimating = _useState16[0],\n setIsAnimating = _useState16[1];\n\n var updateSlideIOEntry = (0, _react.useCallback)(function (id, isFullyVisible) {\n if (!!slideIOEntries.get(id) === isFullyVisible) return;\n setSlideIOEntries(function (prev) {\n var newMap = new Map(prev);\n newMap.set(id, isFullyVisible);\n return newMap;\n });\n }, [slideIOEntries]);\n var prevDragged = (0, _react.useRef)(false);\n (0, _react.useEffect)(function () {\n if (isDragging) prevDragged.current = true;\n\n if (!(isDragging || isAnimating)) {\n // Wait for the animation to complete after dragging\n if (!prevDragged.current) setConstantVisibleCount(visibleCount);\n prevDragged.current = false;\n }\n }, [isAnimating, isDragging, visibleCount]);\n var prevXPosition = (0, _react.useRef)(null);\n var preDragOffset = (0, _react.useRef)(0);\n var sliderListRef = (0, _react.useRef)(null);\n var defaultCarouselRef = (0, _react.useRef)(null);\n var autoplayTimeout = (0, _react.useRef)();\n var autoplayLastTriggeredRef = (0, _react.useRef)(null);\n var isMounted = (0, _react.useRef)(true);\n var setSliderListRef = (0, _react.useCallback)(function (node) {\n if (node) {\n // disable img draggable attribute by default, this will improve the dragging\n // applying the querySelectorAll on just the descendants of the sliderList prevents\n // impacting DOM elements outside our scope\n node.querySelectorAll('.slider-list img').forEach(function (el) {\n return el.setAttribute('draggable', 'false');\n });\n }\n\n sliderListRef.current = node;\n }, []);\n (0, _react.useEffect)(function () {\n isMounted.current = true;\n return function () {\n isMounted.current = false;\n };\n }, []);\n var carouselRef = innerRef || defaultCarouselRef;\n var goToSlide = (0, _react.useCallback)(function (targetSlideUnbounded) {\n if (!sliderListRef.current || !carouselRef.current) return;\n var targetSlideBounded = (0, _utils.getBoundedIndex)(targetSlideUnbounded, slideCount);\n var slideChanged = targetSlideUnbounded !== currentSlide;\n slideChanged && beforeSlide(currentSlide, targetSlideBounded); // Calculate the distance the slide transition animation needs to cover.\n\n var currentOffset = sliderListRef.current.getBoundingClientRect().left - carouselRef.current.getBoundingClientRect().left;\n var sliderWidth = sliderListRef.current.offsetWidth;\n var targetOffset = (0, _sliderList.getPercentOffsetForSlide)(targetSlideBounded, slideCount, slidesToShow, cellAlign, wrapAround) / 100 * sliderWidth;\n\n if (wrapAround) {\n // We have to do a bit of a recovery effort to figure out the closest\n // offset based on the direction we're going in the slides. The reason\n // it's complicated is because, when wrapped, both the current offset\n // and the calculated target offset are based on bounded slide indices -\n // that is, when wrapping, we often skip back to the first or last slide\n // seamlessly to make the carousel appear to infinitely repeat\n // The DOM width of `slideCount` slides\n var slideSetWidth = sliderWidth / 3;\n\n if (targetSlideUnbounded < 0) {\n targetOffset += slideSetWidth;\n }\n\n if (targetSlideUnbounded >= slideCount) {\n targetOffset -= slideSetWidth;\n }\n }\n\n setAnimationDistance(targetOffset - currentOffset);\n\n if (slideChanged) {\n setCurrentSlide(targetSlideBounded); // if animation is disabled decrease the speed to 40\n\n var msToEndOfAnimation = !disableAnimation ? speed || 500 : 40;\n setTimeout(function () {\n if (!isMounted.current) return;\n afterSlide(targetSlideBounded);\n }, msToEndOfAnimation);\n }\n }, [afterSlide, beforeSlide, carouselRef, cellAlign, currentSlide, disableAnimation, speed, slideCount, slidesToShow, wrapAround]);\n var nextSlide = (0, _react.useCallback)(function () {\n var nextSlideIndex = (0, _utils.getNextMoveIndex)(scrollMode, wrapAround, currentSlide, slideCount, slidesToScroll, slidesToShow, cellAlign);\n\n if (currentSlide !== nextSlideIndex) {\n goToSlide(nextSlideIndex);\n }\n }, [cellAlign, currentSlide, goToSlide, slidesToScroll, scrollMode, slideCount, slidesToShow, wrapAround]);\n var prevSlide = (0, _react.useCallback)(function () {\n var prevSlideIndex = (0, _utils.getPrevMoveIndex)(scrollMode, wrapAround, currentSlide, slidesToScroll, slidesToShow, cellAlign);\n\n if (currentSlide !== prevSlideIndex) {\n goToSlide(prevSlideIndex);\n }\n }, [cellAlign, currentSlide, goToSlide, slidesToScroll, scrollMode, slidesToShow, wrapAround]); // When user changed the slideIndex property from outside.\n\n var prevMovedToSlideIndex = (0, _react.useRef)(slideIndex);\n (0, _react.useEffect)(function () {\n if (slideIndex !== undefined && slideIndex !== prevMovedToSlideIndex.current && !autoplayReverse) {\n goToSlide(slideIndex);\n prevMovedToSlideIndex.current = slideIndex;\n }\n }, [slideIndex, autoplayReverse, goToSlide]);\n (0, _react.useEffect)(function () {\n var pauseStarted = null; // Keep track of when autoplay was paused so we can resume it with the same\n // remaining time to the next slide transition\n\n if (pause) {\n pauseStarted = Date.now();\n }\n\n return function () {\n if (pauseStarted !== null && autoplayLastTriggeredRef.current !== null) {\n autoplayLastTriggeredRef.current += Date.now() - pauseStarted;\n }\n };\n }, [pause]);\n (0, _react.useEffect)(function () {\n if (autoplay && !pause) {\n // Adjust the timeout duration to account for changes that triggered the\n // re-creation of this timeout, such as the currentSlide being changed\n // periodically to make wrapAround loop forever\n var adjustedTimeoutMs = autoplayLastTriggeredRef.current !== null ? autoplayInterval - (Date.now() - autoplayLastTriggeredRef.current) : autoplayInterval;\n autoplayTimeout.current = setTimeout(function () {\n autoplayLastTriggeredRef.current = Date.now();\n\n if (autoplayReverse) {\n prevSlide();\n } else {\n nextSlide();\n }\n }, adjustedTimeoutMs);\n } // Clear the timeout if user hover on carousel\n\n\n if (autoplay && pause) {\n clearTimeout(autoplayTimeout.current);\n }\n\n return function () {\n clearTimeout(autoplayTimeout.current);\n };\n }, [pause, autoplay, autoplayInterval, autoplayReverse, prevSlide, nextSlide]);\n\n var onKeyDown = function onKeyDown(event) {\n var keyCommand = null;\n Object.keys(keyCodeConfig).forEach(function (command) {\n var _keyCodeConfig$comman;\n\n if ((_keyCodeConfig$comman = keyCodeConfig[command]) !== null && _keyCodeConfig$comman !== void 0 && _keyCodeConfig$comman.includes(event.keyCode)) {\n keyCommand = command;\n }\n });\n if (keyCommand === null) return; // At this point we know some action is going to be triggered, so we\n // preventDefault to avoid the browser interpreting the key event and\n // stopPropagation to avoid any higher-up handlers from interpreting it.\n\n event.preventDefault();\n event.stopPropagation();\n\n switch (keyCommand) {\n case 'nextSlide':\n onUserNavigation(event);\n nextSlide();\n break;\n\n case 'previousSlide':\n onUserNavigation(event);\n prevSlide();\n break;\n\n case 'firstSlide':\n case 'lastSlide':\n {\n onUserNavigation(event);\n var dotIndices = (0, _defaultControls.getDotIndexes)(slideCount, slidesToScroll, scrollMode, slidesToShow, wrapAround, cellAlign);\n\n if (keyCommand === 'firstSlide') {\n goToSlide(dotIndices[0]);\n } else {\n goToSlide(dotIndices[dotIndices.length - 1]);\n }\n\n break;\n }\n\n case 'pause':\n setPause(function (p) {\n return !p;\n });\n break;\n }\n };\n\n var dragPositions = (0, _react.useRef)([]);\n\n var handleDragEnd = function handleDragEnd(e) {\n if (!isDragging || !carouselRef.current) return;\n setIsDragging(false); // Inertia calculation is used to allow quick flicks to scroll the carousel\n // where they might not based on the start and end points of the gesture\n // alone. In certain conditions, the inertia may also scroll the carousel\n // several times.\n\n var distanceFromInertia = 0;\n\n if (dragPositions.current.length > 1) {\n var startMove = dragPositions.current[0];\n var endMove = dragPositions.current[dragPositions.current.length - 1];\n var timeOffset = endMove.time - startMove.time;\n var goodInertiaFeelConstant = 9;\n var goodFrictionFeelConstant = 0.92;\n var initialVelocity = goodInertiaFeelConstant * Math.abs((endMove.pos - startMove.pos) / timeOffset);\n var velocity = initialVelocity;\n\n while (Math.abs(velocity) > 1) {\n distanceFromInertia += velocity;\n velocity *= goodFrictionFeelConstant;\n }\n }\n\n dragPositions.current = [];\n var adjustedDragDistance = Math.abs(dragDistance) + Math.abs(distanceFromInertia);\n onDragEnd(e);\n prevXPosition.current = null;\n setDragDistance(0);\n var oneScrollWidth = carouselRef.current.offsetWidth * Math.min(1, slidesToScroll / slidesToShow);\n var dragThreshold = oneScrollWidth * propsDragThreshold;\n\n if (adjustedDragDistance < dragThreshold) {\n goToSlide(currentSlide);\n return;\n } // If skipping over multiple slides at a time is still roughly trackable by\n // your eyes, we allow for skipping multiple slides with a single gesture.\n // This formula is just based off an observation that it is confusing to\n // skip from slides 1 to 3 when only one slide is shown at a time, but\n // skipping from 1 to 4 or so with two slides shown at a time is pulled-back\n // enough that you can still roughly keep track of your place in the\n // carousel.\n\n\n var canMaintainVisualContinuity = slidesToShow >= 2 * slidesToScroll;\n var timesToMove = canMaintainVisualContinuity ? 1 + Math.floor((adjustedDragDistance - dragThreshold) / oneScrollWidth) : 1;\n var nextSlideIndex = currentSlide;\n\n for (var index = 0; index < timesToMove; index += 1) {\n if (dragDistance > 0) {\n nextSlideIndex = (0, _utils.getNextMoveIndex)(scrollMode, wrapAround, nextSlideIndex, slideCount, slidesToScroll, slidesToShow, cellAlign);\n } else {\n nextSlideIndex = (0, _utils.getPrevMoveIndex)(scrollMode, wrapAround, nextSlideIndex, slidesToScroll, slidesToShow, cellAlign);\n }\n }\n\n if (nextSlideIndex !== currentSlide) {\n onUserNavigation(e);\n }\n\n goToSlide(nextSlideIndex);\n };\n\n var onTouchStart = (0, _react.useCallback)(function (e) {\n if (!mobileDraggingEnabled || !sliderListRef.current || !carouselRef.current) {\n return;\n }\n\n setIsDragging(true);\n preDragOffset.current = sliderListRef.current.getBoundingClientRect().left - carouselRef.current.getBoundingClientRect().left;\n onDragStart(e);\n }, [carouselRef, onDragStart, mobileDraggingEnabled]);\n var handlePointerMove = (0, _react.useCallback)(function (xPosition) {\n if (!isDragging) return;\n var isFirstMove = prevXPosition.current === null;\n var delta = prevXPosition.current !== null ? xPosition - prevXPosition.current : 0;\n var nextDragDistance = dragDistance + delta;\n var now = Date.now(); // Maintain a buffer of drag positions from the last 100ms\n\n while (dragPositions.current.length > 0) {\n if (now - dragPositions.current[0].time <= 100) {\n break;\n }\n\n dragPositions.current.shift();\n }\n\n dragPositions.current.push({\n pos: nextDragDistance,\n time: now\n });\n\n if (!isFirstMove) {\n // nextDragDistance will always be `0` on the first move event, so we\n // skip it because the value is already set to 0 at this point\n setDragDistance(nextDragDistance);\n }\n\n prevXPosition.current = xPosition;\n }, [isDragging, dragDistance]);\n var onTouchMove = (0, _react.useCallback)(function (e) {\n if (!isDragging || !carouselRef.current) return;\n onDragStart(e);\n var moveValue = carouselRef.current.offsetWidth - e.touches[0].pageX;\n handlePointerMove(moveValue);\n }, [isDragging, carouselRef, handlePointerMove, onDragStart]);\n var onMouseDown = (0, _react.useCallback)(function (e) {\n if (!desktopDraggingEnabled || !sliderListRef.current || !carouselRef.current) return;\n setIsDragging(true);\n preDragOffset.current = sliderListRef.current.getBoundingClientRect().left - carouselRef.current.getBoundingClientRect().left;\n onDragStart(e);\n }, [carouselRef, desktopDraggingEnabled, onDragStart]);\n var onMouseMove = (0, _react.useCallback)(function (e) {\n if (!isDragging || !carouselRef.current) return;\n onDrag(e);\n var offsetX = e.clientX - carouselRef.current.getBoundingClientRect().left;\n var moveValue = carouselRef.current.offsetWidth - offsetX;\n handlePointerMove(moveValue);\n }, [carouselRef, isDragging, handlePointerMove, onDrag]);\n\n var onMouseUp = function onMouseUp(e) {\n e.preventDefault();\n handleDragEnd(e);\n };\n\n var onMouseEnter = (0, _react.useCallback)(function () {\n if (pauseOnHover) {\n setPause(true);\n }\n }, [pauseOnHover]);\n var onMouseLeave = (0, _react.useCallback)(function () {\n if (pauseOnHover) {\n setPause(false);\n }\n }, [pauseOnHover]);\n\n var _useFrameHeight = (0, _useFrameHeight2.useFrameHeight)(adaptiveHeight, slidesToShow, slideCount),\n frameHeight = _useFrameHeight.frameHeight,\n handleVisibleSlideHeightChange = _useFrameHeight.handleVisibleSlideHeightChange,\n initializedAdaptiveHeight = _useFrameHeight.initializedAdaptiveHeight;\n\n var renderSlides = function renderSlides(typeOfSlide) {\n var slides = filteredSlides.map(function (child, index) {\n return /*#__PURE__*/_react[\"default\"].createElement(_slide[\"default\"], {\n key: \"\".concat(typeOfSlide, \"-\").concat(index),\n id: \"\".concat(typeOfSlide, \"-\").concat(index),\n count: slideCount,\n index: index,\n isCurrentSlide: currentSlide === index,\n typeOfSlide: typeOfSlide,\n wrapAround: wrapAround,\n cellSpacing: cellSpacing,\n animation: animation,\n speed: speed,\n zoomScale: zoomScale,\n onVisibleSlideHeightChange: handleVisibleSlideHeightChange,\n slideWidth: slideWidth,\n updateIOEntry: updateSlideIOEntry,\n adaptiveHeight: adaptiveHeight,\n initializedAdaptiveHeight: initializedAdaptiveHeight,\n carouselRef: carouselRef\n }, child);\n });\n return slides;\n };\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: 'slider-container',\n style: {\n position: 'relative'\n },\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, /*#__PURE__*/_react[\"default\"].createElement(_announceSlide[\"default\"], {\n ariaLive: autoplay && !pause ? 'off' : 'polite',\n message: renderAnnounceSlideMessage({\n currentSlide: currentSlide,\n count: slideCount\n })\n }), (0, _controls[\"default\"])(props, slideCount, currentSlide, goToSlide, nextSlide, prevSlide, slidesToScroll), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: ['slider-frame', className || ''].join(' ').trim(),\n style: _objectSpread({\n overflow: 'hidden',\n width: '100%',\n position: 'relative',\n outline: 'none',\n touchAction: 'pan-y',\n height: frameHeight,\n transition: adaptiveHeightAnimation ? 'height 300ms ease-in-out' : undefined,\n willChange: 'height',\n userSelect: 'none'\n }, style),\n \"aria-label\": frameAriaLabel,\n role: \"region\",\n tabIndex: enableKeyboardControls ? 0 : -1,\n onKeyDown: enableKeyboardControls ? onKeyDown : undefined,\n ref: carouselRef,\n onMouseUp: onMouseUp,\n onMouseDown: onMouseDown,\n onMouseMove: onMouseMove,\n onMouseLeave: onMouseUp,\n onTouchStart: onTouchStart,\n onTouchEnd: handleDragEnd,\n onTouchMove: onTouchMove\n }, /*#__PURE__*/_react[\"default\"].createElement(_sliderList.SliderList, {\n animationDistance: animationDistance,\n cellAlign: cellAlign,\n currentSlide: currentSlide,\n disableEdgeSwiping: props.disableEdgeSwiping,\n draggedOffset: preDragOffset.current - dragDistance,\n disableAnimation: disableAnimation,\n easing: props.easing,\n edgeEasing: props.edgeEasing,\n isDragging: isDragging,\n ref: setSliderListRef,\n scrollMode: scrollMode,\n animation: animation,\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n speed: speed,\n slideWidth: slideWidth,\n wrapAround: wrapAround,\n setIsAnimating: setIsAnimating\n }, wrapAround ? renderSlides('prev-cloned') : null, renderSlides(), wrapAround ? renderSlides('next-cloned') : null)));\n};\n\nexports.Carousel = Carousel;\nCarousel.defaultProps = _defaultCarouselProps[\"default\"];\nvar _default = Carousel;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getControlContainerStyles = void 0;\n\nvar _types = require(\"./types\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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\nvar commonStyles = {\n position: 'absolute',\n display: 'flex',\n zIndex: 1,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n};\n/**\n * Gets flexbox alignment and justify-content styles for a given position.\n */\n\nvar getControlContainerFlexStyles = function getControlContainerFlexStyles(pos) {\n var alignItems;\n\n switch (pos) {\n case _types.Positions.TopLeft:\n case _types.Positions.TopCenter:\n case _types.Positions.TopRight:\n alignItems = 'flex-start';\n break;\n\n case _types.Positions.CenterLeft:\n case _types.Positions.CenterCenter:\n case _types.Positions.CenterRight:\n alignItems = 'center';\n break;\n\n case _types.Positions.BottomLeft:\n case _types.Positions.BottomCenter:\n case _types.Positions.BottomRight:\n alignItems = 'flex-end';\n break;\n }\n\n var justifyContent;\n\n switch (pos) {\n case _types.Positions.TopLeft:\n case _types.Positions.CenterLeft:\n case _types.Positions.BottomLeft:\n justifyContent = 'flex-start';\n break;\n\n case _types.Positions.TopCenter:\n case _types.Positions.CenterCenter:\n case _types.Positions.BottomCenter:\n justifyContent = 'center';\n break;\n\n case _types.Positions.TopRight:\n case _types.Positions.CenterRight:\n case _types.Positions.BottomRight:\n justifyContent = 'flex-end';\n break;\n }\n\n return {\n alignItems: alignItems,\n justifyContent: justifyContent\n };\n};\n/**\n * Gets the styles for a back/forward control container to align the control\n * properly within the parent.\n */\n\n\nvar getControlContainerStyles = function getControlContainerStyles(pos) {\n return _objectSpread(_objectSpread({}, getControlContainerFlexStyles(pos)), commonStyles);\n};\n\nexports.getControlContainerStyles = getControlContainerStyles;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _controlStyles = require(\"./control-styles\");\n\nvar _defaultControls = require(\"./default-controls\");\n\nvar _types = require(\"./types\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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\nvar controlsMap = [{\n funcName: 'renderTopLeftControls',\n key: _types.Positions.TopLeft\n}, {\n funcName: 'renderTopCenterControls',\n key: _types.Positions.TopCenter\n}, {\n funcName: 'renderTopRightControls',\n key: _types.Positions.TopRight\n}, {\n funcName: 'renderCenterLeftControls',\n key: _types.Positions.CenterLeft\n}, {\n funcName: 'renderCenterCenterControls',\n key: _types.Positions.CenterCenter\n}, {\n funcName: 'renderCenterRightControls',\n key: _types.Positions.CenterRight\n}, {\n funcName: 'renderBottomLeftControls',\n key: _types.Positions.BottomLeft\n}, {\n funcName: 'renderBottomCenterControls',\n key: _types.Positions.BottomCenter\n}, {\n funcName: 'renderBottomRightControls',\n key: _types.Positions.BottomRight\n}];\n\nvar renderControls = function renderControls(props, slideCount, currentSlide, goToSlide, nextSlide, prevSlide, slidesToScroll) {\n if (props.withoutControls) {\n return null;\n }\n\n var disableCheckProps = _objectSpread(_objectSpread({}, props), {}, {\n currentSlide: currentSlide,\n slideCount: slideCount\n });\n\n var nextDisabled = (0, _defaultControls.nextButtonDisabled)(disableCheckProps);\n var previousDisabled = (0, _defaultControls.prevButtonDisabled)(disableCheckProps);\n var pagingDotsIndices = (0, _defaultControls.getDotIndexes)(slideCount, slidesToScroll, props.scrollMode, props.slidesToShow, props.wrapAround, props.cellAlign);\n return controlsMap.map(function (control) {\n var _props$control$funcNa;\n\n if (!props[control.funcName] || typeof props[control.funcName] !== 'function') {\n return /*#__PURE__*/_react[\"default\"].createElement(_react.Fragment, {\n key: control.funcName\n });\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: control.funcName,\n style: _objectSpread(_objectSpread({}, (0, _controlStyles.getControlContainerStyles)(control.key)), {}, {\n pointerEvents: 'none'\n })\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: [\"slider-control-\".concat(control.key.toLowerCase()), props.defaultControlsConfig.containerClassName || ''].join(' ').trim() // The container has `pointerEvents: 'none'` so we need to override\n // that to make sure the controls are clickable.\n ,\n style: {\n pointerEvents: 'auto'\n }\n }, (_props$control$funcNa = props[control.funcName]) === null || _props$control$funcNa === void 0 ? void 0 : _props$control$funcNa.call(props, {\n cellAlign: props.cellAlign,\n cellSpacing: props.cellSpacing,\n currentSlide: currentSlide,\n defaultControlsConfig: props.defaultControlsConfig || {},\n pagingDotsIndices: pagingDotsIndices,\n goToSlide: goToSlide,\n nextDisabled: nextDisabled,\n nextSlide: nextSlide,\n onUserNavigation: props.onUserNavigation,\n previousDisabled: previousDisabled,\n previousSlide: prevSlide,\n scrollMode: props.scrollMode,\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: props.slidesToShow || 1,\n vertical: props.vertical,\n wrapAround: props.wrapAround\n })));\n });\n};\n\nvar _default = renderControls;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _types = require(\"./types\");\n\nvar _defaultControls = require(\"./default-controls\");\n\nvar _announceSlide = require(\"./announce-slide\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar easeOut = function easeOut(t) {\n return Math.pow(t - 1, 3) + 1;\n};\n\nvar defaultProps = {\n adaptiveHeight: false,\n adaptiveHeightAnimation: true,\n afterSlide: function afterSlide() {// do nothing\n },\n autoplay: false,\n autoplayInterval: 3000,\n autoplayReverse: false,\n beforeSlide: function beforeSlide() {// do nothing\n },\n cellAlign: 'left',\n cellSpacing: 0,\n defaultControlsConfig: {},\n disableAnimation: false,\n disableEdgeSwiping: false,\n dragging: true,\n dragThreshold: 0.5,\n easing: easeOut,\n edgeEasing: easeOut,\n enableKeyboardControls: false,\n frameAriaLabel: 'carousel-slider',\n keyCodeConfig: {\n nextSlide: [39, 68, 38, 87],\n previousSlide: [37, 65, 40, 83],\n firstSlide: [81],\n lastSlide: [69],\n pause: [32]\n },\n onDragStart: function onDragStart() {// do nothing\n },\n onDrag: function onDrag() {// do nothing\n },\n onDragEnd: function onDragEnd() {// do nothing\n },\n onUserNavigation: function onUserNavigation() {// do nothing\n },\n pauseOnHover: true,\n renderAnnounceSlideMessage: _announceSlide.defaultRenderAnnounceSlideMessage,\n renderBottomCenterControls: function renderBottomCenterControls(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_defaultControls.PagingDots, props);\n },\n renderCenterLeftControls: function renderCenterLeftControls(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_defaultControls.PreviousButton, props);\n },\n renderCenterRightControls: function renderCenterRightControls(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_defaultControls.NextButton, props);\n },\n scrollMode: _types.ScrollMode.page,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n style: {},\n swiping: true,\n vertical: false,\n withoutControls: false,\n wrapAround: false,\n children: /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null)\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prevButtonDisabled = exports.nextButtonDisabled = exports.getDotIndexes = exports.PreviousButton = exports.PagingDots = exports.NextButton = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _types = require(\"./types\");\n\nvar _utils = require(\"./utils\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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\nvar defaultButtonStyles = function defaultButtonStyles(disabled) {\n return {\n border: 0,\n background: 'rgba(0,0,0,0.4)',\n color: 'white',\n padding: 10,\n textTransform: 'uppercase',\n opacity: disabled ? 0.3 : 1,\n cursor: disabled ? 'not-allowed' : 'pointer'\n };\n};\n\nvar prevButtonDisabled = function prevButtonDisabled(_ref) {\n var cellAlign = _ref.cellAlign,\n currentSlide = _ref.currentSlide,\n slidesToShow = _ref.slidesToShow,\n wrapAround = _ref.wrapAround;\n\n // inifite carousel\n if (wrapAround) {\n return false;\n } // disable if displaying the leftmost slide\n\n\n if (currentSlide === 0) {\n return true;\n } // remainder scroll mode\n\n\n if (cellAlign === 'right' && currentSlide <= slidesToShow - 1) {\n return true;\n }\n\n return false;\n};\n\nexports.prevButtonDisabled = prevButtonDisabled;\n\nvar PreviousButton = function PreviousButton(_ref2) {\n var previousSlide = _ref2.previousSlide,\n _ref2$defaultControls = _ref2.defaultControlsConfig,\n prevButtonClassName = _ref2$defaultControls.prevButtonClassName,\n _ref2$defaultControls2 = _ref2$defaultControls.prevButtonStyle,\n prevButtonStyle = _ref2$defaultControls2 === void 0 ? {} : _ref2$defaultControls2,\n prevButtonText = _ref2$defaultControls.prevButtonText,\n prevButtonOnClick = _ref2$defaultControls.prevButtonOnClick,\n onUserNavigation = _ref2.onUserNavigation,\n disabled = _ref2.previousDisabled;\n\n var handleClick = function handleClick(event) {\n prevButtonOnClick === null || prevButtonOnClick === void 0 ? void 0 : prevButtonOnClick(event);\n if (event.defaultPrevented) return;\n onUserNavigation(event);\n event.preventDefault();\n previousSlide();\n };\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n className: prevButtonClassName,\n style: _objectSpread(_objectSpread({}, defaultButtonStyles(disabled)), prevButtonStyle),\n disabled: disabled,\n onClick: handleClick,\n \"aria-label\": \"previous\",\n type: \"button\"\n }, prevButtonText || 'Prev');\n};\n\nexports.PreviousButton = PreviousButton;\n\nvar nextButtonDisabled = function nextButtonDisabled(_ref3) {\n var cellAlign = _ref3.cellAlign,\n currentSlide = _ref3.currentSlide,\n slideCount = _ref3.slideCount,\n slidesToShow = _ref3.slidesToShow,\n wrapAround = _ref3.wrapAround;\n\n // inifite carousel\n if (wrapAround) {\n return false;\n } // If we are at the last possible slide without wrap, disable\n\n\n if (currentSlide >= slideCount - 1) {\n return true;\n } // remainder scroll mode\n\n\n if (cellAlign === 'left' && currentSlide >= slideCount - slidesToShow) {\n return true;\n }\n\n return false;\n};\n\nexports.nextButtonDisabled = nextButtonDisabled;\n\nvar NextButton = function NextButton(_ref4) {\n var nextSlide = _ref4.nextSlide,\n _ref4$defaultControls = _ref4.defaultControlsConfig,\n nextButtonClassName = _ref4$defaultControls.nextButtonClassName,\n _ref4$defaultControls2 = _ref4$defaultControls.nextButtonStyle,\n nextButtonStyle = _ref4$defaultControls2 === void 0 ? {} : _ref4$defaultControls2,\n nextButtonText = _ref4$defaultControls.nextButtonText,\n nextButtonOnClick = _ref4$defaultControls.nextButtonOnClick,\n disabled = _ref4.nextDisabled,\n onUserNavigation = _ref4.onUserNavigation;\n\n var handleClick = function handleClick(event) {\n nextButtonOnClick === null || nextButtonOnClick === void 0 ? void 0 : nextButtonOnClick(event);\n if (event.defaultPrevented) return;\n onUserNavigation(event);\n event.preventDefault();\n nextSlide();\n };\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n className: nextButtonClassName,\n style: _objectSpread(_objectSpread({}, defaultButtonStyles(disabled)), nextButtonStyle),\n disabled: disabled,\n onClick: handleClick,\n \"aria-label\": \"next\",\n type: \"button\"\n }, nextButtonText || 'Next');\n};\n/**\n * Calculate the indices that each dot will jump to when clicked\n */\n\n\nexports.NextButton = NextButton;\n\nvar getDotIndexes = function getDotIndexes(slideCount, slidesToScroll, scrollMode, slidesToShow, wrapAround, cellAlign) {\n var dotIndexes = [];\n var scrollSlides = slidesToScroll <= 0 ? 1 : slidesToScroll;\n\n if (wrapAround) {\n for (var i = 0; i < slideCount; i += scrollSlides) {\n dotIndexes.push(i);\n }\n\n return dotIndexes;\n }\n\n if (cellAlign === 'center') {\n for (var _i = 0; _i < slideCount - 1; _i += scrollSlides) {\n dotIndexes.push(_i);\n }\n\n if (slideCount > 0) {\n dotIndexes.push(slideCount - 1);\n }\n\n return dotIndexes;\n }\n\n if (cellAlign === 'left') {\n if (slidesToShow >= slideCount) {\n return [0];\n }\n\n var lastPossibleIndexWithoutWhitespace = slideCount - slidesToShow;\n\n for (var _i2 = 0; _i2 < lastPossibleIndexWithoutWhitespace; _i2 += scrollSlides) {\n dotIndexes.push(_i2);\n }\n\n if (scrollMode === _types.ScrollMode.remainder) {\n dotIndexes.push(lastPossibleIndexWithoutWhitespace);\n } else {\n dotIndexes.push(dotIndexes[dotIndexes.length - 1] + scrollSlides);\n }\n\n return dotIndexes;\n }\n\n if (cellAlign === 'right') {\n if (slidesToShow >= slideCount) {\n return [slideCount - 1];\n }\n\n var firstPossibleIndexWithoutWhitespace = slidesToShow - 1;\n\n if (scrollMode === _types.ScrollMode.remainder) {\n for (var _i3 = firstPossibleIndexWithoutWhitespace; _i3 < slideCount - 1; _i3 += scrollSlides) {\n dotIndexes.push(_i3);\n }\n\n dotIndexes.push(slideCount - 1);\n } else {\n for (var _i4 = slideCount - 1; _i4 > firstPossibleIndexWithoutWhitespace; _i4 -= scrollSlides) {\n dotIndexes.push(_i4);\n }\n\n dotIndexes.push(dotIndexes[dotIndexes.length - 1] - scrollSlides);\n dotIndexes.reverse();\n }\n\n return dotIndexes;\n } // We should never reach this, because the if statements above cover all\n // possible values of cellAlign\n\n\n return dotIndexes;\n};\n\nexports.getDotIndexes = getDotIndexes;\n\nvar PagingDots = function PagingDots(_ref5) {\n var pagingDotsIndices = _ref5.pagingDotsIndices,\n _ref5$defaultControls = _ref5.defaultControlsConfig,\n pagingDotsContainerClassName = _ref5$defaultControls.pagingDotsContainerClassName,\n pagingDotsClassName = _ref5$defaultControls.pagingDotsClassName,\n _ref5$defaultControls2 = _ref5$defaultControls.pagingDotsStyle,\n pagingDotsStyle = _ref5$defaultControls2 === void 0 ? {} : _ref5$defaultControls2,\n pagingDotsOnClick = _ref5$defaultControls.pagingDotsOnClick,\n currentSlide = _ref5.currentSlide,\n onUserNavigation = _ref5.onUserNavigation,\n slideCount = _ref5.slideCount,\n goToSlide = _ref5.goToSlide;\n var listStyles = {\n position: 'relative',\n top: -10,\n display: 'flex',\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n };\n var getButtonStyles = (0, _react.useCallback)(function (active) {\n return {\n cursor: 'pointer',\n opacity: active ? 1 : 0.5,\n background: 'transparent',\n border: 'none',\n fill: 'black'\n };\n }, []);\n var currentSlideBounded = (0, _utils.getBoundedIndex)(currentSlide, slideCount);\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n className: pagingDotsContainerClassName,\n style: listStyles\n }, pagingDotsIndices.map(function (slideIndex, i) {\n var isActive = currentSlideBounded === slideIndex || // sets navigation dots active if the current slide falls in the current index range\n currentSlideBounded < slideIndex && (i === 0 || currentSlideBounded > pagingDotsIndices[i - 1]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: slideIndex,\n className: isActive ? 'paging-item active' : 'paging-item'\n }, /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n className: pagingDotsClassName,\n type: \"button\",\n style: _objectSpread(_objectSpread({}, getButtonStyles(isActive)), pagingDotsStyle),\n onClick: function onClick(event) {\n pagingDotsOnClick === null || pagingDotsOnClick === void 0 ? void 0 : pagingDotsOnClick(event);\n if (event.defaultPrevented) return;\n onUserNavigation(event);\n goToSlide(slideIndex);\n },\n \"aria-label\": \"slide \".concat(slideIndex + 1, \" bullet\"),\n \"aria-selected\": isActive\n }, /*#__PURE__*/_react[\"default\"].createElement(\"svg\", {\n className: \"paging-dot\",\n width: \"6\",\n height: \"6\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n viewBox: \"0 0 6 6\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"circle\", {\n cx: \"3\",\n cy: \"3\",\n r: \"3\"\n }))));\n }));\n};\n\nexports.PagingDots = PagingDots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useFrameHeight = void 0;\n\nvar _react = require(\"react\");\n\nvar _useStateWithRef3 = require(\"./use-state-with-ref\");\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\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 * The frame height is normally, just `auto` (i.e., it expands to fit the\n * items), but in adaptiveHeight mode, it's the height of the tallest visible\n * item.\n *\n * In adaptiveHeight mode, we also switch between two states to ensure that\n * slides don't render with zero height when server-side-rendering:\n *\n * - When initializedAdaptiveHeight is false: the frame has height auto; visible\n * slides have height auto; invisible slides have height 0\n * - The client sets initializedAdaptiveHeight to true once we've measured all\n * the visible slides' heights\n * - When initializedAdaptiveHeight is true: the frame has height set to the\n * tallest visible slide; all slides have height 100%\n */\nvar useFrameHeight = function useFrameHeight(adaptiveHeight, slidesToShow, slideCount) {\n var _useStateWithRef = (0, _useStateWithRef3.useStateWithRef)([]),\n _useStateWithRef2 = _slicedToArray(_useStateWithRef, 3),\n visibleHeights = _useStateWithRef2[0],\n setVisibleHeights = _useStateWithRef2[1],\n visibleHeightsRef = _useStateWithRef2[2]; // Whether we've received heights of all initial visible heights\n\n\n var _useState = (0, _react.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n initializedAdaptiveHeight = _useState2[0],\n setInitializedAdaptiveHeight = _useState2[1];\n\n var handleVisibleSlideHeightChange = (0, _react.useCallback)(function (slideIndex, height) {\n // Use the ref's value since it's always the latest value\n var latestVisibleHeights = visibleHeightsRef.current;\n var newVisibleHeights;\n\n if (height === null) {\n newVisibleHeights = latestVisibleHeights.filter(function (slideHeight) {\n return slideHeight.slideIndex !== slideIndex;\n });\n } else {\n newVisibleHeights = [].concat(_toConsumableArray(latestVisibleHeights), [{\n slideIndex: slideIndex,\n height: height\n }]);\n }\n\n setVisibleHeights(newVisibleHeights);\n\n if (newVisibleHeights.length >= Math.min(slideCount, Math.ceil(slidesToShow))) {\n setInitializedAdaptiveHeight(true);\n }\n }, [slideCount, setVisibleHeights, slidesToShow, visibleHeightsRef]);\n var frameHeight = (0, _react.useMemo)(function () {\n if (adaptiveHeight) {\n // We want server-side-rendering to render the carousel with non-zero\n // height. to achieve this, we first set the height to `auto` until\n // we've received the heights of the visible slides. Then, we switch to\n // a mode where the frame controls the height.\n if (!initializedAdaptiveHeight) {\n return 'auto';\n }\n\n var maxHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleHeights.map(function (height) {\n return height.height;\n }))));\n return \"\".concat(maxHeight, \"px\");\n } else {\n return 'auto';\n }\n }, [adaptiveHeight, initializedAdaptiveHeight, visibleHeights]);\n return {\n handleVisibleSlideHeightChange: handleVisibleSlideHeightChange,\n frameHeight: frameHeight,\n initializedAdaptiveHeight: initializedAdaptiveHeight\n };\n};\n\nexports.useFrameHeight = useFrameHeight;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useSlideIntersectionObserver = void 0;\n\nvar _react = require(\"react\");\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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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\nvar useSlideIntersectionObserver = function useSlideIntersectionObserver(elementRef, rootRef, callback) {\n var _useState = (0, _react.useState)(),\n _useState2 = _slicedToArray(_useState, 2),\n entry = _useState2[0],\n setEntry = _useState2[1];\n\n var callbackRef = (0, _react.useRef)(callback);\n (0, _react.useEffect)(function () {\n callbackRef.current = callback;\n }, [callback]);\n (0, _react.useEffect)(function () {\n var node = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;\n var root = rootRef === null || rootRef === void 0 ? void 0 : rootRef.current;\n if (!window.IntersectionObserver || !node || !root) return;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n setEntry(entry);\n callbackRef.current(entry);\n });\n }, {\n threshold: [0.05, 0.95],\n root: root\n });\n observer.observe(node);\n return function () {\n return observer.disconnect();\n };\n }, [elementRef, rootRef]);\n return entry;\n};\n\nexports.useSlideIntersectionObserver = useSlideIntersectionObserver;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useStateWithRef = void 0;\n\nvar _react = require(\"react\");\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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 * Like useState, but also returns a ref that's always instantly updated.\n *\n * This is useful in two cases:\n *\n * 1. You need to both force a re-render when a variable changes, and\n * also avoid re-running side effects (for example, a network call), even\n * before the state fully updates for the component.\n * 2. Multiple callbacks need to modify the same object or array before the\n * state updates. For example, if one callback tries to append 4 to\n * `[1, 2, 3]` and another tries to append 5, we may end up with only\n * `[1, 2, 3, 5]` instead of `[1, 2, 3, 4, 5]`\n */\nvar useStateWithRef = function useStateWithRef(initialState) {\n var _useState = (0, _react.useState)(initialState),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1]; // Need to explicitly type this out, or the overloads can confuse the\n // compiler to think that this might be a React Component ref\n\n\n var valueRef = (0, _react.useRef)(initialState);\n var setValueAndRef = (0, _react.useCallback)(function (newValue) {\n valueRef.current = newValue;\n setValue(newValue);\n }, []);\n return [value, setValueAndRef, valueRef];\n};\n\nexports.useStateWithRef = useStateWithRef;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useTween = void 0;\n\nvar _react = require(\"react\");\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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 * Provides an interpolated value, beginning at 0 and ending at 1, based on a\n * provided duration and animation timing function.\n */\nvar useTween = function useTween(durationMs, easingFunction, navigationNum, shouldInterrupt) {\n var _useState = (0, _react.useState)(1),\n _useState2 = _slicedToArray(_useState, 2),\n normalizedTimeRaw = _useState2[0],\n setNormalizedTime = _useState2[1];\n\n var startTime = (0, _react.useRef)(Date.now());\n var rAF = (0, _react.useRef)();\n var isFirstRender = (0, _react.useRef)(true);\n var lastNavigationNum = (0, _react.useRef)(null); // Detect on the first render following navigation if the animation should\n // be running. If we wait for the useEffect, the first render will flash with\n // the slide in its destination position, before the animation triggers,\n // sending it back to the position of the first frame of the animation. This\n // approach is done in place of a useLayoutEffect, which has issues with SSR.\n\n var normalizedTime = lastNavigationNum.current === null || lastNavigationNum.current === navigationNum || shouldInterrupt ? normalizedTimeRaw : 0; // 0 here indicates the animation has begun\n\n (0, _react.useEffect)(function () {\n lastNavigationNum.current = navigationNum; // Skip the first render as we don't want to trigger the animation right off\n // the bat\n\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n\n if (shouldInterrupt) {\n return;\n }\n\n startTime.current = Date.now();\n setNormalizedTime(0);\n\n var tick = function tick() {\n rAF.current = requestAnimationFrame(function () {\n var currentTime = Date.now();\n var normalizedTime = Math.min(1, (currentTime - startTime.current) / durationMs);\n setNormalizedTime(normalizedTime);\n\n if (normalizedTime < 1) {\n tick();\n } else {\n // Clean up so we can use this value to determine if the most recent\n // animation completed\n rAF.current = undefined;\n }\n });\n };\n\n tick();\n return function () {\n // If the most recent animation did not complete, cut it short and reset\n // the animation\n if (rAF.current !== undefined) {\n cancelAnimationFrame(rAF.current);\n setNormalizedTime(1);\n }\n };\n }, [navigationNum, durationMs, shouldInterrupt]);\n return {\n isAnimating: normalizedTime !== 1,\n value: easingFunction(normalizedTime)\n };\n};\n\nexports.useTween = useTween;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {\n NextButton: true,\n PreviousButton: true,\n PagingDots: true\n};\nObject.defineProperty(exports, \"NextButton\", {\n enumerable: true,\n get: function get() {\n return _defaultControls.NextButton;\n }\n});\nObject.defineProperty(exports, \"PagingDots\", {\n enumerable: true,\n get: function get() {\n return _defaultControls.PagingDots;\n }\n});\nObject.defineProperty(exports, \"PreviousButton\", {\n enumerable: true,\n get: function get() {\n return _defaultControls.PreviousButton;\n }\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _carousel.Carousel;\n }\n});\n\nvar _carousel = require(\"./carousel\");\n\nvar _types = require(\"./types\");\n\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _types[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _types[key];\n }\n });\n});\n\nvar _defaultControls = require(\"./default-controls\");","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _useSlideIntersectionObserver = require(\"./hooks/use-slide-intersection-observer\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar getSlideWidth = function getSlideWidth(count, wrapAround) {\n return \"\".concat(wrapAround ? 100 / (3 * count) : 100 / count, \"%\");\n};\n\nvar getSlideStyles = function getSlideStyles(count, isCurrentSlide, isVisibleSlide, wrapAround, cellSpacing, animation, speed, zoomScale, adaptiveHeight, initializedAdaptiveHeight, slideWidth) {\n var width = slideWidth !== null && slideWidth !== void 0 ? slideWidth : getSlideWidth(count, wrapAround); // const width = getSlideWidth(count, wrapAround);\n\n var visibleSlideOpacity = isVisibleSlide ? 1 : 0;\n var animationSpeed = animation === 'fade' ? 200 : 500;\n var height = 'auto';\n\n if (adaptiveHeight) {\n if (initializedAdaptiveHeight) {\n // Once adaptiveHeight is initialized, the frame will size to the height\n // of all the visible slides\n height = '100%';\n } else if (isVisibleSlide) {\n // If the slide is visible but we're still measuring heights, have\n // visible slides just take up their natural height\n height = 'auto';\n } else {\n // If the slide is not visible and we're still measuring heights, the\n // slide should have height 0 so it doesn't contribute to the measured\n // height of the frame\n height = '0';\n }\n }\n\n return {\n width: width,\n height: height,\n padding: \"0 \".concat(cellSpacing ? cellSpacing / 2 : 0, \"px\"),\n transition: animation ? \"\".concat(speed || animationSpeed, \"ms ease 0s\") : undefined,\n transform: animation === 'zoom' ? \"scale(\".concat(isCurrentSlide && isVisibleSlide ? 1 : zoomScale || 0.85, \")\") : undefined,\n opacity: animation === 'fade' ? visibleSlideOpacity : 1\n };\n};\n\nvar generateIndex = function generateIndex(index, count, typeOfSlide) {\n if (typeOfSlide === 'prev-cloned') {\n return index - count;\n }\n\n if (typeOfSlide === 'next-cloned') {\n return index + count;\n }\n\n return index;\n};\n\nvar Slide = function Slide(_ref) {\n var _entry$intersectionRa;\n\n var count = _ref.count,\n children = _ref.children,\n index = _ref.index,\n isCurrentSlide = _ref.isCurrentSlide,\n typeOfSlide = _ref.typeOfSlide,\n wrapAround = _ref.wrapAround,\n cellSpacing = _ref.cellSpacing,\n slideWidth = _ref.slideWidth,\n animation = _ref.animation,\n speed = _ref.speed,\n zoomScale = _ref.zoomScale,\n onVisibleSlideHeightChange = _ref.onVisibleSlideHeightChange,\n adaptiveHeight = _ref.adaptiveHeight,\n initializedAdaptiveHeight = _ref.initializedAdaptiveHeight,\n updateIOEntry = _ref.updateIOEntry,\n id = _ref.id,\n carouselRef = _ref.carouselRef;\n var customIndex = wrapAround ? generateIndex(index, count, typeOfSlide) : index;\n var slideRef = (0, _react.useRef)(null);\n var entry = (0, _useSlideIntersectionObserver.useSlideIntersectionObserver)(slideRef, carouselRef, function (entry) {\n updateIOEntry(id, (entry === null || entry === void 0 ? void 0 : entry.intersectionRatio) >= 0.95);\n });\n var isVisible = !!(entry !== null && entry !== void 0 && entry.isIntersecting);\n var isFullyVisible = ((_entry$intersectionRa = entry === null || entry === void 0 ? void 0 : entry.intersectionRatio) !== null && _entry$intersectionRa !== void 0 ? _entry$intersectionRa : 1) >= 0.95;\n var prevIsVisibleRef = (0, _react.useRef)(false);\n (0, _react.useEffect)(function () {\n var node = slideRef.current;\n\n if (node) {\n var _node$getBoundingClie;\n\n var slideHeight = (_node$getBoundingClie = node.getBoundingClientRect()) === null || _node$getBoundingClie === void 0 ? void 0 : _node$getBoundingClie.height;\n var prevIsVisible = prevIsVisibleRef.current;\n\n if (isVisible && !prevIsVisible) {\n onVisibleSlideHeightChange(customIndex, slideHeight);\n } else if (!isVisible && prevIsVisible) {\n onVisibleSlideHeightChange(customIndex, null);\n }\n\n prevIsVisibleRef.current = isVisible;\n }\n }, [customIndex, isVisible, onVisibleSlideHeightChange]);\n var currentSlideClass = isCurrentSlide && isFullyVisible ? ' slide-current' : '';\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: slideRef,\n inert: isFullyVisible ? undefined : 'true',\n className: \"slide\".concat(currentSlideClass).concat(typeOfSlide ? \" \".concat(typeOfSlide) : '').concat(isFullyVisible ? ' slide-visible' : ''),\n style: getSlideStyles(count, isCurrentSlide, isFullyVisible, wrapAround, cellSpacing, animation, speed, zoomScale, adaptiveHeight, initializedAdaptiveHeight, slideWidth)\n }, children);\n};\n\nvar _default = Slide;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPercentOffsetForSlide = exports.SliderList = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _defaultControls = require(\"./default-controls\");\n\nvar _useTween2 = require(\"./hooks/use-tween\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar getPercentOffsetForSlide = function getPercentOffsetForSlide(currentSlide, slideCount, slidesToShow, cellAlign, wrapAround) {\n // When wrapAround is enabled, we show the slides 3 times\n var renderedSlideCount = wrapAround ? 3 * slideCount : slideCount;\n var singleSlidePercentOfWhole = 100 / renderedSlideCount; // When wrap is on, -33.33% puts us right on the center, true set of slides\n // (the left and right sets are clones meant to avoid visual gaps)\n\n var slide0Offset = wrapAround ? -100 / 3 : 0;\n\n if (cellAlign === 'right' && slidesToShow > 1) {\n var excessSlides = slidesToShow - 1;\n slide0Offset += singleSlidePercentOfWhole * excessSlides;\n }\n\n if (cellAlign === 'center' && slidesToShow > 1) {\n var _excessSlides = slidesToShow - 1; // Half of excess is on left and half is on right when centered\n\n\n var excessLeftSlides = _excessSlides / 2;\n slide0Offset += singleSlidePercentOfWhole * excessLeftSlides;\n }\n\n var currentSlideOffsetFrom0 = 100 / renderedSlideCount * currentSlide;\n return slide0Offset - currentSlideOffsetFrom0;\n};\n\nexports.getPercentOffsetForSlide = getPercentOffsetForSlide;\n\nvar SliderList = /*#__PURE__*/_react[\"default\"].forwardRef(function (_ref, forwardedRef) {\n var animation = _ref.animation,\n animationDistance = _ref.animationDistance,\n cellAlign = _ref.cellAlign,\n children = _ref.children,\n currentSlide = _ref.currentSlide,\n disableAnimation = _ref.disableAnimation,\n disableEdgeSwiping = _ref.disableEdgeSwiping,\n draggedOffset = _ref.draggedOffset,\n easing = _ref.easing,\n edgeEasing = _ref.edgeEasing,\n isDragging = _ref.isDragging,\n scrollMode = _ref.scrollMode,\n slideCount = _ref.slideCount,\n slidesToScroll = _ref.slidesToScroll,\n slidesToShow = _ref.slidesToShow,\n speed = _ref.speed,\n wrapAround = _ref.wrapAround,\n slideWidth = _ref.slideWidth,\n setIsAnimating = _ref.setIsAnimating;\n // When wrapAround is enabled, we show the slides 3 times\n var renderedSlideCount = wrapAround ? 3 * slideCount : slideCount;\n var listVisibleWidth = slideWidth ? \"calc(\".concat(slideWidth, \" * \").concat(renderedSlideCount, \")\") : \"\".concat(renderedSlideCount * 100 / slidesToShow, \"%\");\n var percentOffsetForSlideProps = [slideCount, slidesToShow, cellAlign, wrapAround]; // We recycle dot index generation to determine the leftmost and rightmost\n // indices used, to be used in calculating the x-translation values we need\n // to limit to or when edgeEasing should be used.\n\n var dotIndexes = (0, _defaultControls.getDotIndexes)(slideCount, slidesToScroll, scrollMode, slidesToShow, wrapAround, cellAlign);\n var clampedDraggedOffset = \"\".concat(draggedOffset, \"px\");\n\n if (isDragging && disableEdgeSwiping && !wrapAround) {\n var clampOffsets = [dotIndexes[0], dotIndexes[dotIndexes.length - 1]].map(function (index) {\n return getPercentOffsetForSlide.apply(void 0, [index].concat(percentOffsetForSlideProps));\n }); // Offsets are seemingly backwards because the rightmost slide creates\n // the most negative translate value\n\n clampedDraggedOffset = \"clamp(\".concat(clampOffsets[1], \"%, \").concat(draggedOffset, \"px, \").concat(clampOffsets[0], \"%)\");\n }\n\n var slideBasedOffset = getPercentOffsetForSlide.apply(void 0, [currentSlide].concat(percentOffsetForSlideProps));\n var isEdgeEasing = !disableEdgeSwiping && !wrapAround && (currentSlide === dotIndexes[0] && animationDistance < 0 || currentSlide === dotIndexes[dotIndexes.length - 1] && animationDistance > 0);\n\n var _useTween = (0, _useTween2.useTween)(speed, !isEdgeEasing ? easing : edgeEasing, // animationDistance is assumed to be unique enough that it can be used to\n // detect when a new animation should start. This is used in addition to\n // currentSlide because some animations, such as those with edgeEasing, do\n // not occur due to a change in value of currentSlide\n currentSlide + animationDistance, isDragging || disableAnimation || animation === 'fade'),\n transition = _useTween.value,\n isAnimating = _useTween.isAnimating; // Return undefined if the transform would be 0 pixels since transforms can\n // cause flickering in chrome.\n\n\n var positioning;\n\n if (isDragging || slideBasedOffset !== 0 || isAnimating) {\n if (isDragging) {\n positioning = \"translateX(\".concat(clampedDraggedOffset, \")\");\n } else {\n var transitionOffset = isAnimating ? (1 - transition) * animationDistance : 0;\n positioning = \"translateX(calc(\".concat(slideBasedOffset, \"% - \").concat(transitionOffset, \"px))\");\n }\n }\n\n (0, _react.useEffect)(function () {\n setIsAnimating(isAnimating);\n }, [isAnimating, setIsAnimating]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: forwardedRef,\n className: \"slider-list\",\n style: {\n width: listVisibleWidth,\n textAlign: 'left',\n userSelect: 'auto',\n transform: positioning,\n display: 'flex'\n }\n }, children);\n});\n\nexports.SliderList = SliderList;\nSliderList.displayName = 'SliderList';","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScrollMode = exports.Positions = exports.Directions = exports.Alignment = void 0;\n\n/** @deprecated use string literals for the values instead */\nvar Alignment;\nexports.Alignment = Alignment;\n\n(function (Alignment) {\n Alignment[\"Center\"] = \"center\";\n Alignment[\"Right\"] = \"right\";\n Alignment[\"Left\"] = \"left\";\n})(Alignment || (exports.Alignment = Alignment = {}));\n\nvar Directions;\nexports.Directions = Directions;\n\n(function (Directions) {\n Directions[\"Next\"] = \"next\";\n Directions[\"Prev\"] = \"prev\";\n Directions[\"Up\"] = \"up\";\n Directions[\"Down\"] = \"down\";\n})(Directions || (exports.Directions = Directions = {}));\n\nvar Positions;\nexports.Positions = Positions;\n\n(function (Positions) {\n Positions[\"TopLeft\"] = \"TopLeft\";\n Positions[\"TopCenter\"] = \"TopCenter\";\n Positions[\"TopRight\"] = \"TopRight\";\n Positions[\"CenterLeft\"] = \"CenterLeft\";\n Positions[\"CenterCenter\"] = \"CenterCenter\";\n Positions[\"CenterRight\"] = \"CenterRight\";\n Positions[\"BottomLeft\"] = \"BottomLeft\";\n Positions[\"BottomCenter\"] = \"BottomCenter\";\n Positions[\"BottomRight\"] = \"BottomRight\";\n})(Positions || (exports.Positions = Positions = {}));\n\nvar ScrollMode;\nexports.ScrollMode = ScrollMode;\n\n(function (ScrollMode) {\n ScrollMode[\"page\"] = \"page\";\n ScrollMode[\"remainder\"] = \"remainder\";\n})(ScrollMode || (exports.ScrollMode = ScrollMode = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPrevMoveIndex = exports.getNextMoveIndex = exports.getDefaultSlideIndex = exports.getBoundedIndex = void 0;\n\nvar _defaultControls = require(\"./default-controls\");\n\nvar _types = require(\"./types\");\n\nvar getNextMoveIndex = function getNextMoveIndex(scrollMode, wrapAround, currentSlide, slideCount, slidesToScroll, slidesToShow, cellAlign) {\n if (wrapAround) {\n return currentSlide + slidesToScroll;\n } // Quit early if we're already as far right as we can go\n\n\n if (currentSlide >= slideCount - 1 || cellAlign === 'left' && currentSlide >= slideCount - slidesToShow) {\n return currentSlide;\n }\n\n if (scrollMode === _types.ScrollMode.remainder && cellAlign === 'left') {\n return Math.min(currentSlide + slidesToScroll, slideCount - slidesToShow);\n }\n\n return Math.min(currentSlide + slidesToScroll, slideCount - 1);\n};\n\nexports.getNextMoveIndex = getNextMoveIndex;\n\nvar getPrevMoveIndex = function getPrevMoveIndex(scrollMode, wrapAround, currentSlide, slidesToScroll, slidesToShow, cellAlign) {\n if (wrapAround) {\n return currentSlide - slidesToScroll;\n } // Quit early if we're already as far left as we can go\n\n\n if (currentSlide <= 0 || cellAlign === 'right' && currentSlide <= slidesToShow - 1) {\n return currentSlide;\n }\n\n if (scrollMode === _types.ScrollMode.remainder && cellAlign === 'right') {\n return Math.max(currentSlide - slidesToScroll, slidesToShow - 1);\n }\n\n return Math.max(currentSlide - slidesToScroll, 0);\n};\n\nexports.getPrevMoveIndex = getPrevMoveIndex;\n\nvar getDefaultSlideIndex = function getDefaultSlideIndex(slideIndex, slideCount, slidesToShow, slidesToScroll, cellAlign, autoplayReverse, scrollMode) {\n if (slideIndex !== undefined) {\n return slideIndex;\n }\n\n var dotIndexes = (0, _defaultControls.getDotIndexes)(slideCount, slidesToScroll, scrollMode, slidesToShow, false, cellAlign);\n return autoplayReverse ? dotIndexes[dotIndexes.length - 1] : dotIndexes[0];\n};\n/**\n * Boils down an unbounded index (-Infinity < index < Infinity) to a bounded one\n * (0 ≤ index < slideCount)\n */\n\n\nexports.getDefaultSlideIndex = getDefaultSlideIndex;\n\nvar getBoundedIndex = function getBoundedIndex(rawIndex, slideCount) {\n return (rawIndex % slideCount + slideCount) % slideCount;\n};\n\nexports.getBoundedIndex = getBoundedIndex;","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\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 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 _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\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 return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction factorial(a) {\n if (a % 1 || !(+a >= 0)) return NaN;\n if (a > 170) return Infinity;else if (a === 0) return 1;else {\n return a * factorial(a - 1);\n }\n}\n\nfunction power(a, b) {\n return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n return Math.sqrt(a);\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n symbols: {\n '!': {\n postfix: {\n symbol: '!',\n f: factorial,\n notation: 'postfix',\n precedence: 6,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '!',\n regSymbol: '!'\n },\n '^': {\n infix: {\n symbol: '^',\n f: power,\n notation: 'infix',\n precedence: 5,\n rightToLeft: 1,\n argCount: 2\n },\n symbol: '^',\n regSymbol: '\\\\^'\n },\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n },\n sqrt: {\n func: {\n symbol: 'sqrt',\n f: sqrt,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'sqrt',\n regSymbol: 'sqrt\\\\b'\n }\n }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found.\\n\\n\",\n \"75\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\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 _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n if (passThrough) return cssVariable;\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else {\n throw new PolishedError(74);\n }\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n var matchedValue = value.match(cssRegex);\n\n if (unitReturn) {\n // eslint-disable-next-line no-console\n console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n }\n\n if (matchedValue) return parseFloat(value);\n return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex$1);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(75);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n if (width === void 0) {\n width = '100%';\n }\n\n return {\n display: 'inline-block',\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } 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\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\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n localFonts = _ref.localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject$1;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, <color>).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* ::<number | string, string, string, string> */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(opacify);\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff');\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken as darken, curriedDesaturate as desaturate, directionalProperty, ellipsis, em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, invert, curriedLighten as lighten, linearGradient, margin, math, meetsContrastGuidelines, curriedMix as mix, modularScale, normalize, curriedOpacify as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate as saturate, curriedSetHue as setHue, curriedSetLightness as setLightness, curriedSetSaturation as setSaturation, curriedShade as shade, size, stripUnit, textInputs, timingFunctions, curriedTint as tint, toColorString, transitions, curriedTransparentize as transparentize, triangle, wordWrap };\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\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","/*!\n * Pusher JavaScript Library v7.6.0\n * https://pusher.com/\n *\n * Copyright 2020, Pusher\n * Released under the MIT licence.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Pusher\"] = factory();\n\telse\n\t\troot[\"Pusher\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nvar INVALID_UTF16 = \"utf8: invalid string\";\nvar INVALID_UTF8 = \"utf8: invalid source encoding\";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encode(s) {\n // Calculate result length and allocate output array.\n // encodedLength() also validates string and throws errors,\n // so we don't need repeat validation here.\n var arr = new Uint8Array(encodedLength(s));\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n arr[pos++] = c;\n }\n else if (c < 0x800) {\n arr[pos++] = 0xc0 | c >> 6;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else if (c < 0xd800) {\n arr[pos++] = 0xe0 | c >> 12;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else {\n i++; // get one more character\n c = (c & 0x3ff) << 10;\n c |= s.charCodeAt(i) & 0x3ff;\n c += 0x10000;\n arr[pos++] = 0xf0 | c >> 18;\n arr[pos++] = 0x80 | (c >> 12) & 0x3f;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n }\n return arr;\n}\nexports.encode = encode;\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encodedLength(s) {\n var result = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n result += 1;\n }\n else if (c < 0x800) {\n result += 2;\n }\n else if (c < 0xd800) {\n result += 3;\n }\n else if (c <= 0xdfff) {\n if (i >= s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++; // \"eat\" next character\n result += 4;\n }\n else {\n throw new Error(INVALID_UTF16);\n }\n }\n return result;\n}\nexports.encodedLength = encodedLength;\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nfunction decode(arr) {\n var chars = [];\n for (var i = 0; i < arr.length; i++) {\n var b = arr[i];\n if (b & 0x80) {\n var min = void 0;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n }\n else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n }\n else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n var n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n }\n else {\n throw new Error(INVALID_UTF8);\n }\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n chars.push(String.fromCharCode(b));\n }\n return chars.join(\"\");\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// required so we don't have to do require('pusher').default etc.\nmodule.exports = __webpack_require__(3).default;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_receiver_factory.ts\nvar ScriptReceiverFactory = (function () {\n function ScriptReceiverFactory(prefix, name) {\n this.lastId = 0;\n this.prefix = prefix;\n this.name = name;\n }\n ScriptReceiverFactory.prototype.create = function (callback) {\n this.lastId++;\n var number = this.lastId;\n var id = this.prefix + number;\n var name = this.name + '[' + number + ']';\n var called = false;\n var callbackWrapper = function () {\n if (!called) {\n callback.apply(null, arguments);\n called = true;\n }\n };\n this[number] = callbackWrapper;\n return { number: number, id: id, name: name, callback: callbackWrapper };\n };\n ScriptReceiverFactory.prototype.remove = function (receiver) {\n delete this[receiver.number];\n };\n return ScriptReceiverFactory;\n}());\n\nvar ScriptReceivers = new ScriptReceiverFactory('_pusher_script_', 'Pusher.ScriptReceivers');\n\n// CONCATENATED MODULE: ./src/core/defaults.ts\nvar Defaults = {\n VERSION: \"7.6.0\",\n PROTOCOL: 7,\n wsPort: 80,\n wssPort: 443,\n wsPath: '',\n httpHost: 'sockjs.pusher.com',\n httpPort: 80,\n httpsPort: 443,\n httpPath: '/pusher',\n stats_host: 'stats.pusher.com',\n authEndpoint: '/pusher/auth',\n authTransport: 'ajax',\n activityTimeout: 120000,\n pongTimeout: 30000,\n unavailableTimeout: 10000,\n cluster: 'mt1',\n userAuthentication: {\n endpoint: '/pusher/user-auth',\n transport: 'ajax'\n },\n channelAuthorization: {\n endpoint: '/pusher/auth',\n transport: 'ajax'\n },\n cdn_http: \"http://js.pusher.com\",\n cdn_https: \"https://js.pusher.com\",\n dependency_suffix: \"\"\n};\n/* harmony default export */ var defaults = (Defaults);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependency_loader.ts\n\n\nvar dependency_loader_DependencyLoader = (function () {\n function DependencyLoader(options) {\n this.options = options;\n this.receivers = options.receivers || ScriptReceivers;\n this.loading = {};\n }\n DependencyLoader.prototype.load = function (name, options, callback) {\n var self = this;\n if (self.loading[name] && self.loading[name].length > 0) {\n self.loading[name].push(callback);\n }\n else {\n self.loading[name] = [callback];\n var request = runtime.createScriptRequest(self.getPath(name, options));\n var receiver = self.receivers.create(function (error) {\n self.receivers.remove(receiver);\n if (self.loading[name]) {\n var callbacks = self.loading[name];\n delete self.loading[name];\n var successCallback = function (wasSuccessful) {\n if (!wasSuccessful) {\n request.cleanup();\n }\n };\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](error, successCallback);\n }\n }\n });\n request.send(receiver);\n }\n };\n DependencyLoader.prototype.getRoot = function (options) {\n var cdn;\n var protocol = runtime.getDocument().location.protocol;\n if ((options && options.useTLS) || protocol === 'https:') {\n cdn = this.options.cdn_https;\n }\n else {\n cdn = this.options.cdn_http;\n }\n return cdn.replace(/\\/*$/, '') + '/' + this.options.version;\n };\n DependencyLoader.prototype.getPath = function (name, options) {\n return this.getRoot(options) + '/' + name + this.options.suffix + '.js';\n };\n return DependencyLoader;\n}());\n/* harmony default export */ var dependency_loader = (dependency_loader_DependencyLoader);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependencies.ts\n\n\n\nvar DependenciesReceivers = new ScriptReceiverFactory('_pusher_dependencies', 'Pusher.DependenciesReceivers');\nvar Dependencies = new dependency_loader({\n cdn_http: defaults.cdn_http,\n cdn_https: defaults.cdn_https,\n version: defaults.VERSION,\n suffix: defaults.dependency_suffix,\n receivers: DependenciesReceivers\n});\n\n// CONCATENATED MODULE: ./src/core/utils/url_store.ts\nvar urlStore = {\n baseUrl: 'https://pusher.com',\n urls: {\n authenticationEndpoint: {\n path: '/docs/channels/server_api/authenticating_users'\n },\n authorizationEndpoint: {\n path: '/docs/channels/server_api/authorizing-users/'\n },\n javascriptQuickStart: {\n path: '/docs/javascript_quick_start'\n },\n triggeringClientEvents: {\n path: '/docs/client_api_guide/client_events#trigger-events'\n },\n encryptedChannelSupport: {\n fullUrl: 'https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support'\n }\n }\n};\nvar buildLogSuffix = function (key) {\n var urlPrefix = 'See:';\n var urlObj = urlStore.urls[key];\n if (!urlObj)\n return '';\n var url;\n if (urlObj.fullUrl) {\n url = urlObj.fullUrl;\n }\n else if (urlObj.path) {\n url = urlStore.baseUrl + urlObj.path;\n }\n if (!url)\n return '';\n return urlPrefix + \" \" + url;\n};\n/* harmony default export */ var url_store = ({ buildLogSuffix: buildLogSuffix });\n\n// CONCATENATED MODULE: ./src/core/auth/options.ts\nvar AuthRequestType;\n(function (AuthRequestType) {\n AuthRequestType[\"UserAuthentication\"] = \"user-authentication\";\n AuthRequestType[\"ChannelAuthorization\"] = \"channel-authorization\";\n})(AuthRequestType || (AuthRequestType = {}));\n\n// CONCATENATED MODULE: ./src/core/errors.ts\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar BadEventName = (function (_super) {\n __extends(BadEventName, _super);\n function BadEventName(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return BadEventName;\n}(Error));\n\nvar BadChannelName = (function (_super) {\n __extends(BadChannelName, _super);\n function BadChannelName(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return BadChannelName;\n}(Error));\n\nvar RequestTimedOut = (function (_super) {\n __extends(RequestTimedOut, _super);\n function RequestTimedOut(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return RequestTimedOut;\n}(Error));\n\nvar TransportPriorityTooLow = (function (_super) {\n __extends(TransportPriorityTooLow, _super);\n function TransportPriorityTooLow(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TransportPriorityTooLow;\n}(Error));\n\nvar TransportClosed = (function (_super) {\n __extends(TransportClosed, _super);\n function TransportClosed(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TransportClosed;\n}(Error));\n\nvar UnsupportedFeature = (function (_super) {\n __extends(UnsupportedFeature, _super);\n function UnsupportedFeature(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return UnsupportedFeature;\n}(Error));\n\nvar UnsupportedTransport = (function (_super) {\n __extends(UnsupportedTransport, _super);\n function UnsupportedTransport(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return UnsupportedTransport;\n}(Error));\n\nvar UnsupportedStrategy = (function (_super) {\n __extends(UnsupportedStrategy, _super);\n function UnsupportedStrategy(msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return UnsupportedStrategy;\n}(Error));\n\nvar HTTPAuthError = (function (_super) {\n __extends(HTTPAuthError, _super);\n function HTTPAuthError(status, msg) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, msg) || this;\n _this.status = status;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return HTTPAuthError;\n}(Error));\n\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/auth/xhr_auth.ts\n\n\n\n\nvar ajax = function (context, query, authOptions, authRequestType, callback) {\n var xhr = runtime.createXHR();\n xhr.open('POST', authOptions.endpoint, true);\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n for (var headerName in authOptions.headers) {\n xhr.setRequestHeader(headerName, authOptions.headers[headerName]);\n }\n if (authOptions.headersProvider != null) {\n var dynamicHeaders = authOptions.headersProvider();\n for (var headerName in dynamicHeaders) {\n xhr.setRequestHeader(headerName, dynamicHeaders[headerName]);\n }\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n var data = void 0;\n var parsed = false;\n try {\n data = JSON.parse(xhr.responseText);\n parsed = true;\n }\n catch (e) {\n callback(new HTTPAuthError(200, \"JSON returned from \" + authRequestType.toString() + \" endpoint was invalid, yet status code was 200. Data was: \" + xhr.responseText), null);\n }\n if (parsed) {\n callback(null, data);\n }\n }\n else {\n var suffix = '';\n switch (authRequestType) {\n case AuthRequestType.UserAuthentication:\n suffix = url_store.buildLogSuffix('authenticationEndpoint');\n break;\n case AuthRequestType.ChannelAuthorization:\n suffix = \"Clients must be authorized to join private or presence channels. \" + url_store.buildLogSuffix('authorizationEndpoint');\n break;\n }\n callback(new HTTPAuthError(xhr.status, \"Unable to retrieve auth string from \" + authRequestType.toString() + \" endpoint - \" +\n (\"received status: \" + xhr.status + \" from \" + authOptions.endpoint + \". \" + suffix)), null);\n }\n }\n };\n xhr.send(query);\n return xhr;\n};\n/* harmony default export */ var xhr_auth = (ajax);\n\n// CONCATENATED MODULE: ./src/core/base64.ts\nfunction encode(s) {\n return btoa(utob(s));\n}\nvar fromCharCode = String.fromCharCode;\nvar b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nvar b64tab = {};\nfor (var base64_i = 0, l = b64chars.length; base64_i < l; base64_i++) {\n b64tab[b64chars.charAt(base64_i)] = base64_i;\n}\nvar cb_utob = function (c) {\n var cc = c.charCodeAt(0);\n return cc < 0x80\n ? c\n : cc < 0x800\n ? fromCharCode(0xc0 | (cc >>> 6)) + fromCharCode(0x80 | (cc & 0x3f))\n : fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) +\n fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) +\n fromCharCode(0x80 | (cc & 0x3f));\n};\nvar utob = function (u) {\n return u.replace(/[^\\x00-\\x7F]/g, cb_utob);\n};\nvar cb_encode = function (ccc) {\n var padlen = [0, 2, 1][ccc.length % 3];\n var ord = (ccc.charCodeAt(0) << 16) |\n ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) |\n (ccc.length > 2 ? ccc.charCodeAt(2) : 0);\n var chars = [\n b64chars.charAt(ord >>> 18),\n b64chars.charAt((ord >>> 12) & 63),\n padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),\n padlen >= 1 ? '=' : b64chars.charAt(ord & 63)\n ];\n return chars.join('');\n};\nvar btoa = window.btoa ||\n function (b) {\n return b.replace(/[\\s\\S]{1,3}/g, cb_encode);\n };\n\n// CONCATENATED MODULE: ./src/core/utils/timers/abstract_timer.ts\nvar Timer = (function () {\n function Timer(set, clear, delay, callback) {\n var _this = this;\n this.clear = clear;\n this.timer = set(function () {\n if (_this.timer) {\n _this.timer = callback(_this.timer);\n }\n }, delay);\n }\n Timer.prototype.isRunning = function () {\n return this.timer !== null;\n };\n Timer.prototype.ensureAborted = function () {\n if (this.timer) {\n this.clear(this.timer);\n this.timer = null;\n }\n };\n return Timer;\n}());\n/* harmony default export */ var abstract_timer = (Timer);\n\n// CONCATENATED MODULE: ./src/core/utils/timers/index.ts\nvar timers_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nfunction timers_clearTimeout(timer) {\n window.clearTimeout(timer);\n}\nfunction timers_clearInterval(timer) {\n window.clearInterval(timer);\n}\nvar OneOffTimer = (function (_super) {\n timers_extends(OneOffTimer, _super);\n function OneOffTimer(delay, callback) {\n return _super.call(this, setTimeout, timers_clearTimeout, delay, function (timer) {\n callback();\n return null;\n }) || this;\n }\n return OneOffTimer;\n}(abstract_timer));\n\nvar PeriodicTimer = (function (_super) {\n timers_extends(PeriodicTimer, _super);\n function PeriodicTimer(delay, callback) {\n return _super.call(this, setInterval, timers_clearInterval, delay, function (timer) {\n callback();\n return timer;\n }) || this;\n }\n return PeriodicTimer;\n}(abstract_timer));\n\n\n// CONCATENATED MODULE: ./src/core/util.ts\n\nvar Util = {\n now: function () {\n if (Date.now) {\n return Date.now();\n }\n else {\n return new Date().valueOf();\n }\n },\n defer: function (callback) {\n return new OneOffTimer(0, callback);\n },\n method: function (name) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var boundArguments = Array.prototype.slice.call(arguments, 1);\n return function (object) {\n return object[name].apply(object, boundArguments.concat(arguments));\n };\n }\n};\n/* harmony default export */ var util = (Util);\n\n// CONCATENATED MODULE: ./src/core/utils/collections.ts\n\n\nfunction extend(target) {\n var sources = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n sources[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < sources.length; i++) {\n var extensions = sources[i];\n for (var property in extensions) {\n if (extensions[property] &&\n extensions[property].constructor &&\n extensions[property].constructor === Object) {\n target[property] = extend(target[property] || {}, extensions[property]);\n }\n else {\n target[property] = extensions[property];\n }\n }\n }\n return target;\n}\nfunction stringify() {\n var m = ['Pusher'];\n for (var i = 0; i < arguments.length; i++) {\n if (typeof arguments[i] === 'string') {\n m.push(arguments[i]);\n }\n else {\n m.push(safeJSONStringify(arguments[i]));\n }\n }\n return m.join(' : ');\n}\nfunction arrayIndexOf(array, item) {\n var nativeIndexOf = Array.prototype.indexOf;\n if (array === null) {\n return -1;\n }\n if (nativeIndexOf && array.indexOf === nativeIndexOf) {\n return array.indexOf(item);\n }\n for (var i = 0, l = array.length; i < l; i++) {\n if (array[i] === item) {\n return i;\n }\n }\n return -1;\n}\nfunction objectApply(object, f) {\n for (var key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n f(object[key], key, object);\n }\n }\n}\nfunction keys(object) {\n var keys = [];\n objectApply(object, function (_, key) {\n keys.push(key);\n });\n return keys;\n}\nfunction values(object) {\n var values = [];\n objectApply(object, function (value) {\n values.push(value);\n });\n return values;\n}\nfunction apply(array, f, context) {\n for (var i = 0; i < array.length; i++) {\n f.call(context || window, array[i], i, array);\n }\n}\nfunction map(array, f) {\n var result = [];\n for (var i = 0; i < array.length; i++) {\n result.push(f(array[i], i, array, result));\n }\n return result;\n}\nfunction mapObject(object, f) {\n var result = {};\n objectApply(object, function (value, key) {\n result[key] = f(value);\n });\n return result;\n}\nfunction filter(array, test) {\n test =\n test ||\n function (value) {\n return !!value;\n };\n var result = [];\n for (var i = 0; i < array.length; i++) {\n if (test(array[i], i, array, result)) {\n result.push(array[i]);\n }\n }\n return result;\n}\nfunction filterObject(object, test) {\n var result = {};\n objectApply(object, function (value, key) {\n if ((test && test(value, key, object, result)) || Boolean(value)) {\n result[key] = value;\n }\n });\n return result;\n}\nfunction flatten(object) {\n var result = [];\n objectApply(object, function (value, key) {\n result.push([key, value]);\n });\n return result;\n}\nfunction any(array, test) {\n for (var i = 0; i < array.length; i++) {\n if (test(array[i], i, array)) {\n return true;\n }\n }\n return false;\n}\nfunction collections_all(array, test) {\n for (var i = 0; i < array.length; i++) {\n if (!test(array[i], i, array)) {\n return false;\n }\n }\n return true;\n}\nfunction encodeParamsObject(data) {\n return mapObject(data, function (value) {\n if (typeof value === 'object') {\n value = safeJSONStringify(value);\n }\n return encodeURIComponent(encode(value.toString()));\n });\n}\nfunction buildQueryString(data) {\n var params = filterObject(data, function (value) {\n return value !== undefined;\n });\n var query = map(flatten(encodeParamsObject(params)), util.method('join', '=')).join('&');\n return query;\n}\nfunction decycleObject(object) {\n var objects = [], paths = [];\n return (function derez(value, path) {\n var i, name, nu;\n switch (typeof value) {\n case 'object':\n if (!value) {\n return null;\n }\n for (i = 0; i < objects.length; i += 1) {\n if (objects[i] === value) {\n return { $ref: paths[i] };\n }\n }\n objects.push(value);\n paths.push(path);\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n nu = [];\n for (i = 0; i < value.length; i += 1) {\n nu[i] = derez(value[i], path + '[' + i + ']');\n }\n }\n else {\n nu = {};\n for (name in value) {\n if (Object.prototype.hasOwnProperty.call(value, name)) {\n nu[name] = derez(value[name], path + '[' + JSON.stringify(name) + ']');\n }\n }\n }\n return nu;\n case 'number':\n case 'string':\n case 'boolean':\n return value;\n }\n })(object, '$');\n}\nfunction safeJSONStringify(source) {\n try {\n return JSON.stringify(source);\n }\n catch (e) {\n return JSON.stringify(decycleObject(source));\n }\n}\n\n// CONCATENATED MODULE: ./src/core/logger.ts\n\n\nvar logger_Logger = (function () {\n function Logger() {\n this.globalLog = function (message) {\n if (window.console && window.console.log) {\n window.console.log(message);\n }\n };\n }\n Logger.prototype.debug = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n this.log(this.globalLog, args);\n };\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n this.log(this.globalLogWarn, args);\n };\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n this.log(this.globalLogError, args);\n };\n Logger.prototype.globalLogWarn = function (message) {\n if (window.console && window.console.warn) {\n window.console.warn(message);\n }\n else {\n this.globalLog(message);\n }\n };\n Logger.prototype.globalLogError = function (message) {\n if (window.console && window.console.error) {\n window.console.error(message);\n }\n else {\n this.globalLogWarn(message);\n }\n };\n Logger.prototype.log = function (defaultLoggingFunction) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var message = stringify.apply(this, arguments);\n if (core_pusher.log) {\n core_pusher.log(message);\n }\n else if (core_pusher.logToConsole) {\n var log = defaultLoggingFunction.bind(this);\n log(message);\n }\n };\n return Logger;\n}());\n/* harmony default export */ var logger = (new logger_Logger());\n\n// CONCATENATED MODULE: ./src/runtimes/web/auth/jsonp_auth.ts\n\nvar jsonp = function (context, query, authOptions, authRequestType, callback) {\n if (authOptions.headers !== undefined ||\n authOptions.headersProvider != null) {\n logger.warn(\"To send headers with the \" + authRequestType.toString() + \" request, you must use AJAX, rather than JSONP.\");\n }\n var callbackName = context.nextAuthCallbackID.toString();\n context.nextAuthCallbackID++;\n var document = context.getDocument();\n var script = document.createElement('script');\n context.auth_callbacks[callbackName] = function (data) {\n callback(null, data);\n };\n var callback_name = \"Pusher.auth_callbacks['\" + callbackName + \"']\";\n script.src =\n authOptions.endpoint +\n '?callback=' +\n encodeURIComponent(callback_name) +\n '&' +\n query;\n var head = document.getElementsByTagName('head')[0] || document.documentElement;\n head.insertBefore(script, head.firstChild);\n};\n/* harmony default export */ var jsonp_auth = (jsonp);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_request.ts\nvar ScriptRequest = (function () {\n function ScriptRequest(src) {\n this.src = src;\n }\n ScriptRequest.prototype.send = function (receiver) {\n var self = this;\n var errorString = 'Error loading ' + self.src;\n self.script = document.createElement('script');\n self.script.id = receiver.id;\n self.script.src = self.src;\n self.script.type = 'text/javascript';\n self.script.charset = 'UTF-8';\n if (self.script.addEventListener) {\n self.script.onerror = function () {\n receiver.callback(errorString);\n };\n self.script.onload = function () {\n receiver.callback(null);\n };\n }\n else {\n self.script.onreadystatechange = function () {\n if (self.script.readyState === 'loaded' ||\n self.script.readyState === 'complete') {\n receiver.callback(null);\n }\n };\n }\n if (self.script.async === undefined &&\n document.attachEvent &&\n /opera/i.test(navigator.userAgent)) {\n self.errorScript = document.createElement('script');\n self.errorScript.id = receiver.id + '_error';\n self.errorScript.text = receiver.name + \"('\" + errorString + \"');\";\n self.script.async = self.errorScript.async = false;\n }\n else {\n self.script.async = true;\n }\n var head = document.getElementsByTagName('head')[0];\n head.insertBefore(self.script, head.firstChild);\n if (self.errorScript) {\n head.insertBefore(self.errorScript, self.script.nextSibling);\n }\n };\n ScriptRequest.prototype.cleanup = function () {\n if (this.script) {\n this.script.onload = this.script.onerror = null;\n this.script.onreadystatechange = null;\n }\n if (this.script && this.script.parentNode) {\n this.script.parentNode.removeChild(this.script);\n }\n if (this.errorScript && this.errorScript.parentNode) {\n this.errorScript.parentNode.removeChild(this.errorScript);\n }\n this.script = null;\n this.errorScript = null;\n };\n return ScriptRequest;\n}());\n/* harmony default export */ var script_request = (ScriptRequest);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/jsonp_request.ts\n\n\nvar jsonp_request_JSONPRequest = (function () {\n function JSONPRequest(url, data) {\n this.url = url;\n this.data = data;\n }\n JSONPRequest.prototype.send = function (receiver) {\n if (this.request) {\n return;\n }\n var query = buildQueryString(this.data);\n var url = this.url + '/' + receiver.number + '?' + query;\n this.request = runtime.createScriptRequest(url);\n this.request.send(receiver);\n };\n JSONPRequest.prototype.cleanup = function () {\n if (this.request) {\n this.request.cleanup();\n }\n };\n return JSONPRequest;\n}());\n/* harmony default export */ var jsonp_request = (jsonp_request_JSONPRequest);\n\n// CONCATENATED MODULE: ./src/runtimes/web/timeline/jsonp_timeline.ts\n\n\nvar getAgent = function (sender, useTLS) {\n return function (data, callback) {\n var scheme = 'http' + (useTLS ? 's' : '') + '://';\n var url = scheme + (sender.host || sender.options.host) + sender.options.path;\n var request = runtime.createJSONPRequest(url, data);\n var receiver = runtime.ScriptReceivers.create(function (error, result) {\n ScriptReceivers.remove(receiver);\n request.cleanup();\n if (result && result.host) {\n sender.host = result.host;\n }\n if (callback) {\n callback(error, result);\n }\n });\n request.send(receiver);\n };\n};\nvar jsonp_timeline_jsonp = {\n name: 'jsonp',\n getAgent: getAgent\n};\n/* harmony default export */ var jsonp_timeline = (jsonp_timeline_jsonp);\n\n// CONCATENATED MODULE: ./src/core/transports/url_schemes.ts\n\nfunction getGenericURL(baseScheme, params, path) {\n var scheme = baseScheme + (params.useTLS ? 's' : '');\n var host = params.useTLS ? params.hostTLS : params.hostNonTLS;\n return scheme + '://' + host + path;\n}\nfunction getGenericPath(key, queryString) {\n var path = '/app/' + key;\n var query = '?protocol=' +\n defaults.PROTOCOL +\n '&client=js' +\n '&version=' +\n defaults.VERSION +\n (queryString ? '&' + queryString : '');\n return path + query;\n}\nvar ws = {\n getInitial: function (key, params) {\n var path = (params.httpPath || '') + getGenericPath(key, 'flash=false');\n return getGenericURL('ws', params, path);\n }\n};\nvar http = {\n getInitial: function (key, params) {\n var path = (params.httpPath || '/pusher') + getGenericPath(key);\n return getGenericURL('http', params, path);\n }\n};\nvar sockjs = {\n getInitial: function (key, params) {\n return getGenericURL('http', params, params.httpPath || '/pusher');\n },\n getPath: function (key, params) {\n return getGenericPath(key);\n }\n};\n\n// CONCATENATED MODULE: ./src/core/events/callback_registry.ts\n\nvar callback_registry_CallbackRegistry = (function () {\n function CallbackRegistry() {\n this._callbacks = {};\n }\n CallbackRegistry.prototype.get = function (name) {\n return this._callbacks[prefix(name)];\n };\n CallbackRegistry.prototype.add = function (name, callback, context) {\n var prefixedEventName = prefix(name);\n this._callbacks[prefixedEventName] =\n this._callbacks[prefixedEventName] || [];\n this._callbacks[prefixedEventName].push({\n fn: callback,\n context: context\n });\n };\n CallbackRegistry.prototype.remove = function (name, callback, context) {\n if (!name && !callback && !context) {\n this._callbacks = {};\n return;\n }\n var names = name ? [prefix(name)] : keys(this._callbacks);\n if (callback || context) {\n this.removeCallback(names, callback, context);\n }\n else {\n this.removeAllCallbacks(names);\n }\n };\n CallbackRegistry.prototype.removeCallback = function (names, callback, context) {\n apply(names, function (name) {\n this._callbacks[name] = filter(this._callbacks[name] || [], function (binding) {\n return ((callback && callback !== binding.fn) ||\n (context && context !== binding.context));\n });\n if (this._callbacks[name].length === 0) {\n delete this._callbacks[name];\n }\n }, this);\n };\n CallbackRegistry.prototype.removeAllCallbacks = function (names) {\n apply(names, function (name) {\n delete this._callbacks[name];\n }, this);\n };\n return CallbackRegistry;\n}());\n/* harmony default export */ var callback_registry = (callback_registry_CallbackRegistry);\nfunction prefix(name) {\n return '_' + name;\n}\n\n// CONCATENATED MODULE: ./src/core/events/dispatcher.ts\n\n\nvar dispatcher_Dispatcher = (function () {\n function Dispatcher(failThrough) {\n this.callbacks = new callback_registry();\n this.global_callbacks = [];\n this.failThrough = failThrough;\n }\n Dispatcher.prototype.bind = function (eventName, callback, context) {\n this.callbacks.add(eventName, callback, context);\n return this;\n };\n Dispatcher.prototype.bind_global = function (callback) {\n this.global_callbacks.push(callback);\n return this;\n };\n Dispatcher.prototype.unbind = function (eventName, callback, context) {\n this.callbacks.remove(eventName, callback, context);\n return this;\n };\n Dispatcher.prototype.unbind_global = function (callback) {\n if (!callback) {\n this.global_callbacks = [];\n return this;\n }\n this.global_callbacks = filter(this.global_callbacks || [], function (c) { return c !== callback; });\n return this;\n };\n Dispatcher.prototype.unbind_all = function () {\n this.unbind();\n this.unbind_global();\n return this;\n };\n Dispatcher.prototype.emit = function (eventName, data, metadata) {\n for (var i = 0; i < this.global_callbacks.length; i++) {\n this.global_callbacks[i](eventName, data);\n }\n var callbacks = this.callbacks.get(eventName);\n var args = [];\n if (metadata) {\n args.push(data, metadata);\n }\n else if (data) {\n args.push(data);\n }\n if (callbacks && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].fn.apply(callbacks[i].context || window, args);\n }\n }\n else if (this.failThrough) {\n this.failThrough(eventName, data);\n }\n return this;\n };\n return Dispatcher;\n}());\n/* harmony default export */ var dispatcher = (dispatcher_Dispatcher);\n\n// CONCATENATED MODULE: ./src/core/transports/transport_connection.ts\nvar transport_connection_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar transport_connection_TransportConnection = (function (_super) {\n transport_connection_extends(TransportConnection, _super);\n function TransportConnection(hooks, name, priority, key, options) {\n var _this = _super.call(this) || this;\n _this.initialize = runtime.transportConnectionInitializer;\n _this.hooks = hooks;\n _this.name = name;\n _this.priority = priority;\n _this.key = key;\n _this.options = options;\n _this.state = 'new';\n _this.timeline = options.timeline;\n _this.activityTimeout = options.activityTimeout;\n _this.id = _this.timeline.generateUniqueID();\n return _this;\n }\n TransportConnection.prototype.handlesActivityChecks = function () {\n return Boolean(this.hooks.handlesActivityChecks);\n };\n TransportConnection.prototype.supportsPing = function () {\n return Boolean(this.hooks.supportsPing);\n };\n TransportConnection.prototype.connect = function () {\n var _this = this;\n if (this.socket || this.state !== 'initialized') {\n return false;\n }\n var url = this.hooks.urls.getInitial(this.key, this.options);\n try {\n this.socket = this.hooks.getSocket(url, this.options);\n }\n catch (e) {\n util.defer(function () {\n _this.onError(e);\n _this.changeState('closed');\n });\n return false;\n }\n this.bindListeners();\n logger.debug('Connecting', { transport: this.name, url: url });\n this.changeState('connecting');\n return true;\n };\n TransportConnection.prototype.close = function () {\n if (this.socket) {\n this.socket.close();\n return true;\n }\n else {\n return false;\n }\n };\n TransportConnection.prototype.send = function (data) {\n var _this = this;\n if (this.state === 'open') {\n util.defer(function () {\n if (_this.socket) {\n _this.socket.send(data);\n }\n });\n return true;\n }\n else {\n return false;\n }\n };\n TransportConnection.prototype.ping = function () {\n if (this.state === 'open' && this.supportsPing()) {\n this.socket.ping();\n }\n };\n TransportConnection.prototype.onOpen = function () {\n if (this.hooks.beforeOpen) {\n this.hooks.beforeOpen(this.socket, this.hooks.urls.getPath(this.key, this.options));\n }\n this.changeState('open');\n this.socket.onopen = undefined;\n };\n TransportConnection.prototype.onError = function (error) {\n this.emit('error', { type: 'WebSocketError', error: error });\n this.timeline.error(this.buildTimelineMessage({ error: error.toString() }));\n };\n TransportConnection.prototype.onClose = function (closeEvent) {\n if (closeEvent) {\n this.changeState('closed', {\n code: closeEvent.code,\n reason: closeEvent.reason,\n wasClean: closeEvent.wasClean\n });\n }\n else {\n this.changeState('closed');\n }\n this.unbindListeners();\n this.socket = undefined;\n };\n TransportConnection.prototype.onMessage = function (message) {\n this.emit('message', message);\n };\n TransportConnection.prototype.onActivity = function () {\n this.emit('activity');\n };\n TransportConnection.prototype.bindListeners = function () {\n var _this = this;\n this.socket.onopen = function () {\n _this.onOpen();\n };\n this.socket.onerror = function (error) {\n _this.onError(error);\n };\n this.socket.onclose = function (closeEvent) {\n _this.onClose(closeEvent);\n };\n this.socket.onmessage = function (message) {\n _this.onMessage(message);\n };\n if (this.supportsPing()) {\n this.socket.onactivity = function () {\n _this.onActivity();\n };\n }\n };\n TransportConnection.prototype.unbindListeners = function () {\n if (this.socket) {\n this.socket.onopen = undefined;\n this.socket.onerror = undefined;\n this.socket.onclose = undefined;\n this.socket.onmessage = undefined;\n if (this.supportsPing()) {\n this.socket.onactivity = undefined;\n }\n }\n };\n TransportConnection.prototype.changeState = function (state, params) {\n this.state = state;\n this.timeline.info(this.buildTimelineMessage({\n state: state,\n params: params\n }));\n this.emit(state, params);\n };\n TransportConnection.prototype.buildTimelineMessage = function (message) {\n return extend({ cid: this.id }, message);\n };\n return TransportConnection;\n}(dispatcher));\n/* harmony default export */ var transport_connection = (transport_connection_TransportConnection);\n\n// CONCATENATED MODULE: ./src/core/transports/transport.ts\n\nvar transport_Transport = (function () {\n function Transport(hooks) {\n this.hooks = hooks;\n }\n Transport.prototype.isSupported = function (environment) {\n return this.hooks.isSupported(environment);\n };\n Transport.prototype.createConnection = function (name, priority, key, options) {\n return new transport_connection(this.hooks, name, priority, key, options);\n };\n return Transport;\n}());\n/* harmony default export */ var transports_transport = (transport_Transport);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/transports/transports.ts\n\n\n\n\nvar WSTransport = new transports_transport({\n urls: ws,\n handlesActivityChecks: false,\n supportsPing: false,\n isInitialized: function () {\n return Boolean(runtime.getWebSocketAPI());\n },\n isSupported: function () {\n return Boolean(runtime.getWebSocketAPI());\n },\n getSocket: function (url) {\n return runtime.createWebSocket(url);\n }\n});\nvar httpConfiguration = {\n urls: http,\n handlesActivityChecks: false,\n supportsPing: true,\n isInitialized: function () {\n return true;\n }\n};\nvar streamingConfiguration = extend({\n getSocket: function (url) {\n return runtime.HTTPFactory.createStreamingSocket(url);\n }\n}, httpConfiguration);\nvar pollingConfiguration = extend({\n getSocket: function (url) {\n return runtime.HTTPFactory.createPollingSocket(url);\n }\n}, httpConfiguration);\nvar xhrConfiguration = {\n isSupported: function () {\n return runtime.isXHRSupported();\n }\n};\nvar XHRStreamingTransport = new transports_transport((extend({}, streamingConfiguration, xhrConfiguration)));\nvar XHRPollingTransport = new transports_transport(extend({}, pollingConfiguration, xhrConfiguration));\nvar Transports = {\n ws: WSTransport,\n xhr_streaming: XHRStreamingTransport,\n xhr_polling: XHRPollingTransport\n};\n/* harmony default export */ var transports = (Transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transports.ts\n\n\n\n\n\n\nvar SockJSTransport = new transports_transport({\n file: 'sockjs',\n urls: sockjs,\n handlesActivityChecks: true,\n supportsPing: false,\n isSupported: function () {\n return true;\n },\n isInitialized: function () {\n return window.SockJS !== undefined;\n },\n getSocket: function (url, options) {\n return new window.SockJS(url, null, {\n js_path: Dependencies.getPath('sockjs', {\n useTLS: options.useTLS\n }),\n ignore_null_origin: options.ignoreNullOrigin\n });\n },\n beforeOpen: function (socket, path) {\n socket.send(JSON.stringify({\n path: path\n }));\n }\n});\nvar xdrConfiguration = {\n isSupported: function (environment) {\n var yes = runtime.isXDRSupported(environment.useTLS);\n return yes;\n }\n};\nvar XDRStreamingTransport = new transports_transport((extend({}, streamingConfiguration, xdrConfiguration)));\nvar XDRPollingTransport = new transports_transport(extend({}, pollingConfiguration, xdrConfiguration));\ntransports.xdr_streaming = XDRStreamingTransport;\ntransports.xdr_polling = XDRPollingTransport;\ntransports.sockjs = SockJSTransport;\n/* harmony default export */ var transports_transports = (transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/net_info.ts\nvar net_info_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar NetInfo = (function (_super) {\n net_info_extends(NetInfo, _super);\n function NetInfo() {\n var _this = _super.call(this) || this;\n var self = _this;\n if (window.addEventListener !== undefined) {\n window.addEventListener('online', function () {\n self.emit('online');\n }, false);\n window.addEventListener('offline', function () {\n self.emit('offline');\n }, false);\n }\n return _this;\n }\n NetInfo.prototype.isOnline = function () {\n if (window.navigator.onLine === undefined) {\n return true;\n }\n else {\n return window.navigator.onLine;\n }\n };\n return NetInfo;\n}(dispatcher));\n\nvar net_info_Network = new NetInfo();\n\n// CONCATENATED MODULE: ./src/core/transports/assistant_to_the_transport_manager.ts\n\n\nvar assistant_to_the_transport_manager_AssistantToTheTransportManager = (function () {\n function AssistantToTheTransportManager(manager, transport, options) {\n this.manager = manager;\n this.transport = transport;\n this.minPingDelay = options.minPingDelay;\n this.maxPingDelay = options.maxPingDelay;\n this.pingDelay = undefined;\n }\n AssistantToTheTransportManager.prototype.createConnection = function (name, priority, key, options) {\n var _this = this;\n options = extend({}, options, {\n activityTimeout: this.pingDelay\n });\n var connection = this.transport.createConnection(name, priority, key, options);\n var openTimestamp = null;\n var onOpen = function () {\n connection.unbind('open', onOpen);\n connection.bind('closed', onClosed);\n openTimestamp = util.now();\n };\n var onClosed = function (closeEvent) {\n connection.unbind('closed', onClosed);\n if (closeEvent.code === 1002 || closeEvent.code === 1003) {\n _this.manager.reportDeath();\n }\n else if (!closeEvent.wasClean && openTimestamp) {\n var lifespan = util.now() - openTimestamp;\n if (lifespan < 2 * _this.maxPingDelay) {\n _this.manager.reportDeath();\n _this.pingDelay = Math.max(lifespan / 2, _this.minPingDelay);\n }\n }\n };\n connection.bind('open', onOpen);\n return connection;\n };\n AssistantToTheTransportManager.prototype.isSupported = function (environment) {\n return this.manager.isAlive() && this.transport.isSupported(environment);\n };\n return AssistantToTheTransportManager;\n}());\n/* harmony default export */ var assistant_to_the_transport_manager = (assistant_to_the_transport_manager_AssistantToTheTransportManager);\n\n// CONCATENATED MODULE: ./src/core/connection/protocol/protocol.ts\nvar Protocol = {\n decodeMessage: function (messageEvent) {\n try {\n var messageData = JSON.parse(messageEvent.data);\n var pusherEventData = messageData.data;\n if (typeof pusherEventData === 'string') {\n try {\n pusherEventData = JSON.parse(messageData.data);\n }\n catch (e) { }\n }\n var pusherEvent = {\n event: messageData.event,\n channel: messageData.channel,\n data: pusherEventData\n };\n if (messageData.user_id) {\n pusherEvent.user_id = messageData.user_id;\n }\n return pusherEvent;\n }\n catch (e) {\n throw { type: 'MessageParseError', error: e, data: messageEvent.data };\n }\n },\n encodeMessage: function (event) {\n return JSON.stringify(event);\n },\n processHandshake: function (messageEvent) {\n var message = Protocol.decodeMessage(messageEvent);\n if (message.event === 'pusher:connection_established') {\n if (!message.data.activity_timeout) {\n throw 'No activity timeout specified in handshake';\n }\n return {\n action: 'connected',\n id: message.data.socket_id,\n activityTimeout: message.data.activity_timeout * 1000\n };\n }\n else if (message.event === 'pusher:error') {\n return {\n action: this.getCloseAction(message.data),\n error: this.getCloseError(message.data)\n };\n }\n else {\n throw 'Invalid handshake';\n }\n },\n getCloseAction: function (closeEvent) {\n if (closeEvent.code < 4000) {\n if (closeEvent.code >= 1002 && closeEvent.code <= 1004) {\n return 'backoff';\n }\n else {\n return null;\n }\n }\n else if (closeEvent.code === 4000) {\n return 'tls_only';\n }\n else if (closeEvent.code < 4100) {\n return 'refused';\n }\n else if (closeEvent.code < 4200) {\n return 'backoff';\n }\n else if (closeEvent.code < 4300) {\n return 'retry';\n }\n else {\n return 'refused';\n }\n },\n getCloseError: function (closeEvent) {\n if (closeEvent.code !== 1000 && closeEvent.code !== 1001) {\n return {\n type: 'PusherError',\n data: {\n code: closeEvent.code,\n message: closeEvent.reason || closeEvent.message\n }\n };\n }\n else {\n return null;\n }\n }\n};\n/* harmony default export */ var protocol_protocol = (Protocol);\n\n// CONCATENATED MODULE: ./src/core/connection/connection.ts\nvar connection_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar connection_Connection = (function (_super) {\n connection_extends(Connection, _super);\n function Connection(id, transport) {\n var _this = _super.call(this) || this;\n _this.id = id;\n _this.transport = transport;\n _this.activityTimeout = transport.activityTimeout;\n _this.bindListeners();\n return _this;\n }\n Connection.prototype.handlesActivityChecks = function () {\n return this.transport.handlesActivityChecks();\n };\n Connection.prototype.send = function (data) {\n return this.transport.send(data);\n };\n Connection.prototype.send_event = function (name, data, channel) {\n var event = { event: name, data: data };\n if (channel) {\n event.channel = channel;\n }\n logger.debug('Event sent', event);\n return this.send(protocol_protocol.encodeMessage(event));\n };\n Connection.prototype.ping = function () {\n if (this.transport.supportsPing()) {\n this.transport.ping();\n }\n else {\n this.send_event('pusher:ping', {});\n }\n };\n Connection.prototype.close = function () {\n this.transport.close();\n };\n Connection.prototype.bindListeners = function () {\n var _this = this;\n var listeners = {\n message: function (messageEvent) {\n var pusherEvent;\n try {\n pusherEvent = protocol_protocol.decodeMessage(messageEvent);\n }\n catch (e) {\n _this.emit('error', {\n type: 'MessageParseError',\n error: e,\n data: messageEvent.data\n });\n }\n if (pusherEvent !== undefined) {\n logger.debug('Event recd', pusherEvent);\n switch (pusherEvent.event) {\n case 'pusher:error':\n _this.emit('error', {\n type: 'PusherError',\n data: pusherEvent.data\n });\n break;\n case 'pusher:ping':\n _this.emit('ping');\n break;\n case 'pusher:pong':\n _this.emit('pong');\n break;\n }\n _this.emit('message', pusherEvent);\n }\n },\n activity: function () {\n _this.emit('activity');\n },\n error: function (error) {\n _this.emit('error', error);\n },\n closed: function (closeEvent) {\n unbindListeners();\n if (closeEvent && closeEvent.code) {\n _this.handleCloseEvent(closeEvent);\n }\n _this.transport = null;\n _this.emit('closed');\n }\n };\n var unbindListeners = function () {\n objectApply(listeners, function (listener, event) {\n _this.transport.unbind(event, listener);\n });\n };\n objectApply(listeners, function (listener, event) {\n _this.transport.bind(event, listener);\n });\n };\n Connection.prototype.handleCloseEvent = function (closeEvent) {\n var action = protocol_protocol.getCloseAction(closeEvent);\n var error = protocol_protocol.getCloseError(closeEvent);\n if (error) {\n this.emit('error', error);\n }\n if (action) {\n this.emit(action, { action: action, error: error });\n }\n };\n return Connection;\n}(dispatcher));\n/* harmony default export */ var connection_connection = (connection_Connection);\n\n// CONCATENATED MODULE: ./src/core/connection/handshake/index.ts\n\n\n\nvar handshake_Handshake = (function () {\n function Handshake(transport, callback) {\n this.transport = transport;\n this.callback = callback;\n this.bindListeners();\n }\n Handshake.prototype.close = function () {\n this.unbindListeners();\n this.transport.close();\n };\n Handshake.prototype.bindListeners = function () {\n var _this = this;\n this.onMessage = function (m) {\n _this.unbindListeners();\n var result;\n try {\n result = protocol_protocol.processHandshake(m);\n }\n catch (e) {\n _this.finish('error', { error: e });\n _this.transport.close();\n return;\n }\n if (result.action === 'connected') {\n _this.finish('connected', {\n connection: new connection_connection(result.id, _this.transport),\n activityTimeout: result.activityTimeout\n });\n }\n else {\n _this.finish(result.action, { error: result.error });\n _this.transport.close();\n }\n };\n this.onClosed = function (closeEvent) {\n _this.unbindListeners();\n var action = protocol_protocol.getCloseAction(closeEvent) || 'backoff';\n var error = protocol_protocol.getCloseError(closeEvent);\n _this.finish(action, { error: error });\n };\n this.transport.bind('message', this.onMessage);\n this.transport.bind('closed', this.onClosed);\n };\n Handshake.prototype.unbindListeners = function () {\n this.transport.unbind('message', this.onMessage);\n this.transport.unbind('closed', this.onClosed);\n };\n Handshake.prototype.finish = function (action, params) {\n this.callback(extend({ transport: this.transport, action: action }, params));\n };\n return Handshake;\n}());\n/* harmony default export */ var connection_handshake = (handshake_Handshake);\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline_sender.ts\n\nvar timeline_sender_TimelineSender = (function () {\n function TimelineSender(timeline, options) {\n this.timeline = timeline;\n this.options = options || {};\n }\n TimelineSender.prototype.send = function (useTLS, callback) {\n if (this.timeline.isEmpty()) {\n return;\n }\n this.timeline.send(runtime.TimelineTransport.getAgent(this, useTLS), callback);\n };\n return TimelineSender;\n}());\n/* harmony default export */ var timeline_sender = (timeline_sender_TimelineSender);\n\n// CONCATENATED MODULE: ./src/core/channels/channel.ts\nvar channel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar channel_Channel = (function (_super) {\n channel_extends(Channel, _super);\n function Channel(name, pusher) {\n var _this = _super.call(this, function (event, data) {\n logger.debug('No callbacks on ' + name + ' for ' + event);\n }) || this;\n _this.name = name;\n _this.pusher = pusher;\n _this.subscribed = false;\n _this.subscriptionPending = false;\n _this.subscriptionCancelled = false;\n return _this;\n }\n Channel.prototype.authorize = function (socketId, callback) {\n return callback(null, { auth: '' });\n };\n Channel.prototype.trigger = function (event, data) {\n if (event.indexOf('client-') !== 0) {\n throw new BadEventName(\"Event '\" + event + \"' does not start with 'client-'\");\n }\n if (!this.subscribed) {\n var suffix = url_store.buildLogSuffix('triggeringClientEvents');\n logger.warn(\"Client event triggered before channel 'subscription_succeeded' event . \" + suffix);\n }\n return this.pusher.send_event(event, data, this.name);\n };\n Channel.prototype.disconnect = function () {\n this.subscribed = false;\n this.subscriptionPending = false;\n };\n Channel.prototype.handleEvent = function (event) {\n var eventName = event.event;\n var data = event.data;\n if (eventName === 'pusher_internal:subscription_succeeded') {\n this.handleSubscriptionSucceededEvent(event);\n }\n else if (eventName === 'pusher_internal:subscription_count') {\n this.handleSubscriptionCountEvent(event);\n }\n else if (eventName.indexOf('pusher_internal:') !== 0) {\n var metadata = {};\n this.emit(eventName, data, metadata);\n }\n };\n Channel.prototype.handleSubscriptionSucceededEvent = function (event) {\n this.subscriptionPending = false;\n this.subscribed = true;\n if (this.subscriptionCancelled) {\n this.pusher.unsubscribe(this.name);\n }\n else {\n this.emit('pusher:subscription_succeeded', event.data);\n }\n };\n Channel.prototype.handleSubscriptionCountEvent = function (event) {\n if (event.data.subscription_count) {\n this.subscriptionCount = event.data.subscription_count;\n }\n this.emit('pusher:subscription_count', event.data);\n };\n Channel.prototype.subscribe = function () {\n var _this = this;\n if (this.subscribed) {\n return;\n }\n this.subscriptionPending = true;\n this.subscriptionCancelled = false;\n this.authorize(this.pusher.connection.socket_id, function (error, data) {\n if (error) {\n _this.subscriptionPending = false;\n logger.error(error.toString());\n _this.emit('pusher:subscription_error', Object.assign({}, {\n type: 'AuthError',\n error: error.message\n }, error instanceof HTTPAuthError ? { status: error.status } : {}));\n }\n else {\n _this.pusher.send_event('pusher:subscribe', {\n auth: data.auth,\n channel_data: data.channel_data,\n channel: _this.name\n });\n }\n });\n };\n Channel.prototype.unsubscribe = function () {\n this.subscribed = false;\n this.pusher.send_event('pusher:unsubscribe', {\n channel: this.name\n });\n };\n Channel.prototype.cancelSubscription = function () {\n this.subscriptionCancelled = true;\n };\n Channel.prototype.reinstateSubscription = function () {\n this.subscriptionCancelled = false;\n };\n return Channel;\n}(dispatcher));\n/* harmony default export */ var channels_channel = (channel_Channel);\n\n// CONCATENATED MODULE: ./src/core/channels/private_channel.ts\nvar private_channel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar PrivateChannel = (function (_super) {\n private_channel_extends(PrivateChannel, _super);\n function PrivateChannel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PrivateChannel.prototype.authorize = function (socketId, callback) {\n return this.pusher.config.channelAuthorizer({\n channelName: this.name,\n socketId: socketId\n }, callback);\n };\n return PrivateChannel;\n}(channels_channel));\n/* harmony default export */ var private_channel = (PrivateChannel);\n\n// CONCATENATED MODULE: ./src/core/channels/members.ts\n\nvar members_Members = (function () {\n function Members() {\n this.reset();\n }\n Members.prototype.get = function (id) {\n if (Object.prototype.hasOwnProperty.call(this.members, id)) {\n return {\n id: id,\n info: this.members[id]\n };\n }\n else {\n return null;\n }\n };\n Members.prototype.each = function (callback) {\n var _this = this;\n objectApply(this.members, function (member, id) {\n callback(_this.get(id));\n });\n };\n Members.prototype.setMyID = function (id) {\n this.myID = id;\n };\n Members.prototype.onSubscription = function (subscriptionData) {\n this.members = subscriptionData.presence.hash;\n this.count = subscriptionData.presence.count;\n this.me = this.get(this.myID);\n };\n Members.prototype.addMember = function (memberData) {\n if (this.get(memberData.user_id) === null) {\n this.count++;\n }\n this.members[memberData.user_id] = memberData.user_info;\n return this.get(memberData.user_id);\n };\n Members.prototype.removeMember = function (memberData) {\n var member = this.get(memberData.user_id);\n if (member) {\n delete this.members[memberData.user_id];\n this.count--;\n }\n return member;\n };\n Members.prototype.reset = function () {\n this.members = {};\n this.count = 0;\n this.myID = null;\n this.me = null;\n };\n return Members;\n}());\n/* harmony default export */ var members = (members_Members);\n\n// CONCATENATED MODULE: ./src/core/channels/presence_channel.ts\nvar presence_channel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n\n\n\n\nvar presence_channel_PresenceChannel = (function (_super) {\n presence_channel_extends(PresenceChannel, _super);\n function PresenceChannel(name, pusher) {\n var _this = _super.call(this, name, pusher) || this;\n _this.members = new members();\n return _this;\n }\n PresenceChannel.prototype.authorize = function (socketId, callback) {\n var _this = this;\n _super.prototype.authorize.call(this, socketId, function (error, authData) { return __awaiter(_this, void 0, void 0, function () {\n var channelData, suffix;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!error) return [3, 3];\n authData = authData;\n if (!(authData.channel_data != null)) return [3, 1];\n channelData = JSON.parse(authData.channel_data);\n this.members.setMyID(channelData.user_id);\n return [3, 3];\n case 1: return [4, this.pusher.user.signinDonePromise];\n case 2:\n _a.sent();\n if (this.pusher.user.user_data != null) {\n this.members.setMyID(this.pusher.user.user_data.id);\n }\n else {\n suffix = url_store.buildLogSuffix('authorizationEndpoint');\n logger.error(\"Invalid auth response for channel '\" + this.name + \"', \" +\n (\"expected 'channel_data' field. \" + suffix + \", \") +\n \"or the user should be signed in.\");\n callback('Invalid auth response');\n return [2];\n }\n _a.label = 3;\n case 3:\n callback(error, authData);\n return [2];\n }\n });\n }); });\n };\n PresenceChannel.prototype.handleEvent = function (event) {\n var eventName = event.event;\n if (eventName.indexOf('pusher_internal:') === 0) {\n this.handleInternalEvent(event);\n }\n else {\n var data = event.data;\n var metadata = {};\n if (event.user_id) {\n metadata.user_id = event.user_id;\n }\n this.emit(eventName, data, metadata);\n }\n };\n PresenceChannel.prototype.handleInternalEvent = function (event) {\n var eventName = event.event;\n var data = event.data;\n switch (eventName) {\n case 'pusher_internal:subscription_succeeded':\n this.handleSubscriptionSucceededEvent(event);\n break;\n case 'pusher_internal:subscription_count':\n this.handleSubscriptionCountEvent(event);\n break;\n case 'pusher_internal:member_added':\n var addedMember = this.members.addMember(data);\n this.emit('pusher:member_added', addedMember);\n break;\n case 'pusher_internal:member_removed':\n var removedMember = this.members.removeMember(data);\n if (removedMember) {\n this.emit('pusher:member_removed', removedMember);\n }\n break;\n }\n };\n PresenceChannel.prototype.handleSubscriptionSucceededEvent = function (event) {\n this.subscriptionPending = false;\n this.subscribed = true;\n if (this.subscriptionCancelled) {\n this.pusher.unsubscribe(this.name);\n }\n else {\n this.members.onSubscription(event.data);\n this.emit('pusher:subscription_succeeded', this.members);\n }\n };\n PresenceChannel.prototype.disconnect = function () {\n this.members.reset();\n _super.prototype.disconnect.call(this);\n };\n return PresenceChannel;\n}(private_channel));\n/* harmony default export */ var presence_channel = (presence_channel_PresenceChannel);\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/utf8/lib/utf8.js\nvar utf8 = __webpack_require__(1);\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/base64/lib/base64.js\nvar base64 = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./src/core/channels/encrypted_channel.ts\nvar encrypted_channel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar encrypted_channel_EncryptedChannel = (function (_super) {\n encrypted_channel_extends(EncryptedChannel, _super);\n function EncryptedChannel(name, pusher, nacl) {\n var _this = _super.call(this, name, pusher) || this;\n _this.key = null;\n _this.nacl = nacl;\n return _this;\n }\n EncryptedChannel.prototype.authorize = function (socketId, callback) {\n var _this = this;\n _super.prototype.authorize.call(this, socketId, function (error, authData) {\n if (error) {\n callback(error, authData);\n return;\n }\n var sharedSecret = authData['shared_secret'];\n if (!sharedSecret) {\n callback(new Error(\"No shared_secret key in auth payload for encrypted channel: \" + _this.name), null);\n return;\n }\n _this.key = Object(base64[\"decode\"])(sharedSecret);\n delete authData['shared_secret'];\n callback(null, authData);\n });\n };\n EncryptedChannel.prototype.trigger = function (event, data) {\n throw new UnsupportedFeature('Client events are not currently supported for encrypted channels');\n };\n EncryptedChannel.prototype.handleEvent = function (event) {\n var eventName = event.event;\n var data = event.data;\n if (eventName.indexOf('pusher_internal:') === 0 ||\n eventName.indexOf('pusher:') === 0) {\n _super.prototype.handleEvent.call(this, event);\n return;\n }\n this.handleEncryptedEvent(eventName, data);\n };\n EncryptedChannel.prototype.handleEncryptedEvent = function (event, data) {\n var _this = this;\n if (!this.key) {\n logger.debug('Received encrypted event before key has been retrieved from the authEndpoint');\n return;\n }\n if (!data.ciphertext || !data.nonce) {\n logger.error('Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: ' +\n data);\n return;\n }\n var cipherText = Object(base64[\"decode\"])(data.ciphertext);\n if (cipherText.length < this.nacl.secretbox.overheadLength) {\n logger.error(\"Expected encrypted event ciphertext length to be \" + this.nacl.secretbox.overheadLength + \", got: \" + cipherText.length);\n return;\n }\n var nonce = Object(base64[\"decode\"])(data.nonce);\n if (nonce.length < this.nacl.secretbox.nonceLength) {\n logger.error(\"Expected encrypted event nonce length to be \" + this.nacl.secretbox.nonceLength + \", got: \" + nonce.length);\n return;\n }\n var bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);\n if (bytes === null) {\n logger.debug('Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint...');\n this.authorize(this.pusher.connection.socket_id, function (error, authData) {\n if (error) {\n logger.error(\"Failed to make a request to the authEndpoint: \" + authData + \". Unable to fetch new key, so dropping encrypted event\");\n return;\n }\n bytes = _this.nacl.secretbox.open(cipherText, nonce, _this.key);\n if (bytes === null) {\n logger.error(\"Failed to decrypt event with new key. Dropping encrypted event\");\n return;\n }\n _this.emit(event, _this.getDataToEmit(bytes));\n return;\n });\n return;\n }\n this.emit(event, this.getDataToEmit(bytes));\n };\n EncryptedChannel.prototype.getDataToEmit = function (bytes) {\n var raw = Object(utf8[\"decode\"])(bytes);\n try {\n return JSON.parse(raw);\n }\n catch (_a) {\n return raw;\n }\n };\n return EncryptedChannel;\n}(private_channel));\n/* harmony default export */ var encrypted_channel = (encrypted_channel_EncryptedChannel);\n\n// CONCATENATED MODULE: ./src/core/connection/connection_manager.ts\nvar connection_manager_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar connection_manager_ConnectionManager = (function (_super) {\n connection_manager_extends(ConnectionManager, _super);\n function ConnectionManager(key, options) {\n var _this = _super.call(this) || this;\n _this.state = 'initialized';\n _this.connection = null;\n _this.key = key;\n _this.options = options;\n _this.timeline = _this.options.timeline;\n _this.usingTLS = _this.options.useTLS;\n _this.errorCallbacks = _this.buildErrorCallbacks();\n _this.connectionCallbacks = _this.buildConnectionCallbacks(_this.errorCallbacks);\n _this.handshakeCallbacks = _this.buildHandshakeCallbacks(_this.errorCallbacks);\n var Network = runtime.getNetwork();\n Network.bind('online', function () {\n _this.timeline.info({ netinfo: 'online' });\n if (_this.state === 'connecting' || _this.state === 'unavailable') {\n _this.retryIn(0);\n }\n });\n Network.bind('offline', function () {\n _this.timeline.info({ netinfo: 'offline' });\n if (_this.connection) {\n _this.sendActivityCheck();\n }\n });\n _this.updateStrategy();\n return _this;\n }\n ConnectionManager.prototype.connect = function () {\n if (this.connection || this.runner) {\n return;\n }\n if (!this.strategy.isSupported()) {\n this.updateState('failed');\n return;\n }\n this.updateState('connecting');\n this.startConnecting();\n this.setUnavailableTimer();\n };\n ConnectionManager.prototype.send = function (data) {\n if (this.connection) {\n return this.connection.send(data);\n }\n else {\n return false;\n }\n };\n ConnectionManager.prototype.send_event = function (name, data, channel) {\n if (this.connection) {\n return this.connection.send_event(name, data, channel);\n }\n else {\n return false;\n }\n };\n ConnectionManager.prototype.disconnect = function () {\n this.disconnectInternally();\n this.updateState('disconnected');\n };\n ConnectionManager.prototype.isUsingTLS = function () {\n return this.usingTLS;\n };\n ConnectionManager.prototype.startConnecting = function () {\n var _this = this;\n var callback = function (error, handshake) {\n if (error) {\n _this.runner = _this.strategy.connect(0, callback);\n }\n else {\n if (handshake.action === 'error') {\n _this.emit('error', {\n type: 'HandshakeError',\n error: handshake.error\n });\n _this.timeline.error({ handshakeError: handshake.error });\n }\n else {\n _this.abortConnecting();\n _this.handshakeCallbacks[handshake.action](handshake);\n }\n }\n };\n this.runner = this.strategy.connect(0, callback);\n };\n ConnectionManager.prototype.abortConnecting = function () {\n if (this.runner) {\n this.runner.abort();\n this.runner = null;\n }\n };\n ConnectionManager.prototype.disconnectInternally = function () {\n this.abortConnecting();\n this.clearRetryTimer();\n this.clearUnavailableTimer();\n if (this.connection) {\n var connection = this.abandonConnection();\n connection.close();\n }\n };\n ConnectionManager.prototype.updateStrategy = function () {\n this.strategy = this.options.getStrategy({\n key: this.key,\n timeline: this.timeline,\n useTLS: this.usingTLS\n });\n };\n ConnectionManager.prototype.retryIn = function (delay) {\n var _this = this;\n this.timeline.info({ action: 'retry', delay: delay });\n if (delay > 0) {\n this.emit('connecting_in', Math.round(delay / 1000));\n }\n this.retryTimer = new OneOffTimer(delay || 0, function () {\n _this.disconnectInternally();\n _this.connect();\n });\n };\n ConnectionManager.prototype.clearRetryTimer = function () {\n if (this.retryTimer) {\n this.retryTimer.ensureAborted();\n this.retryTimer = null;\n }\n };\n ConnectionManager.prototype.setUnavailableTimer = function () {\n var _this = this;\n this.unavailableTimer = new OneOffTimer(this.options.unavailableTimeout, function () {\n _this.updateState('unavailable');\n });\n };\n ConnectionManager.prototype.clearUnavailableTimer = function () {\n if (this.unavailableTimer) {\n this.unavailableTimer.ensureAborted();\n }\n };\n ConnectionManager.prototype.sendActivityCheck = function () {\n var _this = this;\n this.stopActivityCheck();\n this.connection.ping();\n this.activityTimer = new OneOffTimer(this.options.pongTimeout, function () {\n _this.timeline.error({ pong_timed_out: _this.options.pongTimeout });\n _this.retryIn(0);\n });\n };\n ConnectionManager.prototype.resetActivityCheck = function () {\n var _this = this;\n this.stopActivityCheck();\n if (this.connection && !this.connection.handlesActivityChecks()) {\n this.activityTimer = new OneOffTimer(this.activityTimeout, function () {\n _this.sendActivityCheck();\n });\n }\n };\n ConnectionManager.prototype.stopActivityCheck = function () {\n if (this.activityTimer) {\n this.activityTimer.ensureAborted();\n }\n };\n ConnectionManager.prototype.buildConnectionCallbacks = function (errorCallbacks) {\n var _this = this;\n return extend({}, errorCallbacks, {\n message: function (message) {\n _this.resetActivityCheck();\n _this.emit('message', message);\n },\n ping: function () {\n _this.send_event('pusher:pong', {});\n },\n activity: function () {\n _this.resetActivityCheck();\n },\n error: function (error) {\n _this.emit('error', error);\n },\n closed: function () {\n _this.abandonConnection();\n if (_this.shouldRetry()) {\n _this.retryIn(1000);\n }\n }\n });\n };\n ConnectionManager.prototype.buildHandshakeCallbacks = function (errorCallbacks) {\n var _this = this;\n return extend({}, errorCallbacks, {\n connected: function (handshake) {\n _this.activityTimeout = Math.min(_this.options.activityTimeout, handshake.activityTimeout, handshake.connection.activityTimeout || Infinity);\n _this.clearUnavailableTimer();\n _this.setConnection(handshake.connection);\n _this.socket_id = _this.connection.id;\n _this.updateState('connected', { socket_id: _this.socket_id });\n }\n });\n };\n ConnectionManager.prototype.buildErrorCallbacks = function () {\n var _this = this;\n var withErrorEmitted = function (callback) {\n return function (result) {\n if (result.error) {\n _this.emit('error', { type: 'WebSocketError', error: result.error });\n }\n callback(result);\n };\n };\n return {\n tls_only: withErrorEmitted(function () {\n _this.usingTLS = true;\n _this.updateStrategy();\n _this.retryIn(0);\n }),\n refused: withErrorEmitted(function () {\n _this.disconnect();\n }),\n backoff: withErrorEmitted(function () {\n _this.retryIn(1000);\n }),\n retry: withErrorEmitted(function () {\n _this.retryIn(0);\n })\n };\n };\n ConnectionManager.prototype.setConnection = function (connection) {\n this.connection = connection;\n for (var event in this.connectionCallbacks) {\n this.connection.bind(event, this.connectionCallbacks[event]);\n }\n this.resetActivityCheck();\n };\n ConnectionManager.prototype.abandonConnection = function () {\n if (!this.connection) {\n return;\n }\n this.stopActivityCheck();\n for (var event in this.connectionCallbacks) {\n this.connection.unbind(event, this.connectionCallbacks[event]);\n }\n var connection = this.connection;\n this.connection = null;\n return connection;\n };\n ConnectionManager.prototype.updateState = function (newState, data) {\n var previousState = this.state;\n this.state = newState;\n if (previousState !== newState) {\n var newStateDescription = newState;\n if (newStateDescription === 'connected') {\n newStateDescription += ' with new socket ID ' + data.socket_id;\n }\n logger.debug('State changed', previousState + ' -> ' + newStateDescription);\n this.timeline.info({ state: newState, params: data });\n this.emit('state_change', { previous: previousState, current: newState });\n this.emit(newState, data);\n }\n };\n ConnectionManager.prototype.shouldRetry = function () {\n return this.state === 'connecting' || this.state === 'connected';\n };\n return ConnectionManager;\n}(dispatcher));\n/* harmony default export */ var connection_manager = (connection_manager_ConnectionManager);\n\n// CONCATENATED MODULE: ./src/core/channels/channels.ts\n\n\n\n\nvar channels_Channels = (function () {\n function Channels() {\n this.channels = {};\n }\n Channels.prototype.add = function (name, pusher) {\n if (!this.channels[name]) {\n this.channels[name] = createChannel(name, pusher);\n }\n return this.channels[name];\n };\n Channels.prototype.all = function () {\n return values(this.channels);\n };\n Channels.prototype.find = function (name) {\n return this.channels[name];\n };\n Channels.prototype.remove = function (name) {\n var channel = this.channels[name];\n delete this.channels[name];\n return channel;\n };\n Channels.prototype.disconnect = function () {\n objectApply(this.channels, function (channel) {\n channel.disconnect();\n });\n };\n return Channels;\n}());\n/* harmony default export */ var channels = (channels_Channels);\nfunction createChannel(name, pusher) {\n if (name.indexOf('private-encrypted-') === 0) {\n if (pusher.config.nacl) {\n return factory.createEncryptedChannel(name, pusher, pusher.config.nacl);\n }\n var errMsg = 'Tried to subscribe to a private-encrypted- channel but no nacl implementation available';\n var suffix = url_store.buildLogSuffix('encryptedChannelSupport');\n throw new UnsupportedFeature(errMsg + \". \" + suffix);\n }\n else if (name.indexOf('private-') === 0) {\n return factory.createPrivateChannel(name, pusher);\n }\n else if (name.indexOf('presence-') === 0) {\n return factory.createPresenceChannel(name, pusher);\n }\n else if (name.indexOf('#') === 0) {\n throw new BadChannelName('Cannot create a channel with name \"' + name + '\".');\n }\n else {\n return factory.createChannel(name, pusher);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/utils/factory.ts\n\n\n\n\n\n\n\n\n\nvar Factory = {\n createChannels: function () {\n return new channels();\n },\n createConnectionManager: function (key, options) {\n return new connection_manager(key, options);\n },\n createChannel: function (name, pusher) {\n return new channels_channel(name, pusher);\n },\n createPrivateChannel: function (name, pusher) {\n return new private_channel(name, pusher);\n },\n createPresenceChannel: function (name, pusher) {\n return new presence_channel(name, pusher);\n },\n createEncryptedChannel: function (name, pusher, nacl) {\n return new encrypted_channel(name, pusher, nacl);\n },\n createTimelineSender: function (timeline, options) {\n return new timeline_sender(timeline, options);\n },\n createHandshake: function (transport, callback) {\n return new connection_handshake(transport, callback);\n },\n createAssistantToTheTransportManager: function (manager, transport, options) {\n return new assistant_to_the_transport_manager(manager, transport, options);\n }\n};\n/* harmony default export */ var factory = (Factory);\n\n// CONCATENATED MODULE: ./src/core/transports/transport_manager.ts\n\nvar transport_manager_TransportManager = (function () {\n function TransportManager(options) {\n this.options = options || {};\n this.livesLeft = this.options.lives || Infinity;\n }\n TransportManager.prototype.getAssistant = function (transport) {\n return factory.createAssistantToTheTransportManager(this, transport, {\n minPingDelay: this.options.minPingDelay,\n maxPingDelay: this.options.maxPingDelay\n });\n };\n TransportManager.prototype.isAlive = function () {\n return this.livesLeft > 0;\n };\n TransportManager.prototype.reportDeath = function () {\n this.livesLeft -= 1;\n };\n return TransportManager;\n}());\n/* harmony default export */ var transport_manager = (transport_manager_TransportManager);\n\n// CONCATENATED MODULE: ./src/core/strategies/sequential_strategy.ts\n\n\n\nvar sequential_strategy_SequentialStrategy = (function () {\n function SequentialStrategy(strategies, options) {\n this.strategies = strategies;\n this.loop = Boolean(options.loop);\n this.failFast = Boolean(options.failFast);\n this.timeout = options.timeout;\n this.timeoutLimit = options.timeoutLimit;\n }\n SequentialStrategy.prototype.isSupported = function () {\n return any(this.strategies, util.method('isSupported'));\n };\n SequentialStrategy.prototype.connect = function (minPriority, callback) {\n var _this = this;\n var strategies = this.strategies;\n var current = 0;\n var timeout = this.timeout;\n var runner = null;\n var tryNextStrategy = function (error, handshake) {\n if (handshake) {\n callback(null, handshake);\n }\n else {\n current = current + 1;\n if (_this.loop) {\n current = current % strategies.length;\n }\n if (current < strategies.length) {\n if (timeout) {\n timeout = timeout * 2;\n if (_this.timeoutLimit) {\n timeout = Math.min(timeout, _this.timeoutLimit);\n }\n }\n runner = _this.tryStrategy(strategies[current], minPriority, { timeout: timeout, failFast: _this.failFast }, tryNextStrategy);\n }\n else {\n callback(true);\n }\n }\n };\n runner = this.tryStrategy(strategies[current], minPriority, { timeout: timeout, failFast: this.failFast }, tryNextStrategy);\n return {\n abort: function () {\n runner.abort();\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n }\n };\n };\n SequentialStrategy.prototype.tryStrategy = function (strategy, minPriority, options, callback) {\n var timer = null;\n var runner = null;\n if (options.timeout > 0) {\n timer = new OneOffTimer(options.timeout, function () {\n runner.abort();\n callback(true);\n });\n }\n runner = strategy.connect(minPriority, function (error, handshake) {\n if (error && timer && timer.isRunning() && !options.failFast) {\n return;\n }\n if (timer) {\n timer.ensureAborted();\n }\n callback(error, handshake);\n });\n return {\n abort: function () {\n if (timer) {\n timer.ensureAborted();\n }\n runner.abort();\n },\n forceMinPriority: function (p) {\n runner.forceMinPriority(p);\n }\n };\n };\n return SequentialStrategy;\n}());\n/* harmony default export */ var sequential_strategy = (sequential_strategy_SequentialStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/best_connected_ever_strategy.ts\n\n\nvar best_connected_ever_strategy_BestConnectedEverStrategy = (function () {\n function BestConnectedEverStrategy(strategies) {\n this.strategies = strategies;\n }\n BestConnectedEverStrategy.prototype.isSupported = function () {\n return any(this.strategies, util.method('isSupported'));\n };\n BestConnectedEverStrategy.prototype.connect = function (minPriority, callback) {\n return connect(this.strategies, minPriority, function (i, runners) {\n return function (error, handshake) {\n runners[i].error = error;\n if (error) {\n if (allRunnersFailed(runners)) {\n callback(true);\n }\n return;\n }\n apply(runners, function (runner) {\n runner.forceMinPriority(handshake.transport.priority);\n });\n callback(null, handshake);\n };\n });\n };\n return BestConnectedEverStrategy;\n}());\n/* harmony default export */ var best_connected_ever_strategy = (best_connected_ever_strategy_BestConnectedEverStrategy);\nfunction connect(strategies, minPriority, callbackBuilder) {\n var runners = map(strategies, function (strategy, i, _, rs) {\n return strategy.connect(minPriority, callbackBuilder(i, rs));\n });\n return {\n abort: function () {\n apply(runners, abortRunner);\n },\n forceMinPriority: function (p) {\n apply(runners, function (runner) {\n runner.forceMinPriority(p);\n });\n }\n };\n}\nfunction allRunnersFailed(runners) {\n return collections_all(runners, function (runner) {\n return Boolean(runner.error);\n });\n}\nfunction abortRunner(runner) {\n if (!runner.error && !runner.aborted) {\n runner.abort();\n runner.aborted = true;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/cached_strategy.ts\n\n\n\n\nvar cached_strategy_CachedStrategy = (function () {\n function CachedStrategy(strategy, transports, options) {\n this.strategy = strategy;\n this.transports = transports;\n this.ttl = options.ttl || 1800 * 1000;\n this.usingTLS = options.useTLS;\n this.timeline = options.timeline;\n }\n CachedStrategy.prototype.isSupported = function () {\n return this.strategy.isSupported();\n };\n CachedStrategy.prototype.connect = function (minPriority, callback) {\n var usingTLS = this.usingTLS;\n var info = fetchTransportCache(usingTLS);\n var strategies = [this.strategy];\n if (info && info.timestamp + this.ttl >= util.now()) {\n var transport = this.transports[info.transport];\n if (transport) {\n this.timeline.info({\n cached: true,\n transport: info.transport,\n latency: info.latency\n });\n strategies.push(new sequential_strategy([transport], {\n timeout: info.latency * 2 + 1000,\n failFast: true\n }));\n }\n }\n var startTimestamp = util.now();\n var runner = strategies\n .pop()\n .connect(minPriority, function cb(error, handshake) {\n if (error) {\n flushTransportCache(usingTLS);\n if (strategies.length > 0) {\n startTimestamp = util.now();\n runner = strategies.pop().connect(minPriority, cb);\n }\n else {\n callback(error);\n }\n }\n else {\n storeTransportCache(usingTLS, handshake.transport.name, util.now() - startTimestamp);\n callback(null, handshake);\n }\n });\n return {\n abort: function () {\n runner.abort();\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n }\n };\n };\n return CachedStrategy;\n}());\n/* harmony default export */ var cached_strategy = (cached_strategy_CachedStrategy);\nfunction getTransportCacheKey(usingTLS) {\n return 'pusherTransport' + (usingTLS ? 'TLS' : 'NonTLS');\n}\nfunction fetchTransportCache(usingTLS) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n var serializedCache = storage[getTransportCacheKey(usingTLS)];\n if (serializedCache) {\n return JSON.parse(serializedCache);\n }\n }\n catch (e) {\n flushTransportCache(usingTLS);\n }\n }\n return null;\n}\nfunction storeTransportCache(usingTLS, transport, latency) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n storage[getTransportCacheKey(usingTLS)] = safeJSONStringify({\n timestamp: util.now(),\n transport: transport,\n latency: latency\n });\n }\n catch (e) {\n }\n }\n}\nfunction flushTransportCache(usingTLS) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n delete storage[getTransportCacheKey(usingTLS)];\n }\n catch (e) {\n }\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/delayed_strategy.ts\n\nvar delayed_strategy_DelayedStrategy = (function () {\n function DelayedStrategy(strategy, _a) {\n var number = _a.delay;\n this.strategy = strategy;\n this.options = { delay: number };\n }\n DelayedStrategy.prototype.isSupported = function () {\n return this.strategy.isSupported();\n };\n DelayedStrategy.prototype.connect = function (minPriority, callback) {\n var strategy = this.strategy;\n var runner;\n var timer = new OneOffTimer(this.options.delay, function () {\n runner = strategy.connect(minPriority, callback);\n });\n return {\n abort: function () {\n timer.ensureAborted();\n if (runner) {\n runner.abort();\n }\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n }\n };\n };\n return DelayedStrategy;\n}());\n/* harmony default export */ var delayed_strategy = (delayed_strategy_DelayedStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/if_strategy.ts\nvar IfStrategy = (function () {\n function IfStrategy(test, trueBranch, falseBranch) {\n this.test = test;\n this.trueBranch = trueBranch;\n this.falseBranch = falseBranch;\n }\n IfStrategy.prototype.isSupported = function () {\n var branch = this.test() ? this.trueBranch : this.falseBranch;\n return branch.isSupported();\n };\n IfStrategy.prototype.connect = function (minPriority, callback) {\n var branch = this.test() ? this.trueBranch : this.falseBranch;\n return branch.connect(minPriority, callback);\n };\n return IfStrategy;\n}());\n/* harmony default export */ var if_strategy = (IfStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/first_connected_strategy.ts\nvar FirstConnectedStrategy = (function () {\n function FirstConnectedStrategy(strategy) {\n this.strategy = strategy;\n }\n FirstConnectedStrategy.prototype.isSupported = function () {\n return this.strategy.isSupported();\n };\n FirstConnectedStrategy.prototype.connect = function (minPriority, callback) {\n var runner = this.strategy.connect(minPriority, function (error, handshake) {\n if (handshake) {\n runner.abort();\n }\n callback(error, handshake);\n });\n return runner;\n };\n return FirstConnectedStrategy;\n}());\n/* harmony default export */ var first_connected_strategy = (FirstConnectedStrategy);\n\n// CONCATENATED MODULE: ./src/runtimes/web/default_strategy.ts\n\n\n\n\n\n\n\nfunction testSupportsStrategy(strategy) {\n return function () {\n return strategy.isSupported();\n };\n}\nvar getDefaultStrategy = function (config, baseOptions, defineTransport) {\n var definedTransports = {};\n function defineTransportStrategy(name, type, priority, options, manager) {\n var transport = defineTransport(config, name, type, priority, options, manager);\n definedTransports[name] = transport;\n return transport;\n }\n var ws_options = Object.assign({}, baseOptions, {\n hostNonTLS: config.wsHost + ':' + config.wsPort,\n hostTLS: config.wsHost + ':' + config.wssPort,\n httpPath: config.wsPath\n });\n var wss_options = Object.assign({}, ws_options, {\n useTLS: true\n });\n var sockjs_options = Object.assign({}, baseOptions, {\n hostNonTLS: config.httpHost + ':' + config.httpPort,\n hostTLS: config.httpHost + ':' + config.httpsPort,\n httpPath: config.httpPath\n });\n var timeouts = {\n loop: true,\n timeout: 15000,\n timeoutLimit: 60000\n };\n var ws_manager = new transport_manager({\n lives: 2,\n minPingDelay: 10000,\n maxPingDelay: config.activityTimeout\n });\n var streaming_manager = new transport_manager({\n lives: 2,\n minPingDelay: 10000,\n maxPingDelay: config.activityTimeout\n });\n var ws_transport = defineTransportStrategy('ws', 'ws', 3, ws_options, ws_manager);\n var wss_transport = defineTransportStrategy('wss', 'ws', 3, wss_options, ws_manager);\n var sockjs_transport = defineTransportStrategy('sockjs', 'sockjs', 1, sockjs_options);\n var xhr_streaming_transport = defineTransportStrategy('xhr_streaming', 'xhr_streaming', 1, sockjs_options, streaming_manager);\n var xdr_streaming_transport = defineTransportStrategy('xdr_streaming', 'xdr_streaming', 1, sockjs_options, streaming_manager);\n var xhr_polling_transport = defineTransportStrategy('xhr_polling', 'xhr_polling', 1, sockjs_options);\n var xdr_polling_transport = defineTransportStrategy('xdr_polling', 'xdr_polling', 1, sockjs_options);\n var ws_loop = new sequential_strategy([ws_transport], timeouts);\n var wss_loop = new sequential_strategy([wss_transport], timeouts);\n var sockjs_loop = new sequential_strategy([sockjs_transport], timeouts);\n var streaming_loop = new sequential_strategy([\n new if_strategy(testSupportsStrategy(xhr_streaming_transport), xhr_streaming_transport, xdr_streaming_transport)\n ], timeouts);\n var polling_loop = new sequential_strategy([\n new if_strategy(testSupportsStrategy(xhr_polling_transport), xhr_polling_transport, xdr_polling_transport)\n ], timeouts);\n var http_loop = new sequential_strategy([\n new if_strategy(testSupportsStrategy(streaming_loop), new best_connected_ever_strategy([\n streaming_loop,\n new delayed_strategy(polling_loop, { delay: 4000 })\n ]), polling_loop)\n ], timeouts);\n var http_fallback_loop = new if_strategy(testSupportsStrategy(http_loop), http_loop, sockjs_loop);\n var wsStrategy;\n if (baseOptions.useTLS) {\n wsStrategy = new best_connected_ever_strategy([\n ws_loop,\n new delayed_strategy(http_fallback_loop, { delay: 2000 })\n ]);\n }\n else {\n wsStrategy = new best_connected_ever_strategy([\n ws_loop,\n new delayed_strategy(wss_loop, { delay: 2000 }),\n new delayed_strategy(http_fallback_loop, { delay: 5000 })\n ]);\n }\n return new cached_strategy(new first_connected_strategy(new if_strategy(testSupportsStrategy(ws_transport), wsStrategy, http_fallback_loop)), definedTransports, {\n ttl: 1800000,\n timeline: baseOptions.timeline,\n useTLS: baseOptions.useTLS\n });\n};\n/* harmony default export */ var default_strategy = (getDefaultStrategy);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transport_connection_initializer.ts\n\n/* harmony default export */ var transport_connection_initializer = (function () {\n var self = this;\n self.timeline.info(self.buildTimelineMessage({\n transport: self.name + (self.options.useTLS ? 's' : '')\n }));\n if (self.hooks.isInitialized()) {\n self.changeState('initialized');\n }\n else if (self.hooks.file) {\n self.changeState('initializing');\n Dependencies.load(self.hooks.file, { useTLS: self.options.useTLS }, function (error, callback) {\n if (self.hooks.isInitialized()) {\n self.changeState('initialized');\n callback(true);\n }\n else {\n if (error) {\n self.onError(error);\n }\n self.onClose();\n callback(false);\n }\n });\n }\n else {\n self.onClose();\n }\n});\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http_xdomain_request.ts\n\nvar http_xdomain_request_hooks = {\n getRequest: function (socket) {\n var xdr = new window.XDomainRequest();\n xdr.ontimeout = function () {\n socket.emit('error', new RequestTimedOut());\n socket.close();\n };\n xdr.onerror = function (e) {\n socket.emit('error', e);\n socket.close();\n };\n xdr.onprogress = function () {\n if (xdr.responseText && xdr.responseText.length > 0) {\n socket.onChunk(200, xdr.responseText);\n }\n };\n xdr.onload = function () {\n if (xdr.responseText && xdr.responseText.length > 0) {\n socket.onChunk(200, xdr.responseText);\n }\n socket.emit('finished', 200);\n socket.close();\n };\n return xdr;\n },\n abortRequest: function (xdr) {\n xdr.ontimeout = xdr.onerror = xdr.onprogress = xdr.onload = null;\n xdr.abort();\n }\n};\n/* harmony default export */ var http_xdomain_request = (http_xdomain_request_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_request.ts\nvar http_request_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar MAX_BUFFER_LENGTH = 256 * 1024;\nvar http_request_HTTPRequest = (function (_super) {\n http_request_extends(HTTPRequest, _super);\n function HTTPRequest(hooks, method, url) {\n var _this = _super.call(this) || this;\n _this.hooks = hooks;\n _this.method = method;\n _this.url = url;\n return _this;\n }\n HTTPRequest.prototype.start = function (payload) {\n var _this = this;\n this.position = 0;\n this.xhr = this.hooks.getRequest(this);\n this.unloader = function () {\n _this.close();\n };\n runtime.addUnloadListener(this.unloader);\n this.xhr.open(this.method, this.url, true);\n if (this.xhr.setRequestHeader) {\n this.xhr.setRequestHeader('Content-Type', 'application/json');\n }\n this.xhr.send(payload);\n };\n HTTPRequest.prototype.close = function () {\n if (this.unloader) {\n runtime.removeUnloadListener(this.unloader);\n this.unloader = null;\n }\n if (this.xhr) {\n this.hooks.abortRequest(this.xhr);\n this.xhr = null;\n }\n };\n HTTPRequest.prototype.onChunk = function (status, data) {\n while (true) {\n var chunk = this.advanceBuffer(data);\n if (chunk) {\n this.emit('chunk', { status: status, data: chunk });\n }\n else {\n break;\n }\n }\n if (this.isBufferTooLong(data)) {\n this.emit('buffer_too_long');\n }\n };\n HTTPRequest.prototype.advanceBuffer = function (buffer) {\n var unreadData = buffer.slice(this.position);\n var endOfLinePosition = unreadData.indexOf('\\n');\n if (endOfLinePosition !== -1) {\n this.position += endOfLinePosition + 1;\n return unreadData.slice(0, endOfLinePosition);\n }\n else {\n return null;\n }\n };\n HTTPRequest.prototype.isBufferTooLong = function (buffer) {\n return this.position === buffer.length && buffer.length > MAX_BUFFER_LENGTH;\n };\n return HTTPRequest;\n}(dispatcher));\n/* harmony default export */ var http_request = (http_request_HTTPRequest);\n\n// CONCATENATED MODULE: ./src/core/http/state.ts\nvar State;\n(function (State) {\n State[State[\"CONNECTING\"] = 0] = \"CONNECTING\";\n State[State[\"OPEN\"] = 1] = \"OPEN\";\n State[State[\"CLOSED\"] = 3] = \"CLOSED\";\n})(State || (State = {}));\n/* harmony default export */ var state = (State);\n\n// CONCATENATED MODULE: ./src/core/http/http_socket.ts\n\n\n\nvar autoIncrement = 1;\nvar http_socket_HTTPSocket = (function () {\n function HTTPSocket(hooks, url) {\n this.hooks = hooks;\n this.session = randomNumber(1000) + '/' + randomString(8);\n this.location = getLocation(url);\n this.readyState = state.CONNECTING;\n this.openStream();\n }\n HTTPSocket.prototype.send = function (payload) {\n return this.sendRaw(JSON.stringify([payload]));\n };\n HTTPSocket.prototype.ping = function () {\n this.hooks.sendHeartbeat(this);\n };\n HTTPSocket.prototype.close = function (code, reason) {\n this.onClose(code, reason, true);\n };\n HTTPSocket.prototype.sendRaw = function (payload) {\n if (this.readyState === state.OPEN) {\n try {\n runtime.createSocketRequest('POST', getUniqueURL(getSendURL(this.location, this.session))).start(payload);\n return true;\n }\n catch (e) {\n return false;\n }\n }\n else {\n return false;\n }\n };\n HTTPSocket.prototype.reconnect = function () {\n this.closeStream();\n this.openStream();\n };\n HTTPSocket.prototype.onClose = function (code, reason, wasClean) {\n this.closeStream();\n this.readyState = state.CLOSED;\n if (this.onclose) {\n this.onclose({\n code: code,\n reason: reason,\n wasClean: wasClean\n });\n }\n };\n HTTPSocket.prototype.onChunk = function (chunk) {\n if (chunk.status !== 200) {\n return;\n }\n if (this.readyState === state.OPEN) {\n this.onActivity();\n }\n var payload;\n var type = chunk.data.slice(0, 1);\n switch (type) {\n case 'o':\n payload = JSON.parse(chunk.data.slice(1) || '{}');\n this.onOpen(payload);\n break;\n case 'a':\n payload = JSON.parse(chunk.data.slice(1) || '[]');\n for (var i = 0; i < payload.length; i++) {\n this.onEvent(payload[i]);\n }\n break;\n case 'm':\n payload = JSON.parse(chunk.data.slice(1) || 'null');\n this.onEvent(payload);\n break;\n case 'h':\n this.hooks.onHeartbeat(this);\n break;\n case 'c':\n payload = JSON.parse(chunk.data.slice(1) || '[]');\n this.onClose(payload[0], payload[1], true);\n break;\n }\n };\n HTTPSocket.prototype.onOpen = function (options) {\n if (this.readyState === state.CONNECTING) {\n if (options && options.hostname) {\n this.location.base = replaceHost(this.location.base, options.hostname);\n }\n this.readyState = state.OPEN;\n if (this.onopen) {\n this.onopen();\n }\n }\n else {\n this.onClose(1006, 'Server lost session', true);\n }\n };\n HTTPSocket.prototype.onEvent = function (event) {\n if (this.readyState === state.OPEN && this.onmessage) {\n this.onmessage({ data: event });\n }\n };\n HTTPSocket.prototype.onActivity = function () {\n if (this.onactivity) {\n this.onactivity();\n }\n };\n HTTPSocket.prototype.onError = function (error) {\n if (this.onerror) {\n this.onerror(error);\n }\n };\n HTTPSocket.prototype.openStream = function () {\n var _this = this;\n this.stream = runtime.createSocketRequest('POST', getUniqueURL(this.hooks.getReceiveURL(this.location, this.session)));\n this.stream.bind('chunk', function (chunk) {\n _this.onChunk(chunk);\n });\n this.stream.bind('finished', function (status) {\n _this.hooks.onFinished(_this, status);\n });\n this.stream.bind('buffer_too_long', function () {\n _this.reconnect();\n });\n try {\n this.stream.start();\n }\n catch (error) {\n util.defer(function () {\n _this.onError(error);\n _this.onClose(1006, 'Could not start streaming', false);\n });\n }\n };\n HTTPSocket.prototype.closeStream = function () {\n if (this.stream) {\n this.stream.unbind_all();\n this.stream.close();\n this.stream = null;\n }\n };\n return HTTPSocket;\n}());\nfunction getLocation(url) {\n var parts = /([^\\?]*)\\/*(\\??.*)/.exec(url);\n return {\n base: parts[1],\n queryString: parts[2]\n };\n}\nfunction getSendURL(url, session) {\n return url.base + '/' + session + '/xhr_send';\n}\nfunction getUniqueURL(url) {\n var separator = url.indexOf('?') === -1 ? '?' : '&';\n return url + separator + 't=' + +new Date() + '&n=' + autoIncrement++;\n}\nfunction replaceHost(url, hostname) {\n var urlParts = /(https?:\\/\\/)([^\\/:]+)((\\/|:)?.*)/.exec(url);\n return urlParts[1] + hostname + urlParts[3];\n}\nfunction randomNumber(max) {\n return runtime.randomInt(max);\n}\nfunction randomString(length) {\n var result = [];\n for (var i = 0; i < length; i++) {\n result.push(randomNumber(32).toString(32));\n }\n return result.join('');\n}\n/* harmony default export */ var http_socket = (http_socket_HTTPSocket);\n\n// CONCATENATED MODULE: ./src/core/http/http_streaming_socket.ts\nvar http_streaming_socket_hooks = {\n getReceiveURL: function (url, session) {\n return url.base + '/' + session + '/xhr_streaming' + url.queryString;\n },\n onHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n sendHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n onFinished: function (socket, status) {\n socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n }\n};\n/* harmony default export */ var http_streaming_socket = (http_streaming_socket_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_polling_socket.ts\nvar http_polling_socket_hooks = {\n getReceiveURL: function (url, session) {\n return url.base + '/' + session + '/xhr' + url.queryString;\n },\n onHeartbeat: function () {\n },\n sendHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n onFinished: function (socket, status) {\n if (status === 200) {\n socket.reconnect();\n }\n else {\n socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n }\n }\n};\n/* harmony default export */ var http_polling_socket = (http_polling_socket_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http_xhr_request.ts\n\nvar http_xhr_request_hooks = {\n getRequest: function (socket) {\n var Constructor = runtime.getXHRAPI();\n var xhr = new Constructor();\n xhr.onreadystatechange = xhr.onprogress = function () {\n switch (xhr.readyState) {\n case 3:\n if (xhr.responseText && xhr.responseText.length > 0) {\n socket.onChunk(xhr.status, xhr.responseText);\n }\n break;\n case 4:\n if (xhr.responseText && xhr.responseText.length > 0) {\n socket.onChunk(xhr.status, xhr.responseText);\n }\n socket.emit('finished', xhr.status);\n socket.close();\n break;\n }\n };\n return xhr;\n },\n abortRequest: function (xhr) {\n xhr.onreadystatechange = null;\n xhr.abort();\n }\n};\n/* harmony default export */ var http_xhr_request = (http_xhr_request_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http.ts\n\n\n\n\n\nvar HTTP = {\n createStreamingSocket: function (url) {\n return this.createSocket(http_streaming_socket, url);\n },\n createPollingSocket: function (url) {\n return this.createSocket(http_polling_socket, url);\n },\n createSocket: function (hooks, url) {\n return new http_socket(hooks, url);\n },\n createXHR: function (method, url) {\n return this.createRequest(http_xhr_request, method, url);\n },\n createRequest: function (hooks, method, url) {\n return new http_request(hooks, method, url);\n }\n};\n/* harmony default export */ var http_http = (HTTP);\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http.ts\n\n\nhttp_http.createXDR = function (method, url) {\n return this.createRequest(http_xdomain_request, method, url);\n};\n/* harmony default export */ var web_http_http = (http_http);\n\n// CONCATENATED MODULE: ./src/runtimes/web/runtime.ts\n\n\n\n\n\n\n\n\n\n\n\n\nvar Runtime = {\n nextAuthCallbackID: 1,\n auth_callbacks: {},\n ScriptReceivers: ScriptReceivers,\n DependenciesReceivers: DependenciesReceivers,\n getDefaultStrategy: default_strategy,\n Transports: transports_transports,\n transportConnectionInitializer: transport_connection_initializer,\n HTTPFactory: web_http_http,\n TimelineTransport: jsonp_timeline,\n getXHRAPI: function () {\n return window.XMLHttpRequest;\n },\n getWebSocketAPI: function () {\n return window.WebSocket || window.MozWebSocket;\n },\n setup: function (PusherClass) {\n var _this = this;\n window.Pusher = PusherClass;\n var initializeOnDocumentBody = function () {\n _this.onDocumentBody(PusherClass.ready);\n };\n if (!window.JSON) {\n Dependencies.load('json2', {}, initializeOnDocumentBody);\n }\n else {\n initializeOnDocumentBody();\n }\n },\n getDocument: function () {\n return document;\n },\n getProtocol: function () {\n return this.getDocument().location.protocol;\n },\n getAuthorizers: function () {\n return { ajax: xhr_auth, jsonp: jsonp_auth };\n },\n onDocumentBody: function (callback) {\n var _this = this;\n if (document.body) {\n callback();\n }\n else {\n setTimeout(function () {\n _this.onDocumentBody(callback);\n }, 0);\n }\n },\n createJSONPRequest: function (url, data) {\n return new jsonp_request(url, data);\n },\n createScriptRequest: function (src) {\n return new script_request(src);\n },\n getLocalStorage: function () {\n try {\n return window.localStorage;\n }\n catch (e) {\n return undefined;\n }\n },\n createXHR: function () {\n if (this.getXHRAPI()) {\n return this.createXMLHttpRequest();\n }\n else {\n return this.createMicrosoftXHR();\n }\n },\n createXMLHttpRequest: function () {\n var Constructor = this.getXHRAPI();\n return new Constructor();\n },\n createMicrosoftXHR: function () {\n return new ActiveXObject('Microsoft.XMLHTTP');\n },\n getNetwork: function () {\n return net_info_Network;\n },\n createWebSocket: function (url) {\n var Constructor = this.getWebSocketAPI();\n return new Constructor(url);\n },\n createSocketRequest: function (method, url) {\n if (this.isXHRSupported()) {\n return this.HTTPFactory.createXHR(method, url);\n }\n else if (this.isXDRSupported(url.indexOf('https:') === 0)) {\n return this.HTTPFactory.createXDR(method, url);\n }\n else {\n throw 'Cross-origin HTTP requests are not supported';\n }\n },\n isXHRSupported: function () {\n var Constructor = this.getXHRAPI();\n return (Boolean(Constructor) && new Constructor().withCredentials !== undefined);\n },\n isXDRSupported: function (useTLS) {\n var protocol = useTLS ? 'https:' : 'http:';\n var documentProtocol = this.getProtocol();\n return (Boolean(window['XDomainRequest']) && documentProtocol === protocol);\n },\n addUnloadListener: function (listener) {\n if (window.addEventListener !== undefined) {\n window.addEventListener('unload', listener, false);\n }\n else if (window.attachEvent !== undefined) {\n window.attachEvent('onunload', listener);\n }\n },\n removeUnloadListener: function (listener) {\n if (window.addEventListener !== undefined) {\n window.removeEventListener('unload', listener, false);\n }\n else if (window.detachEvent !== undefined) {\n window.detachEvent('onunload', listener);\n }\n },\n randomInt: function (max) {\n var random = function () {\n var crypto = window.crypto || window['msCrypto'];\n var random = crypto.getRandomValues(new Uint32Array(1))[0];\n return random / Math.pow(2, 32);\n };\n return Math.floor(random() * max);\n }\n};\n/* harmony default export */ var runtime = (Runtime);\n\n// CONCATENATED MODULE: ./src/core/timeline/level.ts\nvar TimelineLevel;\n(function (TimelineLevel) {\n TimelineLevel[TimelineLevel[\"ERROR\"] = 3] = \"ERROR\";\n TimelineLevel[TimelineLevel[\"INFO\"] = 6] = \"INFO\";\n TimelineLevel[TimelineLevel[\"DEBUG\"] = 7] = \"DEBUG\";\n})(TimelineLevel || (TimelineLevel = {}));\n/* harmony default export */ var timeline_level = (TimelineLevel);\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline.ts\n\n\n\nvar timeline_Timeline = (function () {\n function Timeline(key, session, options) {\n this.key = key;\n this.session = session;\n this.events = [];\n this.options = options || {};\n this.sent = 0;\n this.uniqueID = 0;\n }\n Timeline.prototype.log = function (level, event) {\n if (level <= this.options.level) {\n this.events.push(extend({}, event, { timestamp: util.now() }));\n if (this.options.limit && this.events.length > this.options.limit) {\n this.events.shift();\n }\n }\n };\n Timeline.prototype.error = function (event) {\n this.log(timeline_level.ERROR, event);\n };\n Timeline.prototype.info = function (event) {\n this.log(timeline_level.INFO, event);\n };\n Timeline.prototype.debug = function (event) {\n this.log(timeline_level.DEBUG, event);\n };\n Timeline.prototype.isEmpty = function () {\n return this.events.length === 0;\n };\n Timeline.prototype.send = function (sendfn, callback) {\n var _this = this;\n var data = extend({\n session: this.session,\n bundle: this.sent + 1,\n key: this.key,\n lib: 'js',\n version: this.options.version,\n cluster: this.options.cluster,\n features: this.options.features,\n timeline: this.events\n }, this.options.params);\n this.events = [];\n sendfn(data, function (error, result) {\n if (!error) {\n _this.sent++;\n }\n if (callback) {\n callback(error, result);\n }\n });\n return true;\n };\n Timeline.prototype.generateUniqueID = function () {\n this.uniqueID++;\n return this.uniqueID;\n };\n return Timeline;\n}());\n/* harmony default export */ var timeline_timeline = (timeline_Timeline);\n\n// CONCATENATED MODULE: ./src/core/strategies/transport_strategy.ts\n\n\n\n\nvar transport_strategy_TransportStrategy = (function () {\n function TransportStrategy(name, priority, transport, options) {\n this.name = name;\n this.priority = priority;\n this.transport = transport;\n this.options = options || {};\n }\n TransportStrategy.prototype.isSupported = function () {\n return this.transport.isSupported({\n useTLS: this.options.useTLS\n });\n };\n TransportStrategy.prototype.connect = function (minPriority, callback) {\n var _this = this;\n if (!this.isSupported()) {\n return failAttempt(new UnsupportedStrategy(), callback);\n }\n else if (this.priority < minPriority) {\n return failAttempt(new TransportPriorityTooLow(), callback);\n }\n var connected = false;\n var transport = this.transport.createConnection(this.name, this.priority, this.options.key, this.options);\n var handshake = null;\n var onInitialized = function () {\n transport.unbind('initialized', onInitialized);\n transport.connect();\n };\n var onOpen = function () {\n handshake = factory.createHandshake(transport, function (result) {\n connected = true;\n unbindListeners();\n callback(null, result);\n });\n };\n var onError = function (error) {\n unbindListeners();\n callback(error);\n };\n var onClosed = function () {\n unbindListeners();\n var serializedTransport;\n serializedTransport = safeJSONStringify(transport);\n callback(new TransportClosed(serializedTransport));\n };\n var unbindListeners = function () {\n transport.unbind('initialized', onInitialized);\n transport.unbind('open', onOpen);\n transport.unbind('error', onError);\n transport.unbind('closed', onClosed);\n };\n transport.bind('initialized', onInitialized);\n transport.bind('open', onOpen);\n transport.bind('error', onError);\n transport.bind('closed', onClosed);\n transport.initialize();\n return {\n abort: function () {\n if (connected) {\n return;\n }\n unbindListeners();\n if (handshake) {\n handshake.close();\n }\n else {\n transport.close();\n }\n },\n forceMinPriority: function (p) {\n if (connected) {\n return;\n }\n if (_this.priority < p) {\n if (handshake) {\n handshake.close();\n }\n else {\n transport.close();\n }\n }\n }\n };\n };\n return TransportStrategy;\n}());\n/* harmony default export */ var transport_strategy = (transport_strategy_TransportStrategy);\nfunction failAttempt(error, callback) {\n util.defer(function () {\n callback(error);\n });\n return {\n abort: function () { },\n forceMinPriority: function () { }\n };\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/strategy_builder.ts\n\n\n\n\n\nvar strategy_builder_Transports = runtime.Transports;\nvar strategy_builder_defineTransport = function (config, name, type, priority, options, manager) {\n var transportClass = strategy_builder_Transports[type];\n if (!transportClass) {\n throw new UnsupportedTransport(type);\n }\n var enabled = (!config.enabledTransports ||\n arrayIndexOf(config.enabledTransports, name) !== -1) &&\n (!config.disabledTransports ||\n arrayIndexOf(config.disabledTransports, name) === -1);\n var transport;\n if (enabled) {\n options = Object.assign({ ignoreNullOrigin: config.ignoreNullOrigin }, options);\n transport = new transport_strategy(name, priority, manager ? manager.getAssistant(transportClass) : transportClass, options);\n }\n else {\n transport = strategy_builder_UnsupportedStrategy;\n }\n return transport;\n};\nvar strategy_builder_UnsupportedStrategy = {\n isSupported: function () {\n return false;\n },\n connect: function (_, callback) {\n var deferred = util.defer(function () {\n callback(new UnsupportedStrategy());\n });\n return {\n abort: function () {\n deferred.ensureAborted();\n },\n forceMinPriority: function () { }\n };\n }\n};\n\n// CONCATENATED MODULE: ./src/core/auth/user_authenticator.ts\n\n\nvar composeChannelQuery = function (params, authOptions) {\n var query = 'socket_id=' + encodeURIComponent(params.socketId);\n for (var key in authOptions.params) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(authOptions.params[key]);\n }\n if (authOptions.paramsProvider != null) {\n var dynamicParams = authOptions.paramsProvider();\n for (var key in dynamicParams) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(dynamicParams[key]);\n }\n }\n return query;\n};\nvar UserAuthenticator = function (authOptions) {\n if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n throw \"'\" + authOptions.transport + \"' is not a recognized auth transport\";\n }\n return function (params, callback) {\n var query = composeChannelQuery(params, authOptions);\n runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.UserAuthentication, callback);\n };\n};\n/* harmony default export */ var user_authenticator = (UserAuthenticator);\n\n// CONCATENATED MODULE: ./src/core/auth/channel_authorizer.ts\n\n\nvar channel_authorizer_composeChannelQuery = function (params, authOptions) {\n var query = 'socket_id=' + encodeURIComponent(params.socketId);\n query += '&channel_name=' + encodeURIComponent(params.channelName);\n for (var key in authOptions.params) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(authOptions.params[key]);\n }\n if (authOptions.paramsProvider != null) {\n var dynamicParams = authOptions.paramsProvider();\n for (var key in dynamicParams) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(dynamicParams[key]);\n }\n }\n return query;\n};\nvar ChannelAuthorizer = function (authOptions) {\n if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n throw \"'\" + authOptions.transport + \"' is not a recognized auth transport\";\n }\n return function (params, callback) {\n var query = channel_authorizer_composeChannelQuery(params, authOptions);\n runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.ChannelAuthorization, callback);\n };\n};\n/* harmony default export */ var channel_authorizer = (ChannelAuthorizer);\n\n// CONCATENATED MODULE: ./src/core/auth/deprecated_channel_authorizer.ts\nvar ChannelAuthorizerProxy = function (pusher, authOptions, channelAuthorizerGenerator) {\n var deprecatedAuthorizerOptions = {\n authTransport: authOptions.transport,\n authEndpoint: authOptions.endpoint,\n auth: {\n params: authOptions.params,\n headers: authOptions.headers\n }\n };\n return function (params, callback) {\n var channel = pusher.channel(params.channelName);\n var channelAuthorizer = channelAuthorizerGenerator(channel, deprecatedAuthorizerOptions);\n channelAuthorizer.authorize(params.socketId, callback);\n };\n};\n\n// CONCATENATED MODULE: ./src/core/config.ts\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\n\n\nfunction getConfig(opts, pusher) {\n var config = {\n activityTimeout: opts.activityTimeout || defaults.activityTimeout,\n cluster: opts.cluster || defaults.cluster,\n httpPath: opts.httpPath || defaults.httpPath,\n httpPort: opts.httpPort || defaults.httpPort,\n httpsPort: opts.httpsPort || defaults.httpsPort,\n pongTimeout: opts.pongTimeout || defaults.pongTimeout,\n statsHost: opts.statsHost || defaults.stats_host,\n unavailableTimeout: opts.unavailableTimeout || defaults.unavailableTimeout,\n wsPath: opts.wsPath || defaults.wsPath,\n wsPort: opts.wsPort || defaults.wsPort,\n wssPort: opts.wssPort || defaults.wssPort,\n enableStats: getEnableStatsConfig(opts),\n httpHost: getHttpHost(opts),\n useTLS: shouldUseTLS(opts),\n wsHost: getWebsocketHost(opts),\n userAuthenticator: buildUserAuthenticator(opts),\n channelAuthorizer: buildChannelAuthorizer(opts, pusher)\n };\n if ('disabledTransports' in opts)\n config.disabledTransports = opts.disabledTransports;\n if ('enabledTransports' in opts)\n config.enabledTransports = opts.enabledTransports;\n if ('ignoreNullOrigin' in opts)\n config.ignoreNullOrigin = opts.ignoreNullOrigin;\n if ('timelineParams' in opts)\n config.timelineParams = opts.timelineParams;\n if ('nacl' in opts) {\n config.nacl = opts.nacl;\n }\n return config;\n}\nfunction getHttpHost(opts) {\n if (opts.httpHost) {\n return opts.httpHost;\n }\n if (opts.cluster) {\n return \"sockjs-\" + opts.cluster + \".pusher.com\";\n }\n return defaults.httpHost;\n}\nfunction getWebsocketHost(opts) {\n if (opts.wsHost) {\n return opts.wsHost;\n }\n if (opts.cluster) {\n return getWebsocketHostFromCluster(opts.cluster);\n }\n return getWebsocketHostFromCluster(defaults.cluster);\n}\nfunction getWebsocketHostFromCluster(cluster) {\n return \"ws-\" + cluster + \".pusher.com\";\n}\nfunction shouldUseTLS(opts) {\n if (runtime.getProtocol() === 'https:') {\n return true;\n }\n else if (opts.forceTLS === false) {\n return false;\n }\n return true;\n}\nfunction getEnableStatsConfig(opts) {\n if ('enableStats' in opts) {\n return opts.enableStats;\n }\n if ('disableStats' in opts) {\n return !opts.disableStats;\n }\n return false;\n}\nfunction buildUserAuthenticator(opts) {\n var userAuthentication = __assign(__assign({}, defaults.userAuthentication), opts.userAuthentication);\n if ('customHandler' in userAuthentication &&\n userAuthentication['customHandler'] != null) {\n return userAuthentication['customHandler'];\n }\n return user_authenticator(userAuthentication);\n}\nfunction buildChannelAuth(opts, pusher) {\n var channelAuthorization;\n if ('channelAuthorization' in opts) {\n channelAuthorization = __assign(__assign({}, defaults.channelAuthorization), opts.channelAuthorization);\n }\n else {\n channelAuthorization = {\n transport: opts.authTransport || defaults.authTransport,\n endpoint: opts.authEndpoint || defaults.authEndpoint\n };\n if ('auth' in opts) {\n if ('params' in opts.auth)\n channelAuthorization.params = opts.auth.params;\n if ('headers' in opts.auth)\n channelAuthorization.headers = opts.auth.headers;\n }\n if ('authorizer' in opts)\n channelAuthorization.customHandler = ChannelAuthorizerProxy(pusher, channelAuthorization, opts.authorizer);\n }\n return channelAuthorization;\n}\nfunction buildChannelAuthorizer(opts, pusher) {\n var channelAuthorization = buildChannelAuth(opts, pusher);\n if ('customHandler' in channelAuthorization &&\n channelAuthorization['customHandler'] != null) {\n return channelAuthorization['customHandler'];\n }\n return channel_authorizer(channelAuthorization);\n}\n\n// CONCATENATED MODULE: ./src/core/watchlist.ts\nvar watchlist_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar watchlist_WatchlistFacade = (function (_super) {\n watchlist_extends(WatchlistFacade, _super);\n function WatchlistFacade(pusher) {\n var _this = _super.call(this, function (eventName, data) {\n logger.debug(\"No callbacks on watchlist events for \" + eventName);\n }) || this;\n _this.pusher = pusher;\n _this.bindWatchlistInternalEvent();\n return _this;\n }\n WatchlistFacade.prototype.handleEvent = function (pusherEvent) {\n var _this = this;\n pusherEvent.data.events.forEach(function (watchlistEvent) {\n _this.emit(watchlistEvent.name, watchlistEvent);\n });\n };\n WatchlistFacade.prototype.bindWatchlistInternalEvent = function () {\n var _this = this;\n this.pusher.connection.bind('message', function (pusherEvent) {\n var eventName = pusherEvent.event;\n if (eventName === 'pusher_internal:watchlist_events') {\n _this.handleEvent(pusherEvent);\n }\n });\n };\n return WatchlistFacade;\n}(dispatcher));\n/* harmony default export */ var watchlist = (watchlist_WatchlistFacade);\n\n// CONCATENATED MODULE: ./src/core/utils/flat_promise.ts\nfunction flatPromise() {\n var resolve, reject;\n var promise = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n return { promise: promise, resolve: resolve, reject: reject };\n}\n/* harmony default export */ var flat_promise = (flatPromise);\n\n// CONCATENATED MODULE: ./src/core/user.ts\nvar user_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar user_UserFacade = (function (_super) {\n user_extends(UserFacade, _super);\n function UserFacade(pusher) {\n var _this = _super.call(this, function (eventName, data) {\n logger.debug('No callbacks on user for ' + eventName);\n }) || this;\n _this.signin_requested = false;\n _this.user_data = null;\n _this.serverToUserChannel = null;\n _this.signinDonePromise = null;\n _this._signinDoneResolve = null;\n _this._onAuthorize = function (err, authData) {\n if (err) {\n logger.warn(\"Error during signin: \" + err);\n _this._cleanup();\n return;\n }\n _this.pusher.send_event('pusher:signin', {\n auth: authData.auth,\n user_data: authData.user_data\n });\n };\n _this.pusher = pusher;\n _this.pusher.connection.bind('state_change', function (_a) {\n var previous = _a.previous, current = _a.current;\n if (previous !== 'connected' && current === 'connected') {\n _this._signin();\n }\n if (previous === 'connected' && current !== 'connected') {\n _this._cleanup();\n _this._newSigninPromiseIfNeeded();\n }\n });\n _this.watchlist = new watchlist(pusher);\n _this.pusher.connection.bind('message', function (event) {\n var eventName = event.event;\n if (eventName === 'pusher:signin_success') {\n _this._onSigninSuccess(event.data);\n }\n if (_this.serverToUserChannel &&\n _this.serverToUserChannel.name === event.channel) {\n _this.serverToUserChannel.handleEvent(event);\n }\n });\n return _this;\n }\n UserFacade.prototype.signin = function () {\n if (this.signin_requested) {\n return;\n }\n this.signin_requested = true;\n this._signin();\n };\n UserFacade.prototype._signin = function () {\n if (!this.signin_requested) {\n return;\n }\n this._newSigninPromiseIfNeeded();\n if (this.pusher.connection.state !== 'connected') {\n return;\n }\n this.pusher.config.userAuthenticator({\n socketId: this.pusher.connection.socket_id\n }, this._onAuthorize);\n };\n UserFacade.prototype._onSigninSuccess = function (data) {\n try {\n this.user_data = JSON.parse(data.user_data);\n }\n catch (e) {\n logger.error(\"Failed parsing user data after signin: \" + data.user_data);\n this._cleanup();\n return;\n }\n if (typeof this.user_data.id !== 'string' || this.user_data.id === '') {\n logger.error(\"user_data doesn't contain an id. user_data: \" + this.user_data);\n this._cleanup();\n return;\n }\n this._signinDoneResolve();\n this._subscribeChannels();\n };\n UserFacade.prototype._subscribeChannels = function () {\n var _this = this;\n var ensure_subscribed = function (channel) {\n if (channel.subscriptionPending && channel.subscriptionCancelled) {\n channel.reinstateSubscription();\n }\n else if (!channel.subscriptionPending &&\n _this.pusher.connection.state === 'connected') {\n channel.subscribe();\n }\n };\n this.serverToUserChannel = new channels_channel(\"#server-to-user-\" + this.user_data.id, this.pusher);\n this.serverToUserChannel.bind_global(function (eventName, data) {\n if (eventName.indexOf('pusher_internal:') === 0 ||\n eventName.indexOf('pusher:') === 0) {\n return;\n }\n _this.emit(eventName, data);\n });\n ensure_subscribed(this.serverToUserChannel);\n };\n UserFacade.prototype._cleanup = function () {\n this.user_data = null;\n if (this.serverToUserChannel) {\n this.serverToUserChannel.unbind_all();\n this.serverToUserChannel.disconnect();\n this.serverToUserChannel = null;\n }\n if (this.signin_requested) {\n this._signinDoneResolve();\n }\n };\n UserFacade.prototype._newSigninPromiseIfNeeded = function () {\n if (!this.signin_requested) {\n return;\n }\n if (this.signinDonePromise && !this.signinDonePromise.done) {\n return;\n }\n var _a = flat_promise(), promise = _a.promise, resolve = _a.resolve, _ = _a.reject;\n promise.done = false;\n var setDone = function () {\n promise.done = true;\n };\n promise.then(setDone)[\"catch\"](setDone);\n this.signinDonePromise = promise;\n this._signinDoneResolve = resolve;\n };\n return UserFacade;\n}(dispatcher));\n/* harmony default export */ var user = (user_UserFacade);\n\n// CONCATENATED MODULE: ./src/core/pusher.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar pusher_Pusher = (function () {\n function Pusher(app_key, options) {\n var _this = this;\n checkAppKey(app_key);\n options = options || {};\n if (!options.cluster && !(options.wsHost || options.httpHost)) {\n var suffix = url_store.buildLogSuffix('javascriptQuickStart');\n logger.warn(\"You should always specify a cluster when connecting. \" + suffix);\n }\n if ('disableStats' in options) {\n logger.warn('The disableStats option is deprecated in favor of enableStats');\n }\n this.key = app_key;\n this.config = getConfig(options, this);\n this.channels = factory.createChannels();\n this.global_emitter = new dispatcher();\n this.sessionID = runtime.randomInt(1000000000);\n this.timeline = new timeline_timeline(this.key, this.sessionID, {\n cluster: this.config.cluster,\n features: Pusher.getClientFeatures(),\n params: this.config.timelineParams || {},\n limit: 50,\n level: timeline_level.INFO,\n version: defaults.VERSION\n });\n if (this.config.enableStats) {\n this.timelineSender = factory.createTimelineSender(this.timeline, {\n host: this.config.statsHost,\n path: '/timeline/v2/' + runtime.TimelineTransport.name\n });\n }\n var getStrategy = function (options) {\n return runtime.getDefaultStrategy(_this.config, options, strategy_builder_defineTransport);\n };\n this.connection = factory.createConnectionManager(this.key, {\n getStrategy: getStrategy,\n timeline: this.timeline,\n activityTimeout: this.config.activityTimeout,\n pongTimeout: this.config.pongTimeout,\n unavailableTimeout: this.config.unavailableTimeout,\n useTLS: Boolean(this.config.useTLS)\n });\n this.connection.bind('connected', function () {\n _this.subscribeAll();\n if (_this.timelineSender) {\n _this.timelineSender.send(_this.connection.isUsingTLS());\n }\n });\n this.connection.bind('message', function (event) {\n var eventName = event.event;\n var internal = eventName.indexOf('pusher_internal:') === 0;\n if (event.channel) {\n var channel = _this.channel(event.channel);\n if (channel) {\n channel.handleEvent(event);\n }\n }\n if (!internal) {\n _this.global_emitter.emit(event.event, event.data);\n }\n });\n this.connection.bind('connecting', function () {\n _this.channels.disconnect();\n });\n this.connection.bind('disconnected', function () {\n _this.channels.disconnect();\n });\n this.connection.bind('error', function (err) {\n logger.warn(err);\n });\n Pusher.instances.push(this);\n this.timeline.info({ instances: Pusher.instances.length });\n this.user = new user(this);\n if (Pusher.isReady) {\n this.connect();\n }\n }\n Pusher.ready = function () {\n Pusher.isReady = true;\n for (var i = 0, l = Pusher.instances.length; i < l; i++) {\n Pusher.instances[i].connect();\n }\n };\n Pusher.getClientFeatures = function () {\n return keys(filterObject({ ws: runtime.Transports.ws }, function (t) {\n return t.isSupported({});\n }));\n };\n Pusher.prototype.channel = function (name) {\n return this.channels.find(name);\n };\n Pusher.prototype.allChannels = function () {\n return this.channels.all();\n };\n Pusher.prototype.connect = function () {\n this.connection.connect();\n if (this.timelineSender) {\n if (!this.timelineSenderTimer) {\n var usingTLS = this.connection.isUsingTLS();\n var timelineSender = this.timelineSender;\n this.timelineSenderTimer = new PeriodicTimer(60000, function () {\n timelineSender.send(usingTLS);\n });\n }\n }\n };\n Pusher.prototype.disconnect = function () {\n this.connection.disconnect();\n if (this.timelineSenderTimer) {\n this.timelineSenderTimer.ensureAborted();\n this.timelineSenderTimer = null;\n }\n };\n Pusher.prototype.bind = function (event_name, callback, context) {\n this.global_emitter.bind(event_name, callback, context);\n return this;\n };\n Pusher.prototype.unbind = function (event_name, callback, context) {\n this.global_emitter.unbind(event_name, callback, context);\n return this;\n };\n Pusher.prototype.bind_global = function (callback) {\n this.global_emitter.bind_global(callback);\n return this;\n };\n Pusher.prototype.unbind_global = function (callback) {\n this.global_emitter.unbind_global(callback);\n return this;\n };\n Pusher.prototype.unbind_all = function (callback) {\n this.global_emitter.unbind_all();\n return this;\n };\n Pusher.prototype.subscribeAll = function () {\n var channelName;\n for (channelName in this.channels.channels) {\n if (this.channels.channels.hasOwnProperty(channelName)) {\n this.subscribe(channelName);\n }\n }\n };\n Pusher.prototype.subscribe = function (channel_name) {\n var channel = this.channels.add(channel_name, this);\n if (channel.subscriptionPending && channel.subscriptionCancelled) {\n channel.reinstateSubscription();\n }\n else if (!channel.subscriptionPending &&\n this.connection.state === 'connected') {\n channel.subscribe();\n }\n return channel;\n };\n Pusher.prototype.unsubscribe = function (channel_name) {\n var channel = this.channels.find(channel_name);\n if (channel && channel.subscriptionPending) {\n channel.cancelSubscription();\n }\n else {\n channel = this.channels.remove(channel_name);\n if (channel && channel.subscribed) {\n channel.unsubscribe();\n }\n }\n };\n Pusher.prototype.send_event = function (event_name, data, channel) {\n return this.connection.send_event(event_name, data, channel);\n };\n Pusher.prototype.shouldUseTLS = function () {\n return this.config.useTLS;\n };\n Pusher.prototype.signin = function () {\n this.user.signin();\n };\n Pusher.instances = [];\n Pusher.isReady = false;\n Pusher.logToConsole = false;\n Pusher.Runtime = runtime;\n Pusher.ScriptReceivers = runtime.ScriptReceivers;\n Pusher.DependenciesReceivers = runtime.DependenciesReceivers;\n Pusher.auth_callbacks = runtime.auth_callbacks;\n return Pusher;\n}());\n/* harmony default export */ var core_pusher = __webpack_exports__[\"default\"] = (pusher_Pusher);\nfunction checkAppKey(key) {\n if (key === null || key === undefined) {\n throw 'You must pass your app key when you instantiate Pusher.';\n }\n}\nruntime.setup(pusher_Pusher);\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pusher.js.map","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (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 (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}\n\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\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (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 validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${encode(object.fragmentIdentifier, options)}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","import { createElement, Component } from 'react';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\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\nvar __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\nfunction __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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\n\nvar VIEWBOX_WIDTH = 100;\r\nvar VIEWBOX_HEIGHT = 100;\r\nvar VIEWBOX_HEIGHT_HALF = 50;\r\nvar VIEWBOX_CENTER_X = 50;\r\nvar VIEWBOX_CENTER_Y = 50;\n\nfunction Path(_a) {\r\n var className = _a.className, counterClockwise = _a.counterClockwise, dashRatio = _a.dashRatio, pathRadius = _a.pathRadius, strokeWidth = _a.strokeWidth, style = _a.style;\r\n return (createElement(\"path\", { className: className, style: Object.assign({}, style, getDashStyle({ pathRadius: pathRadius, dashRatio: dashRatio, counterClockwise: counterClockwise })), d: getPathDescription({\r\n pathRadius: pathRadius,\r\n counterClockwise: counterClockwise,\r\n }), strokeWidth: strokeWidth, fillOpacity: 0 }));\r\n}\r\nfunction getPathDescription(_a) {\r\n var pathRadius = _a.pathRadius, counterClockwise = _a.counterClockwise;\r\n var radius = pathRadius;\r\n var rotation = counterClockwise ? 1 : 0;\r\n return \"\\n M \" + VIEWBOX_CENTER_X + \",\" + VIEWBOX_CENTER_Y + \"\\n m 0,-\" + radius + \"\\n a \" + radius + \",\" + radius + \" \" + rotation + \" 1 1 0,\" + 2 * radius + \"\\n a \" + radius + \",\" + radius + \" \" + rotation + \" 1 1 0,-\" + 2 * radius + \"\\n \";\r\n}\r\nfunction getDashStyle(_a) {\r\n var counterClockwise = _a.counterClockwise, dashRatio = _a.dashRatio, pathRadius = _a.pathRadius;\r\n var diameter = Math.PI * 2 * pathRadius;\r\n var gapLength = (1 - dashRatio) * diameter;\r\n return {\r\n strokeDasharray: diameter + \"px \" + diameter + \"px\",\r\n strokeDashoffset: (counterClockwise ? -gapLength : gapLength) + \"px\",\r\n };\r\n}\n\nvar CircularProgressbar = (function (_super) {\r\n __extends(CircularProgressbar, _super);\r\n function CircularProgressbar() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n CircularProgressbar.prototype.getBackgroundPadding = function () {\r\n if (!this.props.background) {\r\n return 0;\r\n }\r\n return this.props.backgroundPadding;\r\n };\r\n CircularProgressbar.prototype.getPathRadius = function () {\r\n return VIEWBOX_HEIGHT_HALF - this.props.strokeWidth / 2 - this.getBackgroundPadding();\r\n };\r\n CircularProgressbar.prototype.getPathRatio = function () {\r\n var _a = this.props, value = _a.value, minValue = _a.minValue, maxValue = _a.maxValue;\r\n var boundedValue = Math.min(Math.max(value, minValue), maxValue);\r\n return (boundedValue - minValue) / (maxValue - minValue);\r\n };\r\n CircularProgressbar.prototype.render = function () {\r\n var _a = this.props, circleRatio = _a.circleRatio, className = _a.className, classes = _a.classes, counterClockwise = _a.counterClockwise, styles = _a.styles, strokeWidth = _a.strokeWidth, text = _a.text;\r\n var pathRadius = this.getPathRadius();\r\n var pathRatio = this.getPathRatio();\r\n return (createElement(\"svg\", { className: classes.root + \" \" + className, style: styles.root, viewBox: \"0 0 \" + VIEWBOX_WIDTH + \" \" + VIEWBOX_HEIGHT, \"data-test-id\": \"CircularProgressbar\" },\r\n this.props.background ? (createElement(\"circle\", { className: classes.background, style: styles.background, cx: VIEWBOX_CENTER_X, cy: VIEWBOX_CENTER_Y, r: VIEWBOX_HEIGHT_HALF })) : null,\r\n createElement(Path, { className: classes.trail, counterClockwise: counterClockwise, dashRatio: circleRatio, pathRadius: pathRadius, strokeWidth: strokeWidth, style: styles.trail }),\r\n createElement(Path, { className: classes.path, counterClockwise: counterClockwise, dashRatio: pathRatio * circleRatio, pathRadius: pathRadius, strokeWidth: strokeWidth, style: styles.path }),\r\n text ? (createElement(\"text\", { className: classes.text, style: styles.text, x: VIEWBOX_CENTER_X, y: VIEWBOX_CENTER_Y }, text)) : null));\r\n };\r\n CircularProgressbar.defaultProps = {\r\n background: false,\r\n backgroundPadding: 0,\r\n circleRatio: 1,\r\n classes: {\r\n root: 'CircularProgressbar',\r\n trail: 'CircularProgressbar-trail',\r\n path: 'CircularProgressbar-path',\r\n text: 'CircularProgressbar-text',\r\n background: 'CircularProgressbar-background',\r\n },\r\n counterClockwise: false,\r\n className: '',\r\n maxValue: 100,\r\n minValue: 0,\r\n strokeWidth: 8,\r\n styles: {\r\n root: {},\r\n trail: {},\r\n path: {},\r\n text: {},\r\n background: {},\r\n },\r\n text: '',\r\n };\r\n return CircularProgressbar;\r\n}(Component));\n\nfunction CircularProgressbarWithChildren(props) {\r\n var children = props.children, circularProgressbarProps = __rest(props, [\"children\"]);\r\n return (createElement(\"div\", { \"data-test-id\": \"CircularProgressbarWithChildren\" },\r\n createElement(\"div\", { style: { position: 'relative', width: '100%', height: '100%' } },\r\n createElement(CircularProgressbar, __assign({}, circularProgressbarProps)),\r\n props.children ? (createElement(\"div\", { \"data-test-id\": \"CircularProgressbarWithChildren__children\", style: {\r\n position: 'absolute',\r\n width: '100%',\r\n height: '100%',\r\n marginTop: '-100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n } }, props.children)) : null)));\r\n}\n\nfunction buildStyles(_a) {\r\n var rotation = _a.rotation, strokeLinecap = _a.strokeLinecap, textColor = _a.textColor, textSize = _a.textSize, pathColor = _a.pathColor, pathTransition = _a.pathTransition, pathTransitionDuration = _a.pathTransitionDuration, trailColor = _a.trailColor, backgroundColor = _a.backgroundColor;\r\n var rotationTransform = rotation == null ? undefined : \"rotate(\" + rotation + \"turn)\";\r\n var rotationTransformOrigin = rotation == null ? undefined : 'center center';\r\n return {\r\n root: {},\r\n path: removeUndefinedValues({\r\n stroke: pathColor,\r\n strokeLinecap: strokeLinecap,\r\n transform: rotationTransform,\r\n transformOrigin: rotationTransformOrigin,\r\n transition: pathTransition,\r\n transitionDuration: pathTransitionDuration == null ? undefined : pathTransitionDuration + \"s\",\r\n }),\r\n trail: removeUndefinedValues({\r\n stroke: trailColor,\r\n strokeLinecap: strokeLinecap,\r\n transform: rotationTransform,\r\n transformOrigin: rotationTransformOrigin,\r\n }),\r\n text: removeUndefinedValues({\r\n fill: textColor,\r\n fontSize: textSize,\r\n }),\r\n background: removeUndefinedValues({\r\n fill: backgroundColor,\r\n }),\r\n };\r\n}\r\nfunction removeUndefinedValues(obj) {\r\n Object.keys(obj).forEach(function (key) {\r\n if (obj[key] == null) {\r\n delete obj[key];\r\n }\r\n });\r\n return obj;\r\n}\n\nexport { CircularProgressbar, CircularProgressbarWithChildren, buildStyles };\n//# sourceMappingURL=index.esm.js.map\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hoistNonReactStatic = require('hoist-non-react-statics');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nmodule.exports = function enhanceWithClickOutside(WrappedComponent) {\n var componentName = WrappedComponent.displayName || WrappedComponent.name;\n\n var EnhancedComponent = function (_React$Component) {\n _inherits(EnhancedComponent, _React$Component);\n\n function EnhancedComponent(props) {\n _classCallCheck(this, EnhancedComponent);\n\n var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));\n\n _this.handleClickOutside = _this.handleClickOutside.bind(_this);\n return _this;\n }\n\n _createClass(EnhancedComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'handleClickOutside',\n value: function handleClickOutside(e) {\n var domNode = this.__domNode;\n if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {\n this.__wrappedInstance.handleClickOutside(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n wrappedRef = _props.wrappedRef,\n rest = _objectWithoutProperties(_props, ['wrappedRef']);\n\n return React.createElement(WrappedComponent, _extends({}, rest, {\n ref: function ref(c) {\n _this2.__wrappedInstance = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n wrappedRef && wrappedRef(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React.Component);\n\n EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';\n\n return hoistNonReactStatic(EnhancedComponent, WrappedComponent);\n};","'use strict';\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 contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\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};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\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 for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { createElement, isValidElement } from 'react';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nvar __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\nfunction __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}\n\nvar uid = (function () {\r\n return Math.random()\r\n .toString(36)\r\n .substring(6);\r\n});\n\nvar SVG = function (_a) {\r\n var _b = _a.animate, animate = _b === void 0 ? true : _b, animateBegin = _a.animateBegin, _c = _a.backgroundColor, backgroundColor = _c === void 0 ? '#f5f6f7' : _c, _d = _a.backgroundOpacity, backgroundOpacity = _d === void 0 ? 1 : _d, _e = _a.baseUrl, baseUrl = _e === void 0 ? '' : _e, children = _a.children, _f = _a.foregroundColor, foregroundColor = _f === void 0 ? '#eee' : _f, _g = _a.foregroundOpacity, foregroundOpacity = _g === void 0 ? 1 : _g, _h = _a.gradientRatio, gradientRatio = _h === void 0 ? 2 : _h, _j = _a.gradientDirection, gradientDirection = _j === void 0 ? 'left-right' : _j, uniqueKey = _a.uniqueKey, _k = _a.interval, interval = _k === void 0 ? 0.25 : _k, _l = _a.rtl, rtl = _l === void 0 ? false : _l, _m = _a.speed, speed = _m === void 0 ? 1.2 : _m, _o = _a.style, style = _o === void 0 ? {} : _o, _p = _a.title, title = _p === void 0 ? 'Loading...' : _p, _q = _a.beforeMask, beforeMask = _q === void 0 ? null : _q, props = __rest(_a, [\"animate\", \"animateBegin\", \"backgroundColor\", \"backgroundOpacity\", \"baseUrl\", \"children\", \"foregroundColor\", \"foregroundOpacity\", \"gradientRatio\", \"gradientDirection\", \"uniqueKey\", \"interval\", \"rtl\", \"speed\", \"style\", \"title\", \"beforeMask\"]);\r\n var fixedId = uniqueKey || uid();\r\n var idClip = fixedId + \"-diff\";\r\n var idGradient = fixedId + \"-animated-diff\";\r\n var idAria = fixedId + \"-aria\";\r\n var rtlStyle = rtl ? { transform: 'scaleX(-1)' } : null;\r\n var keyTimes = \"0; \" + interval + \"; 1\";\r\n var dur = speed + \"s\";\r\n var gradientTransform = gradientDirection === 'top-bottom' ? 'rotate(90)' : undefined;\r\n return (createElement(\"svg\", __assign({ \"aria-labelledby\": idAria, role: \"img\", style: __assign(__assign({}, style), rtlStyle) }, props),\r\n title ? createElement(\"title\", { id: idAria }, title) : null,\r\n beforeMask && isValidElement(beforeMask) ? beforeMask : null,\r\n createElement(\"rect\", { role: \"presentation\", x: \"0\", y: \"0\", width: \"100%\", height: \"100%\", clipPath: \"url(\" + baseUrl + \"#\" + idClip + \")\", style: { fill: \"url(\" + baseUrl + \"#\" + idGradient + \")\" } }),\r\n createElement(\"defs\", null,\r\n createElement(\"clipPath\", { id: idClip }, children),\r\n createElement(\"linearGradient\", { id: idGradient, gradientTransform: gradientTransform },\r\n createElement(\"stop\", { offset: \"0%\", stopColor: backgroundColor, stopOpacity: backgroundOpacity }, animate && (createElement(\"animate\", { attributeName: \"offset\", values: -gradientRatio + \"; \" + -gradientRatio + \"; 1\", keyTimes: keyTimes, dur: dur, repeatCount: \"indefinite\", begin: animateBegin }))),\r\n createElement(\"stop\", { offset: \"50%\", stopColor: foregroundColor, stopOpacity: foregroundOpacity }, animate && (createElement(\"animate\", { attributeName: \"offset\", values: -gradientRatio / 2 + \"; \" + -gradientRatio / 2 + \"; \" + (1 +\r\n gradientRatio / 2), keyTimes: keyTimes, dur: dur, repeatCount: \"indefinite\", begin: animateBegin }))),\r\n createElement(\"stop\", { offset: \"100%\", stopColor: backgroundColor, stopOpacity: backgroundOpacity }, animate && (createElement(\"animate\", { attributeName: \"offset\", values: \"0; 0; \" + (1 + gradientRatio), keyTimes: keyTimes, dur: dur, repeatCount: \"indefinite\", begin: animateBegin })))))));\r\n};\n\nvar ContentLoader = function (props) {\r\n return props.children ? createElement(SVG, __assign({}, props)) : createElement(ReactContentLoaderFacebook, __assign({}, props));\r\n};\n\nvar ReactContentLoaderFacebook = function (props) { return (createElement(ContentLoader, __assign({ viewBox: \"0 0 476 124\" }, props),\r\n createElement(\"rect\", { x: \"48\", y: \"8\", width: \"88\", height: \"6\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"48\", y: \"26\", width: \"52\", height: \"6\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"56\", width: \"410\", height: \"6\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"72\", width: \"380\", height: \"6\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"88\", width: \"178\", height: \"6\", rx: \"3\" }),\r\n createElement(\"circle\", { cx: \"20\", cy: \"20\", r: \"20\" }))); };\n\nvar ReactContentLoaderInstagram = function (props) { return (createElement(ContentLoader, __assign({ viewBox: \"0 0 400 460\" }, props),\r\n createElement(\"circle\", { cx: \"31\", cy: \"31\", r: \"15\" }),\r\n createElement(\"rect\", { x: \"58\", y: \"18\", rx: \"2\", ry: \"2\", width: \"140\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"58\", y: \"34\", rx: \"2\", ry: \"2\", width: \"140\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"60\", rx: \"2\", ry: \"2\", width: \"400\", height: \"400\" }))); };\n\nvar ReactContentLoaderCode = function (props) { return (createElement(ContentLoader, __assign({ viewBox: \"0 0 340 84\" }, props),\r\n createElement(\"rect\", { x: \"0\", y: \"0\", width: \"67\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"76\", y: \"0\", width: \"140\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"127\", y: \"48\", width: \"53\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"187\", y: \"48\", width: \"72\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"18\", y: \"48\", width: \"100\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"71\", width: \"37\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"18\", y: \"23\", width: \"140\", height: \"11\", rx: \"3\" }),\r\n createElement(\"rect\", { x: \"166\", y: \"23\", width: \"173\", height: \"11\", rx: \"3\" }))); };\n\nvar ReactContentLoaderListStyle = function (props) { return (createElement(ContentLoader, __assign({ viewBox: \"0 0 400 110\" }, props),\r\n createElement(\"rect\", { x: \"0\", y: \"0\", rx: \"3\", ry: \"3\", width: \"250\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"20\", y: \"20\", rx: \"3\", ry: \"3\", width: \"220\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"20\", y: \"40\", rx: \"3\", ry: \"3\", width: \"170\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"0\", y: \"60\", rx: \"3\", ry: \"3\", width: \"250\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"20\", y: \"80\", rx: \"3\", ry: \"3\", width: \"200\", height: \"10\" }),\r\n createElement(\"rect\", { x: \"20\", y: \"100\", rx: \"3\", ry: \"3\", width: \"80\", height: \"10\" }))); };\n\nvar ReactContentLoaderBulletList = function (props) { return (createElement(ContentLoader, __assign({ viewBox: \"0 0 245 125\" }, props),\r\n createElement(\"circle\", { cx: \"10\", cy: \"20\", r: \"8\" }),\r\n createElement(\"rect\", { x: \"25\", y: \"15\", rx: \"5\", ry: \"5\", width: \"220\", height: \"10\" }),\r\n createElement(\"circle\", { cx: \"10\", cy: \"50\", r: \"8\" }),\r\n createElement(\"rect\", { x: \"25\", y: \"45\", rx: \"5\", ry: \"5\", width: \"220\", height: \"10\" }),\r\n createElement(\"circle\", { cx: \"10\", cy: \"80\", r: \"8\" }),\r\n createElement(\"rect\", { x: \"25\", y: \"75\", rx: \"5\", ry: \"5\", width: \"220\", height: \"10\" }),\r\n createElement(\"circle\", { cx: \"10\", cy: \"110\", r: \"8\" }),\r\n createElement(\"rect\", { x: \"25\", y: \"105\", rx: \"5\", ry: \"5\", width: \"220\", height: \"10\" }))); };\n\nexport default ContentLoader;\nexport { ReactContentLoaderBulletList as BulletList, ReactContentLoaderCode as Code, ReactContentLoaderFacebook as Facebook, ReactContentLoaderInstagram as Instagram, ReactContentLoaderListStyle as List };\n//# sourceMappingURL=react-content-loader.es.js.map\n","import { useState, useRef, useCallback, useEffect } from 'react';\n\nvar canUsePassiveEvents = (function () {\n if (typeof window === \"undefined\" || typeof window.addEventListener !== \"function\") return false;\n var passive = false;\n var options = Object.defineProperty({}, \"passive\", {\n // eslint-disable-next-line getter-return\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {\n return null;\n };\n\n window.addEventListener(\"test\", noop, options);\n window.removeEventListener(\"test\", noop, options);\n return passive;\n});\n\nvar DEFAULT_IGNORE_CLASS = \"ignore-onclickoutside\";\n\nvar checkClass = function checkClass(el, cl) {\n var _el$classList;\n\n return (_el$classList = el.classList) == null ? void 0 : _el$classList.contains(cl);\n};\n\nvar hasIgnoreClass = function hasIgnoreClass(e, ignoreClass) {\n var el = e.target || e;\n\n while (el) {\n if (Array.isArray(ignoreClass)) {\n // eslint-disable-next-line no-loop-func\n if (ignoreClass.some(function (c) {\n return checkClass(el, c);\n })) return true;\n } else if (checkClass(el, ignoreClass)) {\n return true;\n }\n\n el = el.parentElement;\n }\n\n return false;\n};\n\nvar clickedOnScrollbar = function clickedOnScrollbar(e) {\n return document.documentElement.clientWidth <= e.clientX || document.documentElement.clientHeight <= e.clientY;\n};\n\nvar getEventOptions = function getEventOptions(type) {\n return type.includes(\"touch\") && canUsePassiveEvents() ? {\n passive: true\n } : false;\n};\n\nvar useOnclickOutside = function useOnclickOutside(callback, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n refsOpt = _ref.refs,\n disabled = _ref.disabled,\n _ref$eventTypes = _ref.eventTypes,\n eventTypes = _ref$eventTypes === void 0 ? [\"mousedown\", \"touchstart\"] : _ref$eventTypes,\n excludeScrollbar = _ref.excludeScrollbar,\n _ref$ignoreClass = _ref.ignoreClass,\n ignoreClass = _ref$ignoreClass === void 0 ? DEFAULT_IGNORE_CLASS : _ref$ignoreClass,\n _ref$detectIFrame = _ref.detectIFrame,\n detectIFrame = _ref$detectIFrame === void 0 ? true : _ref$detectIFrame;\n\n var _useState = useState([]),\n refsState = _useState[0],\n setRefsState = _useState[1];\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback;\n var ref = useCallback(function (el) {\n return setRefsState(function (prevState) {\n return [].concat(prevState, [{\n current: el\n }]);\n });\n }, []);\n useEffect(function () {\n if (!(refsOpt != null && refsOpt.length) && !refsState.length) return;\n\n var getEls = function getEls() {\n var els = [];\n (refsOpt || refsState).forEach(function (_ref2) {\n var current = _ref2.current;\n return current && els.push(current);\n });\n return els;\n };\n\n var handler = function handler(e) {\n if (!hasIgnoreClass(e, ignoreClass) && !(excludeScrollbar && clickedOnScrollbar(e)) && getEls().every(function (el) {\n return !el.contains(e.target);\n })) callbackRef.current(e);\n };\n\n var blurHandler = function blurHandler(e) {\n return (// On firefox the iframe becomes document.activeElement in the next event loop\n setTimeout(function () {\n var _document = document,\n activeElement = _document.activeElement;\n if ((activeElement == null ? void 0 : activeElement.tagName) === \"IFRAME\" && !hasIgnoreClass(activeElement, ignoreClass) && !getEls().includes(activeElement)) callbackRef.current(e);\n }, 0)\n );\n };\n\n var removeEventListener = function removeEventListener() {\n eventTypes.forEach(function (type) {\n return (// @ts-expect-error\n document.removeEventListener(type, handler, getEventOptions(type))\n );\n });\n if (detectIFrame) window.removeEventListener(\"blur\", blurHandler);\n };\n\n if (disabled) {\n removeEventListener();\n return;\n }\n\n eventTypes.forEach(function (type) {\n return document.addEventListener(type, handler, getEventOptions(type));\n });\n if (detectIFrame) window.addEventListener(\"blur\", blurHandler); // eslint-disable-next-line consistent-return\n\n return function () {\n return removeEventListener();\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [refsState, ignoreClass, excludeScrollbar, disabled, detectIFrame, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(eventTypes)]);\n return ref;\n};\n\nexport default useOnclickOutside;\nexport { DEFAULT_IGNORE_CLASS };\n","/** @license React v17.0.2\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=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\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","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\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 var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: 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\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var 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 var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\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\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\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}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\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 var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var 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; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\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 var unsubscribeWrapper = function 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}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function 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 \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\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 var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\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 && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var 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 var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var 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 <Provider>, \") + \"or pass a custom React context provider to <Provider> 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 var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\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 // 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 var subscription = createSubscription(store, didStoreComeFromProps ? null : 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 // `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 var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // 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\n var overriddenContextValue = useMemo(function () {\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: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\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 }, [store, previousStateUpdateResult, 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 useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // 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 var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\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 var renderedChild = useMemo(function () {\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 } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","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 var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!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 verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\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 = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport function useReduxContext() {\n var 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 <Provider>');\n }\n\n return contextValue;\n}","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 `<Provider>`.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\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 <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport var 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 `<Provider>`.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\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 * <div>\r\n * <span>{value}</span>\r\n * <button onClick={increaseCounter}>Increase counter</button>\r\n * </div>\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\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(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\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 `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\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 var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\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 <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","'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.batchedSubscribe = batchedSubscribe;\n\nfunction batchedSubscribe(batch) {\n if (typeof batch !== 'function') {\n throw new Error('Expected batch to be a function.');\n }\n\n var currentListeners = [];\n var nextListeners = currentListeners;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n function notifyListeners() {\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function notifyListenersBatched() {\n batch(notifyListeners);\n }\n\n return function (next) {\n return function () {\n var store = next.apply(undefined, arguments);\n var subscribeImmediate = store.subscribe;\n\n function dispatch() {\n var res = store.dispatch.apply(store, arguments);\n notifyListenersBatched();\n return res;\n }\n\n return _extends({}, store, {\n dispatch: dispatch,\n subscribe: subscribe,\n subscribeImmediate: subscribeImmediate\n });\n };\n };\n}","'use strict';\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : function () {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n };\n\nexports.devToolsEnhancer =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__\n : function () {\n return function (noop) {\n return noop;\n };\n };\n","/* eslint no-console:0 */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = logSlowReducers;\n\nfunction logSlowReducers(reducers) {\n var thresholdInMs = arguments.length <= 1 || arguments[1] === undefined ? 8 : arguments[1];\n\n Object.keys(reducers).forEach(function (name) {\n var originalReducer = reducers[name];\n reducers[name] = function (state, action) {\n var start = Date.now();\n var result = originalReducer(state, action);\n var diffInMs = Date.now() - start;\n if (diffInMs >= thresholdInMs) {\n console.warn('Reducer \"' + name + '\" took ' + diffInMs + 'ms for ' + action.type);\n }\n return result;\n };\n });\n return reducers;\n}\n\nmodule.exports = exports['default'];","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.reduxLogger=e.reduxLogger||{})}(this,function(e){\"use strict\";function t(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function r(e,t){Object.defineProperty(this,\"kind\",{value:e,enumerable:!0}),t&&t.length&&Object.defineProperty(this,\"path\",{value:t,enumerable:!0})}function n(e,t,r){n.super_.call(this,\"E\",e),Object.defineProperty(this,\"lhs\",{value:t,enumerable:!0}),Object.defineProperty(this,\"rhs\",{value:r,enumerable:!0})}function o(e,t){o.super_.call(this,\"N\",e),Object.defineProperty(this,\"rhs\",{value:t,enumerable:!0})}function i(e,t){i.super_.call(this,\"D\",e),Object.defineProperty(this,\"lhs\",{value:t,enumerable:!0})}function a(e,t,r){a.super_.call(this,\"A\",e),Object.defineProperty(this,\"index\",{value:t,enumerable:!0}),Object.defineProperty(this,\"item\",{value:r,enumerable:!0})}function f(e,t,r){var n=e.slice((r||t)+1||e.length);return e.length=t<0?e.length+t:t,e.push.apply(e,n),e}function u(e){var t=\"undefined\"==typeof e?\"undefined\":N(e);return\"object\"!==t?t:e===Math?\"math\":null===e?\"null\":Array.isArray(e)?\"array\":\"[object Date]\"===Object.prototype.toString.call(e)?\"date\":\"function\"==typeof e.toString&&/^\\/.*\\//.test(e.toString())?\"regexp\":\"object\"}function l(e,t,r,c,s,d,p){s=s||[],p=p||[];var g=s.slice(0);if(\"undefined\"!=typeof d){if(c){if(\"function\"==typeof c&&c(g,d))return;if(\"object\"===(\"undefined\"==typeof c?\"undefined\":N(c))){if(c.prefilter&&c.prefilter(g,d))return;if(c.normalize){var h=c.normalize(g,d,e,t);h&&(e=h[0],t=h[1])}}}g.push(d)}\"regexp\"===u(e)&&\"regexp\"===u(t)&&(e=e.toString(),t=t.toString());var y=\"undefined\"==typeof e?\"undefined\":N(e),v=\"undefined\"==typeof t?\"undefined\":N(t),b=\"undefined\"!==y||p&&p[p.length-1].lhs&&p[p.length-1].lhs.hasOwnProperty(d),m=\"undefined\"!==v||p&&p[p.length-1].rhs&&p[p.length-1].rhs.hasOwnProperty(d);if(!b&&m)r(new o(g,t));else if(!m&&b)r(new i(g,e));else if(u(e)!==u(t))r(new n(g,e,t));else if(\"date\"===u(e)&&e-t!==0)r(new n(g,e,t));else if(\"object\"===y&&null!==e&&null!==t)if(p.filter(function(t){return t.lhs===e}).length)e!==t&&r(new n(g,e,t));else{if(p.push({lhs:e,rhs:t}),Array.isArray(e)){var w;e.length;for(w=0;w<e.length;w++)w>=t.length?r(new a(g,w,new i(void 0,e[w]))):l(e[w],t[w],r,c,g,w,p);for(;w<t.length;)r(new a(g,w,new o(void 0,t[w++])))}else{var x=Object.keys(e),S=Object.keys(t);x.forEach(function(n,o){var i=S.indexOf(n);i>=0?(l(e[n],t[n],r,c,g,n,p),S=f(S,i)):l(e[n],void 0,r,c,g,n,p)}),S.forEach(function(e){l(void 0,t[e],r,c,g,e,p)})}p.length=p.length-1}else e!==t&&(\"number\"===y&&isNaN(e)&&isNaN(t)||r(new n(g,e,t)))}function c(e,t,r,n){return n=n||[],l(e,t,function(e){e&&n.push(e)},r),n.length?n:void 0}function s(e,t,r){if(r.path&&r.path.length){var n,o=e[t],i=r.path.length-1;for(n=0;n<i;n++)o=o[r.path[n]];switch(r.kind){case\"A\":s(o[r.path[n]],r.index,r.item);break;case\"D\":delete o[r.path[n]];break;case\"E\":case\"N\":o[r.path[n]]=r.rhs}}else switch(r.kind){case\"A\":s(e[t],r.index,r.item);break;case\"D\":e=f(e,t);break;case\"E\":case\"N\":e[t]=r.rhs}return e}function d(e,t,r){if(e&&t&&r&&r.kind){for(var n=e,o=-1,i=r.path?r.path.length-1:0;++o<i;)\"undefined\"==typeof n[r.path[o]]&&(n[r.path[o]]=\"number\"==typeof r.path[o]?[]:{}),n=n[r.path[o]];switch(r.kind){case\"A\":s(r.path?n[r.path[o]]:n,r.index,r.item);break;case\"D\":delete n[r.path[o]];break;case\"E\":case\"N\":n[r.path[o]]=r.rhs}}}function p(e,t,r){if(r.path&&r.path.length){var n,o=e[t],i=r.path.length-1;for(n=0;n<i;n++)o=o[r.path[n]];switch(r.kind){case\"A\":p(o[r.path[n]],r.index,r.item);break;case\"D\":o[r.path[n]]=r.lhs;break;case\"E\":o[r.path[n]]=r.lhs;break;case\"N\":delete o[r.path[n]]}}else switch(r.kind){case\"A\":p(e[t],r.index,r.item);break;case\"D\":e[t]=r.lhs;break;case\"E\":e[t]=r.lhs;break;case\"N\":e=f(e,t)}return e}function g(e,t,r){if(e&&t&&r&&r.kind){var n,o,i=e;for(o=r.path.length-1,n=0;n<o;n++)\"undefined\"==typeof i[r.path[n]]&&(i[r.path[n]]={}),i=i[r.path[n]];switch(r.kind){case\"A\":p(i[r.path[n]],r.index,r.item);break;case\"D\":i[r.path[n]]=r.lhs;break;case\"E\":i[r.path[n]]=r.lhs;break;case\"N\":delete i[r.path[n]]}}}function h(e,t,r){if(e&&t){var n=function(n){r&&!r(e,t,n)||d(e,t,n)};l(e,t,n)}}function y(e){return\"color: \"+F[e].color+\"; font-weight: bold\"}function v(e){var t=e.kind,r=e.path,n=e.lhs,o=e.rhs,i=e.index,a=e.item;switch(t){case\"E\":return[r.join(\".\"),n,\"→\",o];case\"N\":return[r.join(\".\"),o];case\"D\":return[r.join(\".\")];case\"A\":return[r.join(\".\")+\"[\"+i+\"]\",a];default:return[]}}function b(e,t,r,n){var o=c(e,t);try{n?r.groupCollapsed(\"diff\"):r.group(\"diff\")}catch(e){r.log(\"diff\")}o?o.forEach(function(e){var t=e.kind,n=v(e);r.log.apply(r,[\"%c \"+F[t].text,y(t)].concat(P(n)))}):r.log(\"—— no diff ——\");try{r.groupEnd()}catch(e){r.log(\"—— diff end —— \")}}function m(e,t,r,n){switch(\"undefined\"==typeof e?\"undefined\":N(e)){case\"object\":return\"function\"==typeof e[n]?e[n].apply(e,P(r)):e[n];case\"function\":return e(t);default:return e}}function w(e){var t=e.timestamp,r=e.duration;return function(e,n,o){var i=[\"action\"];return i.push(\"%c\"+String(e.type)),t&&i.push(\"%c@ \"+n),r&&i.push(\"%c(in \"+o.toFixed(2)+\" ms)\"),i.join(\" \")}}function x(e,t){var r=t.logger,n=t.actionTransformer,o=t.titleFormatter,i=void 0===o?w(t):o,a=t.collapsed,f=t.colors,u=t.level,l=t.diff,c=\"undefined\"==typeof t.titleFormatter;e.forEach(function(o,s){var d=o.started,p=o.startedTime,g=o.action,h=o.prevState,y=o.error,v=o.took,w=o.nextState,x=e[s+1];x&&(w=x.prevState,v=x.started-d);var S=n(g),k=\"function\"==typeof a?a(function(){return w},g,o):a,j=D(p),E=f.title?\"color: \"+f.title(S)+\";\":\"\",A=[\"color: gray; font-weight: lighter;\"];A.push(E),t.timestamp&&A.push(\"color: gray; font-weight: lighter;\"),t.duration&&A.push(\"color: gray; font-weight: lighter;\");var O=i(S,j,v);try{k?f.title&&c?r.groupCollapsed.apply(r,[\"%c \"+O].concat(A)):r.groupCollapsed(O):f.title&&c?r.group.apply(r,[\"%c \"+O].concat(A)):r.group(O)}catch(e){r.log(O)}var N=m(u,S,[h],\"prevState\"),P=m(u,S,[S],\"action\"),C=m(u,S,[y,h],\"error\"),F=m(u,S,[w],\"nextState\");if(N)if(f.prevState){var L=\"color: \"+f.prevState(h)+\"; font-weight: bold\";r[N](\"%c prev state\",L,h)}else r[N](\"prev state\",h);if(P)if(f.action){var T=\"color: \"+f.action(S)+\"; font-weight: bold\";r[P](\"%c action \",T,S)}else r[P](\"action \",S);if(y&&C)if(f.error){var M=\"color: \"+f.error(y,h)+\"; font-weight: bold;\";r[C](\"%c error \",M,y)}else r[C](\"error \",y);if(F)if(f.nextState){var _=\"color: \"+f.nextState(w)+\"; font-weight: bold\";r[F](\"%c next state\",_,w)}else r[F](\"next state\",w);l&&b(h,w,r,k);try{r.groupEnd()}catch(e){r.log(\"—— log end ——\")}})}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},L,e),r=t.logger,n=t.stateTransformer,o=t.errorTransformer,i=t.predicate,a=t.logErrors,f=t.diffPredicate;if(\"undefined\"==typeof r)return function(){return function(e){return function(t){return e(t)}}};if(e.getState&&e.dispatch)return console.error(\"[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\\n// Logger with default options\\nimport { logger } from 'redux-logger'\\nconst store = createStore(\\n reducer,\\n applyMiddleware(logger)\\n)\\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\\nimport createLogger from 'redux-logger'\\nconst logger = createLogger({\\n // ...options\\n});\\nconst store = createStore(\\n reducer,\\n applyMiddleware(logger)\\n)\\n\"),function(){return function(e){return function(t){return e(t)}}};var u=[];return function(e){var r=e.getState;return function(e){return function(l){if(\"function\"==typeof i&&!i(r,l))return e(l);var c={};u.push(c),c.started=O.now(),c.startedTime=new Date,c.prevState=n(r()),c.action=l;var s=void 0;if(a)try{s=e(l)}catch(e){c.error=o(e)}else s=e(l);c.took=O.now()-c.started,c.nextState=n(r());var d=t.diff&&\"function\"==typeof f?f(r,l):t.diff;if(x(u,Object.assign({},t,{diff:d})),u.length=0,c.error)throw c.error;return s}}}}var k,j,E=function(e,t){return new Array(t+1).join(e)},A=function(e,t){return E(\"0\",t-e.toString().length)+e},D=function(e){return A(e.getHours(),2)+\":\"+A(e.getMinutes(),2)+\":\"+A(e.getSeconds(),2)+\".\"+A(e.getMilliseconds(),3)},O=\"undefined\"!=typeof performance&&null!==performance&&\"function\"==typeof performance.now?performance:Date,N=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},P=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},C=[];k=\"object\"===(\"undefined\"==typeof global?\"undefined\":N(global))&&global?global:\"undefined\"!=typeof window?window:{},j=k.DeepDiff,j&&C.push(function(){\"undefined\"!=typeof j&&k.DeepDiff===c&&(k.DeepDiff=j,j=void 0)}),t(n,r),t(o,r),t(i,r),t(a,r),Object.defineProperties(c,{diff:{value:c,enumerable:!0},observableDiff:{value:l,enumerable:!0},applyDiff:{value:h,enumerable:!0},applyChange:{value:d,enumerable:!0},revertChange:{value:g,enumerable:!0},isConflict:{value:function(){return\"undefined\"!=typeof j},enumerable:!0},noConflict:{value:function(){return C&&(C.forEach(function(e){e()}),C=null),c},enumerable:!0}});var F={E:{color:\"#2196F3\",text:\"CHANGED:\"},N:{color:\"#4CAF50\",text:\"ADDED:\"},D:{color:\"#F44336\",text:\"DELETED:\"},A:{color:\"#2196F3\",text:\"ARRAY:\"}},L={level:\"log\",logger:console,logErrors:!0,collapsed:void 0,predicate:void 0,duration:!1,timestamp:!0,stateTransformer:function(e){return e},actionTransformer:function(e){return e},errorTransformer:function(e){return e},colors:{title:function(){return\"inherit\"},prevState:function(){return\"#9E9E9E\"},action:function(){return\"#03A9F4\"},nextState:function(){return\"#4CAF50\"},error:function(){return\"#F20404\"}},diff:!1,diffPredicate:void 0,transformer:void 0},T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dispatch,r=e.getState;return\"function\"==typeof t||\"function\"==typeof r?S()({dispatch:t,getState:r}):void console.error(\"\\n[redux-logger v3] BREAKING CHANGE\\n[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.\\n[redux-logger v3] Change\\n[redux-logger v3] import createLogger from 'redux-logger'\\n[redux-logger v3] to\\n[redux-logger v3] import { createLogger } from 'redux-logger'\\n\")};e.defaults=L,e.createLogger=S,e.logger=T,e.default=T,Object.defineProperty(e,\"__esModule\",{value:!0})});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Redux dispatch multiple actions\n */\n\nfunction multi(_ref) {\n var dispatch = _ref.dispatch;\n\n return function (next) {\n return function (action) {\n return Array.isArray(action) ? action.filter(Boolean).map(dispatch) : next(action);\n };\n };\n}\n\n/**\n * Exports\n */\n\nexports.default = multi;","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nimport { merge } from 'rxjs';\n\n/**\n Merges all epics into a single one.\n */\nexport var combineEpics = function combineEpics() {\n for (var _len = arguments.length, epics = Array(_len), _key = 0; _key < _len; _key++) {\n epics[_key] = arguments[_key];\n }\n\n var merger = function merger() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge.apply(undefined, _toConsumableArray(epics.map(function (epic) {\n var output$ = epic.apply(undefined, args);\n if (!output$) {\n throw new TypeError('combineEpics: one of the provided Epics \"' + (epic.name || '<anonymous>') + '\" does not return a stream. Double check you\\'re not missing a return statement!');\n }\n return output$;\n })));\n };\n\n // Technically the `name` property on Function's are supposed to be read-only.\n // While some JS runtimes allow it anyway (so this is useful in debugging)\n // some actually throw an exception when you attempt to do so.\n try {\n Object.defineProperty(merger, 'name', {\n value: 'combineEpics(' + epics.map(function (epic) {\n return epic.name || '<anonymous>';\n }).join(', ') + ')'\n });\n } catch (e) {}\n\n return merger;\n};","import { filter } from 'rxjs/operators';\n\nvar keyHasType = function keyHasType(type, key) {\n return type === key || typeof key === 'function' && type === key.toString();\n};\n\nexport var ofType = function ofType() {\n for (var _len = arguments.length, keys = Array(_len), _key = 0; _key < _len; _key++) {\n keys[_key] = arguments[_key];\n }\n\n return function (source) {\n return source.pipe(filter(function (_ref) {\n var type = _ref.type;\n\n var len = keys.length;\n if (len === 1) {\n return keyHasType(type, keys[0]);\n } else {\n for (var i = 0; i < len; i++) {\n if (keyHasType(type, keys[i])) {\n return true;\n }\n }\n }\n return false;\n }));\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\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar rxjs_1 = require(\"rxjs\");\nexports.Subject = rxjs_1.Subject;\n//# sourceMappingURL=Subject.js.map","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"rxjs-compat/Subject\"));\n//# sourceMappingURL=Subject.js.map","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=refCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nvar ConnectableObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._refCount = 0;\n _this._isComplete = false;\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\nexport var connectableObservableDescriptor = /*@__PURE__*/ (function () {\n var connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nvar ConnectableSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(SubjectSubscriber));\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nvar GroupByOperator = /*@__PURE__*/ (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\nvar GroupBySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.elementSelector = elementSelector;\n _this.durationSelector = durationSelector;\n _this.subjectSelector = subjectSelector;\n _this.groups = null;\n _this.attemptedToUnsubscribe = false;\n _this.count = 0;\n return _this;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new Subject());\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber));\nvar GroupDurationSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n var _this = _super.call(this, group) || this;\n _this.key = key;\n _this.group = group;\n _this.parent = parent;\n return _this;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber));\nvar GroupedObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n var _this = _super.call(this) || this;\n _this.key = key;\n _this.groupSubject = groupSubject;\n _this.refCountSubscription = refCountSubscription;\n return _this;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable));\nexport { GroupedObservable };\nvar InnerRefCountSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n parent.count++;\n return _this;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription));\n//# sourceMappingURL=groupBy.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nvar ReplaySubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) {\n bufferSize = Number.POSITIVE_INFINITY;\n }\n if (windowTime === void 0) {\n windowTime = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n if (!this.isStopped) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\nvar ReplayEvent = /*@__PURE__*/ (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { Subscription } from './Subscription';\nvar AsyncSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.value = null;\n _this.hasNext = false;\n _this.hasCompleted = false;\n return _this;\n }\n AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(Subject));\nexport { AsyncSubject };\n//# sourceMappingURL=AsyncSubject.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar AnimationFrameAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AnimationFrameScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n","/** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */\nimport { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrameScheduler = /*@__PURE__*/ new AnimationFrameScheduler(AnimationFrameAction);\nexport var animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nvar VirtualTimeScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n if (SchedulerAction === void 0) {\n SchedulerAction = VirtualAction;\n }\n if (maxFrames === void 0) {\n maxFrames = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, SchedulerAction, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler));\nexport { VirtualTimeScheduler };\nvar VirtualAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) {\n index = scheduler.index += 1;\n }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction));\nexport { VirtualAction };\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n//# sourceMappingURL=isObservable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar EmptyErrorImpl = /*@__PURE__*/ (function () {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport var EmptyError = EmptyErrorImpl;\n//# sourceMappingURL=EmptyError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar TimeoutErrorImpl = /*@__PURE__*/ (function () {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport var TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isArray,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isArray } from '../util/isArray';\nimport { isScheduler } from '../util/isScheduler';\nexport function bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var subject;\n var params = {\n context: context,\n subject: subject,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n };\n return new Observable(function (subscriber) {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n var state = {\n args: args, subscriber: subscriber, params: params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var self = this;\n var args = state.args, subscriber = state.subscriber, params = state.params;\n var callbackFunc = params.callbackFunc, context = params.context, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n var value = state.value, subject = state.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n var err = state.err, subject = state.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isScheduler,_util_isArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nexport function bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindNodeCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var params = {\n subject: undefined,\n args: args,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n context: this,\n };\n return new Observable(function (subscriber) {\n var context = params.context;\n var subject = params.subject;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params: params, subscriber: subscriber, context: context });\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var params = state.params, subscriber = state.subscriber, context = state.context;\n var callbackFunc = params.callbackFunc, args = params.args, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n _this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map\n","/** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nvar NONE = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nvar CombineLatestOperator = /*@__PURE__*/ (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\nexport { CombineLatestOperator };\nvar CombineLatestSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber));\nexport { CombineLatestSubscriber };\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\nimport { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map\n","/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\nimport { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_operators_map,_util_isObject,_from PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 1) {\n var first_1 = sources[0];\n if (isArray(first_1)) {\n return forkJoinInternal(first_1, null);\n }\n if (isObject(first_1) && Object.getPrototypeOf(first_1) === Object.prototype) {\n var keys = Object.keys(first_1);\n return forkJoinInternal(keys.map(function (key) { return first_1[key]; }), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n var resultSelector_1 = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map(function (args) { return resultSelector_1.apply(void 0, args); }));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(function (subscriber) {\n var len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n var values = new Array(len);\n var completed = 0;\n var emitted = 0;\n var _loop_1 = function (i) {\n var source = from(sources[i]);\n var hasValue = false;\n subscriber.add(source.subscribe({\n next: function (value) {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: function (err) { return subscriber.error(err); },\n complete: function () {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce(function (result, key, i) { return (result[key] = values[i], result); }, {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map\n","/** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { isScheduler } from '../util/isScheduler';\nexport function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n var resultSelector;\n var initialState;\n if (arguments.length == 1) {\n var options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable(function (subscriber) {\n var state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber: subscriber,\n iterate: iterate,\n condition: condition,\n resultSelector: resultSelector,\n state: state\n });\n }\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map\n","/** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */\nimport { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) {\n trueResult = EMPTY;\n }\n if (falseResult === void 0) {\n falseResult = EMPTY;\n }\n return defer(function () { return condition() ? trueResult : falseResult; });\n}\n//# sourceMappingURL=iif.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nexport function interval(period, scheduler) {\n if (period === void 0) {\n period = 0;\n }\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (!isNumeric(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber: subscriber, counter: 0, period: period }));\n return subscriber;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, counter = state.counter, period = state.period;\n subscriber.next(counter);\n this.schedule({ subscriber: subscriber, counter: counter + 1, period: period }, period);\n}\n//# sourceMappingURL=interval.js.map\n","/** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = /*@__PURE__*/ new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { isArray } from '../util/isArray';\nimport { EMPTY } from './empty';\nexport function onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 0) {\n return EMPTY;\n }\n var first = sources[0], remainder = sources.slice(1);\n if (sources.length === 1 && isArray(first)) {\n return onErrorResumeNext.apply(void 0, first);\n }\n return new Observable(function (subscriber) {\n var subNext = function () { return subscriber.add(onErrorResumeNext.apply(void 0, remainder).subscribe(subscriber)); };\n return from(first).subscribe({\n next: function (value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n//# sourceMappingURL=onErrorResumeNext.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function pairs(obj, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length && !subscriber.closed; i++) {\n var key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n var subscription = new Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys: keys, index: 0, subscriber: subscriber, subscription: subscription, obj: obj }));\n return subscription;\n });\n }\n}\nexport function dispatch(state) {\n var keys = state.keys, index = state.index, subscriber = state.subscriber, subscription = state.subscription, obj = state.obj;\n if (!subscriber.closed) {\n if (index < keys.length) {\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys: keys, index: index + 1, subscriber: subscriber, subscription: subscription, obj: obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\n//# sourceMappingURL=pairs.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\n//# sourceMappingURL=not.js.map\n","/** PURE_IMPORTS_START _util_not,_util_subscribeTo,_operators_filter,_Observable PURE_IMPORTS_END */\nimport { not } from '../util/not';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { filter } from '../operators/filter';\nimport { Observable } from '../Observable';\nexport function partition(source, predicate, thisArg) {\n return [\n filter(predicate, thisArg)(new Observable(subscribeTo(source))),\n filter(not(predicate, thisArg))(new Observable(subscribeTo(source)))\n ];\n}\n//# sourceMappingURL=partition.js.map\n","/** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nvar RaceOperator = /*@__PURE__*/ (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\nexport { RaceOperator };\nvar RaceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasFirst = false;\n _this.observables = [];\n _this.subscriptions = [];\n return _this;\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = subscribeToResult(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(OuterSubscriber));\nexport { RaceSubscriber };\n//# sourceMappingURL=race.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function range(start, count, scheduler) {\n if (start === void 0) {\n start = 0;\n }\n return new Observable(function (subscriber) {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n var index = 0;\n var current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexport function dispatch(state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\n//# sourceMappingURL=range.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime, periodOrScheduler, scheduler) {\n if (dueTime === void 0) {\n dueTime = 0;\n }\n var period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n var due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period: period, subscriber: subscriber\n });\n });\n}\nfunction dispatch(state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function using(resourceFactory, observableFactory) {\n return new Observable(function (subscriber) {\n var resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = result ? from(result) : EMPTY;\n var subscription = source.subscribe(subscriber);\n return function () {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=using.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\nimport { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n var subscription;\n try {\n subscription = subscribeTo(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n","/** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_.._internal_symbol_iterator,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { fromArray } from './fromArray';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { iterator as Symbol_iterator } from '../../internal/symbol/iterator';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nvar ZipOperator = /*@__PURE__*/ (function () {\n function ZipOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n };\n return ZipOperator;\n}());\nexport { ZipOperator };\nvar ZipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, resultSelector, values) {\n if (values === void 0) {\n values = Object.create(null);\n }\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.iterators = [];\n _this.active = 0;\n _this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : undefined;\n return _this;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[Symbol_iterator] === 'function') {\n iterators.push(new StaticIterator(value[Symbol_iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n var destination = this.destination;\n destination.add(iterator.subscribe());\n }\n else {\n this.active--;\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryresultSelector = function (args) {\n var result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber));\nexport { ZipSubscriber };\nvar StaticIterator = /*@__PURE__*/ (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return Boolean(nextResult && nextResult.done);\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = /*@__PURE__*/ (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\nvar ZipBufferIterator = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n _this.observable = observable;\n _this.stillUnsubscribed = true;\n _this.buffer = [];\n _this.isComplete = false;\n return _this;\n }\n ZipBufferIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (innerValue) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function () {\n return innerSubscribe(this.observable, new SimpleInnerSubscriber(this));\n };\n return ZipBufferIterator;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=zip.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nvar CatchOperator = /*@__PURE__*/ (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=catchError.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n var absoluteDelay = isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nvar DelayOperator = /*@__PURE__*/ (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\nvar DelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.delay = delay;\n _this.scheduler = scheduler;\n _this.queue = [];\n _this.active = false;\n _this.errored = false;\n return _this;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n var destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(Subscriber));\nvar DelayMessage = /*@__PURE__*/ (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexport { ObserveOnOperator };\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar nextHandle = 1;\nvar RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })();\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map\n","/** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nvar AsapAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map\n","/** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */\nimport { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = /*@__PURE__*/ new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map\n","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map\n","/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\nimport { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = /*@__PURE__*/ new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */\nimport { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map\n","/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useLayoutEffect as l}from\"react\";import d from\"shallowequal\";import h from\"@emotion/stylis\";import p from\"@emotion/unitless\";import f from\"@emotion/is-prop-valid\";import m from\"hoist-non-react-statics\";function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var v=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},g=function(t){return null!==t&&\"object\"==typeof t&&\"[object Object]\"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!e(t)},S=Object.freeze([]),w=Object.freeze({});function E(e){return\"function\"==typeof e}function b(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function _(e){return e&&\"string\"==typeof e.styledComponentId}var N=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",A=\"5.3.11\",C=\"undefined\"!=typeof window&&\"HTMLElement\"in window,I=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV)),P={},O=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function R(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://git.io/JUIaE#\"+e+\" for more information.\"+(n.length>0?\" Args: \"+n.join(\", \"):\"\")):new Error(R.apply(void 0,[O[e]].concat(n)).trim())}var j=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&D(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+\"/*!sc*/\\n\";return t},e}(),T=new Map,x=new Map,k=1,V=function(e){if(T.has(e))return T.get(e);for(;x.has(k);)k++;var t=k++;return\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>1<<30)&&D(16,\"\"+t),T.set(e,t),x.set(t,e),t},B=function(e){return x.get(e)},z=function(e,t){t>=k&&(k=t+1),T.set(e,t),x.set(t,e)},M=\"style[\"+N+'][data-styled-version=\"5.3.11\"]',G=new RegExp(\"^\"+N+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),L=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},F=function(e,t){for(var n=(t.textContent||\"\").split(\"/*!sc*/\\n\"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(z(u,c),L(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},Y=function(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null},q=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(N))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(N,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.11\");var i=Y();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},H=function(){function e(e){var t=this.element=q(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}D(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&\"string\"==typeof t.cssText?t.cssText:\"\"},e}(),$=function(){function e(e){var t=this.element=q(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),W=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),U=C,J={isServer:!C,useCSSOMInjection:!I},X=function(){function e(e,t,n){void 0===e&&(e=w),void 0===t&&(t={}),this.options=y({},J,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&C&&U&&(U=!1,function(e){for(var t=document.querySelectorAll(M),n=0,r=t.length;n<r;n++){var o=t[n];o&&\"active\"!==o.getAttribute(N)&&(F(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return V(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(y({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new W(o):r?new H(o):new $(o),new j(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(V(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(V(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(V(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=0;o<n;o++){var s=B(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=N+\".g\"+o+'[id=\"'+s+'\"]',u=\"\";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),Z=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Q(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=K(t%52)+n;return(K(t%52)+n).replace(Z,\"$1-$2\")}var ee=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},te=function(e){return ee(5381,e)};function ne(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(E(n)&&!_(n))return!1}return!0}var re=te(\"5.3.11\"),oe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&ne(e),this.componentId=t,this.baseHash=ee(re,t),this.baseStyle=n,X.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=_e(this.rules,e,t,n).join(\"\"),i=Q(ee(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=ee(this.baseHash,n.hash),l=\"\",d=0;d<c;d++){var h=this.rules[d];if(\"string\"==typeof h)l+=h,\"production\"!==process.env.NODE_ENV&&(u=ee(u,h+d));else if(h){var p=_e(h,e,t,n),f=Array.isArray(p)?p.join(\"\"):p;u=ee(u,f+d),l+=f}}if(l){var m=Q(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,\".\"+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(\" \")},e}(),se=/^\\s*\\/\\/.*$/gm,ie=[\":\",\"[\",\".\",\"#\"];function ae(e){var t,n,r,o,s=void 0===e?w:e,i=s.options,a=void 0===i?w:i,c=s.plugins,u=void 0===c?S:c,l=new h(a),d=[],p=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ie.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(se,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},p,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||D(15),ee(e,t.name)}),5381).toString():\"\",m}var ce=r.createContext(),ue=ce.Consumer,le=r.createContext(),de=(le.Consumer,new X),he=ae();function pe(){return s(ce)||de}function fe(){return s(le)||he}function me(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=pe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ae({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){d(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ce.Provider,{value:u},r.createElement(le.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ye=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=he);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return D(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=he),this.name+e.hash},e}(),ve=/([A-Z])/,ge=/([A-Z])/g,Se=/^ms-/,we=function(e){return\"-\"+e.toLowerCase()};function Ee(e){return ve.test(e)?e.replace(ge,we).replace(Se,\"-ms-\"):e}var be=function(e){return null==e||!1===e||\"\"===e};function _e(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)\"\"!==(s=_e(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(be(e))return\"\";if(_(e))return\".\"+e.styledComponentId;if(E(e)){if(\"function\"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return\"production\"!==process.env.NODE_ENV&&t(u)&&console.warn(b(e)+\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"),_e(u,n,r,o)}var l;return e instanceof ye?r?(e.inject(r,o),e.getName(o)):e:g(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!be(t[i])&&(Array.isArray(t[i])&&t[i].isCss||E(t[i])?s.push(Ee(i)+\":\",t[i],\";\"):g(t[i])?s.push.apply(s,e(t[i],i)):s.push(Ee(i)+\": \"+(r=i,null==(o=t[i])||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||r in p||r.startsWith(\"--\")?String(o).trim():o+\"px\")+\";\"));return n?[n+\" {\"].concat(s,[\"}\"]):s}(e):e.toString()}var Ne=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ae(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return E(e)||g(e)?Ne(_e(v(S,[e].concat(n)))):0===n.length&&1===e.length&&\"string\"==typeof e[0]?e:Ne(_e(v(e,n)))}var Ce=/invalid hook call/i,Ie=new Set,Pe=function(e,t){if(\"production\"!==process.env.NODE_ENV){var n=\"The component \"+e+(t?' with the id of \"'+t+'\"':\"\")+\" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",r=console.error;try{var o=!0;console.error=function(e){if(Ce.test(e))o=!1,Ie.delete(n);else{for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];r.apply(void 0,[e].concat(s))}},c(),o&&!Ie.has(n)&&(console.warn(n),Ie.add(n))}catch(e){Ce.test(e.message)&&Ie.delete(n)}finally{console.error=r}}},Oe=function(e,t,n){return void 0===n&&(n=w),e.theme!==n.theme&&e.theme||t||n.theme},Re=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,De=/(^-|-$)/g;function je(e){return e.replace(Re,\"-\").replace(De,\"\")}var Te=function(e){return Q(te(e)>>>0)};function xe(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var ke=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Ve=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function Be(e,t,n){var r=e[n];ke(t)&&ke(r)?ze(r,t):e[n]=t}function ze(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(ke(i))for(var a in i)Ve(a)&&Be(e,i[a],a)}return e}var Me=r.createContext(),Ge=Me.Consumer;function Le(e){var t=s(Me),n=i((function(){return function(e,t){if(!e)return D(14);if(E(e)){var n=e(t);return\"production\"===process.env.NODE_ENV||null!==n&&!Array.isArray(n)&&\"object\"==typeof n?n:D(7)}return Array.isArray(e)||\"object\"!=typeof e?D(8):t?y({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(Me.Provider,{value:n},e.children):null}var Fe={};function Ye(e,t,n){var o=_(e),i=!xe(e),a=t.attrs,c=void 0===a?S:a,l=t.componentId,d=void 0===l?function(e,t){var n=\"string\"!=typeof e?\"sc\":je(e);Fe[n]=(Fe[n]||0)+1;var r=n+\"-\"+Te(\"5.3.11\"+n+Fe[n]);return t?t+\"-\"+r:r}(t.displayName,t.parentComponentId):l,h=t.displayName,p=void 0===h?function(e){return xe(e)?\"styled.\"+e:\"Styled(\"+b(e)+\")\"}(e):h,v=t.displayName&&t.componentId?je(t.displayName)+\"-\"+t.componentId:t.componentId||d,g=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,N=t.shouldForwardProp;o&&e.shouldForwardProp&&(N=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var A,C=new oe(n,v,o?e.componentStyle:void 0),I=C.isStatic&&0===c.length,P=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,l=e.shouldForwardProp,d=e.styledComponentId,h=e.target,p=function(e,t,n){void 0===e&&(e=w);var r=y({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in E(i)&&(i=i(r)),i)r[t]=o[t]=\"className\"===t?(n=o[t],s=i[t],n&&s?n+\" \"+s:n||s):i[t]})),[r,o]}(Oe(t,s(Me),a)||w,t,o),m=p[0],v=p[1],g=function(e,t,n,r){var o=pe(),s=fe(),i=t?e.generateAndInjectStyles(w,o,s):e.generateAndInjectStyles(n,o,s);return\"production\"!==process.env.NODE_ENV&&!t&&r&&r(i),i}(i,r,m,\"production\"!==process.env.NODE_ENV?e.warnTooManyClasses:void 0),S=n,b=v.$as||t.$as||v.as||t.as||h,_=xe(b),N=v!==t?y({},t,{},v):t,A={};for(var C in N)\"$\"!==C[0]&&\"as\"!==C&&(\"forwardedAs\"===C?A.as=N[C]:(l?l(C,f,b):!_||f(C))&&(A[C]=N[C]));return t.style&&v.style!==t.style&&(A.style=y({},t.style,{},v.style)),A.className=Array.prototype.concat(c,d,g!==d?g:null,t.className,v.className).filter(Boolean).join(\" \"),A.ref=S,u(b,A)}(A,e,t,I)};return P.displayName=p,(A=r.forwardRef(P)).attrs=g,A.componentStyle=C,A.displayName=p,A.shouldForwardProp=N,A.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):S,A.styledComponentId=v,A.target=o?e.target:e,A.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(xe(e)?e:je(b(e)));return Ye(e,y({},o,{attrs:g,componentId:s}),n)},Object.defineProperty(A,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?ze({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Pe(p,v),A.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(p,v)),Object.defineProperty(A,\"toString\",{value:function(){return\".\"+A.styledComponentId}}),i&&m(A,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),A}var qe=function(e){return function e(t,r,o){if(void 0===o&&(o=w),!n(r))return D(1,String(r));var s=function(){return t(r,o,Ae.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,y({},o,{},n))},s.attrs=function(n){return e(t,r,y({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(Ye,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){qe[e]=qe(e)}));var He=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=ne(e),X.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(_e(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&X.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function $e(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ae.apply(void 0,[e].concat(n)),a=\"sc-global-\"+Te(JSON.stringify(i)),u=new He(i,a);function d(e){var t=pe(),n=fe(),o=s(Me),d=c(t.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \"+a+\" was given child JSX. createGlobalStyle does not render children.\"),\"production\"!==process.env.NODE_ENV&&i.some((function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")}))&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.server&&h(d,e,t,o,n),l((function(){if(!t.server)return h(d,e,t,o,n),function(){return u.removeStyles(d,t)}}),[d,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,P,n,o);else{var s=y({},t,{theme:Oe(t,r,d.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Pe(a),r.memo(d)}function We(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ae.apply(void 0,[e].concat(n)).join(\"\"),s=Te(o);return new ye(s,o)}var Ue=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Y();return\"<style \"+[n&&'nonce=\"'+n+'\"',N+'=\"true\"','data-styled-version=\"5.3.11\"'].filter(Boolean).join(\" \")+\">\"+t+\"</style>\"},this.getStyleTags=function(){return e.sealed?D(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return D(2);var n=((t={})[N]=\"\",t[\"data-styled-version\"]=\"5.3.11\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=Y();return o&&(n.nonce=o),[r.createElement(\"style\",y({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new X({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?D(2):r.createElement(me,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return D(3)},e}(),Je=function(e){var t=r.forwardRef((function(t,n){var o=s(Me),i=e.defaultProps,a=Oe(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+b(e)+'\"'),r.createElement(e,y({},t,{theme:a,ref:n}))}));return m(t,e),t.displayName=\"WithTheme(\"+b(e)+\")\",t},Xe=function(){return s(Me)},Ze={StyleSheet:X,masterSheet:de};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default qe;export{Ue as ServerStyleSheet,ue as StyleSheetConsumer,ce as StyleSheetContext,me as StyleSheetManager,Ge as ThemeConsumer,Me as ThemeContext,Le as ThemeProvider,Ze as __PRIVATE__,$e as createGlobalStyle,Ae as css,_ as isStyledComponent,We as keyframes,Xe as useTheme,A as version,Je as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","(function(root) {\n function assert(condition, format) {\n if (!condition) {\n var args = [].slice.call(arguments, 2);\n var argIndex = 0;\n throw new Error(\n 'Unirouter Assertion Failed: ' +\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n }\n }\n\n function pathParts(path) {\n return path == '' ? [] : path.split('/')\n }\n\n function routeParts(route) {\n var split = route.split(/\\s+/)\n var method = split[0]\n var path = split[1]\n\n // Validate route format\n assert(\n split.length == 2,\n \"Route `%s` separates method and path with a single block of whitespace\", route\n )\n\n // Validate method format\n assert(\n /^[A-Z]+$/.test(method),\n \"Route `%s` starts with an UPPERCASE method\", route\n )\n\n // Validate path format\n assert(\n !/\\/{2,}/.test(path),\n \"Path `%s` has no adjacent `/` characters: `%s`\", path\n )\n assert(\n path[0] == '/',\n \"Path `%s` must start with the `/` character\", path\n )\n assert(\n path == '/' || !/\\/$/.test(path),\n \"Path `%s` does not end with the `/` character\", path\n )\n assert(\n path.indexOf('#') === -1 && path.indexOf('?') === -1,\n \"Path `%s` does not contain the `#` or `?` characters\", path\n )\n\n return pathParts(path.slice(1)).concat(method)\n }\n\n\n function LookupTree() {\n this.tree = {}\n }\n\n function lookupTreeReducer(tree, part) {\n return tree && (tree[part] || tree[':'])\n }\n\n LookupTree.prototype.find = function(parts) {\n return (parts.reduce(lookupTreeReducer, this.tree) || {})['']\n }\n\n LookupTree.prototype.add = function(parts, route) {\n var i, branch\n var branches = parts.map(function(part) { return part[0] == ':' ? ':' : part })\n var currentTree = this.tree\n\n for (i = 0; i < branches.length; i++) {\n branch = branches[i] \n if (!currentTree[branch]) {\n currentTree[branch] = {}\n }\n currentTree = currentTree[branch]\n }\n\n assert(\n !currentTree[branch],\n \"Path `%s` conflicts with another path\", parts.join('/')\n )\n\n currentTree[''] = route\n }\n\n\n function createRouter(routes, aliases) {\n var parts, name, route;\n var routesParams = {};\n var lookupTree = new LookupTree;\n\n // By default, there are no aliases\n aliases = aliases || {};\n\n // Copy routes into lookup tree\n for (name in routes) {\n if (routes.hasOwnProperty(name)) {\n route = routes[name]\n\n assert(\n typeof route == 'string',\n \"Route '%s' must be a string\", name\n )\n assert(\n name.indexOf('.') == -1,\n \"Route names must not contain the '.' character\", name\n )\n\n parts = routeParts(route)\n\n routesParams[name] = parts\n .map(function(part, i) { return part[0] == ':' && [part.substr(1), i] })\n .filter(function(x) { return x })\n\n lookupTree.add(parts, name)\n }\n }\n\n // Copy aliases into lookup tree\n for (route in aliases) {\n if (aliases.hasOwnProperty(route)) {\n name = aliases[route]\n\n assert(\n routes[name],\n \"Alias from '%s' to non-existent route '%s'.\", route, name\n )\n\n lookupTree.add(routeParts(route), name);\n }\n }\n\n\n return {\n lookup: function(uri, method) {\n method = method ? method.toUpperCase() : 'GET'\n\n var i, x\n\n var split = uri\n // Strip leading and trailing '/' (at end or before query string)\n .replace(/^\\/|\\/($|\\?)/g, '')\n // Strip fragment identifiers\n .replace(/#.*$/, '')\n .split('?', 2)\n\n var parts = pathParts(split[0]).map(decodeURIComponent).concat(method)\n var name = lookupTree.find(parts)\n var options = {}\n var params, queryParts\n\n params = routesParams[name] || []\n queryParts = split[1] ? split[1].split('&') : []\n \n for (i = 0; i != queryParts.length; i++) {\n x = queryParts[i].split('=')\n options[x[0]] = decodeURIComponent(x[1])\n }\n\n // Named parameters overwrite query parameters\n for (i = 0; i != params.length; i++) {\n x = params[i]\n options[x[0]] = parts[x[1]]\n }\n\n return {name: name, options: options}\n },\n\n\n generate: function(name, options) {\n options = options || {}\n\n var params = routesParams[name] || []\n var paramNames = params.map(function(x) { return x[0]; })\n var route = routes[name]\n var query = []\n var inject = []\n var key\n\n assert(route, \"No route with name `%s` exists\", name)\n\n var path = route.split(' ')[1]\n\n for (key in options) {\n if (options.hasOwnProperty(key)) {\n if (paramNames.indexOf(key) === -1) {\n assert(\n /^[a-zA-Z0-9-_]+$/.test(key),\n \"Non-route parameters must use only the following characters: A-Z, a-z, 0-9, -, _\"\n )\n\n query.push(key+'='+encodeURIComponent(options[key]))\n }\n else {\n inject.push(key)\n }\n }\n }\n\n assert(\n inject.sort().join() == paramNames.slice(0).sort().join(),\n \"You must specify options for all route params when using `uri`.\"\n )\n\n var uri =\n paramNames.reduce(function pathReducer(injected, key) {\n return injected.replace(':'+key, encodeURIComponent(options[key]))\n }, path)\n\n if (query.length) {\n uri += '?' + query.join('&')\n }\n\n return uri\n }\n };\n }\n\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = createRouter\n }\n else {\n root.unirouter = createRouter\n }\n})(this);\n","export default \"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJXYXJzdHdhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IgoJCSB5PSIwcHgiCgkJIHZpZXdCb3g9IjAgMCA2Ny4yIDc0LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY3LjIgNzQuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiB3aGl0ZTt9Cjwvc3R5bGU+Cgk8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01Ni45LDE3LjdjMC4zLDEuOSwwLjYsMy44LDAuOSw1LjZjMC4xLDAuNywwLjUsMS4zLDAuOCwxLjljMC44LDEuNywxLjcsMy40LDIuNiw1LjJjMC44LDEuNiwxLjUsMy4xLDIuMyw0LjcKCQljMC45LDEuNywxLjcsMy41LDIuNiw1LjJjMC4zLDAuNywwLjcsMS40LDEsMmMwLjEsMC4zLDAuMSwwLjQtMC4xLDAuNmMtMS4yLDEuMy0yNC45LDMwLjQtMjUuNiwzMS4yYy0wLjEsMC4xLTAuNCwwLjMtMC42LDAuMwoJCWMtNC44LDAtOS43LDAtMTQuNSwwYy0wLjIsMC0wLjQtMC4xLTAuNi0wLjJDMTguNSw2My44LDEuMSw0My45LDAuMSw0Mi44QzAsNDIuNiwwLDQyLjUsMC4xLDQyLjNjMS4zLTIuNSwyLjUtNS4xLDMuOC03LjYKCQljMC45LTEuOCwxLjktMy43LDIuOC01LjVjMC45LTEuNywxLjctMy40LDIuNS01LjFjMC4zLTAuNiwwLjMtMS4yLDAuNC0xLjljMC40LTIuMiwwLjctNC40LDEuMS02LjZjMC4zLTIuMiwwLjctNC4zLDEtNi41CgkJYzAuMy0xLjksMC42LTMuNywwLjktNS41QzEyLjgsMi40LDEzLDEuMiwxMy4yLDBjMC42LDAuNCwxLjEsMC43LDEuNiwxLjFjMi41LDEuOCw1LDMuNSw3LjUsNS4zYzIuNCwxLjcsNC44LDMuNCw3LjIsNS4xCgkJYzAuNywwLjUsMS4zLDEsMi4xLDEuNGMwLjMsMC4yLDAuNywwLjEsMS4xLDAuMmMwLjIsMCwwLjQsMC4xLDAuNiwwLjJjMC4yLDAsMC4zLDAsMC41LDBjMC4yLDAsMC4zLTAuMSwwLjUtMC4xCgkJYzAuOSwwLjEsMS42LTAuNCwyLjMtMC45YzMuMi0yLjMsNi40LTQuNSw5LjctNi44QzQ4LjgsMy42LDUxLjQsMS44LDU0LDBjMC44LDQuNywxLjUsOS40LDIuMywxNC4xIE0xOSw1Ni40CgkJYzAuMSwwLjMsMC4xLDAuNiwwLjMsMC44YzIuNywzLjIsNS41LDYuMyw4LjIsOS40YzAuMiwwLjIsMC40LDAuNCwwLjcsMC41YzAuNywwLjMsMS40LDAuNSwyLjEsMC43YzAuNiwwLjIsMS4yLDAuNCwxLjksMC42CgkJYzAtMC41LTAuMS0wLjktMC4xLTEuM2MwLTAuMi0yLjUtNi42LTMuNC03LjVjMC4xLTAuMSwwLjEtMC4xLDAuMi0wLjFjMC44LTAuMyw3LjktMC42LDguOS0wLjJjMC4yLDAuMSwwLjQsMC4yLDAuNywwLjMKCQljLTAuMSwwLjEtMy40LDcuMi0zLjQsNy4zYy0wLjEsMC41LTAuMSwwLjktMC4xLDEuNGMwLjEsMCwwLjIsMCwwLjMtMC4xYzEtMC4zLDItMC42LDMtMWMwLjUtMC4yLDEtMC4zLDEuMy0wLjYKCQljMi44LTMuMSw3LjEtOC42LDkuOS0xMS44YzAuNS0zLjgsMC41LTguNCwwLjUtOC42YzAsMCwwLTAuNiwwLjEtMC42YzAuOSw0LjQsMSw1LDEuNyw3LjRjMC4zLTAuMywyLjctMi45LDIuOS0zLjIKCQljMi4yLTIuNiw0LjUtNS4yLDYuNy03LjhjMC4xLTAuMiwwLjItMC4zLDAuMS0wLjVjLTAuNi0xLjQtMS4xLTIuNy0xLjctNC4xYy0wLjEtMC4yLTAuMi0wLjQtMC40LTAuNWMtMS4zLTAuOS0xNi45LTEwLjUtMjAtMTEuOAoJCWMtMC4xLDAuMS01LjksNS45LTYuMSw2LjJjLTAuNi0xLjItNC45LTUuOS01LjMtNi4yYy00LjEsMS45LTIxLjYsMTUtMjIuMSwxNi4yQzUuNiw0MS44LDUuNyw0Miw2LDQyLjNjMiwyLjMsMTAuMiwxMS4yLDEwLjYsMTEuNwoJCWMwLjktMywwLjctMiwyLjEtNi4zIE01Mi4zLDE3LjZjLTAuMi0wLjktMC4zLTEuOC0wLjQtMi43Yy0wLjItMS40LTAuNS0yLjktMC43LTQuM2MtMC4xLTAuNy0wLjMtMS41LTAuNC0yLjMKCQljLTIuMiwzLjktOC4zLDkuNS0xMC40LDEzLjNjMywxLjQsMTQuNSw5LjEsMTcuNiwxMC41Yy0wLjEtMC41LTQuOC05LjEtNC45LTkuNiBNMjcuMSwyMC45Yy0yLjItMy44LTguNC04LjgtMTAuNS0xMi42CgkJYzAsMC0wLjEsMC0wLjEsMGMtMC44LDUuMS00LjEsMTYuMS00LjksMjEuM0MxNC42LDI4LjMsMjQuMSwyMi4zLDI3LjEsMjAuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTMsMjAuMyIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNi41LDguNGMwLDAsMC4xLDAsMC4xLDAiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTguOSwzOS44YzAuNCwwLDAuOCwwLDEuMSwwYzEuNSwwLDIuOSwwLDQuNCwwYzAuMiwwLDAuNSwwLjIsMC43LDAuM2MxLjMsMS4yLDIuNiwyLjUsNCwzLjdjMCwwLDAsMCwwLDAuMQoJCWMtMC40LDAtMC45LDAuMS0xLjMsMC4xYy0xLjYsMC4xLTMuMSwwLjEtNC43LDAuMWMtMC4xLDAtMC4zLTAuMS0wLjQtMC4yYy0xLjEtMS4yLTIuMS0yLjMtMy4yLTMuNUMxOS4zLDQwLjIsMTkuMSw0MCwxOC45LDM5Ljh6IgoJCS8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ4LjQsNDAuMWMtMC43LDAuNy0xLjIsMS4yLTEuOCwxLjhjLTAuNywwLjctMS40LDEuNC0yLjEsMi4xYy0wLjMsMC4zLTAuNywwLjItMSwwLjJjLTEuNS0wLjEtMy4xLTAuMy00LjYtMC40CgkJYy0wLjMsMC0wLjUtMC4xLTAuOS0wLjFjMC42LTAuNSwxLTAuOSwxLjUtMS4zYzAuOS0wLjgsMS44LTEuNSwyLjctMi4zYzAuMy0wLjIsMC41LTAuMywwLjktMC4zYzEuMSwwLjEsMi4yLDAuMSwzLjQsMC4yCgkJQzQ3LjEsNDAsNDcuNyw0MCw0OC40LDQwLjF6Ii8+CjwvZz4KPC9zdmc+Cg==\"","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","var map = {\n\t\"./all-bets\": [\n\t\t51039,\n\t\t51039\n\t],\n\t\"./all-bets.tsx\": [\n\t\t51039,\n\t\t51039\n\t],\n\t\"./biggest-wins\": [\n\t\t67328,\n\t\t67328\n\t],\n\t\"./biggest-wins.tsx\": [\n\t\t67328,\n\t\t67328\n\t],\n\t\"./bottom-menu/bet-slip\": [\n\t\t25599,\n\t\t25599\n\t],\n\t\"./bottom-menu/bet-slip.tsx\": [\n\t\t25599,\n\t\t25599\n\t],\n\t\"./bottom-menu/bets\": [\n\t\t63993,\n\t\t63993\n\t],\n\t\"./bottom-menu/bets.tsx\": [\n\t\t63993,\n\t\t63993\n\t],\n\t\"./bottom-menu/chat\": [\n\t\t28070,\n\t\t28070\n\t],\n\t\"./bottom-menu/chat.tsx\": [\n\t\t28070,\n\t\t28070\n\t],\n\t\"./bottom-menu/fairness\": [\n\t\t10455,\n\t\t10455\n\t],\n\t\"./bottom-menu/fairness.tsx\": [\n\t\t10455,\n\t\t10455\n\t],\n\t\"./bottom-menu/home\": [\n\t\t34140,\n\t\t34140\n\t],\n\t\"./bottom-menu/home.tsx\": [\n\t\t34140,\n\t\t34140\n\t],\n\t\"./bottom-menu/live\": [\n\t\t41815,\n\t\t41815\n\t],\n\t\"./bottom-menu/live.tsx\": [\n\t\t41815,\n\t\t41815\n\t],\n\t\"./bottom-menu/menu\": [\n\t\t97214,\n\t\t97214\n\t],\n\t\"./bottom-menu/menu.tsx\": [\n\t\t97214,\n\t\t97214\n\t],\n\t\"./bottom-menu/options\": [\n\t\t91755\n\t],\n\t\"./bottom-menu/options.tsx\": [\n\t\t91755\n\t],\n\t\"./bottom-menu/search\": [\n\t\t3145,\n\t\t3145\n\t],\n\t\"./bottom-menu/search.tsx\": [\n\t\t3145,\n\t\t3145\n\t],\n\t\"./bottom-menu/sports\": [\n\t\t32945,\n\t\t32945\n\t],\n\t\"./bottom-menu/sports.tsx\": [\n\t\t32945,\n\t\t32945\n\t],\n\t\"./bottom-menu/support\": [\n\t\t48801,\n\t\t48801\n\t],\n\t\"./bottom-menu/support.tsx\": [\n\t\t48801,\n\t\t48801\n\t],\n\t\"./bottom-menu/vip\": [\n\t\t29517,\n\t\t29517\n\t],\n\t\"./bottom-menu/vip.tsx\": [\n\t\t29517,\n\t\t29517\n\t],\n\t\"./bowTitle\": [\n\t\t92562,\n\t\t92562\n\t],\n\t\"./bowTitle.jsx\": [\n\t\t92562,\n\t\t92562\n\t],\n\t\"./casino\": [\n\t\t87686,\n\t\t87686\n\t],\n\t\"./casino-v2\": [\n\t\t9549\n\t],\n\t\"./casino-v2.tsx\": [\n\t\t9549\n\t],\n\t\"./casino.jsx\": [\n\t\t87686,\n\t\t87686\n\t],\n\t\"./chat\": [\n\t\t22834\n\t],\n\t\"./chat.tsx\": [\n\t\t22834\n\t],\n\t\"./currencies/ada\": [\n\t\t21160,\n\t\t21160\n\t],\n\t\"./currencies/ada.jsx\": [\n\t\t21160,\n\t\t21160\n\t],\n\t\"./currencies/bch\": [\n\t\t21490,\n\t\t21490\n\t],\n\t\"./currencies/bch.jsx\": [\n\t\t21490,\n\t\t21490\n\t],\n\t\"./currencies/bnb\": [\n\t\t81057,\n\t\t81057\n\t],\n\t\"./currencies/bnb.jsx\": [\n\t\t81057,\n\t\t81057\n\t],\n\t\"./currencies/bonk\": [\n\t\t44569,\n\t\t44569\n\t],\n\t\"./currencies/bonk.jsx\": [\n\t\t44569,\n\t\t44569\n\t],\n\t\"./currencies/btc\": [\n\t\t44540,\n\t\t44540\n\t],\n\t\"./currencies/btc.jsx\": [\n\t\t44540,\n\t\t44540\n\t],\n\t\"./currencies/busd\": [\n\t\t65995,\n\t\t65995\n\t],\n\t\"./currencies/busd.jsx\": [\n\t\t65995,\n\t\t65995\n\t],\n\t\"./currencies/doge\": [\n\t\t15421,\n\t\t15421\n\t],\n\t\"./currencies/doge.jsx\": [\n\t\t15421,\n\t\t15421\n\t],\n\t\"./currencies/dot\": [\n\t\t59153,\n\t\t59153\n\t],\n\t\"./currencies/dot.jsx\": [\n\t\t59153,\n\t\t59153\n\t],\n\t\"./currencies/etc\": [\n\t\t64318,\n\t\t64318\n\t],\n\t\"./currencies/etc.jsx\": [\n\t\t64318,\n\t\t64318\n\t],\n\t\"./currencies/eth\": [\n\t\t60429,\n\t\t78718\n\t],\n\t\"./currencies/eth.jsx\": [\n\t\t60429,\n\t\t78718\n\t],\n\t\"./currencies/floki\": [\n\t\t27278,\n\t\t27278\n\t],\n\t\"./currencies/floki.jsx\": [\n\t\t27278,\n\t\t27278\n\t],\n\t\"./currencies/ltc\": [\n\t\t54271,\n\t\t54271\n\t],\n\t\"./currencies/ltc.jsx\": [\n\t\t54271,\n\t\t54271\n\t],\n\t\"./currencies/matic\": [\n\t\t2086,\n\t\t2086\n\t],\n\t\"./currencies/matic.jsx\": [\n\t\t2086,\n\t\t2086\n\t],\n\t\"./currencies/op\": [\n\t\t9650,\n\t\t9650\n\t],\n\t\"./currencies/op.jsx\": [\n\t\t9650,\n\t\t9650\n\t],\n\t\"./currencies/optim\": [\n\t\t85687,\n\t\t85687\n\t],\n\t\"./currencies/optim.jsx\": [\n\t\t85687,\n\t\t85687\n\t],\n\t\"./currencies/pepe\": [\n\t\t25758,\n\t\t25758\n\t],\n\t\"./currencies/pepe.jsx\": [\n\t\t25758,\n\t\t25758\n\t],\n\t\"./currencies/pol\": [\n\t\t25695,\n\t\t25695\n\t],\n\t\"./currencies/pol.jsx\": [\n\t\t25695,\n\t\t25695\n\t],\n\t\"./currencies/shib\": [\n\t\t79932,\n\t\t79932\n\t],\n\t\"./currencies/shib.jsx\": [\n\t\t79932,\n\t\t79932\n\t],\n\t\"./currencies/sol\": [\n\t\t36859,\n\t\t36859\n\t],\n\t\"./currencies/sol.jsx\": [\n\t\t36859,\n\t\t36859\n\t],\n\t\"./currencies/sushi\": [\n\t\t1698,\n\t\t1698\n\t],\n\t\"./currencies/sushi.jsx\": [\n\t\t1698,\n\t\t1698\n\t],\n\t\"./currencies/trx\": [\n\t\t38884,\n\t\t38884\n\t],\n\t\"./currencies/trx.jsx\": [\n\t\t38884,\n\t\t38884\n\t],\n\t\"./currencies/ucmat\": [\n\t\t48406,\n\t\t48406\n\t],\n\t\"./currencies/ucmat.jsx\": [\n\t\t48406,\n\t\t48406\n\t],\n\t\"./currencies/ucop\": [\n\t\t15125,\n\t\t15125\n\t],\n\t\"./currencies/ucop.jsx\": [\n\t\t15125,\n\t\t15125\n\t],\n\t\"./currencies/uni\": [\n\t\t99263,\n\t\t99263\n\t],\n\t\"./currencies/uni.jsx\": [\n\t\t99263,\n\t\t99263\n\t],\n\t\"./currencies/usd\": [\n\t\t45084,\n\t\t45084\n\t],\n\t\"./currencies/usd.jsx\": [\n\t\t45084,\n\t\t45084\n\t],\n\t\"./currencies/usdc\": [\n\t\t42594,\n\t\t42594\n\t],\n\t\"./currencies/usdc.jsx\": [\n\t\t42594,\n\t\t42594\n\t],\n\t\"./currencies/usdt\": [\n\t\t90520,\n\t\t90520\n\t],\n\t\"./currencies/usdt.jsx\": [\n\t\t90520,\n\t\t90520\n\t],\n\t\"./currencies/xlm\": [\n\t\t35062,\n\t\t35062\n\t],\n\t\"./currencies/xlm.jsx\": [\n\t\t35062,\n\t\t35062\n\t],\n\t\"./currencies/xrp\": [\n\t\t49563,\n\t\t49563\n\t],\n\t\"./currencies/xrp.jsx\": [\n\t\t49563,\n\t\t49563\n\t],\n\t\"./dice-rule/between\": [\n\t\t248,\n\t\t248\n\t],\n\t\"./dice-rule/between.tsx\": [\n\t\t248,\n\t\t248\n\t],\n\t\"./dice-rule/direct\": [\n\t\t6293,\n\t\t6293\n\t],\n\t\"./dice-rule/direct.tsx\": [\n\t\t6293,\n\t\t6293\n\t],\n\t\"./dice-rule/outside\": [\n\t\t21071,\n\t\t21071\n\t],\n\t\"./dice-rule/outside.tsx\": [\n\t\t21071,\n\t\t21071\n\t],\n\t\"./dice-rule/over\": [\n\t\t48914,\n\t\t48914\n\t],\n\t\"./dice-rule/over.tsx\": [\n\t\t48914,\n\t\t48914\n\t],\n\t\"./dice-rule/two_ranges\": [\n\t\t96803,\n\t\t96803\n\t],\n\t\"./dice-rule/two_ranges.tsx\": [\n\t\t96803,\n\t\t96803\n\t],\n\t\"./dice-rule/under\": [\n\t\t53258,\n\t\t53258\n\t],\n\t\"./dice-rule/under.tsx\": [\n\t\t53258,\n\t\t53258\n\t],\n\t\"./drops-and-wins\": [\n\t\t82170,\n\t\t82170\n\t],\n\t\"./drops-and-wins.tsx\": [\n\t\t82170,\n\t\t82170\n\t],\n\t\"./esports\": [\n\t\t68400,\n\t\t68400\n\t],\n\t\"./esports.jsx\": [\n\t\t68400,\n\t\t68400\n\t],\n\t\"./favorites\": [\n\t\t36684,\n\t\t36684\n\t],\n\t\"./favorites.jsx\": [\n\t\t36684,\n\t\t36684\n\t],\n\t\"./game/autobet-icon\": [\n\t\t16408,\n\t\t16408\n\t],\n\t\"./game/autobet-icon.tsx\": [\n\t\t16408,\n\t\t16408\n\t],\n\t\"./game/strategy-icon\": [\n\t\t77467,\n\t\t77467\n\t],\n\t\"./game/strategy-icon.tsx\": [\n\t\t77467,\n\t\t77467\n\t],\n\t\"./highroll\": [\n\t\t7622,\n\t\t7622\n\t],\n\t\"./highroll.tsx\": [\n\t\t7622,\n\t\t7622\n\t],\n\t\"./home\": [\n\t\t27901,\n\t\t27901\n\t],\n\t\"./home.jsx\": [\n\t\t27901,\n\t\t27901\n\t],\n\t\"./in-house\": [\n\t\t64006,\n\t\t64006\n\t],\n\t\"./in-house.tsx\": [\n\t\t64006,\n\t\t64006\n\t],\n\t\"./live-casino\": [\n\t\t6941,\n\t\t6941\n\t],\n\t\"./live-casino.tsx\": [\n\t\t6941,\n\t\t6941\n\t],\n\t\"./lobby\": [\n\t\t43091\n\t],\n\t\"./lobby.tsx\": [\n\t\t43091\n\t],\n\t\"./my-bets\": [\n\t\t93795,\n\t\t93795\n\t],\n\t\"./my-bets.tsx\": [\n\t\t93795,\n\t\t93795\n\t],\n\t\"./new-games\": [\n\t\t65722,\n\t\t65722\n\t],\n\t\"./new-games.tsx\": [\n\t\t65722,\n\t\t65722\n\t],\n\t\"./race/no-race-icon\": [\n\t\t29910,\n\t\t29910\n\t],\n\t\"./race/no-race-icon.tsx\": [\n\t\t29910,\n\t\t29910\n\t],\n\t\"./race/race-background\": [\n\t\t87853,\n\t\t87853\n\t],\n\t\"./race/race-background.tsx\": [\n\t\t87853,\n\t\t87853\n\t],\n\t\"./race/race-loading\": [\n\t\t6609,\n\t\t6609\n\t],\n\t\"./race/race-loading.tsx\": [\n\t\t6609,\n\t\t6609\n\t],\n\t\"./race/race-my-vip-badge\": [\n\t\t84425,\n\t\t84425\n\t],\n\t\"./race/race-my-vip-badge.tsx\": [\n\t\t84425,\n\t\t84425\n\t],\n\t\"./race/race-trophy-pending\": [\n\t\t16181,\n\t\t16181\n\t],\n\t\"./race/race-trophy-pending.tsx\": [\n\t\t16181,\n\t\t16181\n\t],\n\t\"./race/race-vip-bg\": [\n\t\t29450,\n\t\t29450\n\t],\n\t\"./race/race-vip-bg.tsx\": [\n\t\t29450,\n\t\t29450\n\t],\n\t\"./race/rank-trophy\": [\n\t\t91650\n\t],\n\t\"./race/rank-trophy.tsx\": [\n\t\t91650\n\t],\n\t\"./recently\": [\n\t\t48944,\n\t\t48944\n\t],\n\t\"./recently.tsx\": [\n\t\t48944,\n\t\t48944\n\t],\n\t\"./slot-games\": [\n\t\t14879,\n\t\t14879\n\t],\n\t\"./slot-games.tsx\": [\n\t\t14879,\n\t\t14879\n\t],\n\t\"./slots\": [\n\t\t9133,\n\t\t9133\n\t],\n\t\"./slots/\": [\n\t\t9133,\n\t\t9133\n\t],\n\t\"./slots/ArrowDownIcon\": [\n\t\t29459,\n\t\t29459\n\t],\n\t\"./slots/ArrowDownIcon.tsx\": [\n\t\t29459,\n\t\t29459\n\t],\n\t\"./slots/ArrowIcon\": [\n\t\t26146,\n\t\t26146\n\t],\n\t\"./slots/ArrowIcon.tsx\": [\n\t\t26146,\n\t\t26146\n\t],\n\t\"./slots/FireIcon\": [\n\t\t58774,\n\t\t58774\n\t],\n\t\"./slots/FireIcon.tsx\": [\n\t\t58774,\n\t\t58774\n\t],\n\t\"./slots/FullScreenIcon\": [\n\t\t91776,\n\t\t91776\n\t],\n\t\"./slots/FullScreenIcon.tsx\": [\n\t\t91776,\n\t\t91776\n\t],\n\t\"./slots/HomeIcon\": [\n\t\t92410,\n\t\t92410\n\t],\n\t\"./slots/HomeIcon.tsx\": [\n\t\t92410,\n\t\t92410\n\t],\n\t\"./slots/InfoCircleIcon\": [\n\t\t52154,\n\t\t52154\n\t],\n\t\"./slots/InfoCircleIcon.tsx\": [\n\t\t52154,\n\t\t52154\n\t],\n\t\"./slots/SearchIcon\": [\n\t\t96659,\n\t\t96659\n\t],\n\t\"./slots/SearchIcon.tsx\": [\n\t\t96659,\n\t\t96659\n\t],\n\t\"./slots/WideIcon\": [\n\t\t54163,\n\t\t54163\n\t],\n\t\"./slots/WideIcon.tsx\": [\n\t\t54163,\n\t\t54163\n\t],\n\t\"./slots/categories\": [\n\t\t35260,\n\t\t35260\n\t],\n\t\"./slots/categories/\": [\n\t\t35260,\n\t\t35260\n\t],\n\t\"./slots/categories/GameShowsIcon\": [\n\t\t97639,\n\t\t97639\n\t],\n\t\"./slots/categories/GameShowsIcon.tsx\": [\n\t\t97639,\n\t\t97639\n\t],\n\t\"./slots/categories/LiveIcon\": [\n\t\t98952,\n\t\t98952\n\t],\n\t\"./slots/categories/LiveIcon.tsx\": [\n\t\t98952,\n\t\t98952\n\t],\n\t\"./slots/categories/NewGamesIcon\": [\n\t\t24197,\n\t\t24197\n\t],\n\t\"./slots/categories/NewGamesIcon.tsx\": [\n\t\t24197,\n\t\t24197\n\t],\n\t\"./slots/categories/SlotsIcon\": [\n\t\t13619,\n\t\t13619\n\t],\n\t\"./slots/categories/SlotsIcon.tsx\": [\n\t\t13619,\n\t\t13619\n\t],\n\t\"./slots/categories/TableGamesIcon\": [\n\t\t15534,\n\t\t15534\n\t],\n\t\"./slots/categories/TableGamesIcon.tsx\": [\n\t\t15534,\n\t\t15534\n\t],\n\t\"./slots/categories/index\": [\n\t\t35260,\n\t\t35260\n\t],\n\t\"./slots/categories/index.ts\": [\n\t\t35260,\n\t\t35260\n\t],\n\t\"./slots/favorite\": [\n\t\t28058,\n\t\t28058\n\t],\n\t\"./slots/favorite.tsx\": [\n\t\t28058,\n\t\t28058\n\t],\n\t\"./slots/favorite_v2\": [\n\t\t72447,\n\t\t72447\n\t],\n\t\"./slots/favorite_v2.tsx\": [\n\t\t72447,\n\t\t72447\n\t],\n\t\"./slots/game-shows\": [\n\t\t76011,\n\t\t76011\n\t],\n\t\"./slots/game-shows.tsx\": [\n\t\t76011,\n\t\t76011\n\t],\n\t\"./slots/index\": [\n\t\t9133,\n\t\t9133\n\t],\n\t\"./slots/index.tsx\": [\n\t\t9133,\n\t\t9133\n\t],\n\t\"./slots/live-casino\": [\n\t\t81530,\n\t\t81530\n\t],\n\t\"./slots/live-casino.tsx\": [\n\t\t81530,\n\t\t81530\n\t],\n\t\"./slots/new-games\": [\n\t\t79001,\n\t\t79001\n\t],\n\t\"./slots/new-games.tsx\": [\n\t\t79001,\n\t\t79001\n\t],\n\t\"./slots/popular\": [\n\t\t90977,\n\t\t90977\n\t],\n\t\"./slots/popular.tsx\": [\n\t\t90977,\n\t\t90977\n\t],\n\t\"./slots/providers/1spin4win\": [\n\t\t34492,\n\t\t34492\n\t],\n\t\"./slots/providers/1spin4win.tsx\": [\n\t\t34492,\n\t\t34492\n\t],\n\t\"./slots/providers/1x2gaming\": [\n\t\t57115,\n\t\t57115\n\t],\n\t\"./slots/providers/1x2gaming.tsx\": [\n\t\t57115,\n\t\t57115\n\t],\n\t\"./slots/providers/3oaks\": [\n\t\t66991,\n\t\t66991\n\t],\n\t\"./slots/providers/3oaks.tsx\": [\n\t\t66991,\n\t\t66991\n\t],\n\t\"./slots/providers/5men\": [\n\t\t52201,\n\t\t52201\n\t],\n\t\"./slots/providers/5men.tsx\": [\n\t\t52201,\n\t\t52201\n\t],\n\t\"./slots/providers/alg\": [\n\t\t80623,\n\t\t80623\n\t],\n\t\"./slots/providers/alg.tsx\": [\n\t\t80623,\n\t\t80623\n\t],\n\t\"./slots/providers/amatic\": [\n\t\t84292,\n\t\t84292\n\t],\n\t\"./slots/providers/amatic.tsx\": [\n\t\t84292,\n\t\t84292\n\t],\n\t\"./slots/providers/amusnet\": [\n\t\t50396,\n\t\t10782\n\t],\n\t\"./slots/providers/amusnet.tsx\": [\n\t\t50396,\n\t\t10782\n\t],\n\t\"./slots/providers/apollo\": [\n\t\t60766,\n\t\t60766\n\t],\n\t\"./slots/providers/apollo.tsx\": [\n\t\t60766,\n\t\t60766\n\t],\n\t\"./slots/providers/apparat\": [\n\t\t4443,\n\t\t4443\n\t],\n\t\"./slots/providers/apparat.tsx\": [\n\t\t4443,\n\t\t4443\n\t],\n\t\"./slots/providers/avatarux\": [\n\t\t62131,\n\t\t62131\n\t],\n\t\"./slots/providers/avatarux.tsx\": [\n\t\t62131,\n\t\t62131\n\t],\n\t\"./slots/providers/barbarabang\": [\n\t\t5068,\n\t\t5068\n\t],\n\t\"./slots/providers/barbarabang.tsx\": [\n\t\t5068,\n\t\t5068\n\t],\n\t\"./slots/providers/belatra\": [\n\t\t98752,\n\t\t98752\n\t],\n\t\"./slots/providers/belatra.tsx\": [\n\t\t98752,\n\t\t98752\n\t],\n\t\"./slots/providers/beterlive\": [\n\t\t31308,\n\t\t28483\n\t],\n\t\"./slots/providers/beterlive.tsx\": [\n\t\t31308,\n\t\t28483\n\t],\n\t\"./slots/providers/betsolutions\": [\n\t\t39062,\n\t\t39062\n\t],\n\t\"./slots/providers/betsolutions.tsx\": [\n\t\t39062,\n\t\t39062\n\t],\n\t\"./slots/providers/bgaming\": [\n\t\t19424,\n\t\t19424\n\t],\n\t\"./slots/providers/bgaming.tsx\": [\n\t\t19424,\n\t\t19424\n\t],\n\t\"./slots/providers/blueprint\": [\n\t\t68582,\n\t\t68582\n\t],\n\t\"./slots/providers/blueprint.tsx\": [\n\t\t68582,\n\t\t68582\n\t],\n\t\"./slots/providers/booming\": [\n\t\t77822,\n\t\t77822\n\t],\n\t\"./slots/providers/booming.tsx\": [\n\t\t77822,\n\t\t77822\n\t],\n\t\"./slots/providers/booongo\": [\n\t\t93480,\n\t\t93480\n\t],\n\t\"./slots/providers/booongo.tsx\": [\n\t\t93480,\n\t\t93480\n\t],\n\t\"./slots/providers/bsg\": [\n\t\t92735,\n\t\t92735\n\t],\n\t\"./slots/providers/bsg.tsx\": [\n\t\t92735,\n\t\t92735\n\t],\n\t\"./slots/providers/clawbuster\": [\n\t\t86603,\n\t\t86603\n\t],\n\t\"./slots/providers/clawbuster.tsx\": [\n\t\t86603,\n\t\t86603\n\t],\n\t\"./slots/providers/copacabana\": [\n\t\t17791,\n\t\t17791\n\t],\n\t\"./slots/providers/copacabana.tsx\": [\n\t\t17791,\n\t\t17791\n\t],\n\t\"./slots/providers/eagaming\": [\n\t\t75592,\n\t\t75592\n\t],\n\t\"./slots/providers/eagaming.tsx\": [\n\t\t75592,\n\t\t75592\n\t],\n\t\"./slots/providers/egt-interactive\": [\n\t\t5970,\n\t\t45739\n\t],\n\t\"./slots/providers/egt-interactive.tsx\": [\n\t\t5970,\n\t\t45739\n\t],\n\t\"./slots/providers/elk\": [\n\t\t78921,\n\t\t78921\n\t],\n\t\"./slots/providers/elk.tsx\": [\n\t\t78921,\n\t\t78921\n\t],\n\t\"./slots/providers/endorphina\": [\n\t\t14720,\n\t\t14720\n\t],\n\t\"./slots/providers/endorphina.tsx\": [\n\t\t14720,\n\t\t14720\n\t],\n\t\"./slots/providers/evolution\": [\n\t\t34938,\n\t\t34938\n\t],\n\t\"./slots/providers/evolution.tsx\": [\n\t\t34938,\n\t\t34938\n\t],\n\t\"./slots/providers/evoplay\": [\n\t\t63917,\n\t\t63917\n\t],\n\t\"./slots/providers/evoplay.tsx\": [\n\t\t63917,\n\t\t63917\n\t],\n\t\"./slots/providers/fantasma\": [\n\t\t55866,\n\t\t55866\n\t],\n\t\"./slots/providers/fantasma.tsx\": [\n\t\t55866,\n\t\t55866\n\t],\n\t\"./slots/providers/felixgaming\": [\n\t\t24373,\n\t\t24373\n\t],\n\t\"./slots/providers/felixgaming.tsx\": [\n\t\t24373,\n\t\t24373\n\t],\n\t\"./slots/providers/fugaso\": [\n\t\t10328,\n\t\t10328\n\t],\n\t\"./slots/providers/fugaso.tsx\": [\n\t\t10328,\n\t\t10328\n\t],\n\t\"./slots/providers/gameart\": [\n\t\t45083,\n\t\t45083\n\t],\n\t\"./slots/providers/gameart.tsx\": [\n\t\t45083,\n\t\t45083\n\t],\n\t\"./slots/providers/gamingcorps\": [\n\t\t95285,\n\t\t95285\n\t],\n\t\"./slots/providers/gamingcorps.tsx\": [\n\t\t95285,\n\t\t95285\n\t],\n\t\"./slots/providers/genii\": [\n\t\t5952,\n\t\t5952\n\t],\n\t\"./slots/providers/genii.tsx\": [\n\t\t5952,\n\t\t5952\n\t],\n\t\"./slots/providers/goldenhero\": [\n\t\t91199,\n\t\t91199\n\t],\n\t\"./slots/providers/goldenhero.tsx\": [\n\t\t91199,\n\t\t91199\n\t],\n\t\"./slots/providers/greenjade\": [\n\t\t73702,\n\t\t73702\n\t],\n\t\"./slots/providers/greenjade.tsx\": [\n\t\t73702,\n\t\t73702\n\t],\n\t\"./slots/providers/habanero\": [\n\t\t70562,\n\t\t70562\n\t],\n\t\"./slots/providers/habanero.tsx\": [\n\t\t70562,\n\t\t70562\n\t],\n\t\"./slots/providers/hacksaw\": [\n\t\t62975,\n\t\t62975\n\t],\n\t\"./slots/providers/hacksaw.tsx\": [\n\t\t62975,\n\t\t62975\n\t],\n\t\"./slots/providers/hacksawgaming\": [\n\t\t68210,\n\t\t68210\n\t],\n\t\"./slots/providers/hacksawgaming.tsx\": [\n\t\t68210,\n\t\t68210\n\t],\n\t\"./slots/providers/high5\": [\n\t\t76223,\n\t\t76223\n\t],\n\t\"./slots/providers/high5.tsx\": [\n\t\t76223,\n\t\t76223\n\t],\n\t\"./slots/providers/hollegames\": [\n\t\t39117,\n\t\t39117\n\t],\n\t\"./slots/providers/hollegames.tsx\": [\n\t\t39117,\n\t\t39117\n\t],\n\t\"./slots/providers/igrosoft\": [\n\t\t2624,\n\t\t2624\n\t],\n\t\"./slots/providers/igrosoft.tsx\": [\n\t\t2624,\n\t\t2624\n\t],\n\t\"./slots/providers/isoftbet\": [\n\t\t63794,\n\t\t63794\n\t],\n\t\"./slots/providers/isoftbet.tsx\": [\n\t\t63794,\n\t\t63794\n\t],\n\t\"./slots/providers/kaga\": [\n\t\t31314,\n\t\t31314\n\t],\n\t\"./slots/providers/kaga.tsx\": [\n\t\t31314,\n\t\t31314\n\t],\n\t\"./slots/providers/kagaming\": [\n\t\t90601,\n\t\t90601\n\t],\n\t\"./slots/providers/kagaming.tsx\": [\n\t\t90601,\n\t\t90601\n\t],\n\t\"./slots/providers/kalamba\": [\n\t\t78503,\n\t\t78503\n\t],\n\t\"./slots/providers/kalamba.tsx\": [\n\t\t78503,\n\t\t78503\n\t],\n\t\"./slots/providers/kiron\": [\n\t\t40480,\n\t\t40480\n\t],\n\t\"./slots/providers/kiron.tsx\": [\n\t\t40480,\n\t\t40480\n\t],\n\t\"./slots/providers/leander\": [\n\t\t84403,\n\t\t84403\n\t],\n\t\"./slots/providers/leander.tsx\": [\n\t\t84403,\n\t\t84403\n\t],\n\t\"./slots/providers/mancala\": [\n\t\t77994,\n\t\t77994\n\t],\n\t\"./slots/providers/mancala.tsx\": [\n\t\t77994,\n\t\t77994\n\t],\n\t\"./slots/providers/mascot\": [\n\t\t63879,\n\t\t63879\n\t],\n\t\"./slots/providers/mascot.tsx\": [\n\t\t63879,\n\t\t63879\n\t],\n\t\"./slots/providers/merkur\": [\n\t\t73954,\n\t\t73954\n\t],\n\t\"./slots/providers/merkur.tsx\": [\n\t\t73954,\n\t\t73954\n\t],\n\t\"./slots/providers/mgagames\": [\n\t\t75844,\n\t\t75844\n\t],\n\t\"./slots/providers/mgagames.tsx\": [\n\t\t75844,\n\t\t75844\n\t],\n\t\"./slots/providers/microgaming_\": [\n\t\t90218,\n\t\t90218\n\t],\n\t\"./slots/providers/microgaming_.tsx\": [\n\t\t90218,\n\t\t90218\n\t],\n\t\"./slots/providers/mplay\": [\n\t\t98137,\n\t\t98137\n\t],\n\t\"./slots/providers/mplay.tsx\": [\n\t\t98137,\n\t\t98137\n\t],\n\t\"./slots/providers/mrslotty\": [\n\t\t29353,\n\t\t29353\n\t],\n\t\"./slots/providers/mrslotty.tsx\": [\n\t\t29353,\n\t\t29353\n\t],\n\t\"./slots/providers/n2games\": [\n\t\t99819,\n\t\t99819\n\t],\n\t\"./slots/providers/n2games.tsx\": [\n\t\t99819,\n\t\t99819\n\t],\n\t\"./slots/providers/netent\": [\n\t\t66715,\n\t\t66715\n\t],\n\t\"./slots/providers/netent.tsx\": [\n\t\t66715,\n\t\t66715\n\t],\n\t\"./slots/providers/netgame\": [\n\t\t98566,\n\t\t98566\n\t],\n\t\"./slots/providers/netgame.tsx\": [\n\t\t98566,\n\t\t98566\n\t],\n\t\"./slots/providers/nolimitcity\": [\n\t\t12720,\n\t\t12720\n\t],\n\t\"./slots/providers/nolimitcity.tsx\": [\n\t\t12720,\n\t\t12720\n\t],\n\t\"./slots/providers/octoplay\": [\n\t\t57849,\n\t\t57849\n\t],\n\t\"./slots/providers/octoplay.tsx\": [\n\t\t57849,\n\t\t57849\n\t],\n\t\"./slots/providers/pariplay\": [\n\t\t49201,\n\t\t50396\n\t],\n\t\"./slots/providers/pariplay.tsx\": [\n\t\t49201,\n\t\t50396\n\t],\n\t\"./slots/providers/pgsoft\": [\n\t\t49044,\n\t\t49044\n\t],\n\t\"./slots/providers/pgsoft.tsx\": [\n\t\t49044,\n\t\t49044\n\t],\n\t\"./slots/providers/platipus\": [\n\t\t43941,\n\t\t43941\n\t],\n\t\"./slots/providers/platipus.tsx\": [\n\t\t43941,\n\t\t43941\n\t],\n\t\"./slots/providers/playngo\": [\n\t\t56089,\n\t\t56089\n\t],\n\t\"./slots/providers/playngo.tsx\": [\n\t\t56089,\n\t\t56089\n\t],\n\t\"./slots/providers/playson\": [\n\t\t40404,\n\t\t40404\n\t],\n\t\"./slots/providers/playson.tsx\": [\n\t\t40404,\n\t\t40404\n\t],\n\t\"./slots/providers/playsondirect\": [\n\t\t91688,\n\t\t91688\n\t],\n\t\"./slots/providers/playsondirect.tsx\": [\n\t\t91688,\n\t\t91688\n\t],\n\t\"./slots/providers/playtech\": [\n\t\t82981,\n\t\t82981\n\t],\n\t\"./slots/providers/playtech.tsx\": [\n\t\t82981,\n\t\t82981\n\t],\n\t\"./slots/providers/pragmaticplay\": [\n\t\t76643,\n\t\t76643\n\t],\n\t\"./slots/providers/pragmaticplay.tsx\": [\n\t\t76643,\n\t\t76643\n\t],\n\t\"./slots/providers/pragmaticplaylive\": [\n\t\t99266,\n\t\t99266\n\t],\n\t\"./slots/providers/pragmaticplaylive.tsx\": [\n\t\t99266,\n\t\t99266\n\t],\n\t\"./slots/providers/pushgaming\": [\n\t\t79330,\n\t\t79330\n\t],\n\t\"./slots/providers/pushgaming.tsx\": [\n\t\t79330,\n\t\t79330\n\t],\n\t\"./slots/providers/quickspin\": [\n\t\t48259,\n\t\t48259\n\t],\n\t\"./slots/providers/quickspin.tsx\": [\n\t\t48259,\n\t\t48259\n\t],\n\t\"./slots/providers/readyplay\": [\n\t\t59913,\n\t\t59913\n\t],\n\t\"./slots/providers/readyplay.tsx\": [\n\t\t59913,\n\t\t59913\n\t],\n\t\"./slots/providers/redrakegaming\": [\n\t\t6274,\n\t\t6274\n\t],\n\t\"./slots/providers/redrakegaming.tsx\": [\n\t\t6274,\n\t\t6274\n\t],\n\t\"./slots/providers/redtiger\": [\n\t\t9014,\n\t\t9014\n\t],\n\t\"./slots/providers/redtiger.tsx\": [\n\t\t9014,\n\t\t9014\n\t],\n\t\"./slots/providers/reelplay\": [\n\t\t71347,\n\t\t71347\n\t],\n\t\"./slots/providers/reelplay.tsx\": [\n\t\t71347,\n\t\t71347\n\t],\n\t\"./slots/providers/relax\": [\n\t\t63415,\n\t\t63415\n\t],\n\t\"./slots/providers/relax.tsx\": [\n\t\t63415,\n\t\t63415\n\t],\n\t\"./slots/providers/revolvergaming\": [\n\t\t88036,\n\t\t88036\n\t],\n\t\"./slots/providers/revolvergaming.tsx\": [\n\t\t88036,\n\t\t88036\n\t],\n\t\"./slots/providers/rfranco\": [\n\t\t43038,\n\t\t43038\n\t],\n\t\"./slots/providers/rfranco.tsx\": [\n\t\t43038,\n\t\t43038\n\t],\n\t\"./slots/providers/skywind\": [\n\t\t88397,\n\t\t88397\n\t],\n\t\"./slots/providers/skywind.tsx\": [\n\t\t88397,\n\t\t88397\n\t],\n\t\"./slots/providers/slotmill\": [\n\t\t32178,\n\t\t32178\n\t],\n\t\"./slots/providers/slotmill.tsx\": [\n\t\t32178,\n\t\t32178\n\t],\n\t\"./slots/providers/smartsoft\": [\n\t\t85474,\n\t\t85474\n\t],\n\t\"./slots/providers/smartsoft.tsx\": [\n\t\t85474,\n\t\t85474\n\t],\n\t\"./slots/providers/spadegaming\": [\n\t\t38417,\n\t\t38417\n\t],\n\t\"./slots/providers/spadegaming.tsx\": [\n\t\t38417,\n\t\t38417\n\t],\n\t\"./slots/providers/spinomenal\": [\n\t\t29527,\n\t\t29527\n\t],\n\t\"./slots/providers/spinomenal.tsx\": [\n\t\t29527,\n\t\t29527\n\t],\n\t\"./slots/providers/spinoro\": [\n\t\t90233,\n\t\t90233\n\t],\n\t\"./slots/providers/spinoro.tsx\": [\n\t\t90233,\n\t\t90233\n\t],\n\t\"./slots/providers/spinthon\": [\n\t\t96764,\n\t\t96764\n\t],\n\t\"./slots/providers/spinthon.tsx\": [\n\t\t96764,\n\t\t96764\n\t],\n\t\"./slots/providers/spinza\": [\n\t\t89214,\n\t\t89214\n\t],\n\t\"./slots/providers/spinza.tsx\": [\n\t\t89214,\n\t\t89214\n\t],\n\t\"./slots/providers/spribe\": [\n\t\t44350,\n\t\t44350\n\t],\n\t\"./slots/providers/spribe.tsx\": [\n\t\t44350,\n\t\t44350\n\t],\n\t\"./slots/providers/stakelogic\": [\n\t\t22608,\n\t\t22608\n\t],\n\t\"./slots/providers/stakelogic.tsx\": [\n\t\t22608,\n\t\t22608\n\t],\n\t\"./slots/providers/svg/1spin4win.svg\": [\n\t\t80611,\n\t\t80611\n\t],\n\t\"./slots/providers/svg/1x2-gaming.svg\": [\n\t\t56978,\n\t\t56978\n\t],\n\t\"./slots/providers/svg/3oaks.svg\": [\n\t\t64943,\n\t\t64943\n\t],\n\t\"./slots/providers/svg/5men.svg\": [\n\t\t94339,\n\t\t94339\n\t],\n\t\"./slots/providers/svg/ainsworth.svg\": [\n\t\t41725,\n\t\t41725\n\t],\n\t\"./slots/providers/svg/alg.svg\": [\n\t\t99081,\n\t\t99081\n\t],\n\t\"./slots/providers/svg/amatic.svg\": [\n\t\t37199,\n\t\t37199\n\t],\n\t\"./slots/providers/svg/amaya.svg\": [\n\t\t92875,\n\t\t92875\n\t],\n\t\"./slots/providers/svg/apollo.svg\": [\n\t\t70220,\n\t\t70220\n\t],\n\t\"./slots/providers/svg/apparat.svg\": [\n\t\t60364,\n\t\t60364\n\t],\n\t\"./slots/providers/svg/aristocrat.svg\": [\n\t\t34614,\n\t\t34614\n\t],\n\t\"./slots/providers/svg/avatarux.svg\": [\n\t\t92315,\n\t\t92315\n\t],\n\t\"./slots/providers/svg/bally-technologies.svg\": [\n\t\t5157,\n\t\t5157\n\t],\n\t\"./slots/providers/svg/barbarabang.svg\": [\n\t\t34796,\n\t\t34796\n\t],\n\t\"./slots/providers/svg/barcrest.svg\": [\n\t\t86139,\n\t\t86139\n\t],\n\t\"./slots/providers/svg/belatra.svg\": [\n\t\t45093,\n\t\t45093\n\t],\n\t\"./slots/providers/svg/betdigital.svg\": [\n\t\t23295,\n\t\t23295\n\t],\n\t\"./slots/providers/svg/beterlive.svg\": [\n\t\t21758,\n\t\t21758\n\t],\n\t\"./slots/providers/svg/betgames.svg\": [\n\t\t4210,\n\t\t4210\n\t],\n\t\"./slots/providers/svg/betsoft.svg\": [\n\t\t76083,\n\t\t76083\n\t],\n\t\"./slots/providers/svg/betsolutions.svg\": [\n\t\t17719,\n\t\t17719\n\t],\n\t\"./slots/providers/svg/bgaming.svg\": [\n\t\t76903,\n\t\t76903\n\t],\n\t\"./slots/providers/svg/big-time-gaming.svg\": [\n\t\t49672,\n\t\t49672\n\t],\n\t\"./slots/providers/svg/big_time_gaming.svg\": [\n\t\t3585,\n\t\t3585\n\t],\n\t\"./slots/providers/svg/blueprint-gaming.svg\": [\n\t\t31367,\n\t\t31367\n\t],\n\t\"./slots/providers/svg/blueprint.svg\": [\n\t\t9325,\n\t\t9325\n\t],\n\t\"./slots/providers/svg/booming.svg\": [\n\t\t93623,\n\t\t93623\n\t],\n\t\"./slots/providers/svg/booongo.svg\": [\n\t\t13384,\n\t\t13384\n\t],\n\t\"./slots/providers/svg/clawbuster.svg\": [\n\t\t14285,\n\t\t14285\n\t],\n\t\"./slots/providers/svg/copacabana.svg\": [\n\t\t420,\n\t\t420\n\t],\n\t\"./slots/providers/svg/cozy-games.svg\": [\n\t\t12887,\n\t\t12887\n\t],\n\t\"./slots/providers/svg/crazy-tooth-studio.svg\": [\n\t\t12226,\n\t\t12226\n\t],\n\t\"./slots/providers/svg/cryptologic.svg\": [\n\t\t17940,\n\t\t17940\n\t],\n\t\"./slots/providers/svg/eagaming.svg\": [\n\t\t82695,\n\t\t82695\n\t],\n\t\"./slots/providers/svg/edict.svg\": [\n\t\t7128,\n\t\t7128\n\t],\n\t\"./slots/providers/svg/egt.svg\": [\n\t\t51138,\n\t\t51138\n\t],\n\t\"./slots/providers/svg/elk.svg\": [\n\t\t14863,\n\t\t14863\n\t],\n\t\"./slots/providers/svg/elysium-studios.svg\": [\n\t\t85184,\n\t\t85184\n\t],\n\t\"./slots/providers/svg/endorphina.svg\": [\n\t\t47074,\n\t\t47074\n\t],\n\t\"./slots/providers/svg/evolution.svg\": [\n\t\t38962,\n\t\t38962\n\t],\n\t\"./slots/providers/svg/evoplay.svg\": [\n\t\t70722,\n\t\t70722\n\t],\n\t\"./slots/providers/svg/ezugi.svg\": [\n\t\t82017,\n\t\t82017\n\t],\n\t\"./slots/providers/svg/fantasma.svg\": [\n\t\t10915,\n\t\t10915\n\t],\n\t\"./slots/providers/svg/felixgaming.svg\": [\n\t\t94060,\n\t\t94060\n\t],\n\t\"./slots/providers/svg/foxium.svg\": [\n\t\t86072,\n\t\t86072\n\t],\n\t\"./slots/providers/svg/gameart.svg\": [\n\t\t93664,\n\t\t93664\n\t],\n\t\"./slots/providers/svg/gamescale-big.png\": [\n\t\t51356,\n\t\t51356\n\t],\n\t\"./slots/providers/svg/gamesos.svg\": [\n\t\t5119,\n\t\t5119\n\t],\n\t\"./slots/providers/svg/gamingcorps.svg\": [\n\t\t41872,\n\t\t41872\n\t],\n\t\"./slots/providers/svg/gamomat.svg\": [\n\t\t63351,\n\t\t63351\n\t],\n\t\"./slots/providers/svg/gamzix.svg\": [\n\t\t52962,\n\t\t52962\n\t],\n\t\"./slots/providers/svg/genesis.svg\": [\n\t\t74407,\n\t\t74407\n\t],\n\t\"./slots/providers/svg/genii.svg\": [\n\t\t26061,\n\t\t26061\n\t],\n\t\"./slots/providers/svg/gong-gaming.svg\": [\n\t\t88685,\n\t\t88685\n\t],\n\t\"./slots/providers/svg/green-valley-games-big.png\": [\n\t\t41265,\n\t\t41265\n\t],\n\t\"./slots/providers/svg/greentube-novomatic.svg\": [\n\t\t96111,\n\t\t96111\n\t],\n\t\"./slots/providers/svg/habanero.svg\": [\n\t\t94660,\n\t\t94660\n\t],\n\t\"./slots/providers/svg/hacksaw.svg\": [\n\t\t35823,\n\t\t35823\n\t],\n\t\"./slots/providers/svg/hacksawgaming.svg\": [\n\t\t96118,\n\t\t96118\n\t],\n\t\"./slots/providers/svg/hollegames.svg\": [\n\t\t67644,\n\t\t67644\n\t],\n\t\"./slots/providers/svg/igt.svg\": [\n\t\t44203,\n\t\t44203\n\t],\n\t\"./slots/providers/svg/iron-dog.svg\": [\n\t\t42796,\n\t\t42796\n\t],\n\t\"./slots/providers/svg/iron_dog.svg\": [\n\t\t16632,\n\t\t16632\n\t],\n\t\"./slots/providers/svg/isoftbet.svg\": [\n\t\t90529,\n\t\t90529\n\t],\n\t\"./slots/providers/svg/jtg.svg\": [\n\t\t51773,\n\t\t51773\n\t],\n\t\"./slots/providers/svg/kaga.svg\": [\n\t\t58842,\n\t\t58842\n\t],\n\t\"./slots/providers/svg/kalamba.svg\": [\n\t\t49183,\n\t\t49183\n\t],\n\t\"./slots/providers/svg/kiron.svg\": [\n\t\t91398,\n\t\t91398\n\t],\n\t\"./slots/providers/svg/leander-games.svg\": [\n\t\t80545,\n\t\t80545\n\t],\n\t\"./slots/providers/svg/lightning-box-big.png\": [\n\t\t16207,\n\t\t16207\n\t],\n\t\"./slots/providers/svg/lucky-streak.svg\": [\n\t\t22032,\n\t\t22032\n\t],\n\t\"./slots/providers/svg/mancala.svg\": [\n\t\t55105,\n\t\t55105\n\t],\n\t\"./slots/providers/svg/merkur-gaming.svg\": [\n\t\t83028,\n\t\t83028\n\t],\n\t\"./slots/providers/svg/mga.svg\": [\n\t\t47982,\n\t\t47982\n\t],\n\t\"./slots/providers/svg/microgaming.svg\": [\n\t\t71080,\n\t\t71080\n\t],\n\t\"./slots/providers/svg/mplay.svg\": [\n\t\t97387,\n\t\t97387\n\t],\n\t\"./slots/providers/svg/n2Games.svg\": [\n\t\t1594,\n\t\t1594\n\t],\n\t\"./slots/providers/svg/nemesis.svg\": [\n\t\t31320,\n\t\t31320\n\t],\n\t\"./slots/providers/svg/neogames.svg\": [\n\t\t57007,\n\t\t57007\n\t],\n\t\"./slots/providers/svg/netent.svg\": [\n\t\t79210,\n\t\t79210\n\t],\n\t\"./slots/providers/svg/netgame.svg\": [\n\t\t49344,\n\t\t49344\n\t],\n\t\"./slots/providers/svg/nextgen.svg\": [\n\t\t82085,\n\t\t82085\n\t],\n\t\"./slots/providers/svg/nolimit-city.svg\": [\n\t\t36872,\n\t\t36872\n\t],\n\t\"./slots/providers/svg/nolimit.svg\": [\n\t\t24954,\n\t\t24954\n\t],\n\t\"./slots/providers/svg/nyx.svg\": [\n\t\t52234,\n\t\t52234\n\t],\n\t\"./slots/providers/svg/octoplay.svg\": [\n\t\t9619,\n\t\t9619\n\t],\n\t\"./slots/providers/svg/octopus-gaming-big.png\": [\n\t\t8455,\n\t\t8455\n\t],\n\t\"./slots/providers/svg/old-skool-studios.svg\": [\n\t\t32032,\n\t\t32032\n\t],\n\t\"./slots/providers/svg/openbet.svg\": [\n\t\t37440,\n\t\t37440\n\t],\n\t\"./slots/providers/svg/oryx.svg\": [\n\t\t84321,\n\t\t84321\n\t],\n\t\"./slots/providers/svg/parlay.svg\": [\n\t\t30193,\n\t\t30193\n\t],\n\t\"./slots/providers/svg/play-n-go.svg\": [\n\t\t93307,\n\t\t93307\n\t],\n\t\"./slots/providers/svg/playson.svg\": [\n\t\t76390,\n\t\t76390\n\t],\n\t\"./slots/providers/svg/playtech.svg\": [\n\t\t51559,\n\t\t51559\n\t],\n\t\"./slots/providers/svg/pragmatic-play.svg\": [\n\t\t79701,\n\t\t79701\n\t],\n\t\"./slots/providers/svg/pragmaticplay.svg\": [\n\t\t59242,\n\t\t59242\n\t],\n\t\"./slots/providers/svg/push-gaming.svg\": [\n\t\t85993,\n\t\t85993\n\t],\n\t\"./slots/providers/svg/push_gaming.svg\": [\n\t\t1803,\n\t\t1803\n\t],\n\t\"./slots/providers/svg/quickspin.svg\": [\n\t\t6480,\n\t\t6480\n\t],\n\t\"./slots/providers/svg/rabcat.svg\": [\n\t\t40929,\n\t\t40929\n\t],\n\t\"./slots/providers/svg/radi8.svg\": [\n\t\t26065,\n\t\t26065\n\t],\n\t\"./slots/providers/svg/readyplay.svg\": [\n\t\t34949,\n\t\t34949\n\t],\n\t\"./slots/providers/svg/realistic-games.svg\": [\n\t\t475,\n\t\t475\n\t],\n\t\"./slots/providers/svg/red-tiger-gaming.svg\": [\n\t\t67299,\n\t\t67299\n\t],\n\t\"./slots/providers/svg/red_tiger.svg\": [\n\t\t60491,\n\t\t60491\n\t],\n\t\"./slots/providers/svg/redrake.svg\": [\n\t\t55626,\n\t\t55626\n\t],\n\t\"./slots/providers/svg/relax-gaming.svg\": [\n\t\t16331,\n\t\t16331\n\t],\n\t\"./slots/providers/svg/relax_gaming.svg\": [\n\t\t96848,\n\t\t96848\n\t],\n\t\"./slots/providers/svg/revolver-gaming.svg\": [\n\t\t77660,\n\t\t77660\n\t],\n\t\"./slots/providers/svg/rival.svg\": [\n\t\t56532,\n\t\t56532\n\t],\n\t\"./slots/providers/svg/rtg.svg\": [\n\t\t69241,\n\t\t69241\n\t],\n\t\"./slots/providers/svg/saucify.svg\": [\n\t\t18089,\n\t\t18089\n\t],\n\t\"./slots/providers/svg/scientific-games.svg\": [\n\t\t28258,\n\t\t28258\n\t],\n\t\"./slots/providers/svg/side-city.svg\": [\n\t\t38785,\n\t\t38785\n\t],\n\t\"./slots/providers/svg/skillonnet.svg\": [\n\t\t8887,\n\t\t8887\n\t],\n\t\"./slots/providers/svg/skywind.svg\": [\n\t\t90298,\n\t\t90298\n\t],\n\t\"./slots/providers/svg/slotland-big.png\": [\n\t\t97485,\n\t\t97485\n\t],\n\t\"./slots/providers/svg/slotmill.svg\": [\n\t\t5452,\n\t\t5452\n\t],\n\t\"./slots/providers/svg/smartsoft.svg\": [\n\t\t80639,\n\t\t80639\n\t],\n\t\"./slots/providers/svg/spinomanel.svg\": [\n\t\t13721,\n\t\t13721\n\t],\n\t\"./slots/providers/svg/spinoro.svg\": [\n\t\t5980,\n\t\t5980\n\t],\n\t\"./slots/providers/svg/spinthon.svg\": [\n\t\t10594,\n\t\t10594\n\t],\n\t\"./slots/providers/svg/spinza.svg\": [\n\t\t38474,\n\t\t38474\n\t],\n\t\"./slots/providers/svg/stakelogic.svg\": [\n\t\t47695,\n\t\t47695\n\t],\n\t\"./slots/providers/svg/swintt.svg\": [\n\t\t71805,\n\t\t71805\n\t],\n\t\"./slots/providers/svg/technology.svg\": [\n\t\t41830,\n\t\t41830\n\t],\n\t\"./slots/providers/svg/thunderkick (1).svg\": [\n\t\t21153,\n\t\t21153\n\t],\n\t\"./slots/providers/svg/thunderkick.svg\": [\n\t\t40830,\n\t\t16016\n\t],\n\t\"./slots/providers/svg/tom-horn.svg\": [\n\t\t69873,\n\t\t69873\n\t],\n\t\"./slots/providers/svg/tomhorn.svg\": [\n\t\t19242,\n\t\t19242\n\t],\n\t\"./slots/providers/svg/tomhornnative.svg\": [\n\t\t97711,\n\t\t97711\n\t],\n\t\"./slots/providers/svg/tornado.svg\": [\n\t\t18184,\n\t\t18184\n\t],\n\t\"./slots/providers/svg/tripple-cherry.svg\": [\n\t\t23663,\n\t\t23663\n\t],\n\t\"./slots/providers/svg/true-lab.svg\": [\n\t\t12237,\n\t\t12237\n\t],\n\t\"./slots/providers/svg/turbogames.svg\": [\n\t\t89319,\n\t\t89319\n\t],\n\t\"./slots/providers/svg/vivo_gaming.svg\": [\n\t\t71126,\n\t\t71126\n\t],\n\t\"./slots/providers/svg/voltent.svg\": [\n\t\t7257,\n\t\t7257\n\t],\n\t\"./slots/providers/svg/wazdan.svg\": [\n\t\t85751,\n\t\t85751\n\t],\n\t\"./slots/providers/svg/wgs-technology.svg\": [\n\t\t44956,\n\t\t44956\n\t],\n\t\"./slots/providers/svg/winfinity.svg\": [\n\t\t78787,\n\t\t78787\n\t],\n\t\"./slots/providers/svg/wms.svg\": [\n\t\t21307,\n\t\t21307\n\t],\n\t\"./slots/providers/svg/yggdrasil.svg\": [\n\t\t54720,\n\t\t54720\n\t],\n\t\"./slots/providers/svg/zillion.svg\": [\n\t\t75254,\n\t\t75254\n\t],\n\t\"./slots/providers/svg/zilliongames.svg\": [\n\t\t66142,\n\t\t66142\n\t],\n\t\"./slots/providers/swintt\": [\n\t\t8514,\n\t\t8514\n\t],\n\t\"./slots/providers/swintt.tsx\": [\n\t\t8514,\n\t\t8514\n\t],\n\t\"./slots/providers/technology\": [\n\t\t12127,\n\t\t12127\n\t],\n\t\"./slots/providers/technology.tsx\": [\n\t\t12127,\n\t\t12127\n\t],\n\t\"./slots/providers/thunderkick\": [\n\t\t37659,\n\t\t37659\n\t],\n\t\"./slots/providers/thunderkick.tsx\": [\n\t\t37659,\n\t\t37659\n\t],\n\t\"./slots/providers/tomhorn\": [\n\t\t69021,\n\t\t69021\n\t],\n\t\"./slots/providers/tomhorn.tsx\": [\n\t\t69021,\n\t\t69021\n\t],\n\t\"./slots/providers/tomhornnative\": [\n\t\t71774,\n\t\t71774\n\t],\n\t\"./slots/providers/tomhornnative.tsx\": [\n\t\t71774,\n\t\t71774\n\t],\n\t\"./slots/providers/tornadogames\": [\n\t\t60920,\n\t\t60920\n\t],\n\t\"./slots/providers/tornadogames.tsx\": [\n\t\t60920,\n\t\t60920\n\t],\n\t\"./slots/providers/triplecherry\": [\n\t\t51660,\n\t\t51660\n\t],\n\t\"./slots/providers/triplecherry.tsx\": [\n\t\t51660,\n\t\t51660\n\t],\n\t\"./slots/providers/truelab\": [\n\t\t92016,\n\t\t92016\n\t],\n\t\"./slots/providers/truelab.tsx\": [\n\t\t92016,\n\t\t92016\n\t],\n\t\"./slots/providers/turbogames\": [\n\t\t52961,\n\t\t52961\n\t],\n\t\"./slots/providers/turbogames.tsx\": [\n\t\t52961,\n\t\t52961\n\t],\n\t\"./slots/providers/voltent\": [\n\t\t28034,\n\t\t28034\n\t],\n\t\"./slots/providers/voltent.tsx\": [\n\t\t28034,\n\t\t28034\n\t],\n\t\"./slots/providers/wazdan\": [\n\t\t97146,\n\t\t97146\n\t],\n\t\"./slots/providers/wazdan.tsx\": [\n\t\t97146,\n\t\t97146\n\t],\n\t\"./slots/providers/winfinity\": [\n\t\t50067,\n\t\t50067\n\t],\n\t\"./slots/providers/winfinity.tsx\": [\n\t\t50067,\n\t\t50067\n\t],\n\t\"./slots/providers/yggdrasil\": [\n\t\t55445,\n\t\t55445\n\t],\n\t\"./slots/providers/yggdrasil.tsx\": [\n\t\t55445,\n\t\t55445\n\t],\n\t\"./slots/providers/zillion\": [\n\t\t89823,\n\t\t89823\n\t],\n\t\"./slots/providers/zillion.tsx\": [\n\t\t89823,\n\t\t89823\n\t],\n\t\"./slots/slots\": [\n\t\t90844,\n\t\t90844\n\t],\n\t\"./slots/slots.tsx\": [\n\t\t90844,\n\t\t90844\n\t],\n\t\"./slots/table-games\": [\n\t\t5867,\n\t\t5867\n\t],\n\t\"./slots/table-games.tsx\": [\n\t\t5867,\n\t\t5867\n\t],\n\t\"./sport\": [\n\t\t46338\n\t],\n\t\"./sport.tsx\": [\n\t\t46338\n\t],\n\t\"./sports/american-football\": [\n\t\t13662,\n\t\t13662\n\t],\n\t\"./sports/american-football.jsx\": [\n\t\t13662,\n\t\t13662\n\t],\n\t\"./sports/aussie-rules\": [\n\t\t66010,\n\t\t66010\n\t],\n\t\"./sports/aussie-rules.jsx\": [\n\t\t66010,\n\t\t66010\n\t],\n\t\"./sports/badminton\": [\n\t\t36491,\n\t\t36491\n\t],\n\t\"./sports/badminton.jsx\": [\n\t\t36491,\n\t\t36491\n\t],\n\t\"./sports/bandy\": [\n\t\t35111,\n\t\t35111\n\t],\n\t\"./sports/bandy.jsx\": [\n\t\t35111,\n\t\t35111\n\t],\n\t\"./sports/baseball\": [\n\t\t72035,\n\t\t72035\n\t],\n\t\"./sports/baseball.jsx\": [\n\t\t72035,\n\t\t72035\n\t],\n\t\"./sports/basketball\": [\n\t\t8621,\n\t\t8621\n\t],\n\t\"./sports/basketball.jsx\": [\n\t\t8621,\n\t\t8621\n\t],\n\t\"./sports/beach-volley\": [\n\t\t40620,\n\t\t40620\n\t],\n\t\"./sports/beach-volley.jsx\": [\n\t\t40620,\n\t\t40620\n\t],\n\t\"./sports/boxing\": [\n\t\t17822,\n\t\t17822\n\t],\n\t\"./sports/boxing.jsx\": [\n\t\t17822,\n\t\t17822\n\t],\n\t\"./sports/cricket\": [\n\t\t67638,\n\t\t67638\n\t],\n\t\"./sports/cricket.jsx\": [\n\t\t67638,\n\t\t67638\n\t],\n\t\"./sports/darts\": [\n\t\t94976,\n\t\t94976\n\t],\n\t\"./sports/darts.jsx\": [\n\t\t94976,\n\t\t94976\n\t],\n\t\"./sports/esports\": [\n\t\t46610,\n\t\t46610\n\t],\n\t\"./sports/esports.jsx\": [\n\t\t46610,\n\t\t46610\n\t],\n\t\"./sports/field-hockey\": [\n\t\t58487,\n\t\t58487\n\t],\n\t\"./sports/field-hockey.jsx\": [\n\t\t58487,\n\t\t58487\n\t],\n\t\"./sports/floorball\": [\n\t\t15616,\n\t\t15616\n\t],\n\t\"./sports/floorball.jsx\": [\n\t\t15616,\n\t\t15616\n\t],\n\t\"./sports/football\": [\n\t\t28536,\n\t\t28536\n\t],\n\t\"./sports/football.jsx\": [\n\t\t28536,\n\t\t28536\n\t],\n\t\"./sports/futsal\": [\n\t\t76801,\n\t\t76801\n\t],\n\t\"./sports/futsal.jsx\": [\n\t\t76801,\n\t\t76801\n\t],\n\t\"./sports/handball\": [\n\t\t94338,\n\t\t94338\n\t],\n\t\"./sports/handball.jsx\": [\n\t\t94338,\n\t\t94338\n\t],\n\t\"./sports/ice-hockey\": [\n\t\t93566,\n\t\t93566\n\t],\n\t\"./sports/ice-hockey.jsx\": [\n\t\t93566,\n\t\t93566\n\t],\n\t\"./sports/mma\": [\n\t\t21499,\n\t\t21499\n\t],\n\t\"./sports/mma.jsx\": [\n\t\t21499,\n\t\t21499\n\t],\n\t\"./sports/multi\": [\n\t\t36772,\n\t\t14342\n\t],\n\t\"./sports/multi.jsx\": [\n\t\t36772,\n\t\t14342\n\t],\n\t\"./sports/netball\": [\n\t\t36116,\n\t\t36116\n\t],\n\t\"./sports/netball.jsx\": [\n\t\t36116,\n\t\t36116\n\t],\n\t\"./sports/olympic\": [\n\t\t15570,\n\t\t15570\n\t],\n\t\"./sports/olympic.jsx\": [\n\t\t15570,\n\t\t15570\n\t],\n\t\"./sports/rugby\": [\n\t\t71731,\n\t\t71731\n\t],\n\t\"./sports/rugby.jsx\": [\n\t\t71731,\n\t\t71731\n\t],\n\t\"./sports/snooker\": [\n\t\t93366,\n\t\t93366\n\t],\n\t\"./sports/snooker.jsx\": [\n\t\t93366,\n\t\t93366\n\t],\n\t\"./sports/soccer\": [\n\t\t50560,\n\t\t50560\n\t],\n\t\"./sports/soccer.jsx\": [\n\t\t50560,\n\t\t50560\n\t],\n\t\"./sports/table-tennis\": [\n\t\t17658,\n\t\t17658\n\t],\n\t\"./sports/table-tennis.jsx\": [\n\t\t17658,\n\t\t17658\n\t],\n\t\"./sports/tennis\": [\n\t\t8420,\n\t\t8420\n\t],\n\t\"./sports/tennis.jsx\": [\n\t\t8420,\n\t\t8420\n\t],\n\t\"./sports/volleyball\": [\n\t\t37652,\n\t\t37652\n\t],\n\t\"./sports/volleyball.jsx\": [\n\t\t37652,\n\t\t37652\n\t],\n\t\"./sports/waterpolo\": [\n\t\t19292,\n\t\t19292\n\t],\n\t\"./sports/waterpolo.jsx\": [\n\t\t19292,\n\t\t19292\n\t],\n\t\"./sports_bet\": [\n\t\t37289,\n\t\t37289\n\t],\n\t\"./sports_bet.jsx\": [\n\t\t37289,\n\t\t37289\n\t],\n\t\"./sports_live\": [\n\t\t47645,\n\t\t47645\n\t],\n\t\"./sports_live.jsx\": [\n\t\t47645,\n\t\t47645\n\t],\n\t\"./sports_tournament\": [\n\t\t27555,\n\t\t27555\n\t],\n\t\"./sports_tournament.jsx\": [\n\t\t27555,\n\t\t27555\n\t],\n\t\"./support\": [\n\t\t97390\n\t],\n\t\"./support.tsx\": [\n\t\t97390\n\t],\n\t\"./table-games\": [\n\t\t50999,\n\t\t50999\n\t],\n\t\"./table-games.tsx\": [\n\t\t50999,\n\t\t50999\n\t],\n\t\"./trending\": [\n\t\t74730\n\t],\n\t\"./trending.tsx\": [\n\t\t74730\n\t],\n\t\"./ui/Close\": [\n\t\t28842\n\t],\n\t\"./ui/Close.tsx\": [\n\t\t28842\n\t],\n\t\"./ui/alert-circle\": [\n\t\t54723,\n\t\t54723\n\t],\n\t\"./ui/alert-circle.tsx\": [\n\t\t54723,\n\t\t54723\n\t],\n\t\"./ui/arrow-left\": [\n\t\t4264,\n\t\t4264\n\t],\n\t\"./ui/arrow-left.tsx\": [\n\t\t4264,\n\t\t4264\n\t],\n\t\"./ui/arrow-up\": [\n\t\t33567,\n\t\t33567\n\t],\n\t\"./ui/arrow-up.tsx\": [\n\t\t33567,\n\t\t33567\n\t],\n\t\"./ui/caret-down\": [\n\t\t39333\n\t],\n\t\"./ui/caret-down.tsx\": [\n\t\t39333\n\t],\n\t\"./ui/caret-right\": [\n\t\t67030,\n\t\t67030\n\t],\n\t\"./ui/caret-right.tsx\": [\n\t\t67030,\n\t\t67030\n\t],\n\t\"./ui/check\": [\n\t\t45651\n\t],\n\t\"./ui/check.tsx\": [\n\t\t45651\n\t],\n\t\"./ui/copy\": [\n\t\t80026,\n\t\t80026\n\t],\n\t\"./ui/copy.tsx\": [\n\t\t80026,\n\t\t80026\n\t],\n\t\"./ui/edit-icon\": [\n\t\t45090,\n\t\t45090\n\t],\n\t\"./ui/edit-icon.tsx\": [\n\t\t45090,\n\t\t45090\n\t],\n\t\"./ui/flame-icon\": [\n\t\t54280,\n\t\t54280\n\t],\n\t\"./ui/flame-icon.tsx\": [\n\t\t54280,\n\t\t54280\n\t],\n\t\"./ui/history\": [\n\t\t73471,\n\t\t73471\n\t],\n\t\"./ui/history.tsx\": [\n\t\t73471,\n\t\t73471\n\t],\n\t\"./ui/info-icon\": [\n\t\t63042,\n\t\t63042\n\t],\n\t\"./ui/info-icon.tsx\": [\n\t\t63042,\n\t\t63042\n\t],\n\t\"./ui/more-icon\": [\n\t\t12366,\n\t\t12366\n\t],\n\t\"./ui/more-icon.tsx\": [\n\t\t12366,\n\t\t12366\n\t],\n\t\"./ui/percent\": [\n\t\t38609,\n\t\t38609\n\t],\n\t\"./ui/percent.tsx\": [\n\t\t38609,\n\t\t38609\n\t],\n\t\"./ui/plus-icon\": [\n\t\t85043,\n\t\t85043\n\t],\n\t\"./ui/plus-icon.tsx\": [\n\t\t85043,\n\t\t85043\n\t],\n\t\"./ui/point-arrow\": [\n\t\t98763,\n\t\t98763\n\t],\n\t\"./ui/point-arrow.tsx\": [\n\t\t98763,\n\t\t98763\n\t],\n\t\"./ui/qr-code-icon\": [\n\t\t78131,\n\t\t78131\n\t],\n\t\"./ui/qr-code-icon.tsx\": [\n\t\t78131,\n\t\t78131\n\t],\n\t\"./ui/refresh\": [\n\t\t40949,\n\t\t40949\n\t],\n\t\"./ui/refresh.tsx\": [\n\t\t40949,\n\t\t40949\n\t],\n\t\"./ui/remove-icon\": [\n\t\t60133,\n\t\t60133\n\t],\n\t\"./ui/remove-icon.tsx\": [\n\t\t60133,\n\t\t60133\n\t],\n\t\"./ui/share\": [\n\t\t19813,\n\t\t19813\n\t],\n\t\"./ui/share.tsx\": [\n\t\t19813,\n\t\t19813\n\t],\n\t\"./ui/stats-graph\": [\n\t\t32465,\n\t\t32465\n\t],\n\t\"./ui/stats-graph.tsx\": [\n\t\t32465,\n\t\t32465\n\t],\n\t\"./ui/trash\": [\n\t\t11142,\n\t\t11142\n\t],\n\t\"./ui/trash.tsx\": [\n\t\t11142,\n\t\t11142\n\t],\n\t\"./user-menu/addressBook\": [\n\t\t51952,\n\t\t51952\n\t],\n\t\"./user-menu/addressBook.tsx\": [\n\t\t51952,\n\t\t51952\n\t],\n\t\"./user-menu/depositIcon\": [\n\t\t75507,\n\t\t75507\n\t],\n\t\"./user-menu/depositIcon.tsx\": [\n\t\t75507,\n\t\t75507\n\t],\n\t\"./user-menu/logout\": [\n\t\t34530\n\t],\n\t\"./user-menu/logout.tsx\": [\n\t\t34530\n\t],\n\t\"./user-menu/transactions\": [\n\t\t8980\n\t],\n\t\"./user-menu/transactions.tsx\": [\n\t\t8980\n\t],\n\t\"./user-menu/vault\": [\n\t\t70999,\n\t\t70999\n\t],\n\t\"./user-menu/vault.tsx\": [\n\t\t70999,\n\t\t70999\n\t],\n\t\"./user-menu/withdrawIcon\": [\n\t\t2734,\n\t\t2734\n\t],\n\t\"./user-menu/withdrawIcon.tsx\": [\n\t\t2734,\n\t\t2734\n\t],\n\t\"./user_vip\": [\n\t\t69294,\n\t\t69294\n\t],\n\t\"./user_vip.jsx\": [\n\t\t69294,\n\t\t69294\n\t],\n\t\"./vip-levels/bronze-star\": [\n\t\t95820,\n\t\t95820\n\t],\n\t\"./vip-levels/bronze-star.svg\": [\n\t\t68858,\n\t\t55302\n\t],\n\t\"./vip-levels/bronze-star.tsx\": [\n\t\t95820,\n\t\t95820\n\t],\n\t\"./vip-levels/diamond-star\": [\n\t\t6640,\n\t\t6640\n\t],\n\t\"./vip-levels/diamond-star.svg\": [\n\t\t78958,\n\t\t78958\n\t],\n\t\"./vip-levels/diamond-star.tsx\": [\n\t\t6640,\n\t\t6640\n\t],\n\t\"./vip-levels/gold-star\": [\n\t\t11016,\n\t\t11016\n\t],\n\t\"./vip-levels/gold-star.svg\": [\n\t\t30683,\n\t\t30683\n\t],\n\t\"./vip-levels/gold-star.tsx\": [\n\t\t11016,\n\t\t11016\n\t],\n\t\"./vip-levels/silver-star\": [\n\t\t59316,\n\t\t59316\n\t],\n\t\"./vip-levels/silver-star.svg\": [\n\t\t52652,\n\t\t52652\n\t],\n\t\"./vip-levels/silver-star.tsx\": [\n\t\t59316,\n\t\t59316\n\t],\n\t\"./vip-levels/unranked\": [\n\t\t29843,\n\t\t29843\n\t],\n\t\"./vip-levels/unranked.svg\": [\n\t\t51204,\n\t\t51204\n\t],\n\t\"./vip-levels/unranked.tsx\": [\n\t\t29843,\n\t\t29843\n\t],\n\t\"./wallet\": [\n\t\t27972\n\t],\n\t\"./wallet.tsx\": [\n\t\t27972\n\t],\n\t\"./wallet/add-wallet\": [\n\t\t29099,\n\t\t29099\n\t],\n\t\"./wallet/add-wallet.tsx\": [\n\t\t29099,\n\t\t29099\n\t],\n\t\"./wallet/generate-address\": [\n\t\t23369,\n\t\t23369\n\t],\n\t\"./wallet/generate-address.tsx\": [\n\t\t23369,\n\t\t23369\n\t],\n\t\"./wallet/kyc\": [\n\t\t38191,\n\t\t38191\n\t],\n\t\"./wallet/kyc.tsx\": [\n\t\t38191,\n\t\t38191\n\t],\n\t\"./wallet/verify-2fa\": [\n\t\t87102,\n\t\t87102\n\t],\n\t\"./wallet/verify-2fa.tsx\": [\n\t\t87102,\n\t\t87102\n\t],\n\t\"./wallet/verify-email\": [\n\t\t25060,\n\t\t25060\n\t],\n\t\"./wallet/verify-email.tsx\": [\n\t\t25060,\n\t\t25060\n\t],\n\t\"./wolf\": [\n\t\t87917\n\t],\n\t\"./wolf-race\": [\n\t\t13106,\n\t\t13106\n\t],\n\t\"./wolf-race.tsx\": [\n\t\t13106,\n\t\t13106\n\t],\n\t\"./wolf.jsx\": [\n\t\t87917\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 27488;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./all-bets\": 51039,\n\t\"./all-bets.tsx\": 51039,\n\t\"./biggest-wins\": 67328,\n\t\"./biggest-wins.tsx\": 67328,\n\t\"./bottom-menu/bet-slip\": 25599,\n\t\"./bottom-menu/bet-slip.tsx\": 25599,\n\t\"./bottom-menu/bets\": 63993,\n\t\"./bottom-menu/bets.tsx\": 63993,\n\t\"./bottom-menu/chat\": 28070,\n\t\"./bottom-menu/chat.tsx\": 28070,\n\t\"./bottom-menu/fairness\": 10455,\n\t\"./bottom-menu/fairness.tsx\": 10455,\n\t\"./bottom-menu/home\": 34140,\n\t\"./bottom-menu/home.tsx\": 34140,\n\t\"./bottom-menu/live\": 41815,\n\t\"./bottom-menu/live.tsx\": 41815,\n\t\"./bottom-menu/menu\": 97214,\n\t\"./bottom-menu/menu.tsx\": 97214,\n\t\"./bottom-menu/options\": 91755,\n\t\"./bottom-menu/options.tsx\": 91755,\n\t\"./bottom-menu/search\": 3145,\n\t\"./bottom-menu/search.tsx\": 3145,\n\t\"./bottom-menu/sports\": 32945,\n\t\"./bottom-menu/sports.tsx\": 32945,\n\t\"./bottom-menu/support\": 48801,\n\t\"./bottom-menu/support.tsx\": 48801,\n\t\"./bottom-menu/vip\": 29517,\n\t\"./bottom-menu/vip.tsx\": 29517,\n\t\"./bowTitle\": 92562,\n\t\"./bowTitle.jsx\": 92562,\n\t\"./casino\": 87686,\n\t\"./casino-v2\": 9549,\n\t\"./casino-v2.tsx\": 9549,\n\t\"./casino.jsx\": 87686,\n\t\"./chat\": 22834,\n\t\"./chat.tsx\": 22834,\n\t\"./currencies/ada\": 21160,\n\t\"./currencies/ada.jsx\": 21160,\n\t\"./currencies/bch\": 21490,\n\t\"./currencies/bch.jsx\": 21490,\n\t\"./currencies/bnb\": 81057,\n\t\"./currencies/bnb.jsx\": 81057,\n\t\"./currencies/bonk\": 44569,\n\t\"./currencies/bonk.jsx\": 44569,\n\t\"./currencies/btc\": 44540,\n\t\"./currencies/btc.jsx\": 44540,\n\t\"./currencies/busd\": 65995,\n\t\"./currencies/busd.jsx\": 65995,\n\t\"./currencies/doge\": 15421,\n\t\"./currencies/doge.jsx\": 15421,\n\t\"./currencies/dot\": 59153,\n\t\"./currencies/dot.jsx\": 59153,\n\t\"./currencies/etc\": 64318,\n\t\"./currencies/etc.jsx\": 64318,\n\t\"./currencies/eth\": 60429,\n\t\"./currencies/eth.jsx\": 60429,\n\t\"./currencies/floki\": 27278,\n\t\"./currencies/floki.jsx\": 27278,\n\t\"./currencies/ltc\": 54271,\n\t\"./currencies/ltc.jsx\": 54271,\n\t\"./currencies/matic\": 2086,\n\t\"./currencies/matic.jsx\": 2086,\n\t\"./currencies/op\": 9650,\n\t\"./currencies/op.jsx\": 9650,\n\t\"./currencies/optim\": 85687,\n\t\"./currencies/optim.jsx\": 85687,\n\t\"./currencies/pepe\": 25758,\n\t\"./currencies/pepe.jsx\": 25758,\n\t\"./currencies/pol\": 25695,\n\t\"./currencies/pol.jsx\": 25695,\n\t\"./currencies/shib\": 79932,\n\t\"./currencies/shib.jsx\": 79932,\n\t\"./currencies/sol\": 36859,\n\t\"./currencies/sol.jsx\": 36859,\n\t\"./currencies/sushi\": 1698,\n\t\"./currencies/sushi.jsx\": 1698,\n\t\"./currencies/trx\": 38884,\n\t\"./currencies/trx.jsx\": 38884,\n\t\"./currencies/ucmat\": 48406,\n\t\"./currencies/ucmat.jsx\": 48406,\n\t\"./currencies/ucop\": 15125,\n\t\"./currencies/ucop.jsx\": 15125,\n\t\"./currencies/uni\": 99263,\n\t\"./currencies/uni.jsx\": 99263,\n\t\"./currencies/usd\": 45084,\n\t\"./currencies/usd.jsx\": 45084,\n\t\"./currencies/usdc\": 42594,\n\t\"./currencies/usdc.jsx\": 42594,\n\t\"./currencies/usdt\": 90520,\n\t\"./currencies/usdt.jsx\": 90520,\n\t\"./currencies/xlm\": 35062,\n\t\"./currencies/xlm.jsx\": 35062,\n\t\"./currencies/xrp\": 49563,\n\t\"./currencies/xrp.jsx\": 49563,\n\t\"./dice-rule/between\": 248,\n\t\"./dice-rule/between.tsx\": 248,\n\t\"./dice-rule/direct\": 6293,\n\t\"./dice-rule/direct.tsx\": 6293,\n\t\"./dice-rule/outside\": 21071,\n\t\"./dice-rule/outside.tsx\": 21071,\n\t\"./dice-rule/over\": 48914,\n\t\"./dice-rule/over.tsx\": 48914,\n\t\"./dice-rule/two_ranges\": 96803,\n\t\"./dice-rule/two_ranges.tsx\": 96803,\n\t\"./dice-rule/under\": 53258,\n\t\"./dice-rule/under.tsx\": 53258,\n\t\"./drops-and-wins\": 82170,\n\t\"./drops-and-wins.tsx\": 82170,\n\t\"./esports\": 68400,\n\t\"./esports.jsx\": 68400,\n\t\"./favorites\": 36684,\n\t\"./favorites.jsx\": 36684,\n\t\"./game/autobet-icon\": 16408,\n\t\"./game/autobet-icon.tsx\": 16408,\n\t\"./game/strategy-icon\": 77467,\n\t\"./game/strategy-icon.tsx\": 77467,\n\t\"./highroll\": 7622,\n\t\"./highroll.tsx\": 7622,\n\t\"./home\": 27901,\n\t\"./home.jsx\": 27901,\n\t\"./in-house\": 64006,\n\t\"./in-house.tsx\": 64006,\n\t\"./live-casino\": 6941,\n\t\"./live-casino.tsx\": 6941,\n\t\"./lobby\": 43091,\n\t\"./lobby.tsx\": 43091,\n\t\"./my-bets\": 93795,\n\t\"./my-bets.tsx\": 93795,\n\t\"./new-games\": 65722,\n\t\"./new-games.tsx\": 65722,\n\t\"./race/no-race-icon\": 29910,\n\t\"./race/no-race-icon.tsx\": 29910,\n\t\"./race/race-background\": 87853,\n\t\"./race/race-background.tsx\": 87853,\n\t\"./race/race-loading\": 6609,\n\t\"./race/race-loading.tsx\": 6609,\n\t\"./race/race-my-vip-badge\": 84425,\n\t\"./race/race-my-vip-badge.tsx\": 84425,\n\t\"./race/race-trophy-pending\": 16181,\n\t\"./race/race-trophy-pending.tsx\": 16181,\n\t\"./race/race-vip-bg\": 29450,\n\t\"./race/race-vip-bg.tsx\": 29450,\n\t\"./race/rank-trophy\": 91650,\n\t\"./race/rank-trophy.tsx\": 91650,\n\t\"./recently\": 48944,\n\t\"./recently.tsx\": 48944,\n\t\"./slot-games\": 14879,\n\t\"./slot-games.tsx\": 14879,\n\t\"./slots\": 9133,\n\t\"./slots/\": 9133,\n\t\"./slots/ArrowDownIcon\": 29459,\n\t\"./slots/ArrowDownIcon.tsx\": 29459,\n\t\"./slots/ArrowIcon\": 26146,\n\t\"./slots/ArrowIcon.tsx\": 26146,\n\t\"./slots/FireIcon\": 58774,\n\t\"./slots/FireIcon.tsx\": 58774,\n\t\"./slots/FullScreenIcon\": 91776,\n\t\"./slots/FullScreenIcon.tsx\": 91776,\n\t\"./slots/HomeIcon\": 92410,\n\t\"./slots/HomeIcon.tsx\": 92410,\n\t\"./slots/InfoCircleIcon\": 52154,\n\t\"./slots/InfoCircleIcon.tsx\": 52154,\n\t\"./slots/SearchIcon\": 96659,\n\t\"./slots/SearchIcon.tsx\": 96659,\n\t\"./slots/WideIcon\": 54163,\n\t\"./slots/WideIcon.tsx\": 54163,\n\t\"./slots/categories\": 35260,\n\t\"./slots/categories/\": 35260,\n\t\"./slots/categories/GameShowsIcon\": 97639,\n\t\"./slots/categories/GameShowsIcon.tsx\": 97639,\n\t\"./slots/categories/LiveIcon\": 98952,\n\t\"./slots/categories/LiveIcon.tsx\": 98952,\n\t\"./slots/categories/NewGamesIcon\": 24197,\n\t\"./slots/categories/NewGamesIcon.tsx\": 24197,\n\t\"./slots/categories/SlotsIcon\": 13619,\n\t\"./slots/categories/SlotsIcon.tsx\": 13619,\n\t\"./slots/categories/TableGamesIcon\": 15534,\n\t\"./slots/categories/TableGamesIcon.tsx\": 15534,\n\t\"./slots/categories/index\": 35260,\n\t\"./slots/categories/index.ts\": 35260,\n\t\"./slots/favorite\": 28058,\n\t\"./slots/favorite.tsx\": 28058,\n\t\"./slots/favorite_v2\": 72447,\n\t\"./slots/favorite_v2.tsx\": 72447,\n\t\"./slots/game-shows\": 76011,\n\t\"./slots/game-shows.tsx\": 76011,\n\t\"./slots/index\": 9133,\n\t\"./slots/index.tsx\": 9133,\n\t\"./slots/live-casino\": 81530,\n\t\"./slots/live-casino.tsx\": 81530,\n\t\"./slots/new-games\": 79001,\n\t\"./slots/new-games.tsx\": 79001,\n\t\"./slots/popular\": 90977,\n\t\"./slots/popular.tsx\": 90977,\n\t\"./slots/providers/1spin4win\": 34492,\n\t\"./slots/providers/1spin4win.tsx\": 34492,\n\t\"./slots/providers/1x2gaming\": 57115,\n\t\"./slots/providers/1x2gaming.tsx\": 57115,\n\t\"./slots/providers/3oaks\": 66991,\n\t\"./slots/providers/3oaks.tsx\": 66991,\n\t\"./slots/providers/5men\": 52201,\n\t\"./slots/providers/5men.tsx\": 52201,\n\t\"./slots/providers/alg\": 80623,\n\t\"./slots/providers/alg.tsx\": 80623,\n\t\"./slots/providers/amatic\": 84292,\n\t\"./slots/providers/amatic.tsx\": 84292,\n\t\"./slots/providers/amusnet\": 50396,\n\t\"./slots/providers/amusnet.tsx\": 50396,\n\t\"./slots/providers/apollo\": 60766,\n\t\"./slots/providers/apollo.tsx\": 60766,\n\t\"./slots/providers/apparat\": 4443,\n\t\"./slots/providers/apparat.tsx\": 4443,\n\t\"./slots/providers/avatarux\": 62131,\n\t\"./slots/providers/avatarux.tsx\": 62131,\n\t\"./slots/providers/barbarabang\": 5068,\n\t\"./slots/providers/barbarabang.tsx\": 5068,\n\t\"./slots/providers/belatra\": 98752,\n\t\"./slots/providers/belatra.tsx\": 98752,\n\t\"./slots/providers/beterlive\": 31308,\n\t\"./slots/providers/beterlive.tsx\": 31308,\n\t\"./slots/providers/betsolutions\": 39062,\n\t\"./slots/providers/betsolutions.tsx\": 39062,\n\t\"./slots/providers/bgaming\": 19424,\n\t\"./slots/providers/bgaming.tsx\": 19424,\n\t\"./slots/providers/blueprint\": 68582,\n\t\"./slots/providers/blueprint.tsx\": 68582,\n\t\"./slots/providers/booming\": 77822,\n\t\"./slots/providers/booming.tsx\": 77822,\n\t\"./slots/providers/booongo\": 93480,\n\t\"./slots/providers/booongo.tsx\": 93480,\n\t\"./slots/providers/bsg\": 92735,\n\t\"./slots/providers/bsg.tsx\": 92735,\n\t\"./slots/providers/clawbuster\": 86603,\n\t\"./slots/providers/clawbuster.tsx\": 86603,\n\t\"./slots/providers/copacabana\": 17791,\n\t\"./slots/providers/copacabana.tsx\": 17791,\n\t\"./slots/providers/eagaming\": 75592,\n\t\"./slots/providers/eagaming.tsx\": 75592,\n\t\"./slots/providers/egt-interactive\": 5970,\n\t\"./slots/providers/egt-interactive.tsx\": 5970,\n\t\"./slots/providers/elk\": 78921,\n\t\"./slots/providers/elk.tsx\": 78921,\n\t\"./slots/providers/endorphina\": 14720,\n\t\"./slots/providers/endorphina.tsx\": 14720,\n\t\"./slots/providers/evolution\": 34938,\n\t\"./slots/providers/evolution.tsx\": 34938,\n\t\"./slots/providers/evoplay\": 63917,\n\t\"./slots/providers/evoplay.tsx\": 63917,\n\t\"./slots/providers/fantasma\": 55866,\n\t\"./slots/providers/fantasma.tsx\": 55866,\n\t\"./slots/providers/felixgaming\": 24373,\n\t\"./slots/providers/felixgaming.tsx\": 24373,\n\t\"./slots/providers/fugaso\": 10328,\n\t\"./slots/providers/fugaso.tsx\": 10328,\n\t\"./slots/providers/gameart\": 45083,\n\t\"./slots/providers/gameart.tsx\": 45083,\n\t\"./slots/providers/gamingcorps\": 95285,\n\t\"./slots/providers/gamingcorps.tsx\": 95285,\n\t\"./slots/providers/genii\": 5952,\n\t\"./slots/providers/genii.tsx\": 5952,\n\t\"./slots/providers/goldenhero\": 91199,\n\t\"./slots/providers/goldenhero.tsx\": 91199,\n\t\"./slots/providers/greenjade\": 73702,\n\t\"./slots/providers/greenjade.tsx\": 73702,\n\t\"./slots/providers/habanero\": 70562,\n\t\"./slots/providers/habanero.tsx\": 70562,\n\t\"./slots/providers/hacksaw\": 62975,\n\t\"./slots/providers/hacksaw.tsx\": 62975,\n\t\"./slots/providers/hacksawgaming\": 68210,\n\t\"./slots/providers/hacksawgaming.tsx\": 68210,\n\t\"./slots/providers/high5\": 76223,\n\t\"./slots/providers/high5.tsx\": 76223,\n\t\"./slots/providers/hollegames\": 39117,\n\t\"./slots/providers/hollegames.tsx\": 39117,\n\t\"./slots/providers/igrosoft\": 2624,\n\t\"./slots/providers/igrosoft.tsx\": 2624,\n\t\"./slots/providers/isoftbet\": 63794,\n\t\"./slots/providers/isoftbet.tsx\": 63794,\n\t\"./slots/providers/kaga\": 31314,\n\t\"./slots/providers/kaga.tsx\": 31314,\n\t\"./slots/providers/kagaming\": 90601,\n\t\"./slots/providers/kagaming.tsx\": 90601,\n\t\"./slots/providers/kalamba\": 78503,\n\t\"./slots/providers/kalamba.tsx\": 78503,\n\t\"./slots/providers/kiron\": 40480,\n\t\"./slots/providers/kiron.tsx\": 40480,\n\t\"./slots/providers/leander\": 84403,\n\t\"./slots/providers/leander.tsx\": 84403,\n\t\"./slots/providers/mancala\": 77994,\n\t\"./slots/providers/mancala.tsx\": 77994,\n\t\"./slots/providers/mascot\": 63879,\n\t\"./slots/providers/mascot.tsx\": 63879,\n\t\"./slots/providers/merkur\": 73954,\n\t\"./slots/providers/merkur.tsx\": 73954,\n\t\"./slots/providers/mgagames\": 75844,\n\t\"./slots/providers/mgagames.tsx\": 75844,\n\t\"./slots/providers/microgaming_\": 90218,\n\t\"./slots/providers/microgaming_.tsx\": 90218,\n\t\"./slots/providers/mplay\": 98137,\n\t\"./slots/providers/mplay.tsx\": 98137,\n\t\"./slots/providers/mrslotty\": 29353,\n\t\"./slots/providers/mrslotty.tsx\": 29353,\n\t\"./slots/providers/n2games\": 99819,\n\t\"./slots/providers/n2games.tsx\": 99819,\n\t\"./slots/providers/netent\": 66715,\n\t\"./slots/providers/netent.tsx\": 66715,\n\t\"./slots/providers/netgame\": 98566,\n\t\"./slots/providers/netgame.tsx\": 98566,\n\t\"./slots/providers/nolimitcity\": 12720,\n\t\"./slots/providers/nolimitcity.tsx\": 12720,\n\t\"./slots/providers/octoplay\": 57849,\n\t\"./slots/providers/octoplay.tsx\": 57849,\n\t\"./slots/providers/pariplay\": 49201,\n\t\"./slots/providers/pariplay.tsx\": 49201,\n\t\"./slots/providers/pgsoft\": 49044,\n\t\"./slots/providers/pgsoft.tsx\": 49044,\n\t\"./slots/providers/platipus\": 43941,\n\t\"./slots/providers/platipus.tsx\": 43941,\n\t\"./slots/providers/playngo\": 56089,\n\t\"./slots/providers/playngo.tsx\": 56089,\n\t\"./slots/providers/playson\": 40404,\n\t\"./slots/providers/playson.tsx\": 40404,\n\t\"./slots/providers/playsondirect\": 91688,\n\t\"./slots/providers/playsondirect.tsx\": 91688,\n\t\"./slots/providers/playtech\": 82981,\n\t\"./slots/providers/playtech.tsx\": 82981,\n\t\"./slots/providers/pragmaticplay\": 76643,\n\t\"./slots/providers/pragmaticplay.tsx\": 76643,\n\t\"./slots/providers/pragmaticplaylive\": 99266,\n\t\"./slots/providers/pragmaticplaylive.tsx\": 99266,\n\t\"./slots/providers/pushgaming\": 79330,\n\t\"./slots/providers/pushgaming.tsx\": 79330,\n\t\"./slots/providers/quickspin\": 48259,\n\t\"./slots/providers/quickspin.tsx\": 48259,\n\t\"./slots/providers/readyplay\": 59913,\n\t\"./slots/providers/readyplay.tsx\": 59913,\n\t\"./slots/providers/redrakegaming\": 6274,\n\t\"./slots/providers/redrakegaming.tsx\": 6274,\n\t\"./slots/providers/redtiger\": 9014,\n\t\"./slots/providers/redtiger.tsx\": 9014,\n\t\"./slots/providers/reelplay\": 71347,\n\t\"./slots/providers/reelplay.tsx\": 71347,\n\t\"./slots/providers/relax\": 63415,\n\t\"./slots/providers/relax.tsx\": 63415,\n\t\"./slots/providers/revolvergaming\": 88036,\n\t\"./slots/providers/revolvergaming.tsx\": 88036,\n\t\"./slots/providers/rfranco\": 43038,\n\t\"./slots/providers/rfranco.tsx\": 43038,\n\t\"./slots/providers/skywind\": 88397,\n\t\"./slots/providers/skywind.tsx\": 88397,\n\t\"./slots/providers/slotmill\": 32178,\n\t\"./slots/providers/slotmill.tsx\": 32178,\n\t\"./slots/providers/smartsoft\": 85474,\n\t\"./slots/providers/smartsoft.tsx\": 85474,\n\t\"./slots/providers/spadegaming\": 38417,\n\t\"./slots/providers/spadegaming.tsx\": 38417,\n\t\"./slots/providers/spinomenal\": 29527,\n\t\"./slots/providers/spinomenal.tsx\": 29527,\n\t\"./slots/providers/spinoro\": 90233,\n\t\"./slots/providers/spinoro.tsx\": 90233,\n\t\"./slots/providers/spinthon\": 96764,\n\t\"./slots/providers/spinthon.tsx\": 96764,\n\t\"./slots/providers/spinza\": 89214,\n\t\"./slots/providers/spinza.tsx\": 89214,\n\t\"./slots/providers/spribe\": 44350,\n\t\"./slots/providers/spribe.tsx\": 44350,\n\t\"./slots/providers/stakelogic\": 22608,\n\t\"./slots/providers/stakelogic.tsx\": 22608,\n\t\"./slots/providers/svg/1spin4win.svg\": 80611,\n\t\"./slots/providers/svg/1x2-gaming.svg\": 56978,\n\t\"./slots/providers/svg/3oaks.svg\": 64943,\n\t\"./slots/providers/svg/5men.svg\": 94339,\n\t\"./slots/providers/svg/ainsworth.svg\": 41725,\n\t\"./slots/providers/svg/alg.svg\": 99081,\n\t\"./slots/providers/svg/amatic.svg\": 37199,\n\t\"./slots/providers/svg/amaya.svg\": 92875,\n\t\"./slots/providers/svg/apollo.svg\": 70220,\n\t\"./slots/providers/svg/apparat.svg\": 60364,\n\t\"./slots/providers/svg/aristocrat.svg\": 34614,\n\t\"./slots/providers/svg/avatarux.svg\": 92315,\n\t\"./slots/providers/svg/bally-technologies.svg\": 5157,\n\t\"./slots/providers/svg/barbarabang.svg\": 34796,\n\t\"./slots/providers/svg/barcrest.svg\": 86139,\n\t\"./slots/providers/svg/belatra.svg\": 45093,\n\t\"./slots/providers/svg/betdigital.svg\": 23295,\n\t\"./slots/providers/svg/beterlive.svg\": 21758,\n\t\"./slots/providers/svg/betgames.svg\": 4210,\n\t\"./slots/providers/svg/betsoft.svg\": 76083,\n\t\"./slots/providers/svg/betsolutions.svg\": 17719,\n\t\"./slots/providers/svg/bgaming.svg\": 76903,\n\t\"./slots/providers/svg/big-time-gaming.svg\": 49672,\n\t\"./slots/providers/svg/big_time_gaming.svg\": 3585,\n\t\"./slots/providers/svg/blueprint-gaming.svg\": 31367,\n\t\"./slots/providers/svg/blueprint.svg\": 9325,\n\t\"./slots/providers/svg/booming.svg\": 93623,\n\t\"./slots/providers/svg/booongo.svg\": 13384,\n\t\"./slots/providers/svg/clawbuster.svg\": 14285,\n\t\"./slots/providers/svg/copacabana.svg\": 420,\n\t\"./slots/providers/svg/cozy-games.svg\": 12887,\n\t\"./slots/providers/svg/crazy-tooth-studio.svg\": 12226,\n\t\"./slots/providers/svg/cryptologic.svg\": 17940,\n\t\"./slots/providers/svg/eagaming.svg\": 82695,\n\t\"./slots/providers/svg/edict.svg\": 7128,\n\t\"./slots/providers/svg/egt.svg\": 51138,\n\t\"./slots/providers/svg/elk.svg\": 14863,\n\t\"./slots/providers/svg/elysium-studios.svg\": 85184,\n\t\"./slots/providers/svg/endorphina.svg\": 47074,\n\t\"./slots/providers/svg/evolution.svg\": 38962,\n\t\"./slots/providers/svg/evoplay.svg\": 70722,\n\t\"./slots/providers/svg/ezugi.svg\": 82017,\n\t\"./slots/providers/svg/fantasma.svg\": 10915,\n\t\"./slots/providers/svg/felixgaming.svg\": 94060,\n\t\"./slots/providers/svg/foxium.svg\": 86072,\n\t\"./slots/providers/svg/gameart.svg\": 93664,\n\t\"./slots/providers/svg/gamescale-big.png\": 51356,\n\t\"./slots/providers/svg/gamesos.svg\": 5119,\n\t\"./slots/providers/svg/gamingcorps.svg\": 41872,\n\t\"./slots/providers/svg/gamomat.svg\": 63351,\n\t\"./slots/providers/svg/gamzix.svg\": 52962,\n\t\"./slots/providers/svg/genesis.svg\": 74407,\n\t\"./slots/providers/svg/genii.svg\": 26061,\n\t\"./slots/providers/svg/gong-gaming.svg\": 88685,\n\t\"./slots/providers/svg/green-valley-games-big.png\": 41265,\n\t\"./slots/providers/svg/greentube-novomatic.svg\": 96111,\n\t\"./slots/providers/svg/habanero.svg\": 94660,\n\t\"./slots/providers/svg/hacksaw.svg\": 35823,\n\t\"./slots/providers/svg/hacksawgaming.svg\": 96118,\n\t\"./slots/providers/svg/hollegames.svg\": 67644,\n\t\"./slots/providers/svg/igt.svg\": 44203,\n\t\"./slots/providers/svg/iron-dog.svg\": 42796,\n\t\"./slots/providers/svg/iron_dog.svg\": 16632,\n\t\"./slots/providers/svg/isoftbet.svg\": 90529,\n\t\"./slots/providers/svg/jtg.svg\": 51773,\n\t\"./slots/providers/svg/kaga.svg\": 58842,\n\t\"./slots/providers/svg/kalamba.svg\": 49183,\n\t\"./slots/providers/svg/kiron.svg\": 91398,\n\t\"./slots/providers/svg/leander-games.svg\": 80545,\n\t\"./slots/providers/svg/lightning-box-big.png\": 16207,\n\t\"./slots/providers/svg/lucky-streak.svg\": 22032,\n\t\"./slots/providers/svg/mancala.svg\": 55105,\n\t\"./slots/providers/svg/merkur-gaming.svg\": 83028,\n\t\"./slots/providers/svg/mga.svg\": 47982,\n\t\"./slots/providers/svg/microgaming.svg\": 71080,\n\t\"./slots/providers/svg/mplay.svg\": 97387,\n\t\"./slots/providers/svg/n2Games.svg\": 1594,\n\t\"./slots/providers/svg/nemesis.svg\": 31320,\n\t\"./slots/providers/svg/neogames.svg\": 57007,\n\t\"./slots/providers/svg/netent.svg\": 79210,\n\t\"./slots/providers/svg/netgame.svg\": 49344,\n\t\"./slots/providers/svg/nextgen.svg\": 82085,\n\t\"./slots/providers/svg/nolimit-city.svg\": 36872,\n\t\"./slots/providers/svg/nolimit.svg\": 24954,\n\t\"./slots/providers/svg/nyx.svg\": 52234,\n\t\"./slots/providers/svg/octoplay.svg\": 9619,\n\t\"./slots/providers/svg/octopus-gaming-big.png\": 8455,\n\t\"./slots/providers/svg/old-skool-studios.svg\": 32032,\n\t\"./slots/providers/svg/openbet.svg\": 37440,\n\t\"./slots/providers/svg/oryx.svg\": 84321,\n\t\"./slots/providers/svg/parlay.svg\": 30193,\n\t\"./slots/providers/svg/play-n-go.svg\": 93307,\n\t\"./slots/providers/svg/playson.svg\": 76390,\n\t\"./slots/providers/svg/playtech.svg\": 51559,\n\t\"./slots/providers/svg/pragmatic-play.svg\": 79701,\n\t\"./slots/providers/svg/pragmaticplay.svg\": 59242,\n\t\"./slots/providers/svg/push-gaming.svg\": 85993,\n\t\"./slots/providers/svg/push_gaming.svg\": 1803,\n\t\"./slots/providers/svg/quickspin.svg\": 6480,\n\t\"./slots/providers/svg/rabcat.svg\": 40929,\n\t\"./slots/providers/svg/radi8.svg\": 26065,\n\t\"./slots/providers/svg/readyplay.svg\": 34949,\n\t\"./slots/providers/svg/realistic-games.svg\": 475,\n\t\"./slots/providers/svg/red-tiger-gaming.svg\": 67299,\n\t\"./slots/providers/svg/red_tiger.svg\": 60491,\n\t\"./slots/providers/svg/redrake.svg\": 55626,\n\t\"./slots/providers/svg/relax-gaming.svg\": 16331,\n\t\"./slots/providers/svg/relax_gaming.svg\": 96848,\n\t\"./slots/providers/svg/revolver-gaming.svg\": 77660,\n\t\"./slots/providers/svg/rival.svg\": 56532,\n\t\"./slots/providers/svg/rtg.svg\": 69241,\n\t\"./slots/providers/svg/saucify.svg\": 18089,\n\t\"./slots/providers/svg/scientific-games.svg\": 28258,\n\t\"./slots/providers/svg/side-city.svg\": 38785,\n\t\"./slots/providers/svg/skillonnet.svg\": 8887,\n\t\"./slots/providers/svg/skywind.svg\": 90298,\n\t\"./slots/providers/svg/slotland-big.png\": 97485,\n\t\"./slots/providers/svg/slotmill.svg\": 5452,\n\t\"./slots/providers/svg/smartsoft.svg\": 80639,\n\t\"./slots/providers/svg/spinomanel.svg\": 13721,\n\t\"./slots/providers/svg/spinoro.svg\": 5980,\n\t\"./slots/providers/svg/spinthon.svg\": 10594,\n\t\"./slots/providers/svg/spinza.svg\": 38474,\n\t\"./slots/providers/svg/stakelogic.svg\": 47695,\n\t\"./slots/providers/svg/swintt.svg\": 71805,\n\t\"./slots/providers/svg/technology.svg\": 41830,\n\t\"./slots/providers/svg/thunderkick (1).svg\": 21153,\n\t\"./slots/providers/svg/thunderkick.svg\": 40830,\n\t\"./slots/providers/svg/tom-horn.svg\": 69873,\n\t\"./slots/providers/svg/tomhorn.svg\": 19242,\n\t\"./slots/providers/svg/tomhornnative.svg\": 97711,\n\t\"./slots/providers/svg/tornado.svg\": 18184,\n\t\"./slots/providers/svg/tripple-cherry.svg\": 23663,\n\t\"./slots/providers/svg/true-lab.svg\": 12237,\n\t\"./slots/providers/svg/turbogames.svg\": 89319,\n\t\"./slots/providers/svg/vivo_gaming.svg\": 71126,\n\t\"./slots/providers/svg/voltent.svg\": 7257,\n\t\"./slots/providers/svg/wazdan.svg\": 85751,\n\t\"./slots/providers/svg/wgs-technology.svg\": 44956,\n\t\"./slots/providers/svg/winfinity.svg\": 78787,\n\t\"./slots/providers/svg/wms.svg\": 21307,\n\t\"./slots/providers/svg/yggdrasil.svg\": 54720,\n\t\"./slots/providers/svg/zillion.svg\": 75254,\n\t\"./slots/providers/svg/zilliongames.svg\": 66142,\n\t\"./slots/providers/swintt\": 8514,\n\t\"./slots/providers/swintt.tsx\": 8514,\n\t\"./slots/providers/technology\": 12127,\n\t\"./slots/providers/technology.tsx\": 12127,\n\t\"./slots/providers/thunderkick\": 37659,\n\t\"./slots/providers/thunderkick.tsx\": 37659,\n\t\"./slots/providers/tomhorn\": 69021,\n\t\"./slots/providers/tomhorn.tsx\": 69021,\n\t\"./slots/providers/tomhornnative\": 71774,\n\t\"./slots/providers/tomhornnative.tsx\": 71774,\n\t\"./slots/providers/tornadogames\": 60920,\n\t\"./slots/providers/tornadogames.tsx\": 60920,\n\t\"./slots/providers/triplecherry\": 51660,\n\t\"./slots/providers/triplecherry.tsx\": 51660,\n\t\"./slots/providers/truelab\": 92016,\n\t\"./slots/providers/truelab.tsx\": 92016,\n\t\"./slots/providers/turbogames\": 52961,\n\t\"./slots/providers/turbogames.tsx\": 52961,\n\t\"./slots/providers/voltent\": 28034,\n\t\"./slots/providers/voltent.tsx\": 28034,\n\t\"./slots/providers/wazdan\": 97146,\n\t\"./slots/providers/wazdan.tsx\": 97146,\n\t\"./slots/providers/winfinity\": 50067,\n\t\"./slots/providers/winfinity.tsx\": 50067,\n\t\"./slots/providers/yggdrasil\": 55445,\n\t\"./slots/providers/yggdrasil.tsx\": 55445,\n\t\"./slots/providers/zillion\": 89823,\n\t\"./slots/providers/zillion.tsx\": 89823,\n\t\"./slots/slots\": 90844,\n\t\"./slots/slots.tsx\": 90844,\n\t\"./slots/table-games\": 5867,\n\t\"./slots/table-games.tsx\": 5867,\n\t\"./sport\": 46338,\n\t\"./sport.tsx\": 46338,\n\t\"./sports/american-football\": 13662,\n\t\"./sports/american-football.jsx\": 13662,\n\t\"./sports/aussie-rules\": 66010,\n\t\"./sports/aussie-rules.jsx\": 66010,\n\t\"./sports/badminton\": 36491,\n\t\"./sports/badminton.jsx\": 36491,\n\t\"./sports/bandy\": 35111,\n\t\"./sports/bandy.jsx\": 35111,\n\t\"./sports/baseball\": 72035,\n\t\"./sports/baseball.jsx\": 72035,\n\t\"./sports/basketball\": 8621,\n\t\"./sports/basketball.jsx\": 8621,\n\t\"./sports/beach-volley\": 40620,\n\t\"./sports/beach-volley.jsx\": 40620,\n\t\"./sports/boxing\": 17822,\n\t\"./sports/boxing.jsx\": 17822,\n\t\"./sports/cricket\": 67638,\n\t\"./sports/cricket.jsx\": 67638,\n\t\"./sports/darts\": 94976,\n\t\"./sports/darts.jsx\": 94976,\n\t\"./sports/esports\": 46610,\n\t\"./sports/esports.jsx\": 46610,\n\t\"./sports/field-hockey\": 58487,\n\t\"./sports/field-hockey.jsx\": 58487,\n\t\"./sports/floorball\": 15616,\n\t\"./sports/floorball.jsx\": 15616,\n\t\"./sports/football\": 28536,\n\t\"./sports/football.jsx\": 28536,\n\t\"./sports/futsal\": 76801,\n\t\"./sports/futsal.jsx\": 76801,\n\t\"./sports/handball\": 94338,\n\t\"./sports/handball.jsx\": 94338,\n\t\"./sports/ice-hockey\": 93566,\n\t\"./sports/ice-hockey.jsx\": 93566,\n\t\"./sports/mma\": 21499,\n\t\"./sports/mma.jsx\": 21499,\n\t\"./sports/multi\": 36772,\n\t\"./sports/multi.jsx\": 36772,\n\t\"./sports/netball\": 36116,\n\t\"./sports/netball.jsx\": 36116,\n\t\"./sports/olympic\": 15570,\n\t\"./sports/olympic.jsx\": 15570,\n\t\"./sports/rugby\": 71731,\n\t\"./sports/rugby.jsx\": 71731,\n\t\"./sports/snooker\": 93366,\n\t\"./sports/snooker.jsx\": 93366,\n\t\"./sports/soccer\": 50560,\n\t\"./sports/soccer.jsx\": 50560,\n\t\"./sports/table-tennis\": 17658,\n\t\"./sports/table-tennis.jsx\": 17658,\n\t\"./sports/tennis\": 8420,\n\t\"./sports/tennis.jsx\": 8420,\n\t\"./sports/volleyball\": 37652,\n\t\"./sports/volleyball.jsx\": 37652,\n\t\"./sports/waterpolo\": 19292,\n\t\"./sports/waterpolo.jsx\": 19292,\n\t\"./sports_bet\": 37289,\n\t\"./sports_bet.jsx\": 37289,\n\t\"./sports_live\": 47645,\n\t\"./sports_live.jsx\": 47645,\n\t\"./sports_tournament\": 27555,\n\t\"./sports_tournament.jsx\": 27555,\n\t\"./support\": 97390,\n\t\"./support.tsx\": 97390,\n\t\"./table-games\": 50999,\n\t\"./table-games.tsx\": 50999,\n\t\"./trending\": 74730,\n\t\"./trending.tsx\": 74730,\n\t\"./ui/Close\": 28842,\n\t\"./ui/Close.tsx\": 28842,\n\t\"./ui/alert-circle\": 54723,\n\t\"./ui/alert-circle.tsx\": 54723,\n\t\"./ui/arrow-left\": 4264,\n\t\"./ui/arrow-left.tsx\": 4264,\n\t\"./ui/arrow-up\": 33567,\n\t\"./ui/arrow-up.tsx\": 33567,\n\t\"./ui/caret-down\": 39333,\n\t\"./ui/caret-down.tsx\": 39333,\n\t\"./ui/caret-right\": 67030,\n\t\"./ui/caret-right.tsx\": 67030,\n\t\"./ui/check\": 45651,\n\t\"./ui/check.tsx\": 45651,\n\t\"./ui/copy\": 80026,\n\t\"./ui/copy.tsx\": 80026,\n\t\"./ui/edit-icon\": 45090,\n\t\"./ui/edit-icon.tsx\": 45090,\n\t\"./ui/flame-icon\": 54280,\n\t\"./ui/flame-icon.tsx\": 54280,\n\t\"./ui/history\": 73471,\n\t\"./ui/history.tsx\": 73471,\n\t\"./ui/info-icon\": 63042,\n\t\"./ui/info-icon.tsx\": 63042,\n\t\"./ui/more-icon\": 12366,\n\t\"./ui/more-icon.tsx\": 12366,\n\t\"./ui/percent\": 38609,\n\t\"./ui/percent.tsx\": 38609,\n\t\"./ui/plus-icon\": 85043,\n\t\"./ui/plus-icon.tsx\": 85043,\n\t\"./ui/point-arrow\": 98763,\n\t\"./ui/point-arrow.tsx\": 98763,\n\t\"./ui/qr-code-icon\": 78131,\n\t\"./ui/qr-code-icon.tsx\": 78131,\n\t\"./ui/refresh\": 40949,\n\t\"./ui/refresh.tsx\": 40949,\n\t\"./ui/remove-icon\": 60133,\n\t\"./ui/remove-icon.tsx\": 60133,\n\t\"./ui/share\": 19813,\n\t\"./ui/share.tsx\": 19813,\n\t\"./ui/stats-graph\": 32465,\n\t\"./ui/stats-graph.tsx\": 32465,\n\t\"./ui/trash\": 11142,\n\t\"./ui/trash.tsx\": 11142,\n\t\"./user-menu/addressBook\": 51952,\n\t\"./user-menu/addressBook.tsx\": 51952,\n\t\"./user-menu/depositIcon\": 75507,\n\t\"./user-menu/depositIcon.tsx\": 75507,\n\t\"./user-menu/logout\": 34530,\n\t\"./user-menu/logout.tsx\": 34530,\n\t\"./user-menu/transactions\": 8980,\n\t\"./user-menu/transactions.tsx\": 8980,\n\t\"./user-menu/vault\": 70999,\n\t\"./user-menu/vault.tsx\": 70999,\n\t\"./user-menu/withdrawIcon\": 2734,\n\t\"./user-menu/withdrawIcon.tsx\": 2734,\n\t\"./user_vip\": 69294,\n\t\"./user_vip.jsx\": 69294,\n\t\"./vip-levels/bronze-star\": 95820,\n\t\"./vip-levels/bronze-star.svg\": 68858,\n\t\"./vip-levels/bronze-star.tsx\": 95820,\n\t\"./vip-levels/diamond-star\": 6640,\n\t\"./vip-levels/diamond-star.svg\": 78958,\n\t\"./vip-levels/diamond-star.tsx\": 6640,\n\t\"./vip-levels/gold-star\": 11016,\n\t\"./vip-levels/gold-star.svg\": 30683,\n\t\"./vip-levels/gold-star.tsx\": 11016,\n\t\"./vip-levels/silver-star\": 59316,\n\t\"./vip-levels/silver-star.svg\": 52652,\n\t\"./vip-levels/silver-star.tsx\": 59316,\n\t\"./vip-levels/unranked\": 29843,\n\t\"./vip-levels/unranked.svg\": 51204,\n\t\"./vip-levels/unranked.tsx\": 29843,\n\t\"./wallet\": 27972,\n\t\"./wallet.tsx\": 27972,\n\t\"./wallet/add-wallet\": 29099,\n\t\"./wallet/add-wallet.tsx\": 29099,\n\t\"./wallet/generate-address\": 23369,\n\t\"./wallet/generate-address.tsx\": 23369,\n\t\"./wallet/kyc\": 38191,\n\t\"./wallet/kyc.tsx\": 38191,\n\t\"./wallet/verify-2fa\": 87102,\n\t\"./wallet/verify-2fa.tsx\": 87102,\n\t\"./wallet/verify-email\": 25060,\n\t\"./wallet/verify-email.tsx\": 25060,\n\t\"./wolf\": 87917,\n\t\"./wolf-race\": 13106,\n\t\"./wolf-race.tsx\": 13106,\n\t\"./wolf.jsx\": 87917\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tif(!__webpack_require__.m[id]) {\n\t\tvar e = new Error(\"Module '\" + req + \"' ('\" + id + \"') is not available (weak dependency)\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\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;\nwebpackContext.id = 93789;\nmodule.exports = webpackContext;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\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 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}","import toPropertyKey from \"./toPropertyKey.js\";\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, toPropertyKey(descriptor.key), descriptor);\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 toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","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 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}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _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 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}","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 defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\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 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 if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\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 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 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 return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import 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 = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\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}","var prefix = \"fas\";\nvar fa0 = {\n prefix: 'fas',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z\"]\n};\nvar fa1 = {\n prefix: 'fas',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z\"]\n};\nvar fa2 = {\n prefix: 'fas',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\"]\n};\nvar fa3 = {\n prefix: 'fas',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 64C0 46.3 14.3 32 32 32H272c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H105.4C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H80c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa4 = {\n prefix: 'fas',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z\"]\n};\nvar fa5 = {\n prefix: 'fas',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\"]\n};\nvar fa6 = {\n prefix: 'fas',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z\"]\n};\nvar fa7 = {\n prefix: 'fas',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa8 = {\n prefix: 'fas',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\"]\n};\nvar fa9 = {\n prefix: 'fas',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6H386.7l42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'fas',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320v0c0 0 0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4c0 0 .1 0 .1 0h0 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H525.3z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'fas',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32v80 32c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faTrashCan = {\n prefix: 'fas',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M64 128V96h64l0 320H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H192l0-320h64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H160 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM502.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V352H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H512V160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faUserXmark = {\n prefix: 'fas',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1V192c0 53 43 96 96 96s96-43 96-96V71.1l-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1V192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112V265.3c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V336c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192V71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMessage = {\n prefix: 'fas',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentAlt = faMessage;\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'fas',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H296c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272H216c13.3 0 24 10.7 24 24V440c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'fas',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-87 87H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H117.8L42.3 363.7c-9.7-6.7-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.7 9.4-11.3L107.4 236.3c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM64 448v0H512v0h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64zM288 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faFileLines = {\n prefix: 'fas',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M128 64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V416h96V256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V96H192V256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8v96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304V208z\"]\n};\nvar faBuildingUn = {\n prefix: 'fas',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCalendarDays = {\n prefix: 'fas',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faAnchorCircleCheck = {\n prefix: 'fas',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'fas',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm96 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faVolleyball = {\n prefix: 'fas',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faArrowsUpToLine = {\n prefix: 'fas',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M32 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L96 237.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96zm320 45.3c12.5 12.5 32.8 12.5 45.3 0L416 237.3 416 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faSortDesc = faSortDown;\nvar faCircleMinus = {\n prefix: 'fas',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z\"]\n};\nvar faRightFromBracket = {\n prefix: 'fas',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M256 398.8c-11.8 5.1-23.4 9.7-34.9 13.5c16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM446 256c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2c20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2c31.8 1.4 38.6-8.7 40.2-11.7c2.3-4.2 7-17.9-11.9-48.1c-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2c7.6 6.1 14.8 12.3 21.6 18.6c18.9-30.2 14.2-44 11.9-48.1c-1.6-2.9-8.4-13-40.2-11.7zM290.9 99.7C274.1 65.9 259.9 64 256 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5c11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2c-31.8-1.4-38.6 8.7-40.2 11.7c-2.3 4.2-7 17.9 11.9 48.1c6.8-6.3 14-12.5 21.6-18.6zM110.2 304.8C91.4 335 96 348.7 98.3 352.9c1.6 2.9 8.4 13 40.2 11.7c-2.8-13.1-5-26.9-6.7-41.2c-7.6-6.1-14.8-12.3-21.6-18.6zM336 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM416 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 160c0 27.6-11.7 52.5-30.4 70.1C422.1 275.7 448 310.8 448 352c0 53-43 96-96 96H160c-53 0-96-43-96-96s43-96 96-96h88.4c-15.2-17-24.4-39.4-24.4-64H96c-53 0-96 43-96 96V416c0 53 43 96 96 96H416c53 0 96-43 96-96V288c0-53-43-96-96-96zM160 288c-35.3 0-64 28.7-64 64s28.7 64 64 64H352c35.3 0 64-28.7 64-64s-28.7-64-64-64H320 160z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM74.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2h61.7c10.7 0 20.7 5.3 26.6 14.2L213.3 304H240c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V352c0-26.5 21.5-48 48-48H74.7zM192 408a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM478.7 278.3L440.3 368H496c6.7 0 12.6 4.1 15 10.4s.6 13.3-4.4 17.7l-128 112c-5.6 4.9-13.9 5.3-19.9 .9s-8.2-12.4-5.3-19.2L391.7 400H336c-6.7 0-12.6-4.1-15-10.4s-.6-13.3 4.4-17.7l128-112c5.6-4.9 13.9-5.3 19.9-.9s8.2 12.4 5.3 19.2zm-339-59.2c-6.5 6.5-17 6.5-23 0L19.9 119.2c-28-29-26.5-76.9 5-103.9c27-23.5 68.4-19 93.4 6.5l10 10.5 9.5-10.5c25-25.5 65.9-30 93.9-6.5c31 27 32.5 74.9 4.5 103.9l-96.4 99.9z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'fas',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zm362.5 407l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faBridgeCircleCheck = {\n prefix: 'fas',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM216 280v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7V256c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9V256z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M480 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-208 0 0-64 208 0zM320 288c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0zm64-64c0 17.7-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l48 0c17.7 0 32 14.3 32 32zM288 384c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0zm-88-96l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32l-8.6 0C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64l0 88c0 22.1-17.9 40-40 40s-40-17.9-40-40l0-56c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 56c0 39.8 32.2 72 72 72z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'fas',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM288 176c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faForwardStep = {\n prefix: 'fas',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'fas',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V400 334 64 32C0 14.3 14.3 0 32 0zM64 187.1l64-13.9v65.5L64 252.6V318l48.8-12.2c5.1-1.3 10.1-2.4 15.2-3.3V238.7l38.9-8.4c8.3-1.8 16.7-2.5 25.1-2.1l0-64c13.6 .4 27.2 2.6 40.4 6.4l23.6 6.9v66.7l-41.7-12.3c-7.3-2.1-14.8-3.4-22.3-3.8v71.4c21.8 1.9 43.3 6.7 64 14.4V244.2l22.7 6.7c13.5 4 27.3 6.4 41.3 7.4V194c-7.8-.8-15.6-2.3-23.2-4.5l-40.8-12v-62c-13-3.8-25.8-8.8-38.2-15c-8.2-4.1-16.9-7-25.8-8.8v72.4c-13-.4-26 .8-38.7 3.6L128 173.2V98L64 114v73.1zM320 335.7c16.8 1.5 33.9-.7 50-6.8l14-5.2V251.9l-7.9 1.8c-18.4 4.3-37.3 5.7-56.1 4.5v77.4zm64-149.4V115.4c-20.9 6.1-42.4 9.1-64 9.1V194c13.9 1.4 28 .5 41.7-2.6l22.3-5.2z\"]\n};\nvar faFootball = {\n prefix: 'fas',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6c-18.3 29.8-30.9 62.3-39.2 95.4L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFootballBall = faFootball;\nvar faSchoolCircleExclamation = {\n prefix: 'fas',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M448 109.3l54.6-54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L402.7 64 160 64v64l178.7 0L128 338.7V32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H173.3L384 173.3 384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-274.7z\"]\n};\nvar faAnglesDown = {\n prefix: 'fas',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'fas',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H544c53 0 96-43 96-96V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zm159.8 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3C119.9 256 96 279.9 96 309.3zM461.2 336h56.1c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6zM372 289c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-8.6-24.3-29.9-42.6-55.9-47zM512 176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faPeopleRoof = {\n prefix: 'fas',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm312 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM226.9 491.4L200 441.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V441.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V441.5l-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V345.5l-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z\"]\n};\nvar faPeopleLine = {\n prefix: 'fas',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5V272c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V217.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'fas',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M32 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h51.2c42.4 0 76.8 34.4 76.8 76.8V274.9c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V172.8c0-7.1-5.7-12.8-12.8-12.8H384V311.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faDiagramPredecessor = {\n prefix: 'fas',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M448 416l0-64L64 352l0 64 384 0zm0 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c44.2 0 80 35.8 80 80l0 16 38.1 0c21.4 0 32.1 25.9 17 41L433 239c-9.4 9.4-24.6 9.4-33.9 0L329 169c-15.1-15.1-4.4-41 17-41l38.1 0 0-16c0-8.8-7.2-16-16-16l-80 0 0 64z\"]\n};\nvar faArrowUpLong = {\n prefix: 'fas',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faFireFlameSimple = {\n prefix: 'fas',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'fas',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1L20.8 7.4zm96 0C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L116.8 7.4zm77.8 42.4L212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L308.8 7.4zm77.8 42.4L404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L500.8 7.4zm77.8 42.4L596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM32 128c17.7 0 32 14.3 32 32V288c0 17.7 14.3 32 32 32H288V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320H544c17.7 0 32-14.3 32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 53-43 96-96 96H352v64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V384H96c-53 0-96-43-96-96V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H96V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H192V256 160c0-17.7 14.3-32 32-32zm192 0c17.7 0 32 14.3 32 32v96 32H384V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H480V256 160c0-17.7 14.3-32 32-32z\"]\n};\nvar faTruckPlane = {\n prefix: 'fas',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M200 0c-30.6 0-56 54.7-56 86.1V192.5L7.8 274.3C2.9 277.2 0 282.4 0 288v64c0 5.1 2.4 9.8 6.4 12.8s9.3 3.9 14.1 2.5l123.4-37v81.2l-50 40c-3.8 3-6 7.6-6 12.5v32c0 5.1 2.5 10 6.6 13s9.5 3.8 14.4 2.2L200 480.9 290.4 511c-1.6-4.7-2.4-9.8-2.4-15V463.4c-18.2-10.5-30.7-29.7-31.9-51.8l-.1-.1V408 325.5 184l0-1.1 0 0V86.1C256 54.7 231.5 0 200 0zm88 176V400c0 20.9 13.4 38.7 32 45.3V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V448H544v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V445.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48zm79.8 78.7c3.3-8.7 11.2-14.7 20.5-14.7H539.7c9.2 0 17.2 6 20.5 14.7L576 304H352l15.8-49.3zM568 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM336 376a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'fas',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm407.4 75.5c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M160 208.5c0 29.1-15.6 53.9-37.2 67.8c-17.2 11.1-31.5 26.1-41.7 43.7H302.9c-10.2-17.6-24.5-32.6-41.7-43.7c-21.6-13.9-37.2-38.7-37.2-67.8V64H160V208.5zM288 64V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V64C78.3 64 64 49.7 64 32S78.3 0 96 0h16H272h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'fas',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M208 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 0c0 16.2-6 31.1-16 42.3l15.6 31.2c18.7-6 39.9-9.5 64.4-9.5s45.8 3.5 64.4 9.5L400 106.3C390 95.1 384 80.2 384 64c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-1.7 0-3.4-.1-5.1-.2L427.8 158c21.1 13.6 37.7 30.2 51.4 46.4c7.1 8.3 13.5 16.6 19.3 24l1.4 1.8c6.3 8.1 11.6 14.8 16.7 20.4C527.3 262.3 532.7 264 536 264c2.5 0 4.3-.6 7.1-3.3c3.7-3.5 7.1-8.8 12.5-17.4l.6-.9c4.6-7.4 11-17.6 19.4-25.7c9.7-9.3 22.9-16.7 40.4-16.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-2.5 0-4.3 .6-7.1 3.3c-3.7 3.5-7.1 8.8-12.5 17.4l-.6 .9c-4.6 7.4-11 17.6-19.4 25.7c-9.7 9.3-22.9 16.7-40.4 16.7c-18.5 0-32.9-8.5-44.3-18.6c-3.1 4-6.6 8.3-10.5 12.7c1.4 4.3 2.8 8.5 4 12.5c.9 3 1.8 5.8 2.6 8.6c3 9.8 5.5 18.2 8.6 25.9c3.9 9.8 7.4 15.4 10.8 18.5c2.6 2.4 5.9 4.3 12.8 4.3c8.7 0 16.9-4.2 33.7-13.2c15-8 35.7-18.8 62.3-18.8c13.3 0 24 10.7 24 24s-10.7 24-24 24c-13.4 0-24.7 5.2-39.7 13.2c-1 .6-2.1 1.1-3.2 1.7C559.9 414 541.4 424 520 424c-18.4 0-33.6-6.1-45.5-17.2c-11.1-10.3-17.9-23.7-22.7-36c-3.6-9-6.7-19.1-9.5-28.5c-16.4 12.3-36.1 23.6-58.9 31.3c3.6 10.8 8.4 23.5 14.4 36.2c7.5 15.9 16.2 30.4 25.8 40.5C433 460.5 441.2 464 448 464c13.3 0 24 10.7 24 24s-10.7 24-24 24c-25.2 0-45-13.5-59.5-28.8c-14.5-15.4-25.7-34.9-34.2-53c-8-17-14.1-33.8-18.3-46.9c-5.2 .4-10.6 .6-16 .6s-10.8-.2-16-.6c-4.2 13-10.3 29.9-18.3 46.9c-8.5 18.1-19.8 37.6-34.2 53C237 498.5 217.2 512 192 512c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.8 0 15-3.5 24.5-13.7c9.5-10.1 18.3-24.6 25.8-40.5c5.9-12.6 10.7-25.4 14.4-36.2c-22.8-7.7-42.5-19-58.9-31.3c-2.9 9.4-6 19.5-9.5 28.5c-4.8 12.2-11.6 25.6-22.7 36C153.6 417.9 138.4 424 120 424c-21.4 0-39.9-10-53.1-17.1l0 0c-1.1-.6-2.2-1.2-3.2-1.7c-15-8-26.3-13.2-39.7-13.2c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.6 0 47.3 10.8 62.3 18.8c16.8 9 25 13.2 33.7 13.2c6.8 0 10.2-1.9 12.8-4.3c3.4-3.2 7-8.8 10.8-18.5c3-7.7 5.6-16.1 8.6-25.9c.8-2.7 1.7-5.6 2.6-8.6c1.2-4 2.6-8.2 4-12.5c-3.9-4.5-7.4-8.8-10.5-12.7C136.9 303.5 122.5 312 104 312c-17.5 0-30.7-7.4-40.4-16.7c-8.4-8.1-14.8-18.3-19.4-25.7l-.6-.9c-5.4-8.6-8.8-13.9-12.5-17.4c-2.8-2.7-4.6-3.3-7.1-3.3c-13.3 0-24-10.7-24-24s10.7-24 24-24c17.5 0 30.7 7.4 40.4 16.7c8.4 8.1 14.8 18.3 19.4 25.7l.6 .9c5.4 8.6 8.8 13.9 12.5 17.4c2.8 2.7 4.6 3.3 7.1 3.3c3.3 0 8.7-1.7 19.4-13.4c5.1-5.6 10.4-12.3 16.7-20.4l1.4-1.8c5.8-7.4 12.2-15.7 19.3-24c13.8-16.2 30.3-32.8 51.4-46.4l-15.1-30.2c-1.7 .1-3.4 .2-5.1 .2c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm208 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'fas',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V288H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H448V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3V224H192 128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 192h64V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192zM448 320H384V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"]\n};\nvar faSpoon = {\n prefix: 'fas',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M245.8 220.9c-14.5-17.6-21.8-39.2-21.8-60.8C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-21.6 0-43.2-7.3-60.8-21.8L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'fas',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm112 0H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7zm48 117.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7zM112 352H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'fas',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M128 0C110.3 0 96 14.3 96 32V224h96V192c0-35.3 28.7-64 64-64H480V32c0-17.7-14.3-32-32-32H128zM256 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64V416H576c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32v13L187.1 415.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301V288c0-17.7-14.3-32-32-32H64zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V340.8z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'fas',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faCircleH = {\n prefix: 'fas',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H320V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm64 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM208 288h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H270.1c-.1 0-.3-.1-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3l0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6l0 0 .2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1H335.1c7 5.6 11.4 11.2 13.9 17.2z\"]\n};\nvar faK = {\n prefix: 'fas',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249V64c0-17.7-14.3-32-32-32S0 46.3 0 64V328 448c0 17.7 14.3 32 32 32s32-14.3 32-32V341l64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'fas',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0h80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H272v32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H240V16c0-8.8 7.2-16 16-16h16zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faPencil = {\n prefix: 'fas',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M160 0c-23.7 0-44.4 12.9-55.4 32H48C21.5 32 0 53.5 0 80V400c0 26.5 21.5 48 48 48H192V176c0-44.2 35.8-80 80-80h48V80c0-26.5-21.5-48-48-48H215.4C204.4 12.9 183.7 0 160 0zM272 128c-26.5 0-48 21.5-48 48V448v16c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V256H416c-17.7 0-32-14.3-32-32V128H320 272zM160 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm256 88v96h96l-96-96z\"]\n};\nvar faFileClipboard = faPaste;\nvar faCodePullRequest = {\n prefix: 'fas',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V64h16c70.7 0 128 57.3 128 128V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-35.3-28.7-64-64-64H320v40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTruckRampBox = {\n prefix: 'fas',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M640 0V400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640zM576 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faVialVirus = {\n prefix: 'fas',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V384c0 53 43 96 96 96c28.6 0 54.2-12.5 71.8-32.3c.1-14.2 5.6-28.3 16.4-39.1c.2-.2 .1-.6-.2-.6c-30.9 0-56-25.1-56-56s25.1-56 56-56c.3 0 .4-.4 .2-.6c-21.9-21.9-21.9-57.3 0-79.2c2.4-2.4 5-4.6 7.8-6.5V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32zM96 192V96h64v96H96zM216 376c28.8 0 43.2 34.8 22.9 55.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-5.9 55.2 22.9c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9C444.8 410.8 459.2 376 488 376c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.8 259.2 376 244.8 376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.8 43.2-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24zm104-88a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSheetPlastic = {\n prefix: 'fas',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M0 448c0 35.3 28.7 64 64 64H224V384c0-17.7 14.3-32 32-32H384V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM171.3 75.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm96 32l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM384 384H256V512L384 384z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'fas',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM598.6 121.4l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faScrollTorah = {\n prefix: 'fas',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M96 480V32C96 14.3 74.5 0 48 0S0 14.3 0 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32zM512 32H128V480H512V32zM592 0c-26.5 0-48 14.3-48 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32V32c0-17.7-21.5-32-48-32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"]\n};\nvar faTorah = faScrollTorah;\nvar faBroomBall = {\n prefix: 'fas',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M566.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-192 192 34.7 34.7c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H364.3L256 211.7V182.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6l34.7 34.7 192-192c12.5-12.5 32.8-12.5 45.3 0zm-344 225.5L341.1 353.4c3.7 42.7-11.7 85.2-42.3 115.8C271.4 496.6 234.2 512 195.5 512L22.1 512C9.9 512 0 502.1 0 489.9c0-6.3 2.7-12.3 7.3-16.5L133.7 359.7c4.2-3.7-.4-10.4-5.4-7.9L77.2 377.4c-6.1 3-13.2-1.4-13.2-8.2c0-31.5 12.5-61.7 34.8-84l8-8c30.6-30.6 73.1-45.9 115.8-42.3zM464 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 128c70.7 0 128 57.3 128 128s-57.3 128-128 128H192c-70.7 0-128-57.3-128-128s57.3-128 128-128H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faBoxArchive = {\n prefix: 'fas',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArchive = faBoxArchive;\nvar faPersonDrowning = {\n prefix: 'fas',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V96.2c0 54.1 23.5 104 62.2 138.3l-21 146.7c7.8 2.1 15.5 3.3 22.8 3.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c12.4 8.5 26.1 14.8 39.7 18l17.7-97.6c10.7-1.2 21.3-3.1 31.9-5.5l105-23.9c17.2-3.9 28-21.1 24.1-38.3s-21.1-28-38.3-24.1L400 216.6c-41 9.3-83.7 7.5-123.7-5.2c-50.2-16-84.3-62.6-84.3-115.3V64zM320 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM306.5 389.9c-11.1-7.9-25.9-7.9-37 0C247 405.4 219.5 416 192 416c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 469.7 159 480 192 480c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 405.2 410.9 416 384 416c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faArrowDown91 = {\n prefix: 'fas',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM450.7 294c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V416H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V320c0-10.3-4.9-19.9-13.3-26zM418.3 91a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 91zM405.1 203.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0zM256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M288 64v64H416L368 64H288zM419.2 25.6L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64H288c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H224V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C190.1 503.1 180.1 512 168 512H152c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L63.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9c1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM448.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C510.1 503.1 500.1 512 488 512H472c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C360.9 414.1 352 404.1 352 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faW = {\n prefix: 'fas',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\"]\n};\nvar faEarthAfrica = {\n prefix: 'fas',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9v41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 96C178.6 96 64 210.6 64 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C0 175.3 143.3 32 320 32s320 143.3 320 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C576 210.6 461.4 96 320 96zm0 192c-35.3 0-64 28.7-64 64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-70.7 57.3-128 128-128s128 57.3 128 128v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-35.3-28.7-64-64-64zM160 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-123.7 100.3-224 224-224s224 100.3 224 224v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'fas',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64H64V384H384V64z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\"]\n};\nvar faTrowelBricks = {\n prefix: 'fas',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8C250.3 10.6 256 20.9 256 32v72h89c3.6-13.8 16.1-24 31-24h88c26.5 0 48 21.5 48 48s-21.5 48-48 48H376c-14.9 0-27.4-10.2-31-24H256v72c0 11.1-5.7 21.4-15.2 27.2s-21.2 6.4-31.1 1.4l-192-96C6.8 151.2 0 140.1 0 128s6.8-23.2 17.7-28.6l192-96c9.9-5 21.7-4.4 31.1 1.4zM288 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM32 384h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm192 0H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceFlushed = {\n prefix: 'fas',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm-16-88a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm264-72a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-288 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm192 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M48 0C21.5 0 0 21.5 0 48V256H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v80c0 26.5 21.5 48 48 48H265.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM152 64h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V152H112c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16h24V80c0-8.8 7.2-16 16-16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'fas',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4L325.4 293.4l-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4L272 285.3 226.7 240 168 298.7l-1.4-1.4z\"]\n};\nvar faLegal = faGavel;\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M128 32h32c17.7 0 32 14.3 32 32V96H96V64c0-17.7 14.3-32 32-32zm64 96V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V388.9c0-34.6 9.4-68.6 27.2-98.3C40.9 267.8 49.7 242.4 53 216L60.5 156c2-16 15.6-28 31.8-28H192zm227.8 0c16.1 0 29.8 12 31.8 28L459 216c3.3 26.4 12.1 51.8 25.8 74.6c17.8 29.7 27.2 63.7 27.2 98.3V448c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V128h99.8zM320 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96H320V64zm-32 64V288H224V128h64z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L416 300.8V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L409.6 224 384 288H128l-16-64L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0zM79 224l16 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H418.5l25.6-64H464c26.5 0 48 21.5 48 48V384H0V272c0-26.5 21.5-48 48-48H79zM0 416H512v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V416z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L418.2 128H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H459.6c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21H280zM462.7 311.2l28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4C242.5 268.8 190.5 224 128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104H187.3zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBellConcierge = {\n prefix: 'fas',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H480c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'fas',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.7 1.9-5.2 4-7.5 6.3l-64 64c-21.9 21.9-21.9 57.3 0 79.2L192 391.2V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zM448 64a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM431.6 200.4c-2.3-2.3-4.9-4.4-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V391.2l47.6-47.6c21.9-21.9 21.9-57.3 0-79.2l-64-64zM272 240v32h96V240c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V336H272v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faMarsAndVenusBurst = {\n prefix: 'fas',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M504 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-22.2 22.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59.1 146.7 136.1 158.2c0 .6-.1 1.2-.1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H352c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l24 0H376c0 13.3 10.7 24 24 24s24-10.7 24-24H400l24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H424v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2-.1-1.8c77-11.6 136.1-78 136.1-158.2c0-31.4-9-60.7-24.7-85.4L560 113.9l39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H504zM400 128a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.1 3.8 9.9 5.1 15.2 3.6C223.6 310.8 208 269.2 208 224c0-60.8 28.3-115 72.4-150.2L220.3 92.1l-29.4-74z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'fas',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'fas',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCut = faScissors;\nvar faSunPlantWilt = {\n prefix: 'fas',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160 0c-6.3 0-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5C172 3.7 166.3 0 160 0zm0 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H504V280v-8V176z\"]\n};\nvar faToiletsPortable = {\n prefix: 'fas',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M32 0H224c17.7 0 32 14.3 32 32V64H0V32C0 14.3 14.3 0 32 0zM0 96H24 232h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM192 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM352 0H544c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32zM320 96h24H552h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H368v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM512 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M256 256C114.6 256 0 213 0 160s114.6-96 256-96s256 43 256 96s-114.6 96-256 96zm192.3 1.8c24.7-9.3 46.9-21 63.7-35.6V352c0 53-114.6 96-256 96S0 405 0 352V222.3c16.8 14.6 39 26.3 63.7 35.6C114.5 276.9 182.5 288 256 288s141.5-11.1 192.3-30.2z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M64 256V160H224v96H64zm0 64H224v96H64V320zm224 96V320H448v96H288zM448 256H288V160H448v96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faMagnifyingGlassArrowRight = {\n prefix: 'fas',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H238.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z\"]\n};\nvar faTachographDigital = {\n prefix: 'fas',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm32 64H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8L324.9 352H261.3zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nvar faClover = {\n prefix: 'fas',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M173.3 32C139.4 32 112 59.4 112 93.3v4.9c0 12 3.3 23.7 9.4 34l18.8 31.3c1.1 1.8 1.2 3.1 1 4.2c-.2 1.2-.8 2.5-2 3.6s-2.4 1.8-3.6 2c-1 .2-2.4 .1-4.2-1l-31.3-18.8c-10.3-6.2-22-9.4-34-9.4H61.3C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l1.2 1.2c3.4 3.4 3.4 9 0 12.4l-1.2 1.2C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368h4.9c12 0 23.7-3.3 34-9.4l31.3-18.8c1.8-1.1 3.1-1.2 4.2-1c1.2 .2 2.5 .8 3.6 2s1.8 2.4 2 3.6c.2 1 .1 2.4-1 4.2l-18.8 31.3c-6.2 10.3-9.4 22-9.4 34v4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l1.2-1.2c3.4-3.4 9-3.4 12.4 0l1.2 1.2c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3v-4.9c0-12-3.3-23.7-9.4-34l-18.8-31.3c-1.1-1.8-1.2-3.1-1-4.2c.2-1.2 .8-2.5 2-3.6s2.4-1.8 3.6-2c1-.2 2.4-.1 4.2 1l31.3 18.8c10.3 6.2 22 9.4 34 9.4h4.9c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-1.2-1.2c-3.4-3.4-3.4-9 0-12.4l1.2-1.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3h-4.9c-12 0-23.7 3.3-34 9.4l-31.3 18.8c-1.8 1.1-3.1 1.2-4.2 1c-1.2-.2-2.5-.8-3.6-2s-1.8-2.4-2-3.6c-.2-1-.1-2.4 1-4.2l18.8-31.3c6.2-10.3 9.4-22 9.4-34V93.3C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9l-1.2 1.2c-3.4 3.4-9 3.4-12.4 0l-1.2-1.2C205.1 38.5 189.5 32 173.3 32z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M0 256C0 114.6 114.6 0 256 0c33 0 64.6 6.3 93.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C320.6 505.7 289 512 256 512C114.6 512 0 397.4 0 256zM375.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L261 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\"]\n};\nvar faHouseFire = {\n prefix: 'fas',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M288 350.1l0 1.9H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L447.3 128.1c-12.3-1-25 3-34.8 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1zM453.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faSquareMinus = {\n prefix: 'fas',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M128 32c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H384v64h32c88.4 0 160 71.6 160 160v64c0 17.7-14.3 32-32 32H384 320c-20.1 0-39.1-9.5-51.2-25.6l-71.4-95.2c-3.5-4.7-8.3-8.3-13.7-10.5L47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64H48c10.1 0 19.6 4.7 25.6 12.8L112 128H320V64H160c-17.7 0-32-14.3-32-32zM384 320H512V288c0-53-43-96-96-96H384V320zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H536.2c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'fas',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faFileCircleQuestion = {\n prefix: 'fas',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 32C0 14.3 14.3 0 32 0H160c17.7 0 32 14.3 32 32V416c0 53-43 96-96 96s-96-43-96-96V32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9V154l75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192H480c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H182.8zM128 64H64v64h64V64zM64 192v64h64V192H64zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V224H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V128z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faNavicon = faBars;\nvar faPeopleGroup = {\n prefix: 'fas',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'fas',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M119.4 44.1c23.3-3.9 46.8-1.9 68.6 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.8c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faSquareUpRight = {\n prefix: 'fas',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'fas',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'fas',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M488.2 59.1C478.1 99.6 441.7 128 400 128s-78.1-28.4-88.2-68.9L303 24.2C298.8 7.1 281.4-3.3 264.2 1S236.7 22.6 241 39.8l8.7 34.9c11 44 40.2 79.6 78.3 99.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V174.3c38.1-20 67.3-55.6 78.3-99.6L559 39.8c4.3-17.1-6.1-34.5-23.3-38.8S501.2 7.1 497 24.2l-8.7 34.9zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zm-8 32c-35.3 0-64 28.7-64 64v96l0 .6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352H88V480c0 17.7 14.3 32 32 32s32-14.3 32-32V252.7l13 20.5c5.9 9.2 16.1 14.9 27 14.9h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H209.6l-37.4-58.9C157.6 142 132.1 128 104.7 128H72z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"]\n};\nvar faCircleExclamation = {\n prefix: 'fas',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'fas',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faCircleChevronDown = {\n prefix: 'fas',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 345c-9.4 9.4-24.6 9.4-33.9 0L135 241z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faUnlockKeyhole = {\n prefix: 'fas',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM313.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'fas',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80 352c0-35.3 28.7-64 64-64h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V352zm288-64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faCircleDollarToSlot = {\n prefix: 'fas',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M326.7 403.7c-22.1 8-45.9 12.3-70.7 12.3s-48.7-4.4-70.7-12.3c-.3-.1-.5-.2-.8-.3c-30-11-56.8-28.7-78.6-51.4C70 314.6 48 263.9 48 208C48 93.1 141.1 0 256 0S464 93.1 464 208c0 55.9-22 106.6-57.9 144c-1 1-2 2.1-3 3.1c-21.4 21.4-47.4 38.1-76.3 48.6zM256 91.9c-11.1 0-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.7 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V304c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.3-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V112c0-11.1-9-20.1-20.1-20.1zM48 352H64c19.5 25.9 44 47.7 72.2 64H64v32H256 448V416H375.8c28.2-16.3 52.8-38.1 72.2-64h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6V320H576V248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zM576 352H0v64c0 17.7 14.3 32 32 32H80V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h48c17.7 0 32-14.3 32-32V352zM192 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faRoadSpikes = {\n prefix: 'fas',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M64 116.8c0-15.8 20.5-22 29.3-8.9L192 256V116.8c0-15.8 20.5-22 29.3-8.9L320 256V116.8c0-15.8 20.5-22 29.3-8.9L448 256V116.8c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 448 384 320 256 192 64V116.8zM32 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFireBurner = {\n prefix: 'fas',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M293.5 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM370 273c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15zM32 288c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32s-14.3 32-32 32v64H544V320c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V288zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V64 368 480c0 17.7 14.3 32 32 32s32-14.3 32-32V352l64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48V32z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104zM112 160c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm160 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zM352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H352V144z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faVolumeLow = {\n prefix: 'fas',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104-17.9L82.9 161.3C70.7 185.6 64 212.2 64 240z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm74.5-116.1c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faWheatAwn = {\n prefix: 'fas',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M96 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 41.6-20.7 76.6-46.6 104.1c-5.9 6.2-11.8 11.8-17.4 16.7c-5.6-4.9-11.5-10.5-17.4-16.7C116.7 204.6 96 169.6 96 128zM160 0C89.3 0 32 57.3 32 128c0 52.4 21.5 95.5 46.8 128H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H241.2c25.4-32.5 46.8-75.6 46.8-128C288 57.3 230.7 0 160 0z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'fas',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c17.7 0 32 14.3 32 32V199.5l111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V312.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faSquareCheck = {\n prefix: 'fas',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faPesetaSign = {\n prefix: 'fas',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M64 32C46.3 32 32 46.3 32 64v96c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 96V448c0 17.7 14.3 32 32 32s32-14.3 32-32V352h96c77.4 0 142-55 156.8-128H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-3.2C334 87 269.4 32 192 32H64zM282.5 160H96V96h96c41.8 0 77.4 26.7 90.5 64zM96 224H282.5c-13.2 37.3-48.7 64-90.5 64H96V224z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 64C0 46.3 14.3 32 32 32H80h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H112V208H336V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H400V240 416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H368 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112V416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V240 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2V192C0 86 86 0 192 0S384 86 384 192V462.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"]\n};\nvar faListSquares = faList;\nvar faSquarePhoneFlip = {\n prefix: 'fas',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 64C86 64 0 150 0 256S86 448 192 448H448c106 0 192-86 192-192s-86-192-192-192H192zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200z\"]\n};\nvar faCircleDot = {\n prefix: 'fas',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faFaceDizzy = {\n prefix: 'fas',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faHouseMedicalCircleXmark = {\n prefix: 'fas',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M377 52c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L288 60.8 249 12c-11-13.8-31.2-16-45-5s-16 31.2-5 45l48 60L12.3 405.4C4.3 415.4 0 427.7 0 440.4V464c0 26.5 21.5 48 48 48H288 528c26.5 0 48-21.5 48-48V440.4c0-12.7-4.3-25.1-12.3-35L329 112l48-60zM288 448H168.5L288 291.7 407.5 448H288z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M417.3 360.1l-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6C289.5 445.8 273 448 256 448s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15l-26.7-66.6C128 109.2 155.3 89 186.7 76.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faPaintbrush = {\n prefix: 'fas',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H208c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M32 64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v32c0 13.3 10.7 24 24 24s24-10.7 24-24V222c-27.6-7.1-48-32.2-48-62V96L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3V168v24 32V376c0 39.8-32.2 72-72 72s-72-32.2-72-72V344c0-22.1-17.9-40-40-40h-8V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64zM96 80v96c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faHotTubPerson = {\n prefix: 'fas',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L295.8 82.8C280.7 69.1 272 49.7 272 29.2V24zM0 320v16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H277.3c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96v64zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm112 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM360 0c-13.3 0-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L407.8 82.8C392.7 69.1 384 49.7 384 29.2V24c0-13.3-10.7-24-24-24zM64 128A64 64 0 1 0 64 0a64 64 0 1 0 0 128z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faMapLocation = {\n prefix: 'fas',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM416 503l144.9-58c9.1-3.6 15.1-12.5 15.1-22.3V152c0-17-17.1-28.6-32.9-22.3l-116 46.4c-.5 1.2-1 2.5-1.5 3.7c-2.9 6.8-6.1 13.7-9.6 20.6V503zM15.1 187.3C6 191 0 199.8 0 209.6V480.4c0 17 17.1 28.6 32.9 22.3L160 451.8V200.4c-3.5-6.9-6.7-13.8-9.6-20.6c-5.6-13.2-10.4-27.4-12.8-41.5l-122.6 49zM384 255c-20.5 31.3-42.3 59.6-56.2 77c-20.5 25.6-59.1 25.6-79.6 0c-13.9-17.4-35.7-45.7-56.2-77V449.4l192 54.9V255z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'fas',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192h16v73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2H464c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128zM269.5 309.9C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\"]\n};\nvar faBridgeLock = {\n prefix: 'fas',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h-8c-61.9 0-112 50.1-112 112v24.6c-9.9 5.8-18.2 14.1-23.8 24.1c-17.6-20-43.4-32.7-72.2-32.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faSackDollar = {\n prefix: 'fas',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M320 96H192L144.6 24.9C137.5 14.2 145.1 0 157.9 0H354.1c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128H320c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4l0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84 88c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'fas',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"]\n};\nvar faEdit = faPenToSquare;\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShareNodes = {\n prefix: 'fas',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faHeartCircleMinus = {\n prefix: 'fas',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 19-5.6 37.4-16 53H112c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.1 14.9H112z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M160 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM32 448H320c70.7 0 128-57.3 128-128s-57.3-128-128-128V128c106 0 192 86 192 192c0 49.2-18.5 94-48.9 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm80-64H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H256 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H288V96zM480 416V384H32v32c0 53 43 96 96 96H384c53 0 96-43 96-96z\"]\n};\nvar faBagShopping = {\n prefix: 'fas',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'fas',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 64c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352c-17.7 0-32-14.3-32-32zm96 192c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M352 384H64L5.4 178.9C1.8 166.4 0 153.4 0 140.3C0 62.8 62.8 0 140.3 0h3.4c66 0 123.5 44.9 139.5 108.9l31.4 125.8 17.6-20.1C344.8 200.2 362.9 192 382 192h2.8c34.9 0 63.3 28.3 63.3 63.3c0 15.9-6 31.2-16.8 42.9L352 384zM32 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448z\"]\n};\nvar faPersonRays = {\n prefix: 'fas',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H248zM7 7C16.4-2.3 31.6-2.3 41 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7zM7 505c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0zm464 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"]\n};\nvar faFlaskVial = {\n prefix: 'fas',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4c-9.8 16-15 34.3-15 53.1c-10 3.5-20.8 5.5-32 5.5c-53 0-96-43-96-96V64C14.3 64 0 49.7 0 32S14.3 0 32 0H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V309.9l-49 79.6zM96 64v96h64V64H96zM352 0H480h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V214.9L629.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H261.4c-38.3 0-69.4-31.1-69.4-69.4c0-12.8 3.6-25.4 10.3-36.4L320 214.9V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm32 64V224c0 5.9-1.6 11.7-4.7 16.8L330.5 320h171l-48.8-79.2c-3.1-5-4.7-10.8-4.7-16.8V64H384z\"]\n};\nvar faHand = {\n prefix: 'fas',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32z\"]\n};\nvar faHandPaper = faHand;\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zM115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48H109.8c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9H144h16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5 0-.1c-2.6-7.8-10.7-12.3-18.7-10.5C4.4 354.2-.9 361.8 .1 370L16 368C.1 370 .1 370 .1 370l0 0 0 0 0 .1 .1 .4c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64h22.6c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0c0 0 0 0 0 0c-1.9-7.3-8.6-12.4-16.2-12.1c-7.6 .3-13.9 5.9-15.1 13.4L336 368c-15.8-2.6-15.8-2.6-15.8-2.6l0 0 0 0 0 .1-.1 .3c0 .3-.1 .6-.2 1.1c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96V288c0-53-43-96-96-96h-5.5c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4H245.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4zM280.9 66.7c-6-4-14-3.5-19.5 1.3s-7 12.7-3.7 19.2L272 80c-14.3 7.2-14.3 7.2-14.3 7.2l0 0 0 0 0 .1 .1 .2 .4 .7c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.4-12.4-32.6-12.5-45.1-.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0z\"]\n};\nvar faWorm = {\n prefix: 'fas',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M256 96c0-53 43-96 96-96h38.4C439.9 0 480 40.1 480 89.6V176v16V376c0 75.1-60.9 136-136 136s-136-60.9-136-136V296c0-22.1-17.9-40-40-40s-40 17.9-40 40V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V296c0-75.1 60.9-136 136-136s136 60.9 136 136v80c0 22.1 17.9 40 40 40s40-17.9 40-40V192H352c-53 0-96-43-96-96zm144-8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'fas',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8C297 398 352 333.4 352 256V224c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M246.9 23.7C242.3 6.6 224.8-3.5 207.7 1.1s-27.2 22.1-22.6 39.2L238 237.8c2.5 9.2-4.5 18.2-14 18.2c-6.4 0-12-4.2-13.9-10.3L166.6 102.7c-5.1-16.9-23-26.4-39.9-21.3s-26.4 23-21.3 39.9l62.8 206.4c2.4 7.9-7.2 13.8-13.2 8.1L99.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L156.8 448c43.1 41.1 100.4 64 160 64h10.9 8.2c.1 0 .1-.1 .1-.1v0c0-.1 .1-.1 .1-.1c58.3-3.5 108.6-43.2 125.3-99.7l81.2-275c5-16.9-4.7-34.7-21.6-39.8s-34.7 4.7-39.8 21.6L443.5 247.1c-1.6 5.3-6.4 8.9-12 8.9c-7.9 0-13.8-7.3-12.2-15.1l36-170.3c3.7-17.3-7.4-34.3-24.7-37.9s-34.3 7.4-37.9 24.7L355.1 235.1c-2.6 12.2-13.3 20.9-25.8 20.9c-11.9 0-22.4-8-25.4-19.5l-57-212.8z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H224 176zm72 192V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFaceKiss = {\n prefix: 'fas',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'fas',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'fas',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M128 0C110.3 0 96 14.3 96 32c0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V400H256V372.7c25.2-12.5 56-37.4 56-84.7c0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L270.8 154.6c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32H128zM48 432L6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512H297.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L272 432H48z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'fas',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faEarDeaf = {\n prefix: 'fas',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M502.6 54.6l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zm-320 320l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM240 128c-57.6 0-105.1 43.6-111.3 99.5c-1.9 17.6-17.8 30.2-35.3 28.3s-30.2-17.8-28.3-35.3C74.8 132.5 149.4 64 240 64c97.2 0 176 78.8 176 176c0 46-17.7 87.9-46.6 119.3c-12 13-17.4 24.8-17.4 34.7V400c0 61.9-50.1 112-112 112c-17.7 0-32-14.3-32-32s14.3-32 32-32c26.5 0 48-21.5 48-48v-6.1c0-32.9 17.4-59.6 34.4-78c18.4-20 29.6-46.6 29.6-75.9c0-61.9-50.1-112-112-112zm0 80c-17.7 0-32 14.3-32 32c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-17.7-14.3-32-32-32z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faRoadCircleCheck = {\n prefix: 'fas',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSquareRss = {\n prefix: 'fas',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faLandMineOn = {\n prefix: 'fas',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 320c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v32H192V320zm-77.3 90.5c8.1-16.3 24.8-26.5 42.9-26.5H482.3c18.2 0 34.8 10.3 42.9 26.5l27.6 55.2C563.5 487 548 512 524.2 512H115.8c-23.8 0-39.3-25-28.6-46.3l27.6-55.2zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V128.3c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V413.3c18.6-6.6 32-24.4 32-45.3c0-61.9-50.1-112-112-112H366.2c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96V416H416z\"]\n};\nvar faStairs = {\n prefix: 'fas',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 64c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v96c0 17.7-14.3 32-32 32H320v96c0 17.7-14.3 32-32 32H192v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V320c0-17.7 14.3-32 32-32h96V192c0-17.7 14.3-32 32-32h96V64z\"]\n};\nvar faI = {\n prefix: 'fas',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96h96V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V96h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 32z\"]\n};\nvar faHryvniaSign = {\n prefix: 'fas',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M121.9 116.2C138.3 103.1 158.7 96 179.6 96H223c27.1 0 49 21.9 49 49c0 11.5-4 22.4-11.1 31H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H155.5l-50.6 28.9c-1.7 1-3.4 2-5.1 3.1H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H52.3c-2.8 9.9-4.3 20.4-4.3 31c0 62.4 50.6 113 113 113h43.4c35.5 0 70-12.1 97.7-34.3L308 441c13.8-11 16-31.2 5-45s-31.2-16-45-5l-5.9 4.7c-16.4 13.1-36.7 20.2-57.7 20.2H161c-27.1 0-49-21.9-49-49c0-11.5 4-22.4 11.1-31H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H228.5l50.6-28.9c1.7-1 3.4-2 5.1-3.1H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H331.7c2.8-10 4.3-20.4 4.3-31c0-62.4-50.6-113-113-113H179.6c-35.5 0-70 12.1-97.7 34.3L76 71c-13.8 11-16 31.2-5 45s31.2 16 45 5l5.9-4.7z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'fas',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5v6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5v-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\"]\n};\nvar faV = {\n prefix: 'fas',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M19.7 34.5c16.3-6.8 35 .9 41.8 17.2L192 364.8 322.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7L2.5 76.3c-6.8-16.3 .9-35 17.2-41.8z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'fas',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M36 32.2C18.4 30.1 2.4 42.5 .2 60S10.5 93.6 28 95.8l7.9 1c16 2 28 15.6 28 31.8V160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V384c0 53 43 96 96 96h32c106 0 192-86 192-192V256c0-53-43-96-96-96H272c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c17.7 0 32 14.3 32 32v32c0 70.7-57.3 128-128 128H160c-17.7 0-32-14.3-32-32V224h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V128.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368h65c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]\n};\nvar faStaffSnake = {\n prefix: 'fas',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8H288c53 0 96 43 96 96s-43 96-96 96H248V160h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H248 220l-4.5 144H256c53 0 96 43 96 96s-43 96-96 96H240V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H213l-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31H136c-22.1 0-40-17.9-40-40s17.9-40 40-40h36l-1-32H152c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7V256c0 8.8 7.2 16 16 16h16.5L164 128H136 122.6c-9 18.9-28.3 32-50.6 32H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M448 325.8l44 34.5c8.1 1.4 14.8 6.8 18 14.1L552.9 408c10.6 .4 19.5 7.6 22.2 17.4l39.1 30.6c.6 0 1.2-.1 1.8-.1c11.1 0 20.4 7.5 23.2 17.8h-3.9c6.2 8.5 6.4 20.4-.4 29c-8.2 10.4-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L89.6 44.9C127 16.7 173.5 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 5.8zM0 224.2c0-38.7 9.8-75.1 27.1-106.9L341.8 365.3l-2.5 .3c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9l62 3.9 43 33.9C439.3 466.2 421.2 480 400 480H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM616 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTruckMedical = {\n prefix: 'fas',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 80v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H240V80c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faWheatAwnCircleExclamation = {\n prefix: 'fas',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M341.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L408 160.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24v19.6l22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C396.7 296.9 416 338.2 416 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9H181.3c-13.9 0-27.7-4.2-37.5-13.9C114.3 469 96 428.7 96 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24v40.2L152.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C164 127.2 160 112.1 160 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V120c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1C493.3-1.6 474.5-3.7 461 6.2L252.3 160H397.3L502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5zM32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c0 82.5 43.4 147.7 123.9 176.2c-11.1 13.9-19.4 30.3-23.9 48.1C127.6 497.4 142.3 512 160 512H352c17.7 0 32.4-14.6 28.1-31.7c-4.5-17.8-12.8-34.1-23.9-48.1C436.6 403.7 480 338.5 480 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faRoadBarrier = {\n prefix: 'fas',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V266.3L149.2 96H64V64c0-17.7-14.3-32-32-32zM405.2 96H330.8l-5.4 10.7L234.8 288h74.3l5.4-10.7L405.2 96zM362.8 288h74.3l5.4-10.7L533.2 96H458.8l-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288h74.3l5.4-10.7L277.2 96H202.8zm288 192H576V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v53.7L490.8 288z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256V416zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.8V160H48.5C100.2 82.8 188.1 32 288 32c10.8 0 21.5 .6 32 1.8zM352 160V39.1C424.9 55.7 487.2 99.8 527.5 160H352zM29.9 192H96V320H0c0-46 10.8-89.4 29.9-128zM192 320H128V192H448V320H384v32H576v80c0 26.5-21.5 48-48 48H352V352c0-35.3-28.7-64-64-64s-64 28.7-64 64V480H48c-26.5 0-48-21.5-48-48V352H192V320zm288 0V192h66.1c19.2 38.6 29.9 82 29.9 128H480z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11zM229.8 360c-4.7-2.3-10-2.7-15.2-2c-37.8 5.6-75.2 14.3-106.9 22.8C81.3 388 58.3 395.1 42 400.4c-8.2 2.7-14.7 4.9-19.2 6.5c-2.3 .8-4 1.4-5.2 1.8l-1.3 .5C6.8 412.5 0 421.4 0 432s6.8 19.5 16.3 22.7l1.3 .5c1.2 .4 3 1.1 5.2 1.8c4.5 1.6 11 3.8 19.2 6.5c16.3 5.4 39.2 12.5 65.7 19.6C160.3 497.3 228.8 512 288 512h67.3c4.1 0 6.3-5.1 3.6-8.3L256.5 380.8c-7.4-8.9-16.5-15.9-26.7-20.8zM445 512h19 51.3c4.1 0 6.3-5.1 3.6-8.3L416.5 380.8C401.3 362.5 378.8 352 355 352H336 288c-1.1 0-2.3 0-3.4 0c-4.1 0-6.2 5.1-3.5 8.3L383.5 483.2C398.7 501.5 421.2 512 445 512zm-3.9-151.7L543.5 483.2c14.6 17.5 35.9 27.9 58.6 28.7c21.1-1.1 37.9-18.6 37.9-39.9V392c0-22.1-17.9-40-40-40H444.7c-4.1 0-6.3 5.1-3.6 8.3z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128H224 203.2 148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faQ = {\n prefix: 'fas',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M64 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C371.9 325.8 384 292.3 384 256c0-88.4-71.6-160-160-160S64 167.6 64 256zM344.9 444.6C310 467 268.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\"]\n};\nvar faG = {\n prefix: 'fas',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H400c25.8 0 49.6 21.4 47.2 50.6C437.8 389.6 341.4 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M96 352V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V293.5c0 17-6.7 33.3-18.7 45.3l-58.5 58.5c-12 12-28.3 18.7-45.3 18.7H160c-35.3 0-64-28.7-64-64zM272 128c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'fas',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V208c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'fas',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M288 32c-17.7 0-32 14.3-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v49.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V288 128c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-17.7-14.3-32-32-32zM128 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M64 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256H64V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm296.6 64.2c-16-23.3-10-55.3 11.9-71c21.2-15.1 50.5-10.3 66 12.2l67 97.6L361.6 303l-65-94.8zM491 407.7c-.8 .6-1.6 1.1-2.4 1.6l4-2.8c-.5 .4-1 .8-1.6 1.2z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M236.9 .2c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.3c2.8 8.2 4.3 16.9 4.3 26.1c0 21.7-8.5 37.2-21.9 47.6c-13.8 10.8-34 17-57.8 17H128c-35.3 0-64 28.7-64 64c0 12.2 3.4 23.5 9.3 33.2C31.7 216.2 0 252.4 0 296c0 41 28 75.4 65.8 85.2c-5.3-18.5 1-38.5 16.2-50.7l160-128c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L285.7 320H304c20.4 0 38.5 12.9 45.3 32.1c3.7 10.6 3.5 21.8 0 31.9H360c48.6 0 88-39.4 88-88c0-43.6-31.7-79.8-73.3-86.8c5.9-9.7 9.3-21.1 9.3-33.2c0-35.3-28.7-64-64-64h-1.4c.9-5.4 1.4-10.9 1.4-16.6c0-48.7-36.1-88.9-83.1-95.2zm45.1 227.4c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faFaceFrownOpen = {\n prefix: 'fas',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-122 174.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M346.3 271.8l-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2l-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4c6.5-78.5-23.9-155.5-80.8-208.5c2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4c-.9-.4-1.9-.7-2.8-1.1c-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zM107.2 112.9c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2c-79.6 2.5-154.7 42.2-201.2 108z\"]\n};\nvar faHelmetUn = {\n prefix: 'fas',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240v56.3C0 344.8 39.2 384 87.7 384H200h14.9L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.5l-1.5-1.5V288h80 32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.5zM320 417.2l-78-73.7L274.4 288H320V417.2zM285.3 103.1l34.7 52V112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112v64c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M32 480c0 17.7 14.3 32 32 32s32-14.3 32-32V272H32V480zM224 320c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-64 64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm160-96c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-96-88l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6V160C384 71.6 312.4 0 224 0H162.3C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149v27c0 35.3 28.7 64 64 64h88c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c39.8 0 72 32.2 72 72z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3V320c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 53 43 96 96 96H352c53 0 96-43 96-96V352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFileWaveform = {\n prefix: 'fas',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M96 0C60.7 0 32 28.7 32 64V288H144c6.1 0 11.6 3.4 14.3 8.8L176 332.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L281.9 288H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-6.1 0-11.6-3.4-14.3-8.8L240 275.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L134.1 320H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V160H288c-17.7 0-32-14.3-32-32V0H96zM288 0V128H416L288 0z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faChartSimple = {\n prefix: 'fas',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H376zm88 48h0v0l0 0zM96 304a112 112 0 1 1 224 0A112 112 0 1 1 96 304z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5V416c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256L352 109.3 402.7 160l-96 96H205.3z\"]\n};\nvar faGauge = {\n prefix: 'fas',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'fas',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faE = {\n prefix: 'fas',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faPenClip = {\n prefix: 'fas',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'fas',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'fas',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM32 192l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H448c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z\"]\n};\nvar faVanShuttle = {\n prefix: 'fas',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M64 104v88h96V96H72c-4.4 0-8 3.6-8 8zm482 88L465.1 96H384v96H546zm-226 0V96H224v96h96zM592 384H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V104C0 64.2 32.2 32 72 32H192 352 465.1c18.9 0 36.8 8.3 49 22.8L625 186.5c9.7 11.5 15 26.1 15 41.2V336c0 26.5-21.5 48-48 48zm-64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'fas',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h89.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM576 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'fas',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H224l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166V280.1 512H464 352V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H176 160V280.1 166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64H512zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3L128 244.5zM327 124.3c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1L274.3 192l-16.4 27.8c-3.2 5.4 .7 12.1 7 12.1l32.3-.3L313 259.7c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3 .3c6.2 .1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3 .3L327 124.3z\"]\n};\nvar faPersonHalfDress = {\n prefix: 'fas',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm8 352V128h6.9c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352h0zM58.2 182.3c19.9-33.1 55.3-53.5 93.8-54.3V384h0v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2z\"]\n};\nvar faRoadBridge = {\n prefix: 'fas',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M352 0H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM480 200c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-13.3-10.7-24-24-24zm24 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V384zM480 40c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM32 96H288v64H248v64h40v96c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416c0-53-43-96-96-96V224H72V160H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm168 64H120v64h80V160z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H224V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\"]\n};\nvar faC = {\n prefix: 'fas',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]\n};\nvar faTabletButton = {\n prefix: 'fas',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBuildingLock = {\n prefix: 'fas',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h88.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-23.7 12.9-44.4 32-55.4V272c0-30.5 12.2-58.2 32-78.4V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80c.5 0 1.1 0 1.6 0c176.7 0 320 143.3 320 320c0 .5 0 1.1 0 1.6l44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM399.8 410.2c.1-3.4 .2-6.8 .2-10.2c0-159.1-128.9-288-288-288c-3.4 0-6.8 .1-10.2 .2L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L399.8 410.2zM176 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM96 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm96 288H448c17.7 0 32-14.3 32-32V251.8c0-7.6-2.7-15-7.7-20.8l-65.8-76.8c-12.1-14.2-33.7-15-46.9-1.8l-21 21c-10 10-26.4 9.2-35.4-1.6l-39.2-47c-12.6-15.1-35.7-15.4-48.7-.6L135.9 215c-5.1 5.8-7.9 13.3-7.9 21.1v84c0 17.7 14.3 32 32 32z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'fas',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M480 0c-17.7 0-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512c0-17.7-14.3-32-32-32zM416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288H64V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h64.7l.2 0h-1V159z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'fas',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faCameraRotate = {\n prefix: 'fas',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M213.1 64.8L202.7 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8zM448 256c0 8.8-7.2 16-16 16H355.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3V256zM192 320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3V320z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'fas',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M96 32v96H224V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V256c0-53-43-96-96-96H96zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\"]\n};\nvar faRepeat = {\n prefix: 'fas',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32V64H160C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96H192V352c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V448H352c88.4 0 160-71.6 160-160z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M176 0c-26.5 0-48 21.5-48 48v80H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h80V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V256h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H256V48c0-26.5-21.5-48-48-48H176z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M50.7 58.5L0 160H208V32H93.7C75.5 32 58.9 42.3 50.7 58.5zM240 160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240V160zm208 32H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H208v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faArrowPointer = {\n prefix: 'fas',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 55.2V426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320H297.9c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faMaximize = {\n prefix: 'fas',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M200 32H56C42.7 32 32 42.7 32 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312V456c0 13.3 10.7 24 24 24H200c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H456c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 0C60.7 0 32 28.7 32 64V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88H320V64c0-35.3-28.7-64-64-64H96zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2H384c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312V456c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faShuffle = {\n prefix: 'fas',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160H352c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96h32V64c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H352c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8h32V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'fas',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'fas',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 96v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1V160c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4V112c0 8.8-7.2 16-16 16s-16-7.2-16-16V101.2c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160v14.1l-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z\"]\n};\nvar faHandsBound = {\n prefix: 'fas',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M96 32C96 14.3 81.7 0 64 0S32 14.3 32 32V96v59.1 .7V192v21.9c0 14.2 5.1 27.9 14.3 38.7L131.6 352H128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32H288h64H480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-3.6l85.3-99.5c9.2-10.8 14.3-24.5 14.3-38.7V192 155.8v-.7V96 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96v48.8l-69.3 92.4c-5.7 7.6-16.1 9.6-24.2 4.8c-9.7-5.7-12.1-18.7-5.1-27.5L473 180c10.8-13.5 8.9-33.3-4.4-44.5s-33-9.8-44.5 3.2l-46.7 52.5C361 209.7 352 233.4 352 258.1V320v32H288V320 258.1c0-24.6-9-48.4-25.4-66.8l-46.7-52.5c-11.5-13-31.3-14.4-44.5-3.2s-15.2 30.9-4.4 44.5l27.6 34.5c7 8.8 4.7 21.8-5.1 27.5c-8.1 4.8-18.6 2.7-24.2-4.8L96 144.8V96 32zm64 448v32H288V480h64v32H480V480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H480 352 288 160 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm128 72c8.8 0 16 7.2 16 16v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V440c0 8.8-7.2 16-16 16s-16-7.2-16-16V422.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'fas',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96C14.3 96 0 81.7 0 64zM256 96c-8.8 0-16 7.2-16 16v32H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16H240v70.6L189.1 307c-5.2-2-10.6-3-16.2-3h-2.1c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6H316.4c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8H339c-5.5 0-11 1-16.2 3L272 326.6V256H384c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V176h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M112 0C99.1 0 87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224h90.7l5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C136.6 7.8 124.9 0 112 0zm18.7 160H93.3L112 115.2 130.7 160zM256 32v96 96c0 17.7 14.3 32 32 32h80c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80H288c-17.7 0-32 14.3-32 32zm96 64H320V64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320V160zM566.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L352 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nvar faComputerMouse = {\n prefix: 'fas',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M0 192H176V0H160C71.6 0 0 71.6 0 160v32zm0 32V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V224H192 0zm384-32V160C384 71.6 312.4 0 224 0H208V192H384z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faShopSlash = {\n prefix: 'fas',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224H512V376L384 275.7V224H320v1.5L277.2 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L74.1 32.8 38.8 5.1zM36.8 192h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V398.5l-64-50.4V384z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'fas',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zM149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2L149.2 213.5z\"]\n};\nvar faShopLock = {\n prefix: 'fas',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M36.8 192H449.6c20.2-19.8 47.9-32 78.4-32c30.5 0 58.1 12.2 78.3 31.9c18.9-1.6 33.7-17.4 33.7-36.7c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM384 224H320V384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 352 224zm144 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM288 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M224 352L196.8 52.3C194.2 24.2 216.3 0 244.6 0H534.1c21.1 0 36.4 20.1 30.9 40.4L558.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H549.8l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H523.6l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L480 352H224zm-16 32H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2z\"]\n};\nvar faBuildingWheat = {\n prefix: 'fas',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm384 80v16c0 44.2-35.8 80-80 80H544V272c0-44.2 35.8-80 80-80h16zm0 128c0 44.2-35.8 80-80 80H544V384c0-44.2 35.8-80 80-80h16v16zm0 112c0 44.2-35.8 80-80 80H544V496c0-44.2 35.8-80 80-80h16v16zM512 496v16H496c-44.2 0-80-35.8-80-80V416h16c44.2 0 80 35.8 80 80zm0-96H496c-44.2 0-80-35.8-80-80V304h16c44.2 0 80 35.8 80 80v16zm0-128v16H496c-44.2 0-80-35.8-80-80V192h16c44.2 0 80 35.8 80 80zM528 32c13.3 0 24 10.7 24 24V160c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm96 64v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24zM456 72c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24z\"]\n};\nvar faPersonBreastfeeding = {\n prefix: 'fas',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM436.8 382.8L373.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.8-.1c-38.9-5.6-74.3-25.1-99.7-54.8V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L27.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2L75.6 256.1c26.7-40.1 71.7-64.1 119.8-64.1h75.2c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM320 332a44 44 0 1 0 -88 0 44 44 0 1 0 88 0z\"]\n};\nvar faRightToBracket = {\n prefix: 'fas',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V384H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V349.1z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8h39.1c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8h39.1c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8H279.6zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8H129.3c5.3-31.4 25.8-57.6 53.7-70.8zM352 192A128 128 0 1 0 96 192a128 128 0 1 0 256 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faHeartPulse = {\n prefix: 'fas',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 16.9-2.8 33.5-8.3 49.1z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faPeopleCarryBox = {\n prefix: 'fas',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm64 193.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320C54.8 308 48 291.7 48 274.7V186.6c0-32.4 26.2-58.6 58.6-58.6c24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v76.2l10.1-5L473.5 160c13.3-20 35.8-32 59.9-32c32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51V241.7l-19 28.5c-4.6 7-11 12.6-18.5 16.3l-59.6 29.8c-2.4 1.3-4.9 2.2-7.6 2.8c-2.6 .6-5.3 .9-7.9 .8H256.7c-2.5 .1-5-.2-7.5-.7c-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1L50.1 348.6l49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8S-4.3 484.5 2.3 468.1zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6l47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.2 32 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V176h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zM160 128H352c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160V352H352V160z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H346.5z\"]\n};\nvar faXmarksLines = {\n prefix: 'fas',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM7 167c-9.4 9.4-9.4 24.6 0 33.9l55 55L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55L41 167c-9.4-9.4-24.6-9.4-33.9 0zM265 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55zM455 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\"]\n};\nvar faWeightScale = {\n prefix: 'fas',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faWeight = faWeightScale;\nvar faUserGroup = {\n prefix: 'fas',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'fas',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zM416 32c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zM395.8 176L416 135.6 436.2 176H395.8z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M96 48L82.7 61.3C70.7 73.3 64 89.5 64 106.5V238.9c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0c10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400H384l28.9-159c2.1-11.3 3.1-22.8 3.1-34.3V192C416 86 330 0 224 0H83.8C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H409.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L384 432H64L22.6 473.4z\"]\n};\nvar faFaceLaughSquint = {\n prefix: 'fas',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4h5.1c.4 0 .8 0 1.3 0h94.1c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H282.2l-9.6-48H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H259.8z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'fas',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM385 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 119c9.4-9.4 24.6-9.4 33.9 0L385 231z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faPersonWalking = {\n prefix: 'fas',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'fas',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M64 32c17.7 0 32 14.3 32 32V416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nvar faBedPulse = {\n prefix: 'fas',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160H544c53 0 96 43 96 96V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V352H288V192c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faProcedures = faBedPulse;\nvar faShuttleSpace = {\n prefix: 'fas',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96h2zM352 128L245.2 63.9C210.4 43 170.6 32 130 32h-2v96l224 0zM96 128l0-96H80C53.5 32 32 53.5 32 80v48h8c-22.1 0-40 17.9-40 40v16V328v16c0 22.1 17.9 40 40 40H32v48c0 26.5 21.5 48 48 48H96l0-96h8c26.2 0 49.4-12.6 64-32H456c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6v24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4V212.4c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faFaceLaugh = {\n prefix: 'fas',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'fas',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCodeFork = {\n prefix: 'fas',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3V192c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V153.3C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V192c0 53-43 96-96 96H256v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V288H144c-53 0-96-43-96-96V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M480 48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48V96H224V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96H112V24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144v96V464c0 26.5 21.5 48 48 48H304h32 96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H480V48zm96 320v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 416H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM560 256c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32zM256 176v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM112 160c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32zM256 304c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm304-48v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM400 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zm16 112v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faMicrophoneLines = {\n prefix: 'fas',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96S96 43 96 96zM320 240v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5L264 160l40 0v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z\"]\n};\nvar faColonSign = {\n prefix: 'fas',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255 39.8c4.3-17.1-6.1-34.5-23.3-38.8S197.2 7.1 193 24.2L181.9 68.6C96.1 87.8 32 164.4 32 256c0 58.1 25.8 110.2 66.7 145.4L81 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l13-52.1c9 3.4 18.4 6.2 28 8.2L177 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l10.4-41.4c33.4-4.4 64.1-17.4 89.8-36.7c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-10.2 7.7-21.7 13.9-34 18.3L321 160c9.4-.3 18.5-4.7 24.6-12.8c10.6-14.1 7.8-34.2-6.4-44.8c-1.1-.8-2.2-1.6-3.3-2.4L351 39.8c4.3-17.1-6.1-34.5-23.3-38.8S293.2 7.1 289 24.2L277.2 71.5c-9.3-2.7-18.8-4.6-28.6-5.9L255 39.8zM163.2 143.3L117.3 326.8C103.9 306.5 96 282.2 96 256c0-48.7 27.2-91 67.2-112.7zm8.6 229.5l61.1-244.6c9.9 .7 19.5 2.5 28.7 5.3l-62 248.1c-9.7-1.9-19-4.8-27.8-8.8z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V350.9L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm73.4 218.1c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7zM160 384V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L365.5 384H160z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'fas',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM472 200H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'fas',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H184v24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H184v24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8V168H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V96H96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352A96 96 0 1 0 64 352a96 96 0 1 0 192 0z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'fas',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M155.6 17.3C163 3 179.9-3.6 195 1.9L320 47.5l125-45.6c15.1-5.5 32 1.1 39.4 15.4l78.8 152.9c28.8 55.8 10.3 122.3-38.5 156.6L556.1 413l41-15c16.6-6 35 2.5 41 19.1s-2.5 35-19.1 41l-71.1 25.9L476.8 510c-16.6 6.1-35-2.5-41-19.1s2.5-35 19.1-41l41-15-31.3-86.2c-59.4 5.2-116.2-34-130-95.2L320 188.8l-14.6 64.7c-13.8 61.3-70.6 100.4-130 95.2l-31.3 86.2 41 15c16.6 6 25.2 24.4 19.1 41s-24.4 25.2-41 19.1L92.2 484.1 21.1 458.2c-16.6-6.1-25.2-24.4-19.1-41s24.4-25.2 41-19.1l41 15 31.3-86.2C66.5 292.5 48.1 226 76.9 170.2L155.6 17.3zm44 54.4l-27.2 52.8L261.6 157l13.1-57.9L199.6 71.7zm240.9 0L365.4 99.1 378.5 157l89.2-32.5L440.5 71.7z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'fas',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24V305.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V408z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M96 77.3c0-7.3 5.9-13.3 13.3-13.3c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9C130 91.8 128 101.7 128 112c0 19.9 7.2 38 19.2 52c-5.3 9.2-4 21.1 3.8 29c9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9c-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5L163.9 22.6C149.4 8.1 129.7 0 109.3 0C66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V464H384v16c0 17.7 14.3 32 32 32s32-14.3 32-32V439.6c19.6-17.6 32-43.1 32-71.6V352H32z\"]\n};\nvar faBathtub = faBath;\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faUserPen = {\n prefix: 'fas',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H322.8c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1H178.3zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faUserEdit = faUserPen;\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M192 128c0-17.7 14.3-32 32-32s32 14.3 32 32v7.8c0 27.7-2.4 55.3-7.1 82.5l-84.4 25.3c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96s-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm-9.2 177l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368H24zm592 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H305.9c-6.7 16.3-14.2 32.3-22.3 48H616z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.6 63.7c-6.2-6.2-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6zM142.9 256l45.3-45.3L233.4 256l-45.3 45.3L142.9 256zm67.9 67.9L256 278.6l45.3 45.3L256 369.1l-45.3-45.3zM278.6 256l45.3-45.3L369.1 256l-45.3 45.3L278.6 256zm22.6-67.9L256 233.4l-45.3-45.3L256 142.9l45.3 45.3z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z\"]\n};\nvar faAnchorLock = {\n prefix: 'fas',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8 0 15.9-.6 23.6-1.7c-4.8-9-7.6-19.3-7.6-30.3V446.7c-5.2 .9-10.5 1.3-16 1.3H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBuildingNgo = {\n prefix: 'fas',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM168 64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V80c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V112zM61.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\"]\n};\nvar faManatSign = {\n prefix: 'fas',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-17.7 0-32 14.3-32 32V98.7C69.2 113.9 0 192.9 0 288V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-59.6 40.8-109.8 96-124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V164c55.2 14.2 96 64.3 96 124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-95.1-69.2-174.1-160-189.3V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4L337.1 144H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H294.5l-64 96H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H187.8l-65.2 97.7c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4L110.9 368H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H153.5l64-96H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H260.2l65.2-97.7c9.8-14.7 29.7-18.7 44.4-8.9z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'fas',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'fas',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5C370.6 435.2 416 382.9 416 320c0-37-15.7-70.4-40.8-93.7c-7-6.5-6.5-18.6 1-24.4C410.1 175.5 432 134.3 432 88c0-16.8-2.9-33-8.2-48c-4.6-13 10.2-30 21.4-22c53.5 38 92.7 94.8 107.8 160.7c.5 2.1-.2 4.3-1.7 5.9l-28.4 28.4c-4 4-1.2 10.9 4.5 10.9h26c3.4 0 6.2 2.6 6.3 6c.1 3.3 .2 6.6 .2 10c0 17.5-1.7 34.7-4.8 51.3c-.2 1.2-.9 2.4-1.7 3.3l-46.5 46.5c-4 4-1.2 10.9 4.5 10.9H526c4.6 0 7.7 4.8 5.7 9C487.2 450.5 394.8 512 288 512S88.8 450.5 44.3 361c-2.1-4.2 1-9 5.7-9H64.5c5.7 0 8.6-6.9 4.5-10.9L22.6 294.6c-.9-.9-1.5-2-1.7-3.3C17.7 274.7 16 257.5 16 240c0-3.3 .1-6.7 .2-10c.1-3.4 2.9-6 6.3-6h26c5.7 0 8.6-6.9 4.5-10.9L24.6 184.6c-1.5-1.5-2.2-3.8-1.7-5.9C38.1 112.8 77.3 56 130.8 18c11.3-8 26 8.9 21.4 22c-5.3 15-8.2 31.2-8.2 48c0 46.3 21.9 87.5 55.8 113.9c7.5 5.8 8 17.9 1 24.4C175.7 249.6 160 283 160 320c0 62.9 45.4 115.2 105.1 126l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'fas',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 192c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM320 288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 32zm352 64h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384V256zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 0a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM134.1 143.8c3.3-13 15-23.8 30.2-23.8c12.3 0 22.6 7.2 27.7 17c12 23.2 36.2 39 64 39s52-15.8 64-39c5.1-9.8 15.4-17 27.7-17c15.3 0 27 10.8 30.2 23.8c7 27.8 32.2 48.3 62.1 48.3c10.8 0 21-2.7 29.8-7.4c8.4-4.4 18.9-4.5 27.6 .9c13 8 17.1 25 9.2 38L399.7 400H384 343.6 168.4 128 112.3L5.4 223.6c-7.9-13-3.8-30 9.2-38c8.7-5.3 19.2-5.3 27.6-.9c8.9 4.7 19 7.4 29.8 7.4c29.9 0 55.1-20.5 62.1-48.3zM256 224l0 0 0 0h0zM112 432H400l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H86.6C74.1 512 64 501.9 64 489.4c0-6 2.4-11.8 6.6-16L112 432z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1 .1 0 0 0 0 0s0 0-6.3 12.7h0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7h0c-6.3-12.7-6.3-12.7-6.3-12.7l0 0 0 0 .1 0 .2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7v6.7V352v16c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4V368c0 26.5 21.5 48 48 48h44.3c25.5 0 46.5-19.9 47.9-45.3l2.5-45.6c-2.3-.8-4.9-1.7-7.5-2.5c-17.2-5.4-39.9-10.5-63.6-10.5c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zM512 368V325.4c-2.6-.9-5.5-1.9-8.5-2.9c-17-5.4-39.5-10.5-63.2-10.5c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.5 45.6c1.4 25.4 22.5 45.3 47.9 45.3H464c26.5 0 48-21.5 48-48z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 64v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"]\n};\nvar faBuildingCircleCheck = {\n prefix: 'fas',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'fas',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V192h56 64 16c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64H576V256H384V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'fas',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M208 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152H416V176c0-13.3 10.7-24 24-24s24 10.7 24 24v56h32V176c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V280H464v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H382.4z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'fas',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 0C117.5 0 96 21.5 96 48V96v28.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V149.3l-9 7.5C40.4 169 32 187 32 206V244c0 38 16.9 74 46.1 98.3L128 384v96c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V374.7c46.9-19 80-65 80-118.7V176 160 144c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faSquareCaretUp = {\n prefix: 'fas',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H120c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'fas',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M224 0c38.6 0 71.9 22.8 87.2 55.7C325.7 41.1 345.8 32 368 32c38.7 0 71 27.5 78.4 64H448c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64c0-53 43-96 96-96zM140.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm327.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM252.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm103.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'fas',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 464a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM32 160l.1 72.6c.1 52.2 24 101 64 133.1c-.1-1.9-.1-3.8-.1-5.7v-8c0-71.8 37-138.6 97.9-176.7l60.2-37.6c8.6-5.4 17.9-8.4 27.3-9.4l45.9-79.5c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8l-78 135.1c-3.3 5.7-10.7 7.7-16.4 4.4s-7.7-10.7-4.4-16.4l62-107.4c6.6-11.5 2.7-26.2-8.8-32.8S214 5 207.4 16.5l-68 117.8 0 0 0 0-43.3 75L96 160c0-17.7-14.4-32-32-32s-32 14.4-32 32zM332.1 88.5L307.5 131c13.9 4.5 26.4 13.7 34.7 27c.9 1.5 1.7 2.9 2.5 4.4l28.9-50c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zm46.4 63.7l-26.8 46.4c-.6 6-2.1 11.8-4.3 17.4H352h13.3l0 0H397l23-39.8c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zM315.1 175c-9.4-15-29.1-19.5-44.1-10.2l-60.2 37.6C159.3 234.7 128 291.2 128 352v8c0 8.9 .8 17.6 2.2 26.1c35.4 8.2 61.8 40 61.8 77.9c0 6.3-.7 12.5-2.1 18.4C215.1 501 246.3 512 280 512H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352l0 0 0 0H258.8L305 219.1c15-9.4 19.5-29.1 10.2-44.1z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M395.9 93.7c16.4-6.6 24.4-25.2 17.8-41.6s-25.2-24.4-41.6-17.8l-320 128C40 167.1 32 178.9 32 192s8 24.9 20.1 29.7l320 128c16.4 6.6 35-1.4 41.6-17.8s-1.4-35-17.8-41.6L150.2 192 395.9 93.7zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zM224 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faEyeLowVision = {\n prefix: 'fas',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223 149.5c48.6-44.3 123-50.8 179.3-11.7c60.8 42.4 78.9 123.2 44.2 186.9L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3L223 149.5zm223.1 298L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M456 0c-48.6 0-88 39.4-88 88v29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l80.5-20.1c8.6-2.1 13.8-10.8 11.6-19.4C629 52 603.4 32 574 32H523.9C507.7 12.5 483.3 0 456 0zm0 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSailboat = {\n prefix: 'fas',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faSquarePlus = {\n prefix: 'fas',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M0 80c0 26.5 21.5 48 48 48H64v64h64V128h96v64h64V128h96v64h64V128h16c26.5 0 48-21.5 48-48V13.4C512 6 506 0 498.6 0c-1.7 0-3.4 .3-5 1l-49 19.6C425.7 28.1 405.5 32 385.2 32H126.8c-20.4 0-40.5-3.9-59.4-11.4L18.4 1c-1.6-.6-3.3-1-5-1C6 0 0 6 0 13.4V80zM64 288V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9c0 21.8-11.7 41.9-30.7 52.7L400.8 323.5 493.3 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7c-40.6-40.6-106.3-40.6-146.9-.1L101 324.4c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6 .6l73.8-70.2 .1-.1 .1-.1c3.5-3.5 7.3-6.6 11.3-9.2c27.9-18.5 65.9-15.4 90.5 9.2c24.7 24.7 27.7 62.9 9 90.9c-2.6 3.8-5.6 7.5-9 10.9L261.8 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5C296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBucket = {\n prefix: 'fas',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-5.1L388.5 469c-2.6 24.4-23.2 43-47.7 43H107.2c-24.6 0-45.2-18.5-47.7-43L37.1 256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M192 0C139 0 96 43 96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faCow = {\n prefix: 'fas',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M96 224v32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V327.8c9.9 6.6 20.6 12 32 16.1V368c0 8.8 7.2 16 16 16s16-7.2 16-16V351.1c5.3 .6 10.6 .9 16 .9s10.7-.3 16-.9V368c0 8.8 7.2 16 16 16s16-7.2 16-16V343.8c11.4-4 22.1-9.4 32-16.1V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256l32 32v49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v14.4l-52.9-74.1C496 86.5 452.4 64 405.9 64H272 256 192 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160v64zM560 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM166.6 166.6c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H361.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9l-23.4-23.4z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"]\n};\nvar faFolderClosed = {\n prefix: 'fas',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M448 480H64c-35.3 0-64-28.7-64-64V192H512V416c0 35.3-28.7 64-64 64zm64-320H0V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64z\"]\n};\nvar faHouseTsunami = {\n prefix: 'fas',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1l0 0c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0c-22.4 15.5-49.9 26.1-77.4 26.1c0 0-.1 0-.1 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zm252-18.1c-8.1 6-12.8 15.5-12.8 25.6V265c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faSquareNfi = {\n prefix: 'fas',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm75.7 64.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'fas',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c17.7 0 32-14.3 32-32V109.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V320c0 17.7 14.3 32 32 32zm-18.5 69.9C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM192 192H48c-26.5 0-48 21.5-48 48V425c5.3-3.1 11.2-5.4 17.5-6.9c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.1 20.3V192zm384 48c0-26.5-21.5-48-48-48H384V416.5h0c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c6.3 1.5 12.1 3.8 17.5 6.9V240z\"]\n};\nvar faMartiniGlass = {\n prefix: 'fas',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM173.3 128l-64-64H402.7l-64 64H173.3z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'fas',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'fas',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z\"]\n};\nvar faColumns = faTableColumns;\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M32 224.2c0-22.2 3.2-43.6 9.2-63.9L262.2 321c-4 9.5-6.2 20-6.2 31V512H128c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C48.6 322.4 32 274.1 32 224.2zm248.3 70.4L53 129.3C88.7 53 166.2 0 256 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c5.4 6.7 8.6 14.8 9.4 23.2H336c-21.7 0-41.3 8.6-55.7 22.6zM336 304H534l0 0h10l-19.7 64H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H514.5l-9.8 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H494.8l-.9 2.8c-8.3 26.9-33.1 45.2-61.2 45.2H288V352c0-14 6-26.7 15.6-35.4c0 0 0 0 0 0c8.5-7.8 19.9-12.6 32.4-12.6zm48-80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1 .5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3c-53 0-96-43-96-96c0-30.8 14.5-58.2 37-75.8L104.9 64H32C14.3 64 0 49.7 0 32zM244.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8L371.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L334.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L244.8 134.5z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M448 32V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32V245c0-12.7-5.1-24.9-14.1-33.9l-21-21C405.9 151.1 384 98.1 384 43V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM576 256V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416zm224 0v32H384V416H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32z\"]\n};\nvar faMinimize = {\n prefix: 'fas',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V312c0-13.3 10.7-24 24-24H456zm-256 0c13.3 0 24 10.7 24 24V456c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H200zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2V200c0 13.3-10.7 24-24 24H56z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322H55.9L96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.9 64l68.6 160H256l-64-64V64H298.9zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0H176c-26.5 0-48 21.5-48 48V160H96c-17.7 0-32 14.3-32 32V298.8C26.2 316.8 0 355.3 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-17.2-3.9-33.5-10.8-48H512v50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7V320 235.2L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40V288H448V256.7c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48H368zM144 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAnglesRight = {\n prefix: 'fas',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V417.2l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\"]\n};\nvar faCirclePlay = {\n prefix: 'fas',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M614.3 247c16.3-25 25.7-54.9 25.7-87C640 71.6 568.4 0 480 0c-32.1 0-61.9 9.4-87 25.7c-7.9 5.2-8.5 16.2-1.8 22.9L591.4 248.8c6.7 6.7 17.8 6.2 22.9-1.8zM567 294.3c7.9-5.2 8.5-16.2 1.8-22.9L368.6 71.2c-6.7-6.7-17.8-6.2-22.9 1.8c-16.3 25-25.7 54.9-25.7 87c0 88.4 71.6 160 160 160c32.1 0 61.9-9.4 87-25.7zM301.5 368H18.5c-9.5 0-16.9 8.2-15 17.5C18.9 457.8 83.1 512 160 512s141.1-54.2 156.5-126.5c2-9.3-5.5-17.5-15-17.5zm0-32c9.5 0 16.9-8.2 15-17.5C301.1 246.2 236.9 192 160 192S18.9 246.2 3.5 318.5c-2 9.3 5.5 17.5 15 17.5H301.5z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M0 224V416c0 17.7 14.3 32 32 32H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448V160c0-17.7-14.3-32-32-32H384V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32v32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.1 240c-.1 2.7-.1 5.3-.1 8v16c0 2.7 0 5.3 .1 8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H60.3C89.9 419.9 170 480 264 480h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264c-57.9 0-108.2-32.4-133.9-80H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112.2c-.1-2.6-.2-5.3-.2-8V248c0-2.7 .1-5.4 .2-8H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H130.1c25.7-47.6 76-80 133.9-80h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264C170 32 89.9 92.1 60.3 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48.1z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48V256h48V58.7c23.9 13.8 40 39.7 40 69.3V256h48V128C384 57.3 326.7 0 256 0H192C121.3 0 64 57.3 64 128V256h48V128c0-29.6 16.1-55.5 40-69.3V256h48V48h48zM48 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S20.9 384 32 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32V384H352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C423.2 294.8 412.1 288 400 288H48z\"]\n};\nvar faCircleCheck = {\n prefix: 'fas',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faCircleStop = {\n prefix: 'fas',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faCompassDrafting = {\n prefix: 'fas',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M352 96c0 14.3-3.1 27.9-8.8 40.2L396 227.4c-23.7 25.3-54.2 44.1-88.5 53.6L256 192h0 0l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1L98.7 463.7C94 471.8 87 478.4 78.6 482.6L23.2 510.3c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496V440.6c0-8.4 2.2-16.7 6.5-24.1l60-103.7C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9c-5.6-12.2-8.8-25.8-8.8-40.2c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'fas',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM56 64h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 136H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zM400 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm80 160v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 176c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320H484.2c14.8 0 26.2 12.9 24.4 27.6C502.3 397.8 464.2 437 416 446v2c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32v-2c-48.2-9-86.3-48.2-92.5-98.4z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H482.4C498.8 0 512 13.2 512 29.6c0 1.6-.1 3.3-.4 4.9L434.6 496.1c-1.5 9.2-9.5 15.9-18.8 15.9c-9.2 0-17.1-6.6-18.7-15.6L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"]\n};\nvar faPersonShelter = {\n prefix: 'fas',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160V480c0 17.7 14.3 32 32 32s32-14.3 32-32V178.6L256 68.9 448 178.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-8 280V400h16v88c0 13.3 10.7 24 24 24s24-10.7 24-24V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V349.1z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 186.3 195.7 316.3 325.7 481 161c35.9-35.9 35.9-94.1 0-129.9zM293.7 348.3L163.7 218.3 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l64.2-64.2z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'fas',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM217.6 212.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faHelicopterSymbol = {\n prefix: 'fas',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M445.3 224H510C495.6 108.2 403.8 16.4 288 2V66.7C368.4 80.1 431.9 143.6 445.3 224zM510 288H445.3C431.9 368.4 368.4 431.9 288 445.4V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V445.4C143.6 431.9 80.1 368.4 66.7 288H2zm0-64H66.7C80.1 143.6 143.6 80.1 224 66.7V2C108.2 16.4 16.4 108.2 2 224zm206-64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V288h96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H208V160z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'fas',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faLariSign = {\n prefix: 'fas',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c17.7 0 32 14.3 32 32V96.7c5.3-.4 10.6-.7 16-.7s10.7 .2 16 .7V64c0-17.7 14.3-32 32-32s32 14.3 32 32v49.4c54.9 25.2 95.8 75.5 108.2 136.2c3.5 17.3-7.7 34.2-25 37.7s-34.2-7.7-37.7-25c-6.1-29.9-22.5-55.9-45.4-74.3V256c0 17.7-14.3 32-32 32s-32-14.3-32-32V161c-5.2-.7-10.6-1-16-1s-10.8 .3-16 1v95c0 17.7-14.3 32-32 32s-32-14.3-32-32V188.1C82.7 211.5 64 247.6 64 288c0 70.7 57.3 128 128 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48.9C18.5 382 0 337.2 0 288c0-77.5 45.9-144.3 112-174.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faVolcano = {\n prefix: 'fas',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM144 352l48.4-24.2c10.2-5.1 21.6-7.8 33-7.8c19.6 0 38.4 7.8 52.2 21.6l32.5 32.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l9.7-14.6-58.9-66.3c-9.1-10.2-22.2-16.1-35.9-16.1H235.1c-13.7 0-26.8 5.9-35.9 16.1l-59.9 67.4L144 352zm19.4-95.8c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM392 320c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440z\"]\n};\nvar faSterlingSign = {\n prefix: 'fas',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v44.5c0 17.4-4.7 34.5-13.7 49.4L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1C104.1 390 112 361.5 112 332.5V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M192 0c13.3 0 24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24zm48 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 80c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'fas',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm80 104c0-30.9 25.1-56 56-56s56 25.1 56 56V350.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7V248z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256A128 128 0 1 1 224 0a128 128 0 1 1 0 256zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 36-146.9c2-8.1 9.8-13.4 17.9-11.3c70.1 17.6 121.9 81 121.9 156.4c0 17-13.8 30.7-30.7 30.7H285.5c-2.1 0-4-.4-5.8-1.1l.3 1.1H168l.3-1.1c-1.8 .7-3.8 1.1-5.8 1.1H30.7C13.8 512 0 498.2 0 481.3c0-75.5 51.9-138.9 121.9-156.4c8.1-2 15.9 3.3 17.9 11.3l36 146.9 33.4-123.9z\"]\n};\nvar faArrowDownLong = {\n prefix: 'fas',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'fas',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zm122.8 22.6c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160 .7 4.7c17.5 .2 31.6 14.4 31.6 32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H159.6l.7-4.7 24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128zM384 448h76.8L384 320V448z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.3-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M209.4 39.5c-9.1-9.6-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4c9.6-9.1 10-24.3 .9-33.9zM352 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V288h32c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176H352V64z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96v32V480H128V128 96zM64 96H96V480H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM448 480H416V96h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\"]\n};\nvar faPersonSkating = {\n prefix: 'fas',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H319.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V349.3l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faSkating = faPersonSkating;\nvar faFilterCircleDollar = {\n prefix: 'fas',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M220.6 121.2L271.1 96 448 96v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64V128H192c9.9 0 19.7-2.3 28.6-6.8zM0 128V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64H160V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16l0 16C28.7 64 0 92.7 0 128zM168 304a88 88 0 1 1 176 0 88 88 0 1 1 -176 0z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'fas',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM127 281c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l71 71L232 136c0-13.3 10.7-24 24-24s24 10.7 24 24l0 182.1 71-71c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 393c-9.4 9.4-24.6 9.4-33.9 0L127 281z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H128V64zm0 224v48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128zM512 128H384V0L512 128z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faSquareArrowUpRight = {\n prefix: 'fas',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128h2.2z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M0 80v48c0 17.7 14.3 32 32 32H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64v-5.3c0-32.4 26.3-58.7 58.7-58.7H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16H314.7c-14.7 0-26.7 11.9-26.7 26.7V384c0 53-43 96-96 96H368h96z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480H288 267.9C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z\"]\n};\nvar faLocationPinLock = {\n prefix: 'fas',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M215.7 499.2c11-13.8 25.1-31.7 40.3-52.3V352c0-23.7 12.9-44.4 32-55.4V272c0-55.6 40.5-101.7 93.6-110.5C367 70 287.7 0 192 0C86 0 0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c17.7 0 32 14.3 32 32v48H368V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z\"]\n};\nvar faHillAvalanche = {\n prefix: 'fas',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9zM480 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'fas',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M112 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C233.8 332.6 240 349.5 240 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM160 0C98.1 0 48 50.2 48 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C27.2 304.2 16 334.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h88c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'fas',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2V480c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-21-9.2-37.2-27-44.2-49l-125.9-42zM200.4 288L128 163.8 55.6 288H200.4zM128 384C65.1 384 12.8 350 2 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C243.2 350 190.9 384 128 384zm382.8-92.2L438.4 416H583.3L510.8 291.8zm126 141.3C626 478 573.7 512 510.8 512s-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'fas',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faBurst = {\n prefix: 'fas',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z\"]\n};\nvar faHouseLaptop = {\n prefix: 'fas',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c6.7 6.2 10.3 14.8 10.3 23.5H336c-19.1 0-36.3 8.4-48 21.7V208c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64V416H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM352 304V448H544V304H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V448h32c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H544 352 304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16h32V288z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'fas',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'fas',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm64 160c35.3 0 64 28.7 64 64H160V256zM224 96c0 35.3-28.7 64-64 64V96h64zM576 256v64H512c0-35.3 28.7-64 64-64zM512 96h64v64c-35.3 0-64-28.7-64-64zM288 208a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M32 144c0 79.5 64.5 144 144 144H299.3c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.6 0-62.4 12.2-85.1 32.3C242.1 12.1 210.5 0 176 0C96.5 0 32 64.5 32 144zM616 368H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-64 96H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zM224 392c0-13.3-10.7-24-24-24H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144l-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1L116.8 342.9c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7c0 0 .1-.1 .1-.1s.1-.1 .1-.1l74.6-74.6-45.3-45.3L336 242.7 269.3 176l52.1-52.1L276.1 78.6l-74.7 74.7zM224 221.3L290.7 288l-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7L224 221.3z\"]\n};\nvar faFontAwesome = {\n prefix: 'fas',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.1 22.5-82.3 32-119.5 32c-62.8 0-86.6-32-149.3-32c-20.6 0-36.6 3.6-51.2 8.2v-64c14.6-4.6 30.6-8.2 51.2-8.2c62.7 0 86.5 32 149.3 32c20.4 0 35.6-3 55.5-9.3v-208c-19.9 6.3-35.1 9.3-55.5 9.3c-62.8 0-86.6-32-149.3-32c-50.8 0-74.9 20.6-115.2 28.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32s32 14.3 32 32V76.7c40.3-8 64.4-28.7 115.2-28.7c62.7 0 86.5 32 149.3 32c37.1 0 56.4-9.5 119.5-32z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'fas',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'fas',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160H128c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C0 153.3 57.3 96 128 96H338.7L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416H96c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H242.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M207.1 237.4L151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6V128 54.3 48c0-26.5-21.5-48-48-48h-4.5c-.2 0-.4 0-.6 0c-.4 0-.8 0-1.2 0C311 0 295.7 9.7 285.7 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0c-.4 0-.8 0-1.2 0c-.2 0-.4 0-.6 0H112C85.5 0 64 21.5 64 48v6.3V128v17.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48H176c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zM347.3 356.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48l48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nvar faFerry = {\n prefix: 'fas',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M224 0H352c17.7 0 32 14.3 32 32h75.1c20.6 0 31.6 24.3 18.1 39.8L456 96H120L98.8 71.8C85.3 56.3 96.3 32 116.9 32H192c0-17.7 14.3-32 32-32zM96 128H480c17.7 0 32 14.3 32 32V283.5c0 13.3-4.2 26.3-11.9 37.2l-51.4 71.9c-1.9 1.1-3.7 2.2-5.5 3.5c-15.5 10.7-34 18-51 19.9H375.6c-17.1-1.8-35-9-50.8-19.9c-22.1-15.5-51.6-15.5-73.7 0c-14.8 10.2-32.5 18-50.6 19.9H183.9c-17-1.8-35.6-9.2-51-19.9c-1.8-1.3-3.7-2.4-5.6-3.5L75.9 320.7C68.2 309.8 64 296.8 64 283.5V160c0-17.7 14.3-32 32-32zm32 64v96H448V192H128zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'fas',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M144 0c-13.3 0-24 10.7-24 24V142.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24zM360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z\"]\n};\nvar faSprout = faSeedling;\nvar faLeftRight = {\n prefix: 'fas',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'fas',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M256 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V253.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H256V48zM571.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0zM0 176c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V176zm352 80V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256H352zM144 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM231 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L376 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L119 273c-9.4-9.4-9.4-24.6 0-33.9L231 127z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faGroupArrowsRotate = {\n prefix: 'fas',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M201.1 71.9c16.9-5 26.6-22.9 21.5-39.8s-22.9-26.6-39.8-21.5c-21.5 6.4-41.8 15.5-60.6 27C114.3 34 105.4 32 96 32C60.7 32 32 60.7 32 96c0 9.4 2 18.3 5.6 26.3c-11.5 18.7-20.6 39-27 60.6c-5 16.9 4.6 34.8 21.5 39.8s34.8-4.6 39.8-21.5c4.3-14.6 10.4-28.5 17.9-41.4c2 .2 4.1 .3 6.1 .3c35.3 0 64-28.7 64-64c0-2.1-.1-4.1-.3-6.1c12.9-7.5 26.8-13.6 41.4-17.9zm128-61.3c-16.9-5-34.8 4.6-39.8 21.5s4.6 34.8 21.5 39.8c14.6 4.3 28.5 10.4 41.4 17.9c-.2 2-.3 4.1-.3 6.1c0 35.3 28.7 64 64 64c2.1 0 4.1-.1 6.2-.3c7.5 12.9 13.6 26.8 17.9 41.4c5 16.9 22.9 26.6 39.8 21.5s26.6-22.9 21.5-39.8c-6.4-21.5-15.5-41.8-27-60.6c3.6-8 5.6-16.9 5.6-26.3c0-35.3-28.7-64-64-64c-9.4 0-18.3 2-26.3 5.6c-18.7-11.5-39-20.6-60.6-27zM71.9 310.9c-5-16.9-22.9-26.6-39.8-21.5s-26.6 22.9-21.5 39.8c6.4 21.5 15.5 41.8 27 60.6C34 397.7 32 406.6 32 416c0 35.3 28.7 64 64 64c9.4 0 18.3-2 26.3-5.6c18.7 11.5 39 20.6 60.6 27c16.9 5 34.8-4.6 39.8-21.5s-4.6-34.8-21.5-39.8c-14.6-4.3-28.5-10.4-41.4-17.9c.2-2 .3-4.1 .3-6.2c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.2 .3c-7.5-12.9-13.6-26.8-17.9-41.4zm429.4 18.3c5-16.9-4.6-34.8-21.5-39.8s-34.8 4.6-39.8 21.5c-4.3 14.6-10.4 28.5-17.9 41.4c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64c0 2.1 .1 4.1 .3 6.2c-12.9 7.5-26.8 13.6-41.4 17.9c-16.9 5-26.6 22.9-21.5 39.8s22.9 26.6 39.8 21.5c21.5-6.4 41.8-15.5 60.6-27c8 3.6 16.9 5.6 26.3 5.6c35.3 0 64-28.7 64-64c0-9.4-2-18.3-5.6-26.3c11.5-18.7 20.6-39 27-60.6zM192.8 256.8c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4V163.2c0-5.7-4.7-10.4-10.4-10.4H169.9c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3c-20.8-10.6-34.9-32.2-34.9-57zm93.1-58.6c20.8 10.6 34.9 32.2 34.9 57c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4v60.5c0 5.7 4.7 10.4 10.4 10.4h60.5c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3z\"]\n};\nvar faBowlFood = {\n prefix: 'fas',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32H8.6C3.1 214.6 0 203.7 0 192zm0 91.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M348.8 131.5c3.7-2.3 7.9-3.5 12.2-3.5c12.7 0 23 10.3 23 23v5.6c0 9.9-5.1 19.1-13.5 24.3L30.1 393.7C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4L438.4 289.5c45.8-28.6 73.6-78.8 73.6-132.8V151C512 67.6 444.4 0 361 0c-28.3 0-56 8-80.1 23L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l26.8-16.8zM298.4 49.8c9.2-5.7 19.1-10.1 29.4-13.1L348 97.5c-5.7 1.4-11.2 3.7-16.3 6.8l-12.6 7.9L298.4 49.8zm88.5 52.7l46.2-46.2c8.5 6.5 16.1 14.1 22.6 22.6l-46.2 46.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9 59.3l61.6 20.5c-2.2 10.5-5.8 20.7-10.5 30.2l-62-20.7c6.2-8.8 10.1-19.1 11-30.1zm-86.1 82.5l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zm-107.2 67l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zM119.3 375.7l60.4 37.7-30.2 18.9L89.1 394.6l30.2-18.9z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'fas',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faCloudBolt = {\n prefix: 'fas',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M0 224c0 53 43 96 96 96h47.2L290 202.5c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L333.7 320H352h64c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm330.1 3.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faTextSlash = {\n prefix: 'fas',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faFaceSmileWink = {\n prefix: 'fas',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM111 257.1l26.8 89.2 31.6-90.3c3.4-9.6 12.5-16.1 22.7-16.1s19.3 6.4 22.7 16.1l31.6 90.3L273 257.1c3.8-12.7 17.2-19.9 29.9-16.1s19.9 17.2 16.1 29.9l-48 160c-3 10-12 16.9-22.4 17.1s-19.8-6.2-23.2-16.1L192 336.6l-33.3 95.3c-3.4 9.8-12.8 16.3-23.2 16.1s-19.5-7.1-22.4-17.1l-48-160c-3.8-12.7 3.4-26.1 16.1-29.9s26.1 3.4 29.9 16.1z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM136 240h68c42 0 76 34 76 76s-34 76-76 76H160v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V368 264c0-13.3 10.7-24 24-24zm68 104c15.5 0 28-12.5 28-28s-12.5-28-28-28H160v56h44z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'fas',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M384 480c0 11.7 3.1 22.6 8.6 32H392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L490.7 166.3C447.2 181.7 416 223.2 416 272v24.6c-19.1 11.1-32 31.7-32 55.4V480zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'fas',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faChildren = {\n prefix: 'fas',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 0a64 64 0 1 1 0 128A64 64 0 1 1 160 0zM88 480V400H70.2c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.6-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1H232v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H152v80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM480 0a64 64 0 1 1 0 128A64 64 0 1 1 480 0zm-8 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.5L395.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9h12.3c33 0 63.7 16.9 81.2 44.9L619.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L552 300.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H472z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M96 32C60.7 32 32 60.7 32 96V384H96V96l384 0V384h64V96c0-35.3-28.7-64-64-64H96zM224 384v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'fas',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512H528L284.3 320h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'fas',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM413.6 421.9L41.2 128.5C17.9 131.8 0 151.8 0 176V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faMattressPillow = {\n prefix: 'fas',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M256 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H256V64zm32 384H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H288V448zM64 160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faGuaraniSign = {\n prefix: 'fas',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-17.7 0-32 14.3-32 32V66.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c90.8-15.2 160-94.2 160-189.3c0-17.7-14.3-32-32-32H224V132c22.1 5.7 41.8 17.1 57.6 32.6c12.6 12.4 32.9 12.2 45.3-.4s12.2-32.9-.5-45.3C299 92 263.5 73.3 224 66.7V32c0-17.7-14.3-32-32-32zM160 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124zM224 380V288h92c-11.6 45-47 80.4-92 92z\"]\n};\nvar faArrowsRotate = {\n prefix: 'fas',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H176c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H224v34.8c37.8 18 64 56.5 64 101.2V384H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V56h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V416H288zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'fas',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M96 256c0-88.4 71.6-160 160-160c41 0 78.3 15.4 106.7 40.7c13.2 11.8 33.4 10.7 45.2-2.5s10.7-33.4-2.5-45.2c-39.6-35.5-92-57-149.3-57C132.3 32 32 132.3 32 256s100.3 224 224 224c57.4 0 109.7-21.6 149.3-57c13.2-11.8 14.3-32 2.5-45.2s-32-14.3-45.2-2.5C334.3 400.6 297 416 256 416V320v-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32v55.3V320v82.7C135.5 378 96 321.6 96 256z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M52.1 93.7C35.7 87.1 27.7 68.5 34.3 52.1s25.2-24.4 41.6-17.8l320 128C408 167.1 416 178.9 416 192s-8 24.9-20.1 29.7l-320 128c-16.4 6.6-35-1.4-41.6-17.8s1.4-35 17.8-41.6L297.8 192 52.1 93.7zM416 416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416z\"]\n};\nvar faShieldHalved = {\n prefix: 'fas',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faBookAtlas = {\n prefix: 'fas',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM247.4 283.8c-3.7 3.7-6.2 4.2-7.4 4.2s-3.7-.5-7.4-4.2c-3.8-3.7-8-10-11.8-18.9c-6.2-14.5-10.8-34.3-12.2-56.9h63c-1.5 22.6-6 42.4-12.2 56.9c-3.8 8.9-8 15.2-11.8 18.9zm42.7-9.9c7.3-18.3 12-41.1 13.4-65.9h31.1c-4.7 27.9-21.4 51.7-44.5 65.9zm0-163.8c23.2 14.2 39.9 38 44.5 65.9H303.5c-1.4-24.7-6.1-47.5-13.4-65.9zM368 192a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM145.3 208h31.1c1.4 24.7 6.1 47.5 13.4 65.9c-23.2-14.2-39.9-38-44.5-65.9zm31.1-32H145.3c4.7-27.9 21.4-51.7 44.5-65.9c-7.3 18.3-12 41.1-13.4 65.9zm56.1-75.8c3.7-3.7 6.2-4.2 7.4-4.2s3.7 .5 7.4 4.2c3.8 3.7 8 10 11.8 18.9c6.2 14.5 10.8 34.3 12.2 56.9h-63c1.5-22.6 6-42.4 12.2-56.9c3.8-8.9 8-15.2 11.8-18.9z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'fas',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176V384c0 35.3 28.7 64 64 64H360.2C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\"]\n};\nvar faArrowsToDot = {\n prefix: 'fas',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M256 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H288v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H192c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224H64V192c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H96h64V352c0-53 43-96 96-96s96 43 96 96V480h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32V416z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'fas',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'fas',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'fas',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8h14.8c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'fas',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM256 210.7L109.3 64H402.7L256 210.7z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M64 160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128V272c0-38.7-27.5-71-64-78.4V160zM544 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48V448c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3v48 32h32H512h32V320 272z\"]\n};\nvar faCediSign = {\n prefix: 'fas',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7C101.2 81.9 32 160.9 32 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c30.9-5.2 59.2-17.7 83.2-35.8c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-13.2 9.9-28.3 17.3-44.8 21.6V132c16.4 4.2 31.6 11.6 44.8 21.6c14.1 10.6 34.2 7.8 44.8-6.4s7.8-34.2-6.4-44.8c-24-18-52.4-30.6-83.2-35.8V32zM192 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM228 72c0-11-9-20-20-20s-20 9-20 20V86c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V280c0 11 9 20 20 20s20-9 20-20V266.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V72z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8H480l32 0c40.3 0 78.2 19 102.4 51.2l19.2 25.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4l-19.2-25.6c-5.3-7-11.8-12.8-19.2-17V320H192l-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3h-2C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM448 352h96v64 64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416H288v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416 352h96H448zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"]\n};\nvar faZ = {\n prefix: 'fas',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 64C0 46.3 14.3 32 32 32H352c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faPersonSkiing = {\n prefix: 'fas',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L232.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L151.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faRoadLock = {\n prefix: 'fas',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64h32V352c0-23.7 12.9-44.4 32-55.4V272c0-58.3 44.6-106.2 101.5-111.5L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zm176 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faA = {\n prefix: 'fas',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M221.5 51.7C216.6 39.8 204.9 32 192 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L93.3 384H290.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM264 320H120l72-172.8L264 320z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'fas',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zm336-64H480V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352H384c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faFeatherPointed = {\n prefix: 'fas',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faP = {\n prefix: 'fas',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M0 96C0 60.7 28.7 32 64 32h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V320 96zM64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M96 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRectangleAd = {\n prefix: 'fas',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faCircleArrowRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239c9.4 9.4 9.4 24.6 0 33.9L281 385z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faFilterCircleXmark = {\n prefix: 'fas',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faLocust = {\n prefix: 'fas',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c98.7 0 180.6 71.4 197 165.4c-9-3.5-18.8-5.4-29-5.4H431.8l-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L215.1 400h74.5l-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L348 400h80.4l38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L483.6 400H496c44.1 0 79.8-35.7 80-79.7c0-.1 0-.2 0-.3V280C576 143 465 32 328 32H312zm50.5 168l17.1 40H333l29.5-40zm-87.7 38.1l-1.4 1.9H225.1l32.7-41.5 16.9 39.5zM88.8 240C57.4 240 32 265.4 32 296.8c0 15.5 6.3 30 16.9 40.4L126.7 240H88.8zM496 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faPersonDressBurst = {\n prefix: 'fas',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM390.2 384H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'fas',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164 152v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M368 80h32v32H368V80zM352 32c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM96 160c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400H80v32H48V400zm320 32V400h32v32H368zM48 112V80H80v32H48z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M256 32C192 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'fas',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M498 339.7c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-22.9-89.3c-10-39 11.8-80.9 51.8-92.1c37.2-10.4 73.8 10.1 87.5 44c12.7-1.6 25.1 .4 36.2 5zM296 332c0 6.9-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C258.7 443.1 241.4 448 224 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.6-.4-.3-.2-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm194.8 57.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74V320c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V428.7c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h8.9c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v96H128V192c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V288h96v96H192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H288V288h96v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H288V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faHouseChimneyUser = {\n prefix: 'fas',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM288 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 400c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8v0c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48H279.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320v0c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256v0C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48H168.8c12.8 0 23.2-10.4 23.2-23.2v0z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'fas',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", \"M320 376.4l.1-.1 26.4 14.1 85.2 45.5-16.5-97.6-4.8-28.7 20.7-20.5 70.1-69.3-96.1-14.2-29.3-4.3-12.9-26.6L320.1 86.9l-.1 .3V376.4zm175.1 98.3c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L320.1 439.8 191.8 508.3C181 514 167.9 513.1 158 506s-14.9-19.3-12.9-31.3L169.8 329 65.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L227 150.3 291.4 18c5.4-11 16.5-18 28.8-18s23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L470.5 329l24.6 145.7z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'fas',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM87.7 224L69 96H443L424.3 224H87.7z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faBuildingCircleExclamation = {\n prefix: 'fas',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faMagnifyingGlassChart = {\n prefix: 'fas',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'fas',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M192 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288zm64 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M62.4 53.9C56.8 37.1 38.6 28.1 21.9 33.6S-3.9 57.4 1.6 74.1L51.6 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H72.9l56.7 170.1c4.5 13.5 17.4 22.4 31.6 21.9s26.4-10.4 29.8-24.2L233 288h46L321 455.8c3.4 13.8 15.6 23.7 29.8 24.2s27.1-8.4 31.6-21.9L439.1 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l50-149.9c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L392.9 224H329L287 56.2C283.5 42 270.7 32 256 32s-27.5 10-31 24.2L183 224h-64L62.4 53.9zm78 234.1H167l-11.4 45.6L140.4 288zM249 224l7-28.1 7 28.1H249zm96 64h26.6l-15.2 45.6L345 288z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faVirusCovid = {\n prefix: 'fas',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M192 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V81.6c30.7 4.2 58.8 16.3 82.3 34.1L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9l-23.8 23.8c17.9 23.5 29.9 51.7 34.1 82.3H464V216c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H430.4c-4.2 30.7-16.3 58.8-34.1 82.3L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420l-23.8-23.8c-23.5 17.9-51.7 29.9-82.3 34.1V464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V430.4c-30.7-4.2-58.8-16.3-82.3-34.1L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1l23.8-23.8C97.9 338.8 85.8 310.7 81.6 280H48v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v16H81.6c4.2-30.7 16.3-58.8 34.1-82.3L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92l23.8 23.8c23.5-17.9 51.7-29.9 82.3-34.1V48H216c-13.3 0-24-10.7-24-24zm48 200a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAustralSign = {\n prefix: 'fas',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7L122.7 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96L82.7 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H56L34.5 435.7c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384H322.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8L392 384h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H365.3L352 288h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H325.3L253.5 51.7zM256 224H192l32-76.8L256 224zm-90.7 64H282.7L296 320H152l13.3-32z\"]\n};\nvar faF = {\n prefix: 'fas',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M64 32C28.7 32 0 60.7 0 96V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 216s0 0 0 0c-16.6 0-32.7 1.9-48.2 5.4c-25.9 5.9-50 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M256 32H181.2c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480H256V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64H521.4c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32H320V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288V432v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V432H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V432 288c0-26.7-16.4-49.6-39.6-59.2L437.2 128.3c-12.9-36.8-46.6-62-85.2-64.1c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 128H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 224H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'fas',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'fas',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faSackXmark = {\n prefix: 'fas',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 336l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM155.7 250.2L192 302.1l36.3-51.9c7.6-10.9 22.6-13.5 33.4-5.9s13.5 22.6 5.9 33.4L221.3 344l46.4 66.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L192 385.8l-36.3 51.9c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L162.7 344l-46.4-66.2c-7.6-10.9-5-25.8 5.9-33.4s25.8-5 33.4 5.9z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z\"]\n};\nvar faFishFins = {\n prefix: 'fas',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.7 4.9S-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.7 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4zM384 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBuildingFlag = {\n prefix: 'fas',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32V512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480c0-17.7-14.3-32-32-32z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'fas',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H328.6C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V232.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4V232.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V352h64v40.6c9.7 5.6 17.8 13.7 23.4 23.4H520.6c5.6-9.7 13.7-17.8 23.4-23.4V279.4c-9.7-5.6-17.8-13.7-23.4-23.4h-46c-5.4-15.4-14.6-28.9-26.5-39.6V192h72.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H311.4z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M254.4 6.6c3.5-4.3 9-6.5 14.5-5.7C315.8 7.2 352 47.4 352 96c0 11.2-1.9 22-5.5 32H352c35.3 0 64 28.7 64 64c0 19.1-8.4 36.3-21.7 48H408c39.8 0 72 32.2 72 72c0 23.2-11 43.8-28 57c34.1 5.7 60 35.3 60 71c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72c0-35.7 25.9-65.3 60-71c-17-13.2-28-33.8-28-57c0-39.8 32.2-72 72-72h13.7C104.4 228.3 96 211.1 96 192c0-35.3 28.7-64 64-64h16.2c44.1-.1 79.8-35.9 79.8-80c0-9.2-1.5-17.9-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.4z\"]\n};\nvar faLocationPin = {\n prefix: 'fas',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112v16 0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2V128 112C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8v46.5l-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8V400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400V262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2V182.8l273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0H444.2zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM144 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'fas',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M256 32c-17.7 0-32 14.3-32 32v2.3 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288v64H544l0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1V66.3 64c0-17.7-14.3-32-32-32H256zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6H16.6z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faCircleRight = {\n prefix: 'fas',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L294.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C266 384 256 374 256 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'fas',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'fas',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-144c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C208.5 175.6 224 198 224 224zm128 64c-35.3 0-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C400.5 175.6 416 198 416 224c0 35.3-28.7 64-64 64z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H456.6C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM456.6 96H119.4c-5.6 9.7-13.7 17.8-23.4 23.4V392.6c9.7 5.6 17.8 13.7 23.4 23.4H456.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLineChart = faChartLine;\nvar faMaskVentilator = {\n prefix: 'fas',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M159.1 176C139.4 219.2 128 264.7 128 300.8c0 15.9 2.2 31.4 6.3 46l-31.8-7.9C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H159.1zm26-48H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8c22.7 30.5 55.4 54.1 93.8 66.6V393.3c-19.7-16.4-32-40.3-32-66.9c0-49.5 43-134.4 96-134.4c52.5 0 96 84.9 96 134.4c0 26.7-12.4 50.4-32 66.8v76.6c38-12.6 70.6-36 93.5-66.4l71.6-17.9C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H454.5C419.7 73.8 372.1 32 320 32c-52.6 0-100.2 41.8-134.9 96zm295.6 48H584c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-31.8 8c4.2-14.7 6.4-30.1 6.4-46.1c0-36.1-11.6-81.6-31.3-124.8zM288 320V512h64V320c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"]\n};\nvar faSignsPost = {\n prefix: 'fas',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87c-31.6 0-58.5 23.1-63.3 54.4L1.1 364.1C.4 368.8 0 373.6 0 378.4V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V378.4c0-4.8-.4-9.6-1.1-14.4L488.2 214.4C483.5 183.1 456.6 160 425 160H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 432c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm48-168a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm120-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM160 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM256 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM424 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM352 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'fas',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faH = {\n prefix: 'fas',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\"]\n};\nvar faTarp = {\n prefix: 'fas',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M576 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l352 0 0-128c0-17.7 14.3-32 32-32H576V128zM448 448L576 320H448l0 128zM96 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'fas',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'fas',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M15 15C24.4 5.7 39.6 5.7 49 15l63 63V40c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H78.1L15 49C5.7 39.6 5.7 24.4 15 15zM133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM591 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63 63H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V40c0-13.3 10.7-24 24-24s24 10.7 24 24V78.1l63-63zM15 497c-9.4-9.4-9.4-24.6 0-33.9l63-63H40c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V433.9L49 497c-9.4 9.4-24.6 9.4-33.9 0zm576 0l-63-63V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H561.9l63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faPlugCircleBolt = {\n prefix: 'fas',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'fas',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0H472c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H208c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C155.1 370.7 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48l0 0h0v0zM256 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM352 224a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1c1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304V160zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2c-.1-.7-.3-1.4-.5-2.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l12.8 64.2c9.6 1 19 4.9 26.6 11.8c11.7 10.6 23 21.6 33.9 33.1c1.6-1.6 3.3-3.2 5-4.8zM325.2 210.7c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 407.9 390.3 480 480 480c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faHouseCrack = {\n prefix: 'fas',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H230.4l-31.3-52.2c-4.1-6.8-2.6-15.5 3.5-20.5L288 368l-60.2-82.8c-10.9-15 8.2-33.5 22.8-22l117.9 92.6c8 6.3 8.2 18.4 .4 24.9L288 448l38.4 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32z\"]\n};\nvar faMartiniGlassCitrus = {\n prefix: 'fas',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H296.2C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8C5.5 133.8 14.3 128 24 128H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-177 177V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H208 120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faFaceSurprise = {\n prefix: 'fas',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'fas',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M120 0h80c13.3 0 24 10.7 24 24V64H96V24c0-13.3 10.7-24 24-24zM32 151.7c0-15.6 9-29.8 23.2-36.5l24.4-11.4c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l24.4 11.4c14.1 6.6 23.2 20.8 23.2 36.5c0 14.4-7.5 27-18.9 34.1c11.5 8.8 18.9 22.6 18.9 38.2c0 16.7-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48c0-16.7 8.5-31.4 21.5-40C40.5 415.4 32 400.7 32 384s8.5-31.4 21.5-40C40.5 335.4 32 320.7 32 304s8.5-31.4 21.5-40C40.5 255.4 32 240.7 32 224c0-15.6 7.4-29.4 18.9-38.2C39.5 178.7 32 166.1 32 151.7zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faCirclePause = {\n prefix: 'fas',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM224 192V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-109.7-86C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l-59-46.2c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM367.3 385.4L66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]\n};\nvar faAppleWhole = {\n prefix: 'fas',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H224zM0 288c0-76.3 35.7-160 112-160c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c76.3 0 112 83.7 112 160c0 128-80 224-160 224c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'fas',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm44.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112h71.8c8.8-9.8 21.6-16 35.8-16H496c26.5 0 48 21.5 48 48s-21.5 48-48 48H392c-14.2 0-27-6.2-35.8-16H284.4zM144 80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c13.3 0 24 10.7 24 24v8h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h96v-8c0-13.3 10.7-24 24-24zM288 464V352H512V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48zM48 320h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32h16zM24 464H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faR = {\n prefix: 'fas',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M64 32C28.7 32 0 60.7 0 96V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h95.3L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144H64zM176 256H64V96H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'fas',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6V377.4c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1v-188L288 246.6v188z\"]\n};\nvar faBitcoinSign = {\n prefix: 'fas',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32V64h32V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H41.7C18.7 448 0 429.3 0 406.3V288 265.7 224 101.6C0 80.8 16.8 64 37.6 64H48V32zM64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zm112 64H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"]\n};\nvar faShieldDog = {\n prefix: 'fas',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160.9 286.2c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64V160h44.2c12.1 0 23.2 6.8 28.6 17.7L320 192h64c8.8 0 16 7.2 16 16v32c0 44.2-35.8 80-80 80H272v50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8l15-30zM160 160h40 8v32 32c0 17.7-14.3 32-32 32s-32-14.3-32-32V176c0-8.8 7.2-16 16-16zm128 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384H288v64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H569c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0H122.2zM260.9 64H379.1l10.4 104h-139L260.9 64zM202.3 168H101.4L122.2 64h90.4L202.3 168zM91.8 216H197.5L187.1 320H71L91.8 216zm153.9 0H394.3l10.4 104-169.4 0 10.4-104zm196.8 0H548.2L569 320h-116L442.5 216zm96-48H437.7L427.3 64h90.4l31.4-6.3L517.8 64l20.8 104z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32V144C576 64.5 511.5 0 432 0S288 64.5 288 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V144z\"]\n};\nvar faElevator = {\n prefix: 'fas',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H208c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm96 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM356.7 91.3c6.2 6.2 16.4 6.2 22.6 0l64-64c4.6-4.6 5.9-11.5 3.5-17.4S438.5 0 432 0H304c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l64 64z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'fas',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L384 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l174.1 0L535 41zM105 377l-23 23L256 400c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 448l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM96 64H337.9c-3.7 7.2-5.9 15.3-5.9 24c0 28.7 23.3 52 52 52l117.4 0c-4 17 .6 35.5 13.8 48.8c20.3 20.3 53.2 20.3 73.5 0L608 169.5V384c0 35.3-28.7 64-64 64H302.1c3.7-7.2 5.9-15.3 5.9-24c0-28.7-23.3-52-52-52l-117.4 0c4-17-.6-35.5-13.8-48.8c-20.3-20.3-53.2-20.3-73.5 0L32 342.5V128c0-35.3 28.7-64 64-64zm64 64H96v64c35.3 0 64-28.7 64-64zM544 320c-35.3 0-64 28.7-64 64h64V320zM320 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'fas',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2l0 .1v0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L310.6 214.6c-11.8 11.8-30.8 12.6-43.5 1.7L176 138.1 84.8 216.3c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l112-96c12-10.3 29.7-10.3 41.7 0l89.5 76.7L370.7 64H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0c8.8 0 16.8 3.6 22.6 9.3l.1 .1zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'fas',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M288 144A144 144 0 1 0 0 144a144 144 0 1 0 288 0zM140.7 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6zM320 144c0 57.3-27.4 108.2-69.8 140.3c11.8-3.6 23-9.4 33-16.2c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c2.1 1.7 4.2 3.3 6.5 4.9l-.3-84.4H576c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128C407.6-2 392.4-2 381.2 6.1L301 64.4c12.1 23.9 19 50.9 19 79.6zm18.5 165.9c-11.1-7.9-25.9-7.9-37 0C279 325.4 251.5 336 224 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 389.7 191 400 224 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C471.4 325.2 442.9 336 416 336c-27.5 0-55-10.6-77.5-26.1zm0 112c-11.1-7.9-25.9-7.9-37 0C279 437.4 251.5 448 224 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 501.7 191 512 224 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C471.4 437.2 442.9 448 416 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'fas',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faBackwardFast = {\n prefix: 'fas',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7V416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V214.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96V214.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2v32l96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M370.7 96.1C346.1 39.5 289.7 0 224 0S101.9 39.5 77.3 96.1C60.9 97.5 48 111.2 48 128v64c0 16.8 12.9 30.5 29.3 31.9C101.9 280.5 158.3 320 224 320s122.1-39.5 146.7-96.1c16.4-1.4 29.3-15.1 29.3-31.9V128c0-16.8-12.9-30.5-29.3-31.9zM336 144v16c0 53-43 96-96 96H208c-53 0-96-43-96-96V144c0-26.5 21.5-48 48-48H288c26.5 0 48 21.5 48 48zM189.3 162.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM112.7 316.5C46.7 342.6 0 407 0 482.3C0 498.7 13.3 512 29.7 512H128V448c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64l98.3 0c16.4 0 29.7-13.3 29.7-29.7c0-75.3-46.7-139.7-112.7-165.8C303.9 338.8 265.5 352 224 352s-79.9-13.2-111.3-35.5zM176 448c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zm96 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M514.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64H440.6L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L238.1 161.3 197.8 20.4C194.9 10.2 202.6 0 213.2 0h56.2c11.5 0 22.1 6.2 27.8 16.1L397.7 192l116.6 0zM41.5 128.7l321 252.9L297.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H144l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H46c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L64 256 32.5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-6.2 4-11.4 9.5-13.3z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M345.6 108.8c-8.3-11-22.7-15.5-35.7-11.2S288 114.2 288 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224l86.4 115.2c6 8.1 15.5 12.8 25.6 12.8s19.6-4.7 25.6-12.8L576 224V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-13.8-8.8-26-21.9-30.4s-27.5 .1-35.7 11.2L464 266.7 345.6 108.8zM0 128c0 17.7 14.3 32 32 32H96V384c0 17.7 14.3 32 32 32s32-14.3 32-32V160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128z\"]\n};\nvar faBasketball = {\n prefix: 'fas',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4C158.6 15 119 35.5 86.6 64zM64 86.6C35.5 119 15 158.6 5.6 202.3C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6zM256 0c-7.3 0-14.6 .3-21.8 .9C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64C380.2 24.2 320.9 0 256 0zM48 240c-16.2 0-32-2-47.1-5.8C.3 241.4 0 248.7 0 256c0 64.9 24.2 124.2 64 169.4L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240zm463.1 37.8c.6-7.2 .9-14.5 .9-21.8c0-64.9-24.2-124.2-64-169.4L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8zm-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c28.5-32.3 49.1-71.9 58.4-115.7zM340.1 362.7C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4C353.4 497 393 476.5 425.4 448l-85.2-85.2zM317.4 340L256 278.6 86.6 448c45.1 39.8 104.4 64 169.4 64c7.3 0 14.6-.3 21.8-.9C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 32c0-17.7 14.3-32 32-32C383.1 0 512 128.9 512 288c0 17.7-14.3 32-32 32s-32-14.3-32-32C448 164.3 347.7 64 224 64c-17.7 0-32-14.3-32-32zM60.6 220.6L164.7 324.7l28.4-28.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1l-28.4 28.4L291.4 451.4c14.5 14.5 11.8 38.8-7.3 46.3C260.5 506.9 234.9 512 208 512C93.1 512 0 418.9 0 304c0-26.9 5.1-52.5 14.4-76.1c7.5-19 31.8-21.8 46.3-7.3zM224 96c106 0 192 86 192 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7-57.3-128-128-128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCircleUp = {\n prefix: 'fas',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H304v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V256H150.3C138 256 128 246 128 233.7c0-6.2 2.6-12.1 7.1-16.3z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faMobileScreenButton = {\n prefix: 'fas',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM224 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM304 64H80V384H304V64z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faVolumeHigh = {\n prefix: 'fas',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'fas',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM212.1 336c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-.5-1.4-1-2.7-1.6-4c-9.4-22.3-29.8-38.9-54.3-43c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-.8 .1-1.7 .3-2.5 .5c-24.9 5.1-45.1 23-53.4 46.5zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376H80c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h33.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.6z\"]\n};\nvar faBurger = {\n prefix: 'fas',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM16 304c0-26.5 21.5-48 48-48H448c26.5 0 48 21.5 48 48s-21.5 48-48 48H64c-26.5 0-48-21.5-48-48zm16 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400z\"]\n};\nvar faHamburger = faBurger;\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBugs = {\n prefix: 'fas',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256.5 16.4c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8l1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9l0 0c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s24.9-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1l0 0c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.6-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17l-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.5-13.4-6.6-28-4.4-43.2c8.4-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5c-14.6-2.7-25.8-.4-32.6 3.2c-6.3 3.3-8.9 7.6-9.5 12z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm152 32c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H216 176 128 80c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l48-80c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l12.8 21.4 48.3-70.2c3-4.3 7.9-6.9 13.2-6.9z\"]\n};\nvar faCircleQuestion = {\n prefix: 'fas',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2H248.4c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48H542.8c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM413.6 421.9L128 196.8V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM96 171.6L40.6 128H16c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V171.6zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBookBookmark = {\n prefix: 'fas',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 96C0 43 43 0 96 0h96V190.7c0 13.4 15.5 20.9 26 12.5L272 160l54 43.2c10.5 8.4 26 .9 26-12.5V0h32 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.3 0 84.4 152.2 97.9 221.9C447.8 272.1 390.9 288 320 288s-127.8-15.9-169.9-34.1C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nvar faBridge = {\n prefix: 'fas',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H72v64H0V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96s96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96V160H504V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM456 96v64H376V96h80zM328 96v64H248V96h80zM200 96v64H120V96h80z\"]\n};\nvar faPhoneFlip = {\n prefix: 'fas',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faTruckFront = {\n prefix: 'fas',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M0 80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V368c0 26.2-12.6 49.4-32 64v48c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V432C12.6 417.4 0 394.2 0 368V80zm129.9 72.2L112 224H400l-17.9-71.8C378.5 138 365.7 128 351 128H161c-14.7 0-27.5 10-31 24.2zM128 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M320 192h17.1c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4v4 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5v0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32h0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128v0V32 12 10.7C352 4.8 356.7 .1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2l0 .1L384 21.3l27.2 36.3L416 64h64l4.8-6.4L512 21.3 524.8 4.3l0-.1c2-2.6 5.1-4.2 8.4-4.2h.2C539.3 .1 544 4.8 544 10.7V12 32v96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'fas',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faTruckField = {\n prefix: 'fas',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M32 96c0-35.3 28.7-64 64-64H320c23.7 0 44.4 12.9 55.4 32h51.8c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2H544c35.3 0 64 28.7 64 64v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V288c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V96zM384 224h85.9l-42.7-96H384v96zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96 43 96 96s-43 96-96 96H139.6c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-53 0-96-43-96-96s43-96 96-96h39.8c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'fas',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM105.8 229.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 328.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V314.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPanorama = {\n prefix: 'fas',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm272 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272H176c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M96 32C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96zM224 96c26.5 0 48 21.5 48 48v56c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V144c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V144zM96 128c26.5 0 48 21.5 48 48v24c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V176c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48v24c0 13.3-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V176zM96 480H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'fas',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5V80C0 53.5 21.5 32 48 32H197.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M32.1 29.3C33.5 12.8 47.4 0 64 0H256c16.6 0 30.5 12.8 31.9 29.3l14 168.4c6 72-42.5 135.2-109.9 150.6V448h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H160 80c-17.7 0-32-14.3-32-32s14.3-32 32-32h48V348.4C60.6 333 12.1 269.8 18.1 197.8l14-168.4zm56 98.7H231.9l-5.3-64H93.4l-5.3 64z\"]\n};\nvar faForwardFast = {\n prefix: 'fas',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V214.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96V214.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'fas',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faSquareParking = {\n prefix: 'fas',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 256h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64zm48 64H192v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faHouseSignal = {\n prefix: 'fas',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6H464c26.5 0 48-21.5 48-48V256h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V208zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBarsProgress = {\n prefix: 'fas',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M448 160H320V128H448v32zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM448 352v32H192V352H448zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'fas',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M224 0c17.7 0 32 14.3 32 32V44l96-12c17.7 0 32 14.3 32 32s-14.3 32-32 32L256 84l-31-3.9-1-.1-1 .1L192 84 96 96C78.3 96 64 81.7 64 64s14.3-32 32-32l96 12V32c0-17.7 14.3-32 32-32zM0 224c0-17.7 14.3-32 32-32h96l22.6-22.6c6-6 14.1-9.4 22.6-9.4H192V116.2l32-4 32 4V160h18.7c8.5 0 16.6 3.4 22.6 9.4L320 192h32c88.4 0 160 71.6 160 160c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32s-14.3-32-32-32H315.9c-20.2 29-53.9 48-91.9 48s-71.7-19-91.9-48H32c-17.7 0-32-14.3-32-32V224zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]\n};\nvar faCartFlatbed = {\n prefix: 'fas',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80h18.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM192 80V272c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H464V176c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L400 163.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V32H240c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'fas',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M99.5 144.8L178.7 224l96 96 92.5 92.5C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2zM333.3 288l-32-32H384v32H333.3zm32 32H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H269.3L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L365.3 320zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM229.5 320l-96-96H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H229.5z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faMobileButton = {\n prefix: 'fas',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zM192 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'fas',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M480 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H512V512H448V192 32c0-17.7 14.3-32 32-32zM276.8 39.7L416 159V512h1l-.2 0H96c-17.7 0-32-14.3-32-32V288H32c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBasketShopping = {\n prefix: 'fas',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32L83.9 463.5C91 492 116.6 512 146 512H430c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.4L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192H171.7L253.3 35.1zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBusSimple = {\n prefix: 'fas',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M224 0C348.8 0 448 35.2 448 80V96 416c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32V96 80C0 35.2 99.2 0 224 0zM64 128V256c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"]\n};\nvar faFaceSadCry = {\n prefix: 'fas',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V477.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V493.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336v32c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'fas',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5c-8.6 1-15 8.2-15 16.8c0 9.3 7.5 16.8 16.7 16.9H184.1c8.8-.1 15.9-7.2 15.9-16V16c0-9.5-8.3-17-17.8-15.9L71 12.5zM189.5 78.1H66.5C64.9 83.8 64 89.8 64 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-6.2-.9-12.2-2.5-17.9zM32 256v32c0 17.7 14.3 32 32 32H192c1.8 0 3.5-.1 5.2-.4L53 208.6C40.1 220.3 32 237.2 32 256zm190.2 42.5c1.1-3.3 1.8-6.8 1.8-10.5V256c0-35.3-28.7-64-64-64H96c-3.7 0-7.4 .3-10.9 .9L222.2 298.5zM384 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H352zM215.8 450.1c5.2-4.6 8.2-11.1 8.2-18.1s-3-13.5-8.2-18.1l-64-56c-7.1-6.2-17.1-7.7-25.7-3.8S112 366.6 112 376v32l-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0v32c0 9.4 5.5 18 14.1 21.9s18.6 2.4 25.7-3.8l64-56zM288 431.9c0 6.9 2.9 13.5 8.1 18.1l64 56.4c7.1 6.2 17.1 7.8 25.7 3.9s14.1-12.4 14.1-21.9l0-32.4 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-32c0-9.4-5.5-18-14.1-21.9s-18.6-2.4-25.7 3.8l-64 56c-5.2 4.5-8.2 11.1-8.2 18z\"]\n};\nvar faFileShield = {\n prefix: 'fas',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v47l-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1l-261-205.6z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z\"]\n};\nvar faTowerObservation = {\n prefix: 'fas',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M241.7 3.4c9-4.5 19.6-4.5 28.6 0l160 80c15.8 7.9 22.2 27.1 14.3 42.9C439 137.5 427.7 144 416 144v80c0 17.7-14.3 32-32 32h-4.9l32 192H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H384.5c-.4 0-.8 0-1.1 0H128.6c-.4 0-.8 0-1.1 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l32-192H128c-17.7 0-32-14.3-32-32V144c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l160-80zM314.5 448L256 399.2 197.5 448h117zM197.8 256l-4.7 28.3L256 336.8l62.9-52.5L314.2 256H197.8zm-13.9 83.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'fas',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHouseChimney = {\n prefix: 'fas',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFaceFrown = {\n prefix: 'fas',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M32 0C14.3 0 0 14.3 0 32V192v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224h50.7l128 128L137.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 397.3 393.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L333.3 352 438.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 306.7l-85.8-85.8C251.4 209.1 288 164.8 288 112C288 50.1 237.9 0 176 0H32zM176 160H64V64H176c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faShop = {\n prefix: 'fas',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M36.8 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 224H320V384H128V224H64zm448 0V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224H512z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'fas',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24H576v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V176 128h-7.5c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22zM416 128H320 224v64h72 48 72V128zM160 288v64H296h24 24H480V288H344 320h0H296 160z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'fas',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M522.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S518.6-3.9 501.9 1.6l-113 37.7C375 15.8 349.3 0 320 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L117.9 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2V480c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V153.3c21-9.2 37.2-27 44.2-49l125.9-42zM439.6 288L512 163.8 584.4 288H439.6zM512 384c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 273.1c-5.7 9.8-9.3 21.1-6.7 32.1C396.8 350 449.1 384 512 384zM129.2 291.8L201.6 416H56.7l72.4-124.2zM3.2 433.1C14 478 66.3 512 129.2 512s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L153.2 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L9.9 401.1c-5.7 9.8-9.3 21.1-6.7 32.1z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'fas',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56v13c-29.3 10-48 34.5-48 70.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V120C464 53.7 410.3 0 344 0S224 53.7 224 120v21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120v13c-29.3 10-48 34.5-48 70.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V248c0-30.9 25.1-56 56-56s56 25.1 56 56v32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V280 248 120z\"]\n};\nvar faDiamond = {\n prefix: 'fas',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nvar faFaceGrinSquint = {\n prefix: 'fas',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faHandHoldingDollar = {\n prefix: 'fas',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7l0 0-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM92.1 363.3l0 0L144 368l-51.9-4.7zM112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM240 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40V188.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v48 16 48c0 70.7-57.3 128-128 128l-16 0H240l-.1 0h-5.2c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32c159.1 0 288 48 288 128V352c0 80-128.9 128-288 128S0 432 0 352V160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9l0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\"]\n};\nvar faHandsPraying = {\n prefix: 'fas',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M351.2 4.8c3.2-2 6.6-3.3 10-4.1c4.7-1 9.6-.9 14.1 .1c7.7 1.8 14.8 6.5 19.4 13.6L514.6 194.2c8.8 13.1 13.4 28.6 13.4 44.4v73.5c0 6.9 4.4 13 10.9 15.2l79.2 26.4C631.2 358 640 370.2 640 384v96c0 9.9-4.6 19.3-12.5 25.4s-18.1 8.1-27.7 5.5L431 465.9c-56-14.9-95-65.7-95-123.7V224c0-17.7 14.3-32 32-32s32 14.3 32 32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V219.1c0-7-1.8-13.8-5.3-19.8L340.3 48.1c-1.7-3-2.9-6.1-3.6-9.3c-1-4.7-1-9.6 .1-14.1c1.9-8 6.8-15.2 14.3-19.9zm-62.4 0c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8V304c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32V342.3c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 490 0 480V384c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2V238.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1c3.5 .8 6.9 2.1 10 4.1z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faArrowRotateRight = {\n prefix: 'fas',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z\"]\n};\nvar faLocationCrosshairs = {\n prefix: 'fas',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c17.7 0 32 14.3 32 32V66.7C368.4 80.1 431.9 143.6 445.3 224H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H445.3C431.9 368.4 368.4 431.9 288 445.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C143.6 431.9 80.1 368.4 66.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312zm88 48h0v0l0 0zM64 304a112 112 0 1 1 224 0A112 112 0 1 1 64 304zM368 480c97.2 0 176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L599 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H504c-9.7 0-18.5 5.8-22.2 14.8c-1.2 2.9-1.8 6-1.8 9l0 .2v.2c0 6.2 2.5 12.2 7 16.8l33.4 33.4L480 146.7V168c0 22.6-13.6 43.1-34.6 51.7c-.8 .3-1.7 .7-2.5 1C465.7 241.2 480 270.9 480 304c0 61.9-50.1 112-112 112c-5.4 0-10.8-.4-16-1.1c-12.9 20.4-29.1 38.3-48.1 53.1c19.8 7.8 41.4 12 64 12z\"]\n};\nvar faChildDress = {\n prefix: 'fas',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M224 64A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM88 400v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h16v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h17.8c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400H88z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'fas',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M0 24C0 10.7 10.7 0 24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM83.2 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 320c0-35.3 28.7-64 64-64h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H493.6zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1h96c7.4 0 14.7 .8 21.6 2.4zm44-130.4a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM321.6 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M320 0c17.7 0 32 14.3 32 32V156.2c-8.5-7.6-19.7-12.2-32-12.2s-23.5 4.6-32 12.2V32c0-17.7 14.3-32 32-32zM444.5 195.5c-16.4-16.4-41.8-18.5-60.5-6.1V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c18.7-18.7 18.7-49.1 0-67.9c-1.1-1.1-1.4-2-1.5-2.5c-.1-.8-.1-1.8 .4-2.9s1.2-1.9 1.8-2.3c.5-.3 1.3-.8 2.9-.8c26.5 0 48-21.5 48-48s-21.5-48-48-48c-1.6 0-2.4-.4-2.9-.8c-.6-.4-1.3-1.2-1.8-2.3s-.5-2.2-.4-2.9c.1-.6 .4-1.4 1.5-2.5c18.7-18.7 18.7-49.1 0-67.9zM421.8 421.8c-6.2 6.2-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6zM183.3 491.2l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v24.1c-18.6-12.4-44-10.3-60.5 6.1c-18.7 18.7-18.7 49.1 0 67.9c1.1 1.1 1.4 2 1.5 2.5c.1 .8 .1 1.8-.4 2.9s-1.2 1.9-1.8 2.3c-.5 .3-1.3 .8-2.9 .8c-26.5 0-48 21.5-48 48s21.5 48 48 48c1.6 0 2.4 .4 2.9 .8c.6 .4 1.3 1.2 1.8 2.3s.5 2.2 .4 2.9c-.1 .6-.4 1.4-1.5 2.5c-18.7 18.7-18.7 49.1 0 67.9c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'fas',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M548.6 371.4C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c3.6-8.8 6.5-18.4 8.8-27.5c4.6-18.2 7.7-37 9.3-48.2c3.9-26.5-18.8-49.2-45.2-45.4c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-26.5-3.9-49.2 18.8-45.2 45.4c1.6 11.3 4.6 30 9.3 48.2c2.3 9.1 5.2 18.8 8.8 27.5c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3zM107 254.1c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9zm454.5 87.1c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zm-90.1-9.7c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.4 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM281.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\"]\n};\nvar faCalendarXmark = {\n prefix: 'fas',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM337 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'fas',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM224 64c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faUserGear = {\n prefix: 'fas',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faUserCog = faUserGear;\nvar faArrowUp19 = {\n prefix: 'fas',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M450.7 38c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V108.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zM160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M96 64c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 144 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V64zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16zM232 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMosquitoNet = {\n prefix: 'fas',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-21.7 0-40 14.3-45.9 34.1c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"]\n};\nvar faBridgeWater = {\n prefix: 'fas',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M0 96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v35.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6V352.5c-12.9 0-25.8 3.9-36.8 11.7c-18 12.4-40.1 20.3-59.2 20.3h0l0-.5V256c0-53-43-96-96-96s-96 43-96 96V384l0 .5c-19 0-41.2-7.9-59.1-20.3c-11.1-7.8-24-11.7-36.9-11.7V227.6C96 190.2 65.8 160 28.4 160C12.7 160 0 147.3 0 131.6V96zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320H192V480c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3V269.3l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H157.3l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6v55.7l0 .9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V421.3c0-10.4-3.4-20.5-9.6-28.8L112 341.3z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M64 128V96H192l0 128H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256l0-128H384v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H224 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V416H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H128V320c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6v1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416H240.9l11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416H64zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L277.7 319l-10.3-10.3-64-64L193 234.3 373.5 27.1zM170.3 256.9l10.4 10.4 64 64 10.4 10.4-19.2 83.4c-3.9 17.1-16.9 30.7-33.8 35.4L24.4 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L1.7 487.6 51.5 310c4.7-16.9 18.3-29.9 35.4-33.8l83.4-19.2z\"]\n};\nvar faPersonDigging = {\n prefix: 'fas',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H288c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7h32l22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V405.1l-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z\"]\n};\nvar faDigging = faPersonDigging;\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z\"]\n};\nvar faGaugeSimple = {\n prefix: 'fas',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM208 112v48H160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48H104c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72H394.3c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3H339.7c6.8 0 12.3 5.5 12.3 12.3z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-256 0c0 66.3-53.7 120-120 120H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faShirt = {\n prefix: 'fas',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.8 48.6l78.4 29.7L288 109.5 206.8 78.3l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5V204.7c-1.3 .4-2.6 .8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7V413.9c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3V294.7c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-1.3-.5-2.6-.9-3.9-1.3V92.5c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5zM392 210.6l-82.4 31.2V152.6L392 121v89.6zM154.8 250.9l78.4 29.7L152 311.7 70.8 280.6l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4V354.8L256 323.2v95.9l-82.4 36.2zM421.2 250.9c1.8-.7 3.8-.7 5.7 0l78.4 29.7L424 311.7l-81.2-31.1 78.4-29.7zM523.2 421.2l-77.6 34.1V354.8L528 323.2v90.7c0 3.2-1.9 6-4.8 7.3z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M272 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 320a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H400z\"]\n};\nvar faTengeSign = {\n prefix: 'fas',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM0 192c0-17.7 14.3-32 32-32H192 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80V384 336 288C0 146.6 114.6 32 256 32s256 114.6 256 256v48 48 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z\"]\n};\nvar faHandsHolding = {\n prefix: 'fas',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faHandsClapping = {\n prefix: 'fas',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M336 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm-98.7 7.1l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4zM135 119c9.4-9.4 24.6-9.4 33.9 0L292.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L7 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L23 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9zM433.1 484.9c-24.2 14.5-50.9 22.1-77.7 23.1c48.1-39.6 76.6-99 76.6-162.4l0-98.1c8.2-.1 16-6.4 16-16V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4zM424.9 18.7c7.4 4.9 9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48c4.9-7.4 14.8-9.3 22.2-4.4z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M0 192C0 103.6 71.6 32 160 32H384c88.4 0 160 71.6 160 160v64H0V192zm415.9-64c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L466 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-138.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM127.9 128c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L178 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm.1 160H320h96 32 64 32v32 80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80s-80-35.8-80-80V352H448v32 64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384 288H128z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'fas',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M201 10.3c14.3-7.8 31.6-7.8 46 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L201 10.3zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L25 423.1C9.6 414.7 0 398.6 0 381V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V381c0 17.6-9.6 33.7-25 42.1L263.7 510c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V325.2c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128h8c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H120zM320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM464 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440 480V384H422.2c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1H584v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H504v96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faJ = {\n prefix: 'fas',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M288 32c17.7 0 32 14.3 32 32V320c0 88.4-71.6 160-160 160S0 408.4 0 320V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 53 43 96 96 96s96-43 96-96V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'fas',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H32C14.3 0 0 14.3 0 32V136c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM504 48h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V32c0-17.7-14.3-32-32-32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24zM48 464V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V480c0 17.7 14.3 32 32 32H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H48zm456 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H608c17.7 0 32-14.3 32-32V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H504z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V288zM300.9 397.9L256 368V304l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faTableCells = {\n prefix: 'fas',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64H208V96zm240 0v64H360V96h88zM64 224h88v64H64V224zm232 0v64H208V224h88zm64 0h88v64H360V224zM152 352v64H64V352h88zm56 0h88v64H208V352zm240 0v64H360V352h88z\"]\n};\nvar faTh = faTableCells;\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z\"]\n};\nvar faBookBible = {\n prefix: 'fas',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zM208 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272V304c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V192H160c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h48V80z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'fas',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 96a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'fas',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96v32V480H384V128 96 56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H96V96zM416 480h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H416V480zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V336 320c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6V240c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16v32 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V204.3c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1h0c0 123.7-100.3 224-224 224h-1.1H256h-.6C132 480 32 380 32 256.6V256 216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64H320c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPersonDress = {\n prefix: 'fas',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM88 384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1H232v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H152v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 352h8.2c32.3-39.1 81.1-64 135.8-64c5.4 0 10.7 .2 16 .7V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM320 352H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H360.2C335.1 449.6 320 410.5 320 368c0-5.4 .2-10.7 .7-16l-.7 0zm320 16a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faTableCellsLarge = {\n prefix: 'fas',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M448 96V224H288V96H448zm0 192V416H288V288H448zM224 224H64V96H224V224zM64 288H224V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'fas',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM138.7 208l13.9 24H124.9l13.9-24zm-13.9-24L97.1 232c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H305c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H249.6L221.9 64c-6.2-10.7-21.6-10.7-27.7 0l-27.7 48H111c-12.3 0-20 13.3-13.9 24l27.7 48zm27.7 0l27.7-48h55.4l27.7 48-27.7 48H180.3l-27.7-48zm0-48l-13.9 24-13.9-24h27.7zm41.6-24L208 88l13.9 24H194.1zm69.3 24h27.7l-13.9 24-13.9-24zm13.9 72l13.9 24H263.4l13.9-24zm-55.4 48L208 280l-13.9-24h27.7z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M152.7 135.9l-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1h10.7c39.4 0 77.8 12.1 110.1 34.7L562.4 421.8l35.1 24.6c24.4-6 42.5-28.1 42.5-54.4c0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32h-2.7c-5.6 0-11.1 .7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64H544L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9H162.9c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2V384z\"]\n};\nvar faClipboardUser = {\n prefix: 'fas',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V287.8L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H144z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H46c-2.2 10.5-6.1 20.6-11.7 29.9L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1c11.6-19.3 18.9-40.7 21.6-62.9H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z\"]\n};\nvar faPlaneLock = {\n prefix: 'fas',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l101.8 58.2C418 247.6 416 259.6 416 272v24.6c-17.9 10.4-30.3 29.1-31.8 50.9L320 329.1V400l57.6 43.2c4 3 6.4 7.8 6.4 12.8v24 18c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\"]\n};\nvar faCakeCandles = {\n prefix: 'fas',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM128 176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c-35.3 0-64 28.7-64 64v71c8.3 5.2 18.1 9 28.8 9c13.5 0 27.2-6.1 38.4-13.4c5.4-3.5 9.9-7.1 13-9.7c1.5-1.3 2.7-2.4 3.5-3.1c.4-.4 .7-.6 .8-.8l.1-.1 0 0 0 0s0 0 0 0s0 0 0 0c3.1-3.2 7.4-4.9 11.9-4.8s8.6 2.1 11.6 5.4l0 0 0 0 .1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c3-3.5 7.4-5.4 12-5.4s9 2 12 5.4l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c2.9-3.4 7.1-5.3 11.6-5.4s8.7 1.6 11.9 4.8l0 0 0 0 0 0 .1 .1c.2 .2 .4 .4 .8 .8c.8 .7 1.9 1.8 3.5 3.1c3.1 2.6 7.5 6.2 13 9.7c11.2 7.3 24.9 13.4 38.4 13.4c10.7 0 20.5-3.9 28.8-9V288c0-35.3-28.7-64-64-64V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H256V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H128V176zM448 394.6c-8.5 3.3-18.2 5.4-28.8 5.4c-22.5 0-42.4-9.9-55.8-18.6c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.7-2.6-7-5.2-9.8-7.5c-3.1 2.4-6.8 5.1-10.9 7.8C71.2 390.1 51.3 400 28.8 400c-10.6 0-20.3-2.2-28.8-5.4V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V394.6z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"]\n};\nvar faAnglesUp = {\n prefix: 'fas',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'fas',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM166.6 153.4l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H146.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M333.2 322.8l0 0-133.9-146 0 0L146 118.6c7.8-5.1 37-22.6 78-22.6s70.2 17.4 78 22.6L245.7 180l85.6 93.4 27.4-29.8c16.3-17.7 25.3-40.9 25.3-65V149.1c0-19-5.6-37.5-16.1-53.3L327.8 35.6C312.9 13.4 287.9 0 261.2 0h-76c-25.8 0-50.1 12.5-65.1 33.5L81.9 87C70.3 103.2 64 122.8 64 142.8V164c0 23.2 8.4 45.6 23.6 63.1l56 64.2 0 0 83.3 95.6 0 0 91.8 105.3c10 11.5 26.8 14.3 40 6.8l54.5-31.1c17.8-10.2 21.6-34.3 7.7-49.4l-87.7-95.7zM205.2 410.6l-83.3-95.6L27.1 418.5c-13.9 15.1-10.1 39.2 7.7 49.4l55.1 31.5c13 7.4 29.3 4.9 39.4-6.1l75.9-82.6z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M320 0c17.7 0 32 14.3 32 32V164.1c0 16.4 8.4 31.7 22.2 40.5l9.8 6.2V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398V325l90.5 57.6c7.5 4.7 17.3 2.5 22.1-4.9s2.5-17.3-4.9-22.1L384 287.1v-.4l-44.1-28.1c-7.3-4.6-13.9-10.1-19.9-16.1c-5.9 6-12.6 11.5-19.9 16.1L256 286.7 161.2 347l-13.5 8.6c0 0 0 0-.1 0c-7.4 4.8-9.6 14.6-4.8 22.1c4.7 7.5 14.6 9.7 22.1 4.9l91.1-58V398c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v45.5l9.8-6.2c13.8-8.8 22.2-24.1 22.2-40.5V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faArrowUp91 = {\n prefix: 'fas',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM450.7 294c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zm-5-145.1A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faLitecoinSign = {\n prefix: 'fas',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M128 64c0-17.7-14.3-32-32-32S64 46.3 64 64V213.6L23.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L64 280.1V448c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V261.9l136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L128 195.3V64z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faCircleNodes = {\n prefix: 'fas',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H240V320H208c-7 0-13.7 1.5-19.7 4.2L68.2 192H96.5c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192h6L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.8-1.9-15.2-5.2-21.7L487.1 192h6c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16h28.3L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2H272V192H383.5z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z\"]\n};\nvar faTruckFieldUn = {\n prefix: 'fas',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M96 32C60.7 32 32 60.7 32 96v32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c0-35.3-28.7-64-64-64h-4.2c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38H375.4C364.4 44.9 343.7 32 320 32H96zm288 96h43.2l42.7 96H384V128zM112 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M0 32C0 14.3 14.3 0 32 0H64 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32zM96 64V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64H96zm0 384H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M256 32c12.5 0 24.1 6.4 30.8 17L503.4 394.4c5.6 8.9 8.6 19.2 8.6 29.7c0 30.9-25 55.9-55.9 55.9H55.9C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17zm65 192L256 120.4 176.9 246.5l18.3 24.4c6.4 8.5 19.2 8.5 25.6 0l25.6-34.1c6-8.1 15.5-12.8 25.6-12.8h49z\"]\n};\nvar faUserDoctor = {\n prefix: 'fas',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.9c-6-.6-12.1-.9-18.3-.9H178.3c-6.2 0-12.3 .3-18.3 .9v65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V311.2zM144 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faCircleInfo = {\n prefix: 'fas',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M0 224c0 53 43 96 96 96h44.7c9.5-23.5 32.5-40 59.3-40c2 0 3.9 .1 5.8 .3C217.6 265.5 235.7 256 256 256s38.4 9.5 50.2 24.3c1.9-.2 3.9-.3 5.8-.3c26.9 0 49.9 16.5 59.3 40H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 1 .1 2.1 .1 3.1c-.7-.8-1.4-1.6-2.1-2.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-.7 .7-1.4 1.5-2.1 2.3c.1-1 .1-2.1 .1-3.1zM48 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm416 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'fas',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCarOn = {\n prefix: 'fas',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 224H326.2c6.8 0 12.8 4.3 15.1 10.6L360.3 288H151.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344v40 64 32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V448H384v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160H185.8c-33.8 0-64 21.3-75.3 53.1zM128 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V256c0 53 43 96 96 96v32h64V352H384v32h64V352c53 0 96-43 96-96V160c17.7 0 32-14.3 32-32s-14.3-32-32-32H512 480c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7c-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H55 32zM640 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H552c48.6 0 88-39.4 88-88v-8z\"]\n};\nvar faArrowDown19 = {\n prefix: 'fas',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M450.7 38c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V64c0-10.3-4.9-19.9-13.3-26zM160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM418.3 307a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 307zM405.1 419.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faHandHoldingDroplet = {\n prefix: 'fas',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'fas',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM160 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8H32c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9V104l4.4-1.6L240.1 4.2zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c17.7 0 32 14.3 32 32V42.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H469.6c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V469.6C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H42.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6C392.1 165.7 346.3 119.9 288 107.4V128c0 17.7-14.3 32-32 32s-32-14.3-32-32V107.4C165.7 119.9 119.9 165.7 107.4 224H128c17.7 0 32 14.3 32 32s-14.3 32-32 32H107.4zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPersonCane = {\n prefix: 'fas',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-30.9-25.1-56-56-56s-56 25.1-56 56v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"]\n};\nvar faTent = {\n prefix: 'fas',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7H416L288 288V512H32c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M151.2 69.7l55.9 167.7-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3V464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512H48c-26.5 0-48-21.5-48-48V270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6V128 54.3 48C64 21.5 85.5 0 112 0h4.5c.2 0 .4 0 .6 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c.2 0 .4 0 .6 0H336c26.5 0 48 21.5 48 48v6.3V128v17.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V295.8c0-5.2 .8-10.3 2.5-15.2L296.8 69.7C279.4 79.7 255.4 88 224 88s-55.4-8.3-72.8-18.3zM96 456a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280v8 32c0 8.8 7.2 16 16 16h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'fas',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 320c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352c-17.7 0-32-14.3-32-32zM416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faMoneyBillWheat = {\n prefix: 'fas',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zM56 16h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 64 32 53.3 32 40s10.7-24 24-24zM24 88H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24S10.7 88 24 88zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM400 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm80 144c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'fas',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M125.7 160H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faHardDrive = {\n prefix: 'fas',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V280.4c-17-15.2-39.4-24.4-64-24.4H64c-24.6 0-47 9.2-64 24.4V96zM64 288H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHdd = faHardDrive;\nvar faFaceGrinSquintTears = {\n prefix: 'fas',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-6.8 6.8-21.4 12.4-37.4 16.7c-16.3 4.4-34.1 7.5-46.3 9.3c-1.6 .2-3.1 .5-4.6 .6c-4.9 .8-9.1-2.8-9.5-7.4c-.1-.7 0-1.4 .1-2.1c1.6-11.2 4.6-29.6 9-47c.3-1.3 .7-2.6 1-3.9c4.3-15.9 9.8-30.5 16.7-37.4zm-44.7 19c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.7c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zM51.5 410.1c18.5-5 38.8-8.3 50.9-10c.4-.1 .7-.1 1-.1c5.1-.2 9.2 4.3 8.4 9.6c-1.7 12.1-5 32.4-10 50.9C97.6 476.4 92 491 85.2 497.8C66 517 34.5 516.6 14.9 497.1s-20-51-.7-70.3c6.8-6.8 21.4-12.4 37.4-16.7zM416.9 209c-4.7-11.9-20.8-11-26.8 .3c-19 35.5-45 70.8-77.5 103.3S244.8 371.1 209.3 390c-11.3 6-12.2 22.1-.3 26.8c57.6 22.9 125.8 11 172.3-35.5s58.4-114.8 35.5-172.3zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.3-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V224v64V448c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H96V64zm448 0v64h32c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H544v64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z\"]\n};\nvar faRectangleList = {\n prefix: 'fas',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'fas',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64H512c35.3 0 64 28.7 64 64V352H448c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM448 512l0-128H576L448 512zM96 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'fas',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm32 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'fas',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM227.2 160c1.9 0 3.8 .1 5.6 .3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9L291.3 464H202.8l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zM121.4 198.6c.4 .4 .8 .8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.3c.4 0 .9 0 1.3 0H319.3c.5 0 1 0 1.4 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7c0-17.7-14.3-32-32-32H426.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4L402.3 464H357.8l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3C353 264.7 387.9 288 426.7 288h2.7z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", \"M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM256 248c13.3 0 24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H176c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V272c0-13.3 10.7-24 24-24z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M.3 166.9L0 68C0 57.7 9.5 50.1 19.5 52.3l35.6 7.9c10.6 2.3 19.2 9.9 23 20L96 128l127.3 37.6L181.8 20.4C178.9 10.2 186.6 0 197.2 0h40.1c11.6 0 22.2 6.2 27.9 16.3l109 193.8 107.2 31.7c15.9 4.7 30.8 12.5 43.7 22.8l34.4 27.6c24 19.2 18.1 57.3-10.7 68.2c-41.2 15.6-86.2 18.1-128.8 7L121.7 289.8c-11.1-2.9-21.2-8.7-29.3-16.9L9.5 189.4c-5.9-6-9.3-14-9.3-22.5zM32 448H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm96-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleLeft = {\n prefix: 'fas',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9L117.5 269.8c-3.5-3.8-5.5-8.7-5.5-13.8s2-10.1 5.5-13.8l99.9-107.1c4.2-4.5 10.1-7.1 16.3-7.1c12.3 0 22.3 10 22.3 22.3l0 57.7 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 57.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.3-7.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faTrainSubway = {\n prefix: 'fas',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 128c0-17.7 14.3-32 32-32h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM272 96h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'fas',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zm96 64H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'fas',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 64C0 46.3 14.3 32 32 32H96h16H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H231.8c9.6 14.4 16.7 30.6 20.7 48H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H252.4c-13.2 58.3-61.9 103.2-122.2 110.9L274.6 422c14.4 10.3 17.7 30.3 7.4 44.6s-30.3 17.7-44.6 7.4L13.4 314C2.1 306-2.7 291.5 1.5 278.2S18.1 256 32 256h80c32.8 0 61-19.7 73.3-48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H185.3C173 115.7 144.8 96 112 96H96 32C14.3 96 0 81.7 0 64z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'fas',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H128V32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-256c0-35.3-28.7-64-64-64L160 64v64l224 0 0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'fas',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm76-48c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'fas',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M177.5 414c-8.8 3.8-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 0c17.7 0 32 14.3 32 32c0 59.8-30.3 107.5-69.4 146.6c-28 28-62.5 53.5-97.3 77.4l-2.5 1.7c-11.9 8.1-23.8 16.1-35.5 23.9l0 0 0 0 0 0-1.6 1c-6 4-11.9 7.9-17.8 11.9c-20.9 14-40.8 27.7-59.3 41.5H283.3c-9.8-7.4-20.1-14.7-30.7-22.1l7-4.7 3-2c15.1-10.1 30.9-20.6 46.7-31.6c25 18.1 48.9 37.3 69.4 57.7C417.7 372.5 448 420.2 448 480c0 17.7-14.3 32-32 32s-32-14.3-32-32H64c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-59.8 30.3-107.5 69.4-146.6c28-28 62.5-53.5 97.3-77.4c-34.8-23.9-69.3-49.3-97.3-77.4C30.3 139.5 0 91.8 0 32C0 14.3 14.3 0 32 0S64 14.3 64 32H384c0-17.7 14.3-32 32-32zM338.6 384H109.4c-10.1 10.6-18.6 21.3-25.5 32H364.1c-6.8-10.7-15.3-21.4-25.5-32zM109.4 128H338.6c10.1-10.7 18.6-21.3 25.5-32H83.9c6.8 10.7 15.3 21.3 25.5 32zm55.4 48c18.4 13.8 38.4 27.5 59.3 41.5c20.9-14 40.8-27.7 59.3-41.5H164.7z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zm225.8 177c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7l-69.7-54.6zM402 412.7L144.7 210c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faSubtract = faMinus;\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H60.2C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4L60 384H196L180 256h4c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.8l32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48zm288 0l-43.2 57.6c-3.1 4.2-4.8 9.2-4.8 14.4c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L464 416H336zM304 208v51.9c0 7.8 2.8 15.3 8 21.1L339.2 312 337 384H462.5l-3.3-72 28.3-30.8c5.4-5.9 8.5-13.6 8.5-21.7V208c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v16H424V208c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16v16H352V208c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm80 96c0-8.8 7.2-16 16-16s16 7.2 16 16v32H384V304z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'fas',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'fas',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64v48c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5h38.7c16.3 0 30-12.3 31.8-28.5L318.2 304H320c17.7 0 32-14.3 32-32V224c0-35.3-28.7-64-64-64H224zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nvar faFrancSign = {\n prefix: 'fas',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M80 32C62.3 32 48 46.3 48 64V224v96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]\n};\nvar faHandsAslInterpreting = {\n prefix: 'fas',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7V256c0 70.7 57.3 128 128 128h72 8v-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2V256c0-70.7-57.3-128-128-128H440h-8v.3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faGear = {\n prefix: 'fas',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'fas',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.1 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5l0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6l0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zM288 512V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H560V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H448V454c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58H288zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160H160V296.6c-19.1 11.1-32 31.7-32 55.4V480c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V176 160z\"]\n};\nvar faMosquito = {\n prefix: 'fas',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M463.7 505.9c9.8-8.9 10.7-24.3 2.1-34.3l-42.1-49 0-54.7c0-5.5-1.8-10.8-5.1-15.1L352 266.3l0-.3L485.4 387.8C542.4 447.6 640 405.2 640 320.6c0-47.9-34-88.3-79.4-94.2l-153-23.9 40.8-40.9c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.1l38.2-50.9c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.3-33.2 4.4l-48 63.9c-5.9 7.9-6.6 18.6-1.7 27.2L402.2 140 352 190.3l0-38.2c0-14.9-10.2-27.4-24-31l0-57.2c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.2c-13.8 3.6-24 16.1-24 31l0 38.1L237.8 140l22.6-39.5c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.9c-8-10.6-22.8-12.6-33.2-4.4s-12.2 23.5-4.3 34.1l38.2 50.9-23.9 41.7c-5.5 9.7-3.9 22 3.9 29.8l40.8 40.9-153 23.9C34 232.3 0 272.7 0 320.6c0 84.6 97.6 127 154.6 67.1L288 266l0 .3-66.5 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42.1 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.7l0 63.1c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.1 24.3 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M404.2 309.5L383.1 344h42.3l-21.1-34.5zM371.4 256l-54-88H194.6l-54 88 54 88H317.4l54-88zm65.7 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-54-88l21.1 34.5L425.4 168H383.1zM283 112L256 68l-27 44h54zM128.9 168H86.6l21.1 34.5L128.9 168zM107.8 309.5L86.6 344h42.3l-21.1-34.5zM229 400l27 44 27-44H229z\"]\n};\nvar faPersonMilitaryRifle = {\n prefix: 'fas',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0-13 10-23.8 22.9-24.9L334.7 1.4C344 .7 352 8 352 17.4V48c0 8.8-7.2 16-16 16H185c-13.8 0-25-11.2-25-25zm17.6 57H334.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16zm228 364.3L352 369.7V480c0 1.3-.1 2.5-.2 3.8L177.5 234.9c16.6-7.1 34.6-10.9 53.3-10.9h50.4c15.9 0 31.3 2.8 45.8 7.9L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7L392.6 282c2 2.8 3.9 5.8 5.7 8.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1zM320 512H192c-17.7 0-32-14.3-32-32V369.7l-53.6 90.6c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8l76.1-128.8c9.4-15.8 21.7-29.3 36-40L331.1 510c-3.5 1.3-7.2 2-11.1 2zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCartShopping = {\n prefix: 'fas',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 64C0 46.3 14.3 32 32 32H88h48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96C14.3 96 0 81.7 0 64zM136 96H88V256h48V96zM288 64c0-17.7 14.3-32 32-32h56 48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96c-17.7 0-32-14.3-32-32zM424 96H376V256h48V96z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'fas',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M224 109.3V217.6L183.3 242c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V283.2c0-16.9-8.8-32.5-23.3-41.2L416 217.6V109.3c0-8.5-3.4-16.6-9.4-22.6L331.3 11.3c-6.2-6.2-16.4-6.2-22.6 0L233.4 86.6c-6 6-9.4 14.1-9.4 22.6zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'fas',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'fas',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'fas',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1zM393.4 233.4c12.5-12.5 32.8-12.5 45.3 0L480 274.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faBackwardStep = {\n prefix: 'fas',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241V96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V271l11.5 9.6 192 160z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M192 96v12L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l96-12 31-3.9 1-.1 1 .1 31 3.9 96 12c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 12V96c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V180.2l-32-4-32 4V224H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 256H32z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'fas',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M424 0c-12.4 0-24.2 4.9-33 13.7L233.5 171.2c-10.5 10.5-19.8 22.1-27.7 34.6L132.7 321.6c-7.3 11.5-15.8 22.2-25.5 31.9L69.9 390.7l51.3 51.3 37.3-37.3c9.6-9.6 20.3-18.2 31.9-25.5l115.8-73.1c12.5-7.9 24.1-17.2 34.6-27.7L498.3 121c8.7-8.7 13.7-20.6 13.7-33s-4.9-24.2-13.7-33L457 13.7C448.2 4.9 436.4 0 424 0zm88 432a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM15 399c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L49 399c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faS = {\n prefix: 'fas',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M99.1 105.4C79 114 68.2 127.2 65.2 144.8c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3C5.1 440.8-3.9 422.7 1.6 405.9s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5L2.1 133.9C9.4 91.4 37.4 62.2 73.9 46.6c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.2 22.7c-11.2-3-48.1-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\"]\n};\nvar faTimeline = {\n prefix: 'fas',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32 97.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288v54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V288H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V169.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3V224H160V169.3zM488 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM320 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'fas',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM272 192c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H320V208c0-8.8-7.2-16-16-16H272z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faTemperatureThreeQuarters = {\n prefix: 'fas',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faMobileScreen = {\n prefix: 'fas',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'fas',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 66.3L497.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6v56.7c0 10.9-10.7 18.6-21.1 15.2L320 320v80l57.6 43.2c4 3 6.4 7.8 6.4 12.8v42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400V320L21.1 377C10.7 380.4 0 372.7 0 361.8V305.1c0-10.7 5.3-20.7 14.2-26.6L192 160V93.7z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M400 96l0 .7c-5.3-.4-10.6-.7-16-.7H256c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96h11.5c10.4 0 18 9.8 15.5 19.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2H384zm64 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm208 96H96V320H288V192z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faMountainCity = {\n prefix: 'fas',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M336 0c-26.5 0-48 21.5-48 48v92.1l71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-3.5l73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm160 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM224 188.9L283.8 288H223l-48 64-24.6-41.2L224 188.9zm29.4-44.2C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512H413.5c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2l0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4V304v5.7V336zm32 0V304 278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5v19.8l35.6-24.5 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5s12.7-7 19.2-3.7L401.1 80c7.2-14.3 7.2-14.3 7.2-14.3l0 0 0 0 .1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1 0 0 0 0s0 0-10.2-12.3l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L112 400c-10.2 12.3-10.2 12.3-10.3 12.3l0 0 0 0-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29C93 72.5 97 70 99.9 68.4c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0 0 0 0 0s0 0 7.2 14.3l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C105.2 119 96 149.5 96 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2L240 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1z\"]\n};\nvar faSliders = {\n prefix: 'fas',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z\"]\n};\nvar faSlidersH = faSliders;\nvar faFolderTree = {\n prefix: 'fas',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96V384c0 35.3 28.7 64 64 64H256V384H64V160H256V96H64V32zM288 192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192zm0 288c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V480z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480V317.1c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M34.6 288H80c8.8 0 16-7.2 16-16V72c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V40c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V72c0-22.1 17.9-40 40-40s40 17.9 40 40V272c0 8.8 7.2 16 16 16h45.4c19.1 0 34.6 15.5 34.6 34.6c0 8.6-3.2 16.9-9 23.3L416.6 441c-41.1 45.2-99.4 71-160.6 71s-119.4-25.8-160.6-71L9 345.9c-5.8-6.4-9-14.7-9-23.3C0 303.5 15.5 288 34.6 288zM256 288c-38.4 0-76.8 35.8-90.6 50.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288zm0 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCentSign = {\n prefix: 'fas',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M224 0c17.7 0 32 14.3 32 32V66.7c30.9 5.2 59.2 17.7 83.2 35.8c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8c-24 18-52.4 30.6-83.2 35.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C101.2 430.1 32 351.1 32 256s69.2-174.1 160-189.3V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM192 196.8V64h64V196.8c0 23.7 6.6 46.9 19 67.1L309.5 320h-171L173 263.9c12.4-20.2 19-43.4 19-67.1z\"]\n};\nvar faPersonPregnant = {\n prefix: 'fas',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 383c-13.8-3.6-24-16.1-24-31V296.9l-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1h1.1 12.5H192c1.4 0 2.8 .1 4.1 .3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 264v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h-8-8v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V383z\"]\n};\nvar faWandSparkles = {\n prefix: 'fas',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7V176c0 8.8-7.2 16-16 16H384.2c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9V272c0-8.8 7.2-16 16-16h34.6c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'fas',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faTicket = {\n prefix: 'fas',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 160c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V256c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z\"]\n};\nvar faRightLong = {\n prefix: 'fas',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v36.1l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9v32.2c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 203.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 299.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3v33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 400v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V416 345.5 312.8 249.5 216.8 153.5 120.8 64 32C0 14.3 14.3 0 32 0zm80 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-32 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'fas',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M128 0C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H320V288H128V64H448V96h64V64c0-35.3-28.7-64-64-64H128zM512 128H400c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V256H544c-17.7 0-32-14.3-32-32V128zm32 0v96h96l-96-96z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M38.3 241.3L15.1 200.6c-9.2-16.2-8.4-36.5 4.5-50C61.4 106.8 144.7 48 256 48s194.6 58.8 236.4 102.6c12.9 13.5 13.7 33.8 4.5 50l-23.1 40.7c-7.5 13.2-23.3 19.3-37.8 14.6l-81.1-26.6c-13.1-4.3-22-16.6-22-30.4V144c-49.6-18.1-104-18.1-153.6 0v54.8c0 13.8-8.9 26.1-22 30.4L76.1 255.8c-14.5 4.7-30.3-1.4-37.8-14.6zM32 336c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V336zm0 96c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V432zM144 320h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V432z\"]\n};\nvar faTeletype = faTty;\nvar faDiagramNext = {\n prefix: 'fas',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M512 160c0 35.3-28.7 64-64 64H280v64h46.1c21.4 0 32.1 25.9 17 41L273 399c-9.4 9.4-24.6 9.4-33.9 0L169 329c-15.1-15.1-4.4-41 17-41H232V224H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64zM448 416V352H365.3l.4-.4c18.4-18.4 20.4-43.7 11-63.6l71.3 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l71.3 0c-9.4 19.9-7.4 45.2 11 63.6l.4 .4H64v64H210.7l5.7 5.7c21.9 21.9 57.3 21.9 79.2 0l5.7-5.7H448z\"]\n};\nvar faPersonRifle = {\n prefix: 'fas',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M265.2 192c25.4 0 49.8 7.1 70.8 19.9V512H144V337.7L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8h50.4zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM448 0c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 16z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPersonHiking = {\n prefix: 'fas',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H336V184c0-13.3 10.7-24 24-24s24 10.7 24 24v55.8c0 .1 0 .2 0 .2s0 .2 0 .2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z\"]\n};\nvar faHiking = faPersonHiking;\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM368 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1c-26.6-4.9-51.1-15.7-72-31.1z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faPeoplePulling = {\n prefix: 'fas',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64V320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352h15.7l30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-57.3-258 116.3 53.8c.5 .3 1.1 .5 1.6 .7c8.6 3.6 18 3.1 25.9-.7c3.4-1.6 6.6-3.9 9.3-6.7c3.1-3.2 5.5-7 7.1-11.4c.1-.3 .2-.7 .3-1l2.5-7.5c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L537 232.7l-15.3-36.8C504.5 154.8 464.3 128 419.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-24.4 10.9-44.6 29-58.1 51.6L157.3 136.9C144.7 131 130.9 128 117 128H64zM464 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM349.7 335.6l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L372.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6z\"]\n};\nvar faN = {\n prefix: 'fas',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 50.5 8.4 38.5 21.1 33.9z\"]\n};\nvar faCableCar = {\n prefix: 'fas',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 288c0-35.3 28.7-64 64-64H232V157.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4L280 147.5V224H416c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352z\"]\n};\nvar faTram = faCableCar;\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm-6.8 52c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L89.2 372zm160 0c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L249.2 372zm124.9 64.6L409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'fas',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h48c26.5 0 48 21.5 48 48V240l44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240V112c0-26.5 21.5-48 48-48h48V32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7V128H160v90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'fas',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M544 416L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zm22.6-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L480 274.7 480 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zm-320-45.3c-12.5-12.5-32.8-12.5-45.3 0L160 274.7 160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7L54.6 233.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFaceGrin = {\n prefix: 'fas',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'fas',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M576 128c0-35.3-28.7-64-64-64H205.3c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faFileCircleCheck = {\n prefix: 'fas',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zm80 432h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faFaceMeh = {\n prefix: 'fas',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z\"]\n};\nvar faBookSkull = {\n prefix: 'fas',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM320 112c0-35.3-35.8-64-80-64s-80 28.7-80 64c0 20.9 12.6 39.5 32 51.2V176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V163.2c19.4-11.7 32-30.3 32-51.2zM208 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM134.3 209.3c-8.1-3.5-17.5 .3-21 8.4s.3 17.5 8.4 21L199.4 272l-77.7 33.3c-8.1 3.5-11.9 12.9-8.4 21s12.9 11.9 21 8.4L240 289.4l105.7 45.3c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21L280.6 272l77.7-33.3c8.1-3.5 11.9-12.9 8.4-21s-12.9-11.9-21-8.4L240 254.6 134.3 209.3z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M0 96l576 0c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 32V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128H0zM64 405.3c0-29.5 23.9-53.3 53.3-53.3H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7zM176 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm176 16c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z\"]\n};\nvar faDedent = faOutdent;\nvar faHeartCircleExclamation = {\n prefix: 'fas',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouse = {\n prefix: 'fas',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM288 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V272H240c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faB = {\n prefix: 'fas',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H192c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128H64zm96 192H64V96h96c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288h96 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64V288z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4H448c4.6 0 9.1-.2 13.6-.7l85.3 121.9c4 5.7 11.3 8.2 17.9 6.1s11.2-8.3 11.2-15.3V224c0-70.7-57.3-128-128-128H392.3c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224c0 71.1 38.6 133.1 96 166.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V410c15.3 3.9 31.4 6 48 6c5.4 0 10.7-.2 16-.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V405.1c12.4-4.4 24.2-10 35.2-16.7zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'fas',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M463.5 224H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'fas',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faMillSign = {\n prefix: 'fas',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1c-5.7 4-11.1 8.5-16 13.5C171.7 108.9 143.3 96 112 96c-19.5 0-37.8 5-53.7 13.7C52.5 101.4 42.9 96 32 96C14.3 96 0 110.3 0 128v80V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-26.5 21.5-48 48-48s48 21.5 48 48v42.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60C168.9 441 179.6 448 192 448c17.7 0 32-14.3 32-32V261.5l35.7-100c3.9-1 8.1-1.6 12.3-1.6c26.5 0 48 21.5 48 48V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-58.2-44.3-106-101.1-111.5l19.2-53.8z\"]\n};\nvar faBowlRice = {\n prefix: 'fas',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176H72c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H392c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1v64c0 26.5 21.5 48 48 48h48V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c26.5 0 48-21.5 48-48V400c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faTowerBroadcast = {\n prefix: 'fas',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V183.4c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M368.6 96l76.8 96H288V96h80.6zM224 80V192H64c-17.7 0-32 14.3-32 32v64c-17.7 0-32 14.3-32 32s14.3 32 32 32H65.1c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16h66.3c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V224c0-17.7-14.3-32-32-32H527.4L418.6 56c-12.1-15.2-30.5-24-50-24H272c-26.5 0-48 21.5-48 48zm0 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm288 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faUpLong = {\n prefix: 'fas',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M318 177.5c3.8-8.8 2-19-4.6-26l-136-144C172.9 2.7 166.6 0 160 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26S14.4 192 24 192H96l0 288c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32l0-288h72c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faCodeMerge = {\n prefix: 'fas',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3V358.7C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V272c26.7 20.1 60 32 96 32h86.7c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48H208c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHurricane = {\n prefix: 'fas',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M0 208C0 104.4 75.7 18.5 174.9 2.6C184 1.2 192 8.6 192 17.9V81.2c0 8.4 6.5 15.3 14.7 16.5C307 112.5 384 199 384 303.4c0 103.6-75.7 189.5-174.9 205.4c-9.2 1.5-17.1-5.9-17.1-15.2V430.2c0-8.4-6.5-15.3-14.7-16.5C77 398.9 0 312.4 0 208zm288 48A96 96 0 1 0 96 256a96 96 0 1 0 192 0zm-96-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMound = {\n prefix: 'fas',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\"]\n};\nvar faToiletPortable = {\n prefix: 'fas',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M0 32V64H320V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM24 96H0v24V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H272v8c0 13.3 10.7 24 24 24s24-10.7 24-24V120 96H296 24zM256 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM96 240c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faFileArrowDown = {\n prefix: 'fas',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 232V334.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V232c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M0 112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0H288c0 53-43 96-96 96s-96-43-96-96H80c-44.2 0-80-35.8-80-80V112zM320 352H448V256H416c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32V352zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zm96 336a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShieldCat = {\n prefix: 'fas',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96V154.4zM216 288a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm96-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z\"]\n};\nvar faZap = faBolt;\nvar faGlassWater = {\n prefix: 'fas',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM73 156.5L66.4 64H317.6L311 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L73 156.5z\"]\n};\nvar faOilWell = {\n prefix: 'fas',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L308.5 167.5l-6.3-18.1C297.7 136.6 285.6 128 272 128s-25.7 8.6-30.2 21.4l-13.6 39L96 222.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H406.7L340 257.5l-62.2 16.1L305.3 352H238.7L265 277l-74.6 19.3L137.3 448H96V288.8l337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3zM205.1 448l11.2-32H327.7l11.2 32H205.1z\"]\n};\nvar faVault = {\n prefix: 'fas',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 0C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H80l16 32h64l16-32H400l16 32h64l16-32h16c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 320a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-240a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM480 221.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8H424c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80l0 0h0v0zM176 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V196.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H352c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8l0 .1 0 .3zM328.2 384l-.2 .5 0-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'fas',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M58.6 46.2C48.8 31.5 29 27.6 14.3 37.4S-4.4 67 5.4 81.7L100.2 224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V288h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H219.8L314.6 81.7c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.2z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M96 32C78.3 32 64 46.3 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H96zM240 256H128V96H240c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFaceLaughWink = {\n prefix: 'fas',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M64 464V316.9c0-108.4 68.3-205.1 170.5-241.3L404.2 15.5C425.6 7.9 448 23.8 448 46.4c0 11-5.5 21.2-14.6 27.3L400 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1h-3.4c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4l-.1 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3l0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8H112c-26.5 0-48-21.5-48-48zM392 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBoreHole = {\n prefix: 'fas',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c-17.7 0-32 14.3-32 32V296.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V32c0-17.7-14.3-32-32-32zM48 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H384c-17.7 0-32 14.3-32 32V352c0 53-43 96-96 96s-96-43-96-96V160c0-17.7-14.3-32-32-32H48z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M64 32C46.3 32 32 46.3 32 64V304v48 80c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304 152.2c0-18.2-19.4-29.7-35.4-21.1L352 215.4V152.2c0-18.2-19.4-29.7-35.4-21.1L160 215.4V64c0-17.7-14.3-32-32-32H64z\"]\n};\nvar faCircleDown = {\n prefix: 'fas',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6L269.8 394.5c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5L135.1 294.6c-4.5-4.2-7.1-10.1-7.1-16.3c0-12.3 10-22.3 22.3-22.3l57.7 0 0-96c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96 57.7 0c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.1 16.3z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faArrowsTurnToDots = {\n prefix: 'fas',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM384 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nvar faFlorinSign = {\n prefix: 'fas',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h80L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H69.3c38.8 0 73.7-23.3 88.6-59.1L213.3 288H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H240l45.1-108.3c5-11.9 16.6-19.7 29.5-19.7H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H314.7z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'fas',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faCarTunnel = {\n prefix: 'fas',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h42.8c-6.6-5.9-10.8-14.4-10.8-24V376c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6V488c0 9.6-4.2 18.1-10.8 24H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM362.8 512c-6.6-5.9-10.8-14.4-10.8-24V448H160v40c0 9.6-4.2 18.1-10.8 24H362.8zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM168 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm200-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 32L339.2 365.6c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9L448 416v16c0 26.5-21.5 48-48 48H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM592 480a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 312a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 288zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-18.5-10.5-34.6-25.9-42.6C497 236.6 504 223.1 504 208c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 384H96c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H32C14.3 96 0 110.3 0 128V352c0 17.7 14.3 32 32 32z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRightLong = {\n prefix: 'fas',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faAnchorCircleXmark = {\n prefix: 'fas',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faEllipsis = {\n prefix: 'fas',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M215.5 224c29.2-18.4 48.5-50.9 48.5-88c0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88H96c-17.7 0-32 14.3-32 32c0 16.5 12.5 30 28.5 31.8L80 400H240L227.5 287.8c16-1.8 28.5-15.3 28.5-31.8c0-17.7-14.3-32-32-32h-8.5zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L256 432H64L22.6 473.4z\"]\n};\nvar faKitMedical = {\n prefix: 'fas',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H96V32H64zm64 0V480H448V32H128zM512 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480V480h32zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faPersonThroughWindow = {\n prefix: 'fas',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M64 64l224 0 0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8s0 0 0 0H64V64zm288 0l224 0V384H508.3l-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6l0-9.8zm73 320H379.2l42.7 64H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H308.2l33.2 49.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48zm-159.5 0H192s0 0 0 0l0-73.8c0-10.2 1.6-20.1 4.7-29.5L265.5 384zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M176 88v40H336V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V88c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56v40h28.1c12.7 0 24.9 5.1 33.9 14.1l51.9 51.9c9 9 14.1 21.2 14.1 33.9V304H384V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H192V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H0V227.9c0-12.7 5.1-24.9 14.1-33.9l51.9-51.9c9-9 21.2-14.1 33.9-14.1H128zM0 416V336H128v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H320v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H512v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faHandsHoldingCircle = {\n prefix: 'fas',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 0a128 128 0 1 1 0 256A128 128 0 1 1 320 0zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 224H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224zM112 352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V400v48c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V400H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V400 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'fas',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", \"M7.8 207.7c-13.1-17.8-9.3-42.8 8.5-55.9L142.9 58.5C166.2 41.3 194.5 32 223.5 32H384 544c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H507.2l-44.9 36c-22.7 18.2-50.9 28-80 28H304 288 224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H183.4L63.7 216.2c-17.8 13.1-42.8 9.3-55.9-8.5zM382.4 160l0 0 .9 0c-.3 0-.6 0-.9 0zM568.2 304.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 453.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 352l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faBookOpenReader = {\n prefix: 'fas',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faMountainSun = {\n prefix: 'fas',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M560 160A80 80 0 1 0 560 0a80 80 0 1 0 0 160zM55.9 512H381.1h75H578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 196.1 487.8 192 480 192s-15 4.1-19.1 10.7l-48.2 79L286.8 81c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 426.4C3 435.3 0 445.6 0 456.1C0 487 25 512 55.9 512z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'fas',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64zm214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M48.7 125.8l53.2 31.9c7.8 4.7 17.8 2 22.2-5.9L201.6 12.1c3-5.4-.9-12.1-7.1-12.1c-1.6 0-3.2 .5-4.6 1.4L47.9 98.8c-9.6 6.6-9.2 20.9 .8 26.9zM16 171.7V295.3c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L40.2 158C29.6 151.6 16 159.3 16 171.7zM310.4 12.1l77.6 139.6c4.4 7.9 14.5 10.6 22.2 5.9l53.2-31.9c10-6 10.4-20.3 .8-26.9L322.1 1.4c-1.4-.9-3-1.4-4.6-1.4c-6.2 0-10.1 6.7-7.1 12.1zM496 171.7c0-12.4-13.6-20.1-24.2-13.7l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4V171.7zm-49.3 246L286.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9v52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5c0-9.3-8.1-16.5-17.3-15.4zM233.2 512c3.7 0 6.8-3 6.8-6.8V452.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4zM41.7 382.9l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L30.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7zm439.6-24.8L402.9 238.1c-6.5-10-21.4-9.6-27.3 .8L290.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20c11.8-1.4 18-14.7 11.5-24.6zm-216.9 11l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9H183.1c-12.3 0-20 13.3-13.9 23.9l78.4 137.2c3.7 6.4 13 6.4 16.7 0zM174.4 176H337.6c12.2 0 19.9-13.1 14-23.8l-80-144c-2.8-5.1-8.2-8.2-14-8.2h-3.2c-5.8 0-11.2 3.2-14 8.2l-80 144c-5.9 10.7 1.8 23.8 14 23.8z\"]\n};\nvar faTruckDroplet = {\n prefix: 'fas',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 123 136 179 136 206c0 36.5 32.2 66 72 66z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'fas',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'fas',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM480 160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V160z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0H133.9c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0H487.4C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M32 32c17.7 0 32 14.3 32 32V320H288V160c0-17.7 14.3-32 32-32H544c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32zm144 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faSquareH = {\n prefix: 'fas',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM336 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHSquare = faSquareH;\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1l.2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1l.2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9zM224 312c32.9 0 64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8c0-35.1 31.1-43.8 64-43.8zm0-144a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faTemperatureFull = {\n prefix: 'fas',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V32zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'fas',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V172.9l122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.5 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V339.1L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4V32z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 107.4 37.8 206 100.8 283.1L9.2 469.1c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7s-23.3-12.3-33.7-4.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96zm96.8 319l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 352c0-17.7 14.3-32 32-32V304c0-44.2 35.8-80 80-80H416c17.7 0 32-14.3 32-32V160 69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'fas',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M544 248v3.3l69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5H296c-37.1 0-67.6 28-71.6 64H224V248c0 22.1 17.9 40 40 40s40-17.9 40-40V176c0 0 0-.1 0-.1V160l16 0 136 0c0 0 0 0 .1 0H464c44.2 0 80 35.8 80 80v8zM336 192v56c0 39.8-32.2 72-72 72s-72-32.2-72-72V129.4c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1H384c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16H432c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8v-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faLocationDot = {\n prefix: 'fas',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\"]\n};\nvar faPersonSwimming = {\n prefix: 'fas',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-26.9 0-52.3 6.6-74.5 18.4zM160 160A64 64 0 1 1 32 160a64 64 0 1 1 128 0zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faDroplet = {\n prefix: 'fas',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"]\n};\nvar faTint = faDroplet;\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7H288h9.4H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H387.9L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416H288l-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z\"]\n};\nvar faEarthAmericas = {\n prefix: 'fas',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faPersonBurst = {\n prefix: 'fas',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6V138.8C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v30.6l0 0v1.3l0 0 0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M175.2 476.6c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6V96H128V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2zM128 64H288V48c0-14.5 3.9-28.2 10.7-39.9C291 3 281.9 0 272 0H176c-26.5 0-48 21.5-48 48V64zM320 96V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304V96H320zM512 64V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V64H512z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"]\n};\nvar faSection = {\n prefix: 'fas',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M64.9 96C67.1 84.4 73.7 76.2 86 70.6c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8C123-2.7 88.3-.6 59.7 12.3C29.9 25.8 7.5 50.9 1.6 86.5c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c.6 .5 1.3 .9 2 1.4C22.3 194.2 6.5 215.1 1.7 243c-.1 .6-.2 1.1-.2 1.7c-2.3 19.3 .4 37.1 8.4 53c7.9 15.6 19.8 27 32.3 35.5c22.4 15.2 51.9 24 75.4 31l0 0 3.7 1.1c27.2 8.2 46.9 14.6 59.4 23.8c5.5 4 8.2 7.6 9.5 10.9c1.3 3.2 2.6 8.6 .9 18.1c-1.7 10.1-7.7 18-20.7 23.5c-14 6-35.4 8.5-62 4.4c-12.8-2.1-35.1-9.7-54.1-16.2l0 0c-4.3-1.5-8.5-2.9-12.3-4.2C25.3 420 7.2 429.1 1.6 445.8s3.5 34.9 20.3 40.5c2.6 .8 5.7 1.9 9.2 3.1c18.6 6.3 48.5 16.6 67.3 19.6l0 0 .2 0c34.5 5.4 68.8 3.4 97.2-8.7c29.4-12.6 52.5-36.5 58.5-71.5c3.3-19.3 1.9-37.4-5-53.9c-6.3-15-16.4-26.4-27.6-35.2c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5zm76.7 208.5c-.2-.1-.4-.1-.6-.2l-1.4-.4c-27.4-8.2-47.9-14.5-61.7-23.8c-6.2-4.2-9.3-7.9-11-11.3c-1.5-3-2.9-7.7-2.1-15.7c1.9-9.7 7.9-17.3 20.5-22.7c14-6 35.4-8.5 62.1-4.3l16.4 2.6c6.3 2.9 11.7 6 16.2 9.5c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3z\"]\n};\nvar faGaugeHigh = {\n prefix: 'fas',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M215.4 96H144 107.8 96v8.8V144v40.4 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3V96c0-26.5 21.5-48 48-48h76.6l49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48H416c26.5 0 48 21.5 48 48v44.3l22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4v-89V144 104.8 96H404.2 368 296.6 215.4zM0 448V242.1L217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1V448v0c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v0zM176 160H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M192 48c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48V512H368V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H192V48zM48 96H160V512H48c-26.5 0-48-21.5-48-48V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V144c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V464c0 26.5-21.5 48-48 48H480V96H592zM312 64c-8.8 0-16 7.2-16 16v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152h24c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344V80c0-8.8-7.2-16-16-16H312z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5L180.2 153.3c31.9-31.9 76.6-43.1 117.5-33.8c12.6 2.9 26.4 .5 35.5-8.6l48.8-48.8 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0L99.3 324.7c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M32 192V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V192c0 10.1-4.7 19.6-12.8 25.6L352 256l16 144H80L96 256 44.8 217.6C36.7 211.6 32 202.1 32 192zm176 96h32c8.8 0 16-7.2 16-16V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 8.8 7.2 16 16 16zM22.6 473.4L64 432H384l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H38.6C26.1 512 16 501.9 16 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faBarsStaggered = {\n prefix: 'fas',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.5-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zM443.3 92.7c-6.2-6.2-16.4-6.2-22.6 0c-12.5 12.5-23.8 15.1-37.5 17.6l-2.5 .4c-13.8 2.5-31.6 5.6-48 22c-16.7 16.7-20.9 36-24.1 50.9l0 0v0l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1c-9.2 9.2-18 10.8-32.7 13.4l0 0-.9 .2c-15.6 2.8-34.9 6.9-54.4 26.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22c16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1c9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4c6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17C233.9 6.1 248.6 0 264 0s30.1 6.1 41 17l15.8 15.8-288 288L17 305z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'fas',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8.4 32c-36.4 0-69.6 20.5-85.9 53.1L35.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L128 231.6v43.2c0 17 6.7 33.3 18.7 45.3L224 397.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V390.6c0-12.7-5.1-24.9-14.1-33.9L224 306.7V213.3l70.4 93.9c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8L268.8 166.4C250.7 142.2 222.2 128 192 128H167.6zM128.3 346.8L97 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.2-52.8-52.8zM450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9L450.8 505.1z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 31.3 27.4 58.8 72 78.7V344c0-13.3 10.7-24 24-24s24 10.7 24 24V463.4c33 8.9 71.1 14.5 112 16.1V376c0-13.3 10.7-24 24-24s24 10.7 24 24V479.5c40.9-1.6 79-7.2 112-16.1V344c0-13.3 10.7-24 24-24s24 10.7 24 24V446.7c44.6-19.9 72-47.4 72-78.7V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M367.1 160c.6-5.3 .9-10.6 .9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4 .3 10.7 .9 16H80c-26.5 0-48 21.5-48 48s21.5 48 48 48h53.5 181H368c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM96 288L200.8 497.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288H96z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'fas',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M128 64v96h64V64H386.7L416 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0H192c-35.3 0-64 28.7-64 64zM0 160V480c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm480 32H128V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M192 32h64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384l0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352H288V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H192c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"]\n};\nvar faCheckToSlot = {\n prefix: 'fas',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M96 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V384H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48H64V416H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8V0zM429.9 512c1.1 .1 2.1 .1 3.2 0h-3.2z\"]\n};\nvar faBoxesStacked = {\n prefix: 'fas',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M248 0H208c-26.5 0-48 21.5-48 48V160c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V48c0-26.5-21.5-48-48-48H328V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V0zM64 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H184v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V256H64zM352 512H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H472v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256H352c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2V464c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'fas',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M398.3 3.4c-15.8-7.9-35-1.5-42.9 14.3c-7.9 15.8-1.5 34.9 14.2 42.9l.4 .2c.4 .2 1.1 .6 2.1 1.2c2 1.2 5 3 8.7 5.6c7.5 5.2 17.6 13.2 27.7 24.2C428.5 113.4 448 146 448 192c0 17.7 14.3 32 32 32s32-14.3 32-32c0-66-28.5-113.4-56.5-143.7C441.6 33.2 427.7 22.2 417.3 15c-5.3-3.7-9.7-6.4-13-8.3c-1.6-1-3-1.7-4-2.2c-.5-.3-.9-.5-1.2-.7l-.4-.2-.2-.1-.1 0 0 0c0 0 0 0-14.3 28.6L398.3 3.4zM128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faTreeCity = {\n prefix: 'fas',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM224 160c0 6-1 11-2 16c20 14 34 38 34 64c0 45-36 80-80 80H160V480c0 18-15 32-32 32c-18 0-32-14-32-32V320H80c-45 0-80-35-80-80c0-26 13-50 33-64c-1-5-1-10-1-16c0-53 42-96 96-96c53 0 96 43 96 96z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1.8l18-48H303.8l18 48H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H390.2L254 52.8zM279.8 304H168.2L224 155.1 279.8 304z\"]\n};\nvar faRupiahSign = {\n prefix: 'fas',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256-96h80c61.9 0 112 50.1 112 112s-50.1 112-112 112H352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 192c0-17.7 14.3-32 32-32zm80 160c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96h48z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'fas',\n iconName: 'table-tennis-paddle-ball',\n icon: [640, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M480 288c-50.1 0-93.6 28.8-114.6 70.8L132.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0c67.1 67.1 82.7 166.3 46.8 248.3C535.8 297.6 509 288 480 288zM113.3 151.9L354.1 392.7c-1.4 7.5-2.1 15.3-2.1 23.3c0 23.2 6.2 44.9 16.9 63.7c-3 .2-6.1 .3-9.2 .3H357c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L152.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32c-6.3-6.3-9.7-14.9-9.4-23.8s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8c-24-24-37.5-56.6-37.5-90.5v-2.7c0-22.8 6.1-44.9 17.3-64.3zM480 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'fas',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 176A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM78.7 372.9c15-12.5 50-34.4 97.3-50.1V432H400V322.7c47.3 15.8 82.3 37.7 97.3 50.1c20.4 17 50.6 14.2 67.6-6.1s14.2-50.6-6.1-67.6c-12-10-30.1-22.5-53.2-35C497.2 278.4 481.7 288 464 288c-26.5 0-48-21.5-48-48c0-4.3 .6-8.4 1.6-12.4C379.1 215.9 335.3 208 288 208c-60.2 0-114.9 12.9-160 29.9c0 .7 0 1.4 0 2.1c0 26.5-21.5 48-48 48c-11.8 0-22.7-4.3-31-11.4c-13.1 8.1-23.7 15.9-31.7 22.5c-20.4 17-23.1 47.2-6.1 67.6s47.2 23.1 67.6 6.1zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM224 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 240a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faTrashCanArrowUp = {\n prefix: 'fas',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faNairaSign = {\n prefix: 'fas',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M122.6 46.3c-7.8-11.7-22.4-17-35.9-12.9S64 49.9 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H228.2l97.2 145.8c7.8 11.7 22.4 17 35.9 12.9s22.7-16.5 22.7-30.6V320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H262.5L122.6 46.3zM305.1 320H320v22.3L305.1 320zM185.5 256H128V169.7L185.5 256z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32H360V134.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V32H120.1C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'fas',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144V300.1c0 12.7 5.1 24.9 14.1 33.9l3.9 3.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V371.9c0-12.7 5.1-24.9 14.1-33.9l3.9-3.9c9-9 14.1-21.2 14.1-33.9V144c0-26.5-21.5-48-48-48H320c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm0 136H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFilePen = {\n prefix: 'fas',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V285.7l-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.3-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"]\n};\nvar faSquarePen = {\n prefix: 'fas',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72H144V56zm176 72H288V56c0-30.9-25.1-56-56-56H152C121.1 0 96 25.1 96 56v72H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64c0 17.7 14.3 32 32 32s32-14.3 32-32H256c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zM112 224H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'fas',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm368 96H96V320H448V192z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M368 128c0 44.4-25.4 83.5-64 106.4V256c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V234.4c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z\"]\n};\nvar faCodeCompare = {\n prefix: 'fas',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v40h16c35.3 0 64-28.7 64-64V153.3C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V320c0 70.7-57.3 128-128 128H320v40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V128H176c-35.3 0-64 28.7-64 64V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-70.7 57.3-128 128-128h16V24zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faListDots = faListUl;\nvar faSchoolLock = {\n prefix: 'fas',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V272c0-61.9-50.1-112-112-112s-112 50.1-112 112v24.6c-19.1 11.1-32 31.7-32 55.4H320.3l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm240-72a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm16-120v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTowerCell = {\n prefix: 'fas',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M62.6 2.3C46.2-4.3 27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84C86.9 27.6 79 9 62.6 2.3zm450.8 0C497 9 489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108C548.4 3.6 529.8-4.3 513.4 2.3zM340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448H398.3l20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384H206.8l14.5-32H354.7l14.5 32zM288 205.3L325.6 288H250.4L288 205.3zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\"]\n};\nvar faDownLong = {\n prefix: 'fas',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M2 334.5c-3.8 8.8-2 19 4.6 26l136 144c4.5 4.8 10.8 7.5 17.4 7.5s12.9-2.7 17.4-7.5l136-144c6.6-7 8.4-17.2 4.6-26s-12.5-14.5-22-14.5l-72 0 0-288c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32l0 288-72 0c-9.6 0-18.2 5.7-22 14.5z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faRankingStar = {\n prefix: 'fas',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H256zM32 320c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm416 96v64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H480c-17.7 0-32 14.3-32 32z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M224 0c17.7 0 32 14.3 32 32V48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H256v48H408c22.1 0 40 17.9 40 40c0 5.3-1 10.5-3.1 15.4L368 400H80L3.1 215.4C1 210.5 0 205.3 0 200c0-22.1 17.9-40 40-40H192V112H176c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V32c0-17.7 14.3-32 32-32zM38.6 473.4L80 432H368l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H54.6C42.1 512 32 501.9 32 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faPersonHarassing = {\n prefix: 'fas',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9zM480 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM464 344v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V344c0-30.9-25.1-56-56-56s-56 25.1-56 56zM288 48c0 8.8 7.2 16 16 16h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm-.8 49.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-48-24z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'fas',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c17.7 0 32 14.3 32 32V50.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5h-1.7c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4v3.4c0 51.2-33.6 94.6-80 109.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V460.6c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5v-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2V32c0-17.7 14.3-32 32-32zM0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256z\"]\n};\nvar faLandmarkDome = {\n prefix: 'fas',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M248 0h16c13.3 0 24 10.7 24 24V34.7C368.4 48.1 431.9 111.6 445.3 192H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h2.7C80.1 111.6 143.6 48.1 224 34.7V24c0-13.3 10.7-24 24-24zM64 288h64V416h40V288h64V416h48V288h64V416h40V288h64V420.3c.6 .3 1.2 .7 1.7 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V288z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faShrimp = {\n prefix: 'fas',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M64 32C28.7 32 0 60.7 0 96s28.7 64 64 64h1c3.7 88.9 77 160 167 160h56V128H264 88.8 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zM224 456c0 13.3 10.7 24 24 24h72V407.8l-64.1-22.4c-12.5-4.4-26.2 2.2-30.6 14.7s2.2 26.2 14.7 30.6l4.5 1.6C233 433.9 224 443.9 224 456zm128 23.3c36.4-3.3 69.5-17.6 96.1-39.6l-86.5-34.6c-3 1.8-6.2 3.2-9.6 4.3v69.9zM472.6 415c24.6-30.3 39.4-68.9 39.4-111c0-12.3-1.3-24.3-3.7-35.9L382.8 355.1c.8 3.4 1.2 7 1.2 10.6c0 4.6-.7 9-1.9 13.1L472.6 415zM336 128H320V320h18.3c9.9 0 19.1 3.2 26.6 8.5l133.5-92.4C471.8 172.6 409.1 128 336 128zM168 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faListCheck = {\n prefix: 'fas',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faTasks = faListCheck;\nvar faJugDetergent = {\n prefix: 'fas',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm256 0v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faCircleUser = {\n prefix: 'fas',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M399 384.2C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 32c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32 14.3-32 32zM128 512h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faCarBurst = {\n prefix: 'fas',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2c11.3-16.3 26.4-28.9 43.5-37.2c-.4-.6-.8-1.2-1.3-1.8c-4.1-5.1-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74C188.4 12 182.6 8 176 8zM367.7 161.5l135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30l-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1 -12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2A24 24 0 1 1 545 358.1a24 24 0 1 1 -46.4-12.4z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'fas',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V298.3L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\"]\n};\nvar faPersonSnowboarding = {\n prefix: 'fas',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L192 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1l159 60.9c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faTruckFast = {\n prefix: 'fas',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M112 0C85.5 0 64 21.5 64 48V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 272c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 240c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 208c8.8 0 16 7.2 16 16s-7.2 16-16 16H64V416c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zM544 237.3V256H416V160h50.7L544 237.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V102.9L48 93.3v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'fas',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faClapperboard = {\n prefix: 'fas',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M448 32H361.9l-1 1-127 127h92.1l1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128V96c0-15.1-5.3-29.1-14-40l-104 104H512zM294.1 32H201.9l-1 1L73.9 160h92.1l1-1 127-127zM64 32C28.7 32 0 60.7 0 96v64H6.1l1-1 127-127H64zM512 192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faCircleRadiation = {\n prefix: 'fas',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faBaseball = {\n prefix: 'fas',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faJetFighterUp = {\n prefix: 'fas',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2v77l-144 84V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v56 32 24c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H192v32.7L133.5 468c-3.5 3-5.5 7.4-5.5 12v16c0 8.8 7.2 16 16 16h96V448c0-8.8 7.2-16 16-16s16 7.2 16 16v64h96c8.8 0 16-7.2 16-16V480c0-4.6-2-9-5.5-12L320 416.7V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V368 336 280c0-13.3-10.7-24-24-24s-24 10.7-24 24v18.8l-144-84v-77c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7z\"]\n};\nvar faDiagramProject = {\n prefix: 'fas',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M208 0H332.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128h80v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z\"]\n};\nvar faVolumeXmark = {\n prefix: 'fas',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M320 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512H348.8c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z\"]\n};\nvar faGrip = {\n prefix: 'fas',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'fas',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M352 224H305.5c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8h-2.5c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144h80V34.7C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2H384c-17.7 0-32-14.3-32-32V224zM80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V384c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faChildCombatant = {\n prefix: 'fas',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M176 128A64 64 0 1 0 176 0a64 64 0 1 0 0 128zm-8 352V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V300.5L260.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9H169.8c-33 0-63.7 16.9-81.2 44.9L36.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L104 300.5V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM448 0H432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32h16v96c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'fas',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H32C14.3 64 0 78.3 0 96V208c0 17.7 14.3 32 32 32H42c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480h96c14.7 0 27.5-10 31-24.2L217 352H321.4c23.7 0 44.8-14.9 52.7-37.2L400.9 240H432c8.5 0 16.6-3.4 22.6-9.4L477.3 208H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H528V56zM321.4 304H229l16-64h105l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3zM80 128H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSquarePhone = {\n prefix: 'fas',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"]\n};\nvar faComputer = {\n prefix: 'fas',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 96V320H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H181.3l-10.7 32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H277.3l-10.7-32H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm464 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528zm16 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faXmark = {\n prefix: 'fas',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faArrowsUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'fas',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H384V320c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32h64V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm0 64a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faPesoSign = {\n prefix: 'fas',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M64 32C46.3 32 32 46.3 32 64v64c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c68.4 0 127.7-39 156.8-96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.7c.5-5.3 .7-10.6 .7-16s-.2-10.7-.7-16h.7c17.7 0 32-14.3 32-32s-14.3-32-32-32H332.8C303.7 71 244.4 32 176 32H64zm190.4 96H96V96h80c30.5 0 58.2 12.2 78.4 32zM96 192H286.9c.7 5.2 1.1 10.6 1.1 16s-.4 10.8-1.1 16H96V192zm158.4 96c-20.2 19.8-47.9 32-78.4 32H96V288H254.4z\"]\n};\nvar faBuildingShield = {\n prefix: 'fas',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V207l-42.4 17H304 272c-8.8 0-16 7.2-16 16v32 24.2V304c0 .9 .1 1.7 .2 2.6c2.3 58.1 24.1 144.8 98.7 201.5c-5.8 2.5-12.2 3.9-18.9 3.9H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128V251.7c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\"]\n};\nvar faUsersLine = {\n prefix: 'fas',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M211.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM32 256c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96c-35.3 0-64 28.7-64 64zm461.6 32H576c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4zM391.2 226.4c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32c-10.8-30.7-36.8-54.2-68.9-61.6zM563.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM321.6 192a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320 288 216z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M96 64c0-35.3 28.7-64 64-64H266.3c26.2 0 49.7 15.9 59.4 40.2L373.7 160H480V126.2c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2c-39.3 0-74.1 18.9-96 48H352c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8V480c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V192 160 64zm170.3 0H160v96h32H304.7L266.3 64zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zM528 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88c0-29.8 14.8-56.1 37.4-72c14.3-10.1 31.8-16 50.6-16c2.7 0 5.3 .1 7.9 .3c44.9 4 80.1 41.7 80.1 87.7c0 48.6-39.4 88-88 88z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'fas',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'fas',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M150.6 502.6l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7V288H416V272c0-17.2 3.9-33.5 10.8-48H352V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-6-6-14.1-9.4-22.6-9.4s-16.6 3.4-22.6 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 109.3V224l-128 0H96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H96V402.7L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0zM160 192V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64zM288 320V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H288zm240-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faLinesLeaning = {\n prefix: 'fas',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zm70.9-41.7c-17.4-2.9-33.9 8.9-36.8 26.3l-64 384c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l64-384c2.9-17.4-8.9-33.9-26.3-36.8zM352 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 64C0 28.7 28.7 0 64 0h64 32H470.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H459.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zM145.5 192L133.8 64H64V192h81.5zM144 384H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H192c35.3 0 64 28.7 64 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-70.7-57.3-128-128-128H32zM320 480c70.7 0 128-57.3 128-128V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 35.3-28.7 64-64 64H192V192c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32H320z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M384 476.1L192 421.2V35.9L384 90.8V476.1zm32-1.2V88.4L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3V394.6c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2V423.6L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faPhotoFilm = {\n prefix: 'fas',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 0H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128h96V384v32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384H512v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4zM499.7 254.9l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 252.6c-4 1-8 1.8-12.3 2.3z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'fas',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V205.3L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160H384z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'fas',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faSignHanging = {\n prefix: 'fas',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M96 0c17.7 0 32 14.3 32 32V64l352 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-352 0V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32C14.3 128 0 113.7 0 96S14.3 64 32 64H64V32C64 14.3 78.3 0 96 0zm96 160H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faSign = faSignHanging;\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M296 136V88h48v48H296zM288 32c-26.5 0-48 21.5-48 48v4H121.6C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36h66.9c-58.9 39.6-98.9 105-104 180H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-3.3c5.9-67 48.5-123.4 107.5-149.1c8.6 12.7 23.2 21.1 39.8 21.1h64c16.6 0 31.1-8.4 39.8-21.1c59 25.7 101.6 82.1 107.5 149.1H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-4.5c-5-75-45.1-140.4-104-180h66.9c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36H400V80c0-26.5-21.5-48-48-48H288zM88 376h48v48H88V376zm416 48V376h48v48H504z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6c.5-1.7 .7-3.5 .7-5.4c0-27.6-11-54.1-30.5-73.7L512 320c-20.5-20.5-32-48.3-32-77.3V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM160 242.7c0 29-11.5 56.8-32 77.3l-1.5 1.5C107 341 96 367.5 96 395.2c0 11.5 9.3 20.8 20.8 20.8H406.2L160 222.1v20.7zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 432h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'fas',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H320.7l89.6 64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336V400c0-26.5-21.5-48-48-48s-48 21.5-48 48V512H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H165.7L256 95.5V32c0-17.7 14.3-32 32-32zm48 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm368 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80zm384 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H464z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L386.7 288H67.5c1.4-5.4 4.2-10.4 8.4-14.6L168 181.3z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176v89.2z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72v22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7v-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8v32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8v-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c-9.6-2.7-19.5 2.8-22.3 12.4l-4.3 15.2c-8.3-.6-16.8 0-25.2 1.9c-7.3 1.7-14.3 3.5-21.1 5.5l-5.5-12.7c-3.9-9.1-14.5-13.4-23.6-9.5s-13.4 14.5-9.5 23.6l4.4 10.4c-16.6 6.7-31.7 14.4-45.4 22.8L147 62c-5.5-8.3-16.7-10.5-25-5s-10.5 16.7-5 25l6 9c-13.7 11-25.5 22.8-35.8 34.9l-10-8c-7.8-6.2-19.1-5-25.3 2.8s-5 19.1 2.8 25.3L65.9 155c-1.8 2.8-3.5 5.7-5.1 8.5c-6.6 11.4-11.8 22.6-16 33l-8-3.2c-9.2-3.7-19.7 .8-23.4 10s.8 19.7 10 23.4l10.4 4.2c-.2 .8-.4 1.5-.5 2.3c-2.2 9.3-3.4 17.3-4.1 23.4c-.4 3.1-.6 5.7-.8 7.8c-.1 1.1-.1 2-.2 2.8l-.1 1.1 0 .5 0 .2 0 .1c0 0 0 .1 29.1 1l-.1 0L28 269.3c-.1 3.1 0 6.1 .2 9.1l-15.2 4.3C3.5 285.4-2 295.4 .7 304.9s12.7 15.1 22.3 12.4l15.6-4.5c7.6 13.6 18.9 25 32.6 32.6L66.7 361c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.3-12.4l4.3-15.2c1.2 .1 2.4 .2 3.6 .2c15.6 .5 30.3-3.3 43-10.2l9 9c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-7.2-7.2c9.3-12.6 15.2-27.8 16.3-44.5l7.1 3c9.1 3.9 19.7-.3 23.6-9.5s-.3-19.7-9.5-23.6l-8.6-3.7c6.4-9.9 17.3-22.4 36.9-33.3l1.3 4.4c2.7 9.6 12.7 15.1 22.3 12.4s15.1-12.7 12.4-22.3l-2.3-8.1c3.8-1.1 7.7-2.1 11.9-3.1c11.6-2.7 22.1-7.7 31.1-14.4l7.2 7.2c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-9-9c7.6-13.9 11.3-30.1 10.1-46.6l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3S370.6 64 361 66.7l-15.6 4.5c-7.7-13.9-19.1-25.1-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3zM112 272l-48-1.5 0 0c11.7 .4 27.3 .9 48 1.6zm16-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM322.7 489c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l4.3-15.2c8.3 .6 16.8 0 25.2-1.9c7.3-1.7 14.3-3.5 21.1-5.5l5.5 12.7c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-4.4-10.4c16.6-6.7 31.7-14.4 45.4-22.8L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-6-9c13.7-11 25.5-22.8 35.8-34.9l10 8c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574.1 357c1.8-2.8 3.5-5.7 5.1-8.5c6.6-11.4 11.8-22.6 16-33l8 3.2c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-10.4-4.2c.2-.8 .4-1.5 .5-2.3c2.2-9.3 3.4-17.3 4.1-23.4c.4-3.1 .6-5.7 .8-7.8c.1-1.1 .1-2 .2-2.8l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.1-1l.1 0 29.1 .9c.1-3.1 0-6.1-.2-9.1l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-15.6 4.5c-7.6-13.6-18.9-25-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.3 12.4l-4.3 15.2c-1.2-.1-2.4-.2-3.6-.2c-15.6-.5-30.3 3.3-43 10.2l-9-9c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l7.2 7.2c-9.3 12.6-15.2 27.8-16.3 44.5l-7.1-3c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.6 3.7c-6.4 9.9-17.3 22.4-36.9 33.3l-1.3-4.4c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l2.3 8.1c-3.8 1.1-7.7 2.1-11.9 3.1c-11.6 2.7-22.1 7.7-31.1 14.4l-7.2-7.2c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l9 9c-7.6 13.9-11.3 30.1-10.1 46.6l-15.2 4.3c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l15.6-4.5c7.7 13.9 19.1 25.1 32.6 32.6L322.7 489zM576 241.5l0 0c-11.7-.4-27.3-.9-48-1.6l48 1.5zM448 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M0 112C0 85.5 21.5 64 48 64H160h80 46.5c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8v12 16 48c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V402.2L273.9 352H240 160 112c-26.5 0-48-21.5-48-48s21.5-48 48-48h48 80c26.5 0 48-21.5 48-48s-21.5-48-48-48H160 48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faNotdef = {\n prefix: 'fas',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M64 390.3L153.5 256 64 121.7V390.3zM102.5 448H281.5L192 313.7 102.5 448zm128-192L320 390.3V121.7L230.5 256zM281.5 64H102.5L192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M236.4 61.4L227 75.5c-21.3 32-59.4 48.5-97.3 42.1l-59.6-9.9C33.4 101.6 0 129.9 .1 167.1c0 15.9 6.4 31.2 17.6 42.5l29.2 29.2c11 11 17.2 25.9 17.2 41.5c0 15.8-6.4 30.9-17.7 42L33.3 335.1C22.2 345.9 16 360.7 16 376.2c0 36.8 34.1 64.2 70.1 56.2l62.3-13.8c7.7-1.7 15.7-2.6 23.6-2.6h10c27.2 0 53.7 9.3 75 26.3L287.8 467c10.5 8.4 23.6 13 37 13c32.7 0 59.3-26.5 59.3-59.3l0-25.2c0-34.9 21.4-66.2 53.9-78.8l36.9-14.3c22.4-8.7 37.2-30.3 37.2-54.3c0-28.1-20.1-52.3-47.8-57.3l-28-5.1c-36.5-6.7-65.4-34.5-73.6-70.7l-7.1-31.5C348.9 53.4 322.1 32 291.3 32c-22 0-42.6 11-54.9 29.4zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm96 152c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 288a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M272 416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32-14.3-32-32V192h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 128c0 53 43 96 96 96H272zM304 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0c17.7 0 32 14.3 32 32l0 128H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0V192c0-53-43-96-96-96L304 96z\"]\n};\nvar faCarRear = {\n prefix: 'fas',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256v80c0 23.7 12.9 44.4 32 55.4V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H384v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V391.4c19.1-11.1 32-31.7 32-55.4V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM208 272h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24-10.7-24-24zm360-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.4-67.7 13.8 9.2c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L448 174.9V192 320v5.8l-32-25.1V128c0-35.3-28.7-64-64-64H113.9L38.8 5.1zM407 416.7L32.3 121.5c-.2 2.1-.3 4.3-.3 6.5V384c0 35.3 28.7 64 64 64H352c23.4 0 43.9-12.6 55-31.3z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm112 96H96V320h96V192z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faRadio = {\n prefix: 'fas',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192v4V304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H218.5L494.8 47zM368 240a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM80 256c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM64 320c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0V160zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M96 382.1V293.3c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4H129.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M576 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H184.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M232 0c-22.1 0-40 17.9-40 40V204.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H304c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128A64 64 0 1 0 0 128a64 64 0 1 0 128 0zM384 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M64 32C28.7 32 0 60.7 0 96V304v80 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16H416h33.6c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM176 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'fas',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM83 297.5L66.4 64H317.6L301 297.5 288 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nvar faDisplay = {\n prefix: 'fas',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\"]\n};\nvar faFaceSmile = {\n prefix: 'fas',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z\"]\n};\nvar faPersonPraying = {\n prefix: 'fas',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM232.7 264l22.9 31.5c6.5 8.9 16.3 14.7 27.2 16.1s21.9-1.7 30.4-8.7l88-72c17.1-14 19.6-39.2 5.6-56.3s-39.2-19.6-56.3-5.6l-55.2 45.2-26.2-36C253.6 156.7 228.6 144 202 144c-30.9 0-59.2 17.1-73.6 44.4L79.8 280.9c-20.2 38.5-9.4 85.9 25.6 111.8L158.6 432H72c-22.1 0-40 17.9-40 40s17.9 40 40 40H280c17.3 0 32.6-11.1 38-27.5s-.3-34.4-14.2-44.7L187.7 354l45-90z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6V105.5L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M224 0c17.7 0 32 14.3 32 32V240H192V32c0-17.7 14.3-32 32-32zm96 160c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zM93.3 51.2L175.9 240H106.1L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5h69.9H216c22.1 0 40 17.9 40 40s-17.9 40-40 40H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H226.3c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363V336c0-32.7 24.6-59.7 56.3-63.5z\"]\n};\nvar faRotate = {\n prefix: 'fas',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSyncAlt = faRotate;\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M224 445.3V323.5l-94.3 77.1c26.1 22.8 58.5 38.7 94.3 44.7zM89.2 351.1L224 240.8V66.7C133.2 81.9 64 160.9 64 256c0 34.6 9.2 67.1 25.2 95.1zm293.1 49.5L288 323.5V445.3c35.7-6 68.1-21.9 94.3-44.7zm40.6-49.5c16-28 25.2-60.5 25.2-95.1c0-95.1-69.2-174.1-160-189.3V240.8L422.8 351.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGears = {\n prefix: 'fas',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8h-.7c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCogs = faGears;\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24l-336 0c-13.3 0-24-10.7-24-24V432H512l0 56c0 13.3-10.7 24-24 24zM128 400V336H512v64H128zm0-96V224H512l0 80H128z\"]\n};\nvar faArrowUpRightDots = {\n prefix: 'fas',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V160c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H160zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M208.5 62.3l28.1-36.9C248.8 9.4 267.8 0 288 0c28.5 0 53.6 18.7 61.8 46l17.8 59.4c10.3 34.4 36.1 62 69.8 74.6l39.8 14.9c20.9 7.9 34.8 27.9 34.8 50.2c0 16.9-7.9 32.8-21.5 42.9l-67.3 50.5c-24.3 18.2-37.2 47.9-33.8 78.1l2.5 22.7c4.3 38.7-26 72.6-65 72.6c-14.8 0-29.3-5.1-40.8-14.3l-55.4-44.3c-4.5-3.6-9.3-6.7-14.5-9.2c-15.8-7.9-33.7-10.4-51-7.3L82.4 451.9C47.8 458.2 16 431.6 16 396.5c0-13.2 4.7-26 13.1-36.2l11.2-13.4c14.6-17.4 22.6-39.4 22.6-62.1c0-18.8-5.5-37.2-15.8-53L8.8 173.5C3.1 164.7 0 154.4 0 143.9c0-33.4 30.1-58.8 63-53.2l51.3 8.7c35.9 6.1 72.2-8.2 94.2-37.1z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'fas',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M64 0H242.7c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32v32h64V192H96zM64 352h80 96 80V288H240 144 64v64zM320 224c0-17.7-14.3-32-32-32H256v64h64V224zM160 192v64h64V192H160zM288 448c17.7 0 32-14.3 32-32V384H256v64h32zM160 384v64h64V384H160zM64 416c0 17.7 14.3 32 32 32h32V384H64v32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h96c8.8 0 16 7.2 16 16v96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2V432h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V414.2C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112V16C0 7.2 7.2 0 16 0h96zM352 256a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224a112 112 0 1 0 224 0A112 112 0 1 0 80 224z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'fas',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M32 64C14.3 64 0 49.7 0 32S14.3 0 32 0l96 0c53 0 96 43 96 96l0 306.7 73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 160 96c0-17.7-14.3-32-32-32L32 64z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faPersonFallingBurst = {\n prefix: 'fas',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C71.6 154.5 32 213 32 278.2V352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L261.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L222.6 320H224l80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C341.3 263.1 327.1 256 312 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8zM96 80A48 48 0 1 0 0 80a48 48 0 1 0 96 0zM464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7c.1 .3 .1 .6 .2 .8l19.4 0c20.1 0 39.2 7.5 53.8 20.8l18.4 2.9L383 265.3l36.2 48.3c2.1 2.8 3.9 5.7 5.5 8.6L464 286.1z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'fas',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192V128z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faAnglesLeft = {\n prefix: 'fas',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM64 96v64h64V96H64zM0 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zm64 16v64h64V352H64zM304 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm80 64H320v64h64V96zM256 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V304zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'fas',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faFaceGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3c-4.1 1.1-8.4 1.7-12.8 1.7c-26.5 0-48-21-48-47c0-5 1.8-11.3 4.6-18.1c.3-.7 .6-1.4 .9-2.1c9-20.2 26.5-44.9 36-57.5c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81c0 21.7-14.9 39.8-35.2 45.3zM256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM383.8 317.8C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7c5.1-11.8-6.9-22.4-19.2-18.7zm-166.2-89l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V288H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM384 336V288H494.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H384zm0-208H256V0L384 128z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'fas',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'fas',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faHouseMedical = {\n prefix: 'fas',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'fas',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M384 192c0 66.8-34.1 125.6-85.8 160H85.8C34.1 317.6 0 258.8 0 192C0 86 86 0 192 0S384 86 384 192zM242.1 256.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM96 416c0-17.7 14.3-32 32-32h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-8.8 0-16 7.2-16 16v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V464c0-8.8-7.2-16-16-16H128c-17.7 0-32-14.3-32-32z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'fas',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'fas',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H248z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3L312.7 74.1 437.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L447.6 18.3c-21.9-21.9-57.3-21.9-79.2 0zM288 94.6l-9.2 2.8L134.7 140.6c-19.9 6-35.7 21.2-42.3 41L3.8 445.8c-3.8 11.3-1 23.9 7.3 32.4L164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L33.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c19.7-6.6 35-22.4 41-42.3l43.2-144.1 2.8-9.2L288 94.6z\"]\n};\nvar faTentArrowTurnLeft = {\n prefix: 'fas',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faTents = {\n prefix: 'fas',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M396.6 6.5L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5H608c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128c-11.5-8.7-27.3-8.7-38.8 0zm-153.2 160c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S22.7 512 32 512H224V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faWandMagic = {\n prefix: 'fas',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3zM347.6 187.6l105-105L429.4 59.3l-105 105 23.3 23.3z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7l-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16H303.8L416 256.1zM464 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.3-55.3 0 .1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L199.7 433l100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'fas',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zm0 47.8V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288H512z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M256 64c53 0 96 43 96 96s-43 96-96 96s-96 43-96 96s43 96 96 96C150 448 64 362 64 256S150 64 256 64zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\"]\n};\nvar faCodeCommit = {\n prefix: 'fas',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H163.2C178 151 242.6 96 320 96s142 55 156.8 128H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H476.8z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M448 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 96a96 96 0 1 1 192 0A96 96 0 1 1 320 96zM144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faPersonBiking = {\n prefix: 'fas',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zM56 384a72 72 0 1 1 144 0A72 72 0 1 1 56 384zm200 0A128 128 0 1 0 0 384a128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm200 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faBiking = faPersonBiking;\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M566.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192-34.7-34.7c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6v29.1L364.3 320h29.1c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-34.7-34.7 192-192zM341.1 353.4L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l51.1-25.5c5-2.5 9.5 4.1 5.4 7.9L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]\n};\nvar faShieldHeart = {\n prefix: 'fas',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64v64c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H416V352H384V224H352V128H320v96h32V352h32V512H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H128V352h32V224h32V128H160v96H128V352H96V512H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V256c0-17.7 14.3-32 32-32V160c0-17.7 14.3-32 32-32V64 32 24c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32v48h64V304c0-17.7-14.3-32-32-32zm-32-80v32h64V192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faEarthOceania = {\n prefix: 'fas',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faSquareXmark = {\n prefix: 'fas',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'fas',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32H144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H288V128h32zM96 208v86.1L48 272.8V208H96z\"]\n};\nvar faT = {\n prefix: 'fas',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2h32c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 26.2-12.6 49.4-32 64v32c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V320H480v16c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V318.4c-11.8-2.4-22.7-7.4-32-14.4c-1.5-1.1-2.9-2.3-4.3-3.5c-17-14.7-27.7-36.4-27.7-60.5c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2V352c0 17.7 14.3 32 32 32h32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V372c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12v76c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V329.1L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1h7.2H256h32c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faChartColumn = {\n prefix: 'fas',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm128-64V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64 32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM480 96V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'fas',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 64C0 46.3 14.3 32 32 32H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64zM96 96v96h64V96H96zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'fas',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM464 64V306.7l-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 320a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm119.8 0c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80H263.8zM496 160a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224H29.4C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480v2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288h2.6c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32V29.4C288 13.2 274.8 0 258.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPersonWalkingLuggage = {\n prefix: 'fas',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM347.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L505 232.7l-15.3-36.8C472.5 154.8 432.3 128 387.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L340.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM256 274.1c-7.7-4.4-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296c4.4-7.7 1.8-17.4-5.9-21.9z\"]\n};\nvar faUpDown = {\n prefix: 'fas',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M145.6 7.7C141 2.8 134.7 0 128 0s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9S14.5 160 24 160H80V352H24c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7s13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H176V160h56c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M481.2 0C417 0 363.5 46.5 353.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5zM367.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.3 114.6 210.8 96 176 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H367.9zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H488h8H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V80c0-26.5-21.5-48-48-48H48zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21V112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"]\n};\nvar faHaykal = faBahai;\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H141.3C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M416 0C352.3 0 256 32 256 32V160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zM288 512c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32V480s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCirclePlus = {\n prefix: 'fas',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM320 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6zM336 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .1 .5 .5 0 1 1 .9-.1z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'fas',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'fas',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M288 448H64V224h64V160H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64zm-64-96H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384H480c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96H461.3l25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'fas',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 64c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zm96 192c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 262.8 428.1 256 416 256zM395.8 400L416 359.6 436.2 400H395.8z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'fas',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M153.6 29.9l16-21.3C173.6 3.2 180 0 186.7 0C198.4 0 208 9.6 208 21.3V43.5c0 13.1 5.4 25.7 14.9 34.7L307.6 159C356.4 205.6 384 270.2 384 337.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6C85.9 176 96 186.1 96 198.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7c0-27.7 9-54.8 25.6-76.9z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'fas',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M0 32V45.6C0 62.7 1.7 79.6 5 96H357.8c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0H32C14.3 0 0 14.3 0 32zm352.2 96H13.6c12.2 35.9 32.3 68.7 58.8 96H412l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3H445c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9H110.2c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9H288z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'fas',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faBookQuran = {\n prefix: 'fas',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM274.1 150.2l-8.9 21.4-23.1 1.9c-5.7 .5-8 7.5-3.7 11.2L256 199.8l-5.4 22.6c-1.3 5.5 4.7 9.9 9.6 6.9L280 217.2l19.8 12.1c4.9 3 10.9-1.4 9.6-6.9L304 199.8l17.6-15.1c4.3-3.7 2-10.8-3.7-11.2l-23.1-1.9-8.9-21.4c-2.2-5.3-9.6-5.3-11.8 0zM96 192c0 70.7 57.3 128 128 128c25.6 0 49.5-7.5 69.5-20.5c3.2-2.1 4.5-6.2 3.1-9.7s-5.2-5.6-9-4.8c-6.1 1.2-12.5 1.9-19 1.9c-52.4 0-94.9-42.5-94.9-94.9s42.5-94.9 94.9-94.9c6.5 0 12.8 .7 19 1.9c3.8 .8 7.5-1.3 9-4.8s.2-7.6-3.1-9.7C273.5 71.5 249.6 64 224 64C153.3 64 96 121.3 96 192z\"]\n};\nvar faQuran = faBookQuran;\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c88.4 0 160-71.6 160-160v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 53-43 96-96 96H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 96V224H256V96H384zm0 192V416H256V288H384zM192 224H64V96H192V224zM64 288H192V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFaceAngry = {\n prefix: 'fas',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'fas',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M384 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v82.7L342.6 137.4c-12.5-12.5-32.8-12.5-45.3 0L192 242.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0L320 205.3 466.7 352H384z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFeed = faRss;\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1l0 0 32-56 4.5-7.9-.1-.3H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z\"]\n};\nvar faScaleBalanced = {\n prefix: 'fas',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faGaugeSimpleHigh = {\n prefix: 'fas',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M64 131.9C64 112.1 80.1 96 99.9 96c9.5 0 18.6 3.8 25.4 10.5l16.2 16.2c-21 38.9-17.4 87.5 10.9 123L151 247c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-1.3 1.3c-35.5-28.3-84.2-31.9-123-10.9L170.5 61.3C151.8 42.5 126.4 32 99.9 32C44.7 32 0 76.7 0 131.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32V131.9zM256 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'fas',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.2c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V169.7L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 49.9 9.2 37.5 22.7 33.4z\"]\n};\nvar faTableList = {\n prefix: 'fas',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64H448V96zM64 224v64h64V224H64zm384 0H192v64H448V224zM64 352v64h64V352H64zm384 0H192v64H448V352z\"]\n};\nvar faThList = faTableList;\nvar faCommentSms = {\n prefix: 'fas',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM202.9 176.8c6.5-2.2 13.7 .1 17.9 5.6L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-6.9 4.4-13 10.9-15.2zm173.1 38c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.2-.4-23.7-4.4-32.6-7.4l0 0 0 0c-1.4-.5-2.7-.9-4-1.4c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.7 .6 3.3 1.1 4.9 1.6l0 0 0 0c9.1 3.1 15.6 5.3 22.6 5.5c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4c-7.2-2.2-16.7-5-24.3-9.6c-9-5.4-17.7-14.7-17.7-29.4c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c10 .2 19.7 2.3 27.9 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.3-1.9-14.1-3.3-20.1-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9zm-272 0c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.3-.4-24.2-4.5-33.2-7.6l0 0 0 0c-1.3-.4-2.5-.8-3.6-1.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.4 .5 2.8 .9 4.1 1.4l0 0 0 0c9.5 3.2 16.5 5.6 23.7 5.8c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4 0 0c-7.2-2.2-16.7-5-24.3-9.6C80.8 239 72.1 229.7 72 215c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c9.5 .1 22.2 2.1 31.1 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-6.6-1.8-16.8-3.3-23.3-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9z\"]\n};\nvar faSms = faCommentSms;\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM504 312V248H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V136c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm272 96H96V320H352V192z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faHouseCircleCheck = {\n prefix: 'fas',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faDiagramSuccessor = {\n prefix: 'fas',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM64 160l0-64 144 0 16 0 0 64L64 160zm224 0l0-64 80 0c8.8 0 16 7.2 16 16l0 16-38.1 0c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41L448 128l0-16c0-44.2-35.8-80-80-80L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'fas',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257 95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H262.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 95z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'fas',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64H109.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H224c23.3 0 45.2 6.2 64 17.1V109.3l-41.4 41.4z\"]\n};\nvar faHandFist = {\n prefix: 'fas',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M192 0c17.7 0 32 14.3 32 32V144H160V32c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H64V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faFistRaised = faHandFist;\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80H96c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z\"]\n};\nvar faPersonFalling = {\n prefix: 'fas',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M288 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L304.5 256l87.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L384 320l-96 0h-1.4l92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L164.5 249.2c-2.9 9.2-4.5 19-4.5 29l0 73.8c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.2c0-65.1 39.6-123.7 100.1-147.9C232.3 115.8 256 80.8 256 41.8l0-9.8c0-17.7 14.3-32 32-32zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faImagePortrait = {\n prefix: 'fas',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M384 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5l-99.2-99.2c-14.9-14.9-23.3-35.1-23.3-56.1v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3zM384 224c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384zm24 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRug = {\n prefix: 'fas',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64H56 80V88v88 80 80 88 24H56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V360H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V200H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64zm88 0H528V448H112V64zM640 88c0 13.3-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H584 560V424 336 256 176 88 64h24 32c13.3 0 24 10.7 24 24z\"]\n};\nvar faEarthEurope = {\n prefix: 'fas',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'fas',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H541.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H253.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32zM432 96V56c0-4.4-3.6-8-8-8H344c-4.4 0-8 3.6-8 8V96h96zM288 96V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96 320H288V96zM512 320V96h16c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H512zM240 96h16V320H240c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faRectangleXmark = {\n prefix: 'fas',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faBahtSign = {\n prefix: 'fas',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M144 0c-17.7 0-32 14.3-32 32V64H37.6C16.8 64 0 80.8 0 101.6V224v41.7V288 406.3c0 23 18.7 41.7 41.7 41.7H112v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112V32c0-17.7-14.3-32-32-32zM112 128v96H64V128h48zm64 96V128c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64v96H64V288h48zm64 96V288h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H176z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'fas',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zm90.4-234.4l-21.2-21.2c-3 10.1-5.1 20.6-5.1 31.6c0 .2 0 .5 .1 .8s.1 .5 .1 .8L165.2 226c2.5 2.1 3.4 5.8 2.3 8.9c-1.3 3-4.1 5.1-7.5 5.1c-1.9-.1-3.8-.8-5.2-2l-23.6-20.6C142.8 267 186.9 304 240 304s97.3-37 108.9-86.6L325.3 238c-1.4 1.2-3.3 2-5.3 2c-2.2-.1-4.4-1.1-6-2.8c-1.2-1.5-1.9-3.4-2-5.2c.1-2.2 1.1-4.4 2.8-6l37.1-32.5c0-.3 0-.5 .1-.8s.1-.5 .1-.8c0-11-2.1-21.5-5.1-31.6l-21.2 21.2c-3.1 3.1-8.1 3.1-11.3 0s-3.1-8.1 0-11.2l26.4-26.5c-8.2-17-20.5-31.7-35.9-42.6c-2.7-1.9-6.2 1.4-5 4.5c8.5 22.4 3.6 48-13 65.6c-3.2 3.4-3.6 8.9-.9 12.7c9.8 14 12.7 31.9 7.5 48.5c-5.9 19.4-22 34.1-41.9 38.3l-1.4-34.3 12.6 8.6c.6 .4 1.5 .6 2.3 .6c1.5 0 2.7-.8 3.5-2s.6-2.8-.1-4L260 225.4l18-3.6c1.8-.4 3.1-2.1 3.1-4s-1.4-3.5-3.1-3.9l-18-3.7 8.5-14.3c.8-1.2 .9-2.9 .1-4.1s-2-2-3.5-2l-.1 0c-.7 .1-1.5 .3-2.1 .7l-14.1 9.6L244 87.9c-.1-2.2-1.9-3.9-4-3.9s-3.9 1.6-4 3.9l-4.6 110.8-12-8.1c-1.5-1.1-3.6-.9-5 .4s-1.6 3.4-.8 5l8.6 14.3-18 3.7c-1.8 .4-3.1 2-3.1 3.9s1.4 3.6 3.1 4l18 3.8-8.6 14.2c-.2 .6-.5 1.4-.5 2c0 1.1 .5 2.1 1.2 3c.8 .6 1.8 1 2.8 1c.7 0 1.6-.2 2.2-.6l10.4-7.1-1.4 32.8c-19.9-4.1-36-18.9-41.9-38.3c-5.1-16.6-2.2-34.4 7.6-48.5c2.7-3.9 2.3-9.3-.9-12.7c-16.6-17.5-21.6-43.1-13.1-65.5c1.2-3.1-2.3-6.4-5-4.5c-15.3 10.9-27.6 25.6-35.8 42.6l26.4 26.5c3.1 3.1 3.1 8.1 0 11.2s-8.1 3.1-11.2 0z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faHandcuffs = {\n prefix: 'fas',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'fas',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", \"M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"]\n};\nvar faArrowTurnRight = faShare;\nvar faMailForward = faShare;\nvar faBottleDroplet = {\n prefix: 'fas',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M96 0C82.7 0 72 10.7 72 24s10.7 24 24 24c4.4 0 8 3.6 8 8v64.9c0 12.2-7.2 23.1-17.2 30.1C53.7 174.1 32 212.5 32 256V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V256c0-43.5-21.7-81.9-54.8-105c-10-7-17.2-17.9-17.2-30.1V56c0-4.4 3.6-8 8-8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0 0 0 0H104l0 0 0 0L96 0zm64 382c-26.5 0-48-20.1-48-45c0-16.8 22.1-48.1 36.3-66.4c6-7.8 17.5-7.8 23.5 0C185.9 288.9 208 320.2 208 337c0 24.9-21.5 45-48 45z\"]\n};\nvar faMaskFace = {\n prefix: 'fas',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM132.3 346.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48c0 45.1 13.4 87.2 36.3 122.3zm405.1-7.4l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM192 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHillRockslide = {\n prefix: 'fas',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M252.4 103.8l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2H293.4c-5.8 0-11.1 3.1-13.9 8.2l-27 48c-2.7 4.9-2.7 10.8 0 15.7zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9V309.4c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9v53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRightLeft = {\n prefix: 'fas',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'fas',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3c9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4C430 66.6 410.9 50.6 389.7 37.6c-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1 .2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4C185.5 9.4 178.8 24 184 36.8l30.3 75.8c4.5 11.3 16.8 17.2 29 16c4.2-.4 8.4-.6 12.7-.6s8.6 .2 12.7 .6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6c1.3-1.1 2.6-2.3 4-3.3c9.3-7.5 13.9-20.1 9.5-31.2L154.4 49.2c-5.2-12.9-20.3-18.8-32.1-11.6C101.1 50.6 82 66.6 65.5 85zm314 137.1c.9 3.3 1.7 6.6 2.3 10c2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24c-2.5-27.2-9.3-53.2-19.7-77.3c-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9c.6-3.4 1.4-6.7 2.3-10c3.1-11.4-.2-24-10-30.5L53.9 145.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H408zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H408zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'fas',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM128 416H64V352c35.3 0 64 28.7 64 64zM64 224V160h64c0 35.3-28.7 64-64 64zM448 352c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7 .8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M544 160l-.1 72.6c-.1 52.2-24 101-64 133.1c.1-1.9 .1-3.8 .1-5.7v-8c0-71.8-37-138.6-97.9-176.7l-60.2-37.6c-8.6-5.4-17.9-8.4-27.3-9.4L248.7 48.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8l78 135.1c3.3 5.7 10.7 7.7 16.4 4.4s7.7-10.7 4.4-16.4l-62-107.4c-6.6-11.5-2.7-26.2 8.8-32.8S362 5 368.6 16.5l68 117.8 0 0 0 0 43.3 75L480 160c0-17.7 14.4-32 32-32s32 14.4 32 32zM243.9 88.5L268.5 131c-13.9 4.5-26.4 13.7-34.7 27c-.9 1.4-1.7 2.9-2.5 4.4l-28.9-50c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zm-46.4 63.7l26.8 46.4c.6 6 2.1 11.8 4.3 17.4H224 210.7l0 0H179l-23-39.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zM260.9 175c9.4-15 29.1-19.5 44.1-10.2l60.2 37.6C416.7 234.7 448 291.2 448 352v8c0 83.9-68.1 152-152 152H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h92c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H224l0 0 0 0h93.2L271 219.1c-15-9.4-19.5-29.1-10.2-44.1z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faWaterLadder = {\n prefix: 'fas',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 127.7C128 74.9 170.9 32 223.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V224H384V127.7C384 74.9 426.9 32 479.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1c-18 12.4-40.1 20.3-59.2 20.3h0V288H192v96.5c-19 0-41.2-7.9-59.1-20.3c-1.6-1.1-3.2-2.2-4.9-3.1V127.7zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'fas',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faFaceGrimace = {\n prefix: 'fas',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-112h-8V360l55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344V304h8c23.8 0 43.5 17.3 47.3 40zM328 344H264V304h64v40zm0 56H264V360h64v40zm-80-96v40l-64 0V304h64zm0 56v40H184V360l64 0zm-80-16H112.7c3.8-22.7 23.6-40 47.3-40h8v40zm0 56h-8c-23.8 0-43.5-17.3-47.3-40H168v40zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'fas',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM204.5 121.3c-5.4-2.5-11.7-1.9-16.4 1.7l-40.9 30.7c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l40.9-30.7c23.7-17.8 55.3-21 82.1-8.4l90.4 42.5c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224h97.4c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c11.1 0 22 1.1 32.4 3.3l54.2-54.2-42.1-19.8zM160 448a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'fas',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M350 334.5c3.8 8.8 2 19-4.6 26l-136 144c-4.5 4.8-10.8 7.5-17.4 7.5s-12.9-2.7-17.4-7.5l-136-144c-6.6-7-8.4-17.2-4.6-26s12.5-14.5 22-14.5h88l0-192c0-17.7-14.3-32-32-32H32C14.3 96 0 81.7 0 64V32C0 14.3 14.3 0 32 0l80 0c70.7 0 128 57.3 128 128l0 192h88c9.6 0 18.2 5.7 22 14.5z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faPersonWalkingArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'fas',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144H352c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4V336c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V210.4l136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8L173.1 413.7c28.1 28.1 73.7 28.1 101.8 0L413.7 274.9c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 376a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM352 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 120a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H461.7c11.6 36 3.1 77-25.4 105.5L320 413.8V448zM480 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\"]\n};\nvar faBandage = {\n prefix: 'fas',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 416h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H480V416zM448 96H192V416H448V96zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64h96V96H64zM248 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM344 376c13.3 0 24-10.7 24-24s-10.7-24-24-24H168c-13.3 0-24 10.7-24 24s10.7 24 24 24H344z\"]\n};\nvar faCircleXmark = {\n prefix: 'fas',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H200.6c-5.4-9.4-8.6-20.3-8.6-32V256c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96H217.8l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48v80H416V256h32v96H640V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zM224 464c0 26.5 21.5 48 48 48H416V384H224v80zm224 48H592c26.5 0 48-21.5 48-48V384H448V512zm96-312c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64C14.3 64 0 49.7 0 32zm96 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM240 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM112 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368zM328 384c13.3 0 24.3-10.9 21-23.8c-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8H328z\"]\n};\nvar faEarthAsia = {\n prefix: 'fas',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M51.7 295.1l31.7 6.3c7.9 1.6 16-.9 21.7-6.6l15.4-15.4c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17-4.3c7.5-1.9 13.6-7.2 16.5-14.4l16.4-40.9C303.4 52.1 280.2 48 256 48C141.1 48 48 141.1 48 256c0 13.4 1.3 26.5 3.7 39.1zm407.7 4.6c-3-.3-6-.1-9 .8l-15.8 4.4c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.5 21.1l2.6-1c10-3.7 21.3-2.2 29.9 4.1l1.5 1.1c37.2-29.5 64.1-71.4 74.4-119.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144.5 92.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'fas',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM64 64H192v48c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3zM288 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faHandDots = {\n prefix: 'fas',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM240 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v64H288V256H96zM240 416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faMugSaucer = {\n prefix: 'fas',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 224h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H480V224zM32 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M162.4 6c-1.5-3.6-5-6-8.9-6h-19c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6H48C21.5 0 0 21.5 0 48V224v22.4V256H9.6 374.4 384v-9.6V224 48c0-26.5-21.5-48-48-48H230.5c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6zM0 288v32c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V288H0zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M288 64C64 64 0 160 0 272S80 448 176 448h8.4c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4H400c96 0 176-64 176-176s-64-208-288-208zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M0 48C0 21.5 21.5 0 48 0H208c26.5 0 48 21.5 48 48V96H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faUserLarge = {\n prefix: 'fas',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faTrainTram = {\n prefix: 'fas',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0H361.2c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.8 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15H248V96h40c53 0 96 43 96 96V352c0 30.6-14.3 57.8-36.6 75.4l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1H365.3c-8.5 0-16.6-3.4-22.6-9.4L288 448H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H43c-10 0-15-12.1-7.9-19.1l65.5-65.5C78.3 409.8 64 382.6 64 352V192c0-53 43-96 96-96h40V48H86.8zM160 160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160zm32 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176zM288 204c28.7 0 52 23.3 52 52v96c0 28.7-23.3 52-52 52s-52-23.3-52-52V256c0-28.7 23.3-52 52-52zm-12 52v96c0 6.6 5.4 12 12 12s12-5.4 12-12V256c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5v2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9H192c11 0 20 9 20 20s-9 20-20 20H128c-11 0-20-9-20-20V368.3c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8v-2.2c0-6.9-5.6-12.5-12.5-12.5z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M0 0H512V512H0V0z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M0 160v96C0 379.7 100.3 480 224 480s224-100.3 224-224V160H320v96c0 53-43 96-96 96s-96-43-96-96V160H0zm0-32H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64zm320 0H448V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32v64z\"]\n};\nvar faJar = {\n prefix: 'fas',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faNoteSticky = {\n prefix: 'fas',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H288V368c0-26.5 21.5-48 48-48H448V96c0-35.3-28.7-64-64-64H64zM448 352H402.7 336c-8.8 0-16 7.2-16 16v66.7V480l32-32 64-64 32-32z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faBugSlash = {\n prefix: 'fas',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L477.4 348.9c1.7-9.4 2.6-19 2.6-28.9h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H479.7c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C409.2 164.1 393.1 160 376 160H264c-8.3 0-16.3 1-24 2.8L38.8 5.1zM320 0c-53 0-96 43-96 96v3.6c0 15.7 12.7 28.4 28.4 28.4H387.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96zM160.3 256H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6V335.5L166.7 227.3c-3.4 9-5.6 18.7-6.4 28.7zM336 479.2c36.6-3.6 69.7-19.6 94.8-43.8L336 360.7V479.2z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'fas',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256H48c-26.5 0-48 21.5-48 48v96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400V304c0-26.5-21.5-48-48-48H480l0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256H288V48c0-26.5-21.5-48-48-48H112zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2H384c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336H192c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M240 80H342.7c-7.9-19.5-20.4-36.5-36.2-49.9L240 80zm37.7-68.2C261.3 4.2 243.2 0 224 0c-53.7 0-99.7 33.1-118.7 80h81.4l91-68.2zM224 256c70.7 0 128-57.3 128-128c0-5.4-.3-10.8-1-16H97c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128zM124 312.4c-9.7 3.1-19.1 7-28 11.7V512H243.7L181.5 408.2 124 312.4zm33-7.2L204.3 384H272c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h82.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3c-7.2 0-14.3 .4-21.3 1.3zM0 482.3C0 498.7 13.3 512 29.7 512H64V345.4C24.9 378.1 0 427.3 0 482.3zM320 464c0-26.5-21.5-48-48-48H223.5l57.1 95.2C303 507.2 320 487.6 320 464z\"]\n};\nvar faFaceSadTear = {\n prefix: 'fas',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM367.6 208a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'fas',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM32 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faArrowsSpin = {\n prefix: 'fas',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M256 96c38.4 0 73.7 13.5 101.3 36.1l-32.6 32.6c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H448c8.8 0 16-7.2 16-16V64c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-34 34C363.4 52.6 312.1 32 256 32c-10.9 0-21.5 .8-32 2.3V99.2c10.3-2.1 21-3.2 32-3.2zM132.1 154.7l32.6 32.6c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V64c0-8.8-7.2-16-16-16H64c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l34 34C52.6 148.6 32 199.9 32 256c0 10.9 .8 21.5 2.3 32H99.2c-2.1-10.3-3.2-21-3.2-32c0-38.4 13.5-73.7 36.1-101.3zM477.7 224H412.8c2.1 10.3 3.2 21 3.2 32c0 38.4-13.5 73.7-36.1 101.3l-32.6-32.6c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V448c0 8.8 7.2 16 16 16H448c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-34-34C459.4 363.4 480 312.1 480 256c0-10.9-.8-21.5-2.3-32zM256 416c-38.4 0-73.7-13.5-101.3-36.1l32.6-32.6c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H64c-8.8 0-16 7.2-16 16l0 112c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l34-34C148.6 459.4 199.9 480 256 480c10.9 0 21.5-.8 32-2.3V412.8c-10.3 2.1-21 3.2-32 3.2z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'fas',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M96 32c17.7 0 32 14.3 32 32V99.3L247.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 165.9v29.4l119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 261.9V416h63.8c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C378.5 399.8 294.1 480 191.8 480H96c-17.7 0-32-14.3-32-32V280.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 213.6V184.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 117.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M160 0c17.7 0 32 14.3 32 32V67.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1c-.4-.1-.9-.1-1.3-.2l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faX = {\n prefix: 'fas',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'fas',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM228 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'fas',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zm91.3 163.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3L574.4 311c-8.9-7.6-19.1-13.6-30.4-17.6v-21c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v21c-11.2 4-21.5 10-30.4 17.6l-18.2-10.5c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l18.2 10.5c-1 5.7-1.6 11.6-1.6 17.6s.6 11.9 1.6 17.5l-18.2 10.5c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3L449.6 457c8.9 7.6 19.2 13.6 30.4 17.6v21c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-21c11.2-4 21.5-10 30.4-17.6l18.2 10.5c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-18.2-10.5c1-5.7 1.6-11.6 1.6-17.5s-.6-11.9-1.6-17.6l18.2-10.5zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'fas',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M246.9 14.1C234 15.2 224 26 224 39c0 13.8 11.2 25 25 25H400c8.8 0 16-7.2 16-16V17.4C416 8 408 .7 398.7 1.4L246.9 14.1zM240 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H241.6c-1 5.2-1.6 10.5-1.6 16zM72 224c-22.1 0-40 17.9-40 40s17.9 40 40 40H224v89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5H240 72zm345.7 20.9L246.6 416H416V369.7l53.6 90.6c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9zM224 448v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V448H224z\"]\n};\nvar faBuildingColumns = {\n prefix: 'fas',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24v-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V224H384V416H344V224H280V416H232V224H168V416H128V224zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c17.7 0 32 14.3 32 32V49.7C451.8 63.4 557.7 161 573.9 285.9c2 15.6-17.3 24.4-27.8 12.7C532.1 283 504.8 272 480 272c-38.7 0-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C359 299.5 326.7 272 288 272s-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C167 299.5 134.7 272 96 272c-24.8 0-52.1 11-66.1 26.7C19.4 310.4 .1 301.5 2.1 285.9C18.3 161 124.2 63.4 256 49.7V32c0-17.7 14.3-32 32-32zm0 304c12.3 0 23.5 4.6 32 12.2V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V316.2c8.5-7.6 19.7-12.2 32-12.2z\"]\n};\nvar faTrowel = {\n prefix: 'fas',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z\"]\n};\nvar faD = {\n prefix: 'fas',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M0 96C0 60.7 28.7 32 64 32h96c123.7 0 224 100.3 224 224s-100.3 224-224 224H64c-35.3 0-64-28.7-64-64V96zm160 0H64V416h96c88.4 0 160-71.6 160-160s-71.6-160-160-160z\"]\n};\nvar faStapler = {\n prefix: 'fas',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M640 299.3V304 432c0 26.5-21.5 48-48 48H512 448 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H448V368H96c-17.7 0-32-14.3-32-32V219.4L33.8 214C14.2 210.5 0 193.5 0 173.7c0-8.9 2.9-17.5 8.2-24.6l35.6-47.5C76.7 57.8 128.2 32 182.9 32c27 0 53.6 6.3 77.8 18.4L586.9 213.5C619.5 229.7 640 263 640 299.3zM448 304V288L128 230.9V304H448z\"]\n};\nvar faMasksTheater = {\n prefix: 'fas',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9C278.2 53.2 310.5 37 363.2 32.2c-.8-.7-1.6-1.4-2.4-2.1C340.6 14.5 288.4-11.5 175.7 5.6S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8L24.8 276.1c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1 .5 .2 1.1 .3 1.6c3.2 21.8-11.6 42-33.1 45.3s-41.5-11.8-44.7-33.5c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8 .6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3S299.4 77.2 279.2 92.8c-7.8 6-11.5 15.4-12.9 25.2L242.1 282.3c-5.5 37.3-.4 75.8 19.6 107.7zM404.5 235.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1 .1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faKipSign = {\n prefix: 'fas',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4V64c0-17.7-14.3-32-32-32S64 46.3 64 64V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V325.6L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L182.5 288H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H182.5L340.8 88.3z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l208 0 0-64L32 96zM192 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0zm-64-64c0 17.7 14.3 32 32 32l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0c-17.7 0-32 14.3-32 32zm96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0zm88-96l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32l8.6 0c88.4 0 160-71.6 160-160l0-61.7c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64l0 88c0 22.1 17.9 40 40 40s40-17.9 40-40l0-56c0-8.8 7.2-16 16-16s16 7.2 16 16l0 56c0 39.8-32.2 72-72 72z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'fas',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48H48c-26.5 0-48 21.5-48 48V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faJetFighter = {\n prefix: 'fas',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M160 24c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H280L384 192H500.4c7.7 0 15.3 1.4 22.5 4.1L625 234.4c9 3.4 15 12 15 21.6s-6 18.2-15 21.6L522.9 315.9c-7.2 2.7-14.8 4.1-22.5 4.1H384L280 464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V320H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H82.7c8.5 0 16.6 3.4 22.6 9.4L160 192h32V48h-8c-13.3 0-24-10.7-24-24zM80 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faSquareShareNodes = {\n prefix: 'fas',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24H40c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H184zm96 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H280zM448 56V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faPlusMinus = {\n prefix: 'fas',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V320c0 17.7 14.3 32 32 32s32-14.3 32-32V208H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V32zM0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z\"]\n};\nvar faVideoCamera = faVideo;\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24V80H168c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h56v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176h56c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H320V24c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zM559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2l.9 0 0 0c-.3 0-.6 0-.9 0z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'fas',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faTurnUp = {\n prefix: 'fas',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M350 177.5c3.8-8.8 2-19-4.6-26l-136-144C204.9 2.7 198.6 0 192 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26s12.5 14.5 22 14.5h88l0 192c0 17.7-14.3 32-32 32H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32l80 0c70.7 0 128-57.3 128-128l0-192h88c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faAt: faAt,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faStethoscope: faStethoscope,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faInfo: faInfo,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faArrowsUpToLine: faArrowsUpToLine,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faDoorOpen: faDoorOpen,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faFlagCheckered: faFlagCheckered,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faDiagramPredecessor: faDiagramPredecessor,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faBong: faBong,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faPager: faPager,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faStrikethrough: faStrikethrough,\n faK: faK,\n faLandmarkFlag: faLandmarkFlag,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faCodePullRequest: faCodePullRequest,\n faClipboardList: faClipboardList,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faUserCheck: faUserCheck,\n faVialVirus: faVialVirus,\n faSheetPlastic: faSheetPlastic,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faToggleOff: faToggleOff,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faPersonDrowning: faPersonDrowning,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faSprayCan: faSprayCan,\n faTruckMonster: faTruckMonster,\n faW: faW,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faGavel: faGavel,\n faLegal: faLegal,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faMotorcycle: faMotorcycle,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faTable: faTable,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faFileCircleQuestion: faFileCircleQuestion,\n faLaptopCode: faLaptopCode,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faFilm: faFilm,\n faRulerHorizontal: faRulerHorizontal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faFlag: faFlag,\n faHanukiah: faHanukiah,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faCommentSlash: faCommentSlash,\n faCloudSunRain: faCloudSunRain,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faPesetaSign: faPesetaSign,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faList: faList,\n faListSquares: faListSquares,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faGasPump: faGasPump,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faTree: faTree,\n faBridgeLock: faBridgeLock,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faCarSide: faCarSide,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faHeartCircleMinus: faHeartCircleMinus,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSink: faSink,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faPersonRays: faPersonRays,\n faUsers: faUsers,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faOm: faOm,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faChevronUp: faChevronUp,\n faHandSpock: faHandSpock,\n faStopwatch: faStopwatch,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faChessBishop: faChessBishop,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faLandMineOn: faLandMineOn,\n faICursor: faICursor,\n faStamp: faStamp,\n faStairs: faStairs,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faV: faV,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faJoint: faJoint,\n faAngleRight: faAngleRight,\n faHorse: faHorse,\n faQ: faQ,\n faG: faG,\n faNotesMedical: faNotesMedical,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faBookmark: faBookmark,\n faAlignJustify: faAlignJustify,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faBullseye: faBullseye,\n faBacon: faBacon,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faRadiation: faRadiation,\n faChartSimple: faChartSimple,\n faMarsStroke: faMarsStroke,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faE: faE,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faUser: faUser,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faKey: faKey,\n faBullhorn: faBullhorn,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faPersonHalfDress: faPersonHalfDress,\n faRoadBridge: faRoadBridge,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faBuildingLock: faBuildingLock,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faPersonCircleMinus: faPersonCircleMinus,\n faBan: faBan,\n faCancel: faCancel,\n faCameraRotate: faCameraRotate,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faStar: faStar,\n faRepeat: faRepeat,\n faCross: faCross,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faSpider: faSpider,\n faHandsBound: faHandsBound,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faXRay: faXRay,\n faSpellCheck: faSpellCheck,\n faSlash: faSlash,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faShopLock: faShopLock,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faBlenderPhone: faBlenderPhone,\n faBuildingWheat: faBuildingWheat,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVenus: faVenus,\n faPassport: faPassport,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faChessKnight: faChessKnight,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faWheelchair: faWheelchair,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faPepperHot: faPepperHot,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faBath: faBath,\n faBathtub: faBathtub,\n faUnderline: faUnderline,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faManatSign: faManatSign,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faMugHot: faMugHot,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faChessQueen: faChessQueen,\n faGlasses: faGlasses,\n faChessBoard: faChessBoard,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faCrow: faCrow,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faToriiGate: faToriiGate,\n faFrog: faFrog,\n faBucket: faBucket,\n faImage: faImage,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faCaretUp: faCaretUp,\n faScrewdriver: faScrewdriver,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faMonument: faMonument,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faTablets: faTablets,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faMarker: faMarker,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faHelicopterSymbol: faHelicopterSymbol,\n faUniversalAccess: faUniversalAccess,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faBoxOpen: faBoxOpen,\n faScroll: faScroll,\n faSpa: faSpa,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faRegistered: faRegistered,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faSmog: faSmog,\n faCrutch: faCrutch,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faFerry: faFerry,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faChildren: faChildren,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faEnvelopeOpen: faEnvelopeOpen,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faMattressPillow: faMattressPillow,\n faGuaraniSign: faGuaraniSign,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faFireExtinguisher: faFireExtinguisher,\n faCruzeiroSign: faCruzeiroSign,\n faGreaterThanEqual: faGreaterThanEqual,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faArrowsToDot: faArrowsToDot,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faSquare: faSquare,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faChurch: faChurch,\n faCommentsDollar: faCommentsDollar,\n faDemocrat: faDemocrat,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faRoadLock: faRoadLock,\n faA: faA,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faP: faP,\n faSnowflake: faSnowflake,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faPersonDressBurst: faPersonDressBurst,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faFilter: faFilter,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faVirusCovid: faVirusCovid,\n faAustralSign: faAustralSign,\n faF: faF,\n faLeaf: faLeaf,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faSackXmark: faSackXmark,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faPoop: faPoop,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faObjectGroup: faObjectGroup,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faMaskVentilator: faMaskVentilator,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faH: faH,\n faTarp: faTarp,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faPlugCircleBolt: faPlugCircleBolt,\n faHeart: faHeart,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faDumpsterFire: faDumpsterFire,\n faHouseCrack: faHouseCrack,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faToiletPaperSlash: faToiletPaperSlash,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faCube: faCube,\n faBitcoinSign: faBitcoinSign,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faPlaneSlash: faPlaneSlash,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faSatelliteDish: faSatelliteDish,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faClipboardCheck: faClipboardCheck,\n faFileAudio: faFileAudio,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faWrench: faWrench,\n faBugs: faBugs,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faCodeBranch: faCodeBranch,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faFileCircleMinus: faFileCircleMinus,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faHouseSignal: faHouseSignal,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faDiamond: faDiamond,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faBiohazard: faBiohazard,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faHeadSideVirus: faHeadSideVirus,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faDoorClosed: faDoorClosed,\n faShieldVirus: faShieldVirus,\n faDiceSix: faDiceSix,\n faMosquitoNet: faMosquitoNet,\n faBridgeWater: faBridgeWater,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faHatWizard: faHatWizard,\n faPenFancy: faPenFancy,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faBookMedical: faBookMedical,\n faPoo: faPoo,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faCubes: faCubes,\n faDivide: faDivide,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faJ: faJ,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faTableCells: faTableCells,\n faTh: faTh,\n faFilePdf: faFilePdf,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faHatCowboySide: faHatCowboySide,\n faClipboardUser: faClipboardUser,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faSatellite: faSatellite,\n faPlaneLock: faPlaneLock,\n faTag: faTag,\n faComment: faComment,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faEnvelope: faEnvelope,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faPaperclip: faPaperclip,\n faArrowRightToCity: faArrowRightToCity,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faLitecoinSign: faLitecoinSign,\n faBorderNone: faBorderNone,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faIndent: faIndent,\n faTruckFieldUn: faTruckFieldUn,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faCloudMeatball: faCloudMeatball,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faWater: faWater,\n faCalendarCheck: faCalendarCheck,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faCrosshairs: faCrosshairs,\n faPersonCane: faPersonCane,\n faTent: faTent,\n faVestPatches: faVestPatches,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faMoneyBillWheat: faMoneyBillWheat,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPlaneArrival: faPlaneArrival,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faChess: faChess,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faStreetView: faStreetView,\n faFrancSign: faFrancSign,\n faVolumeOff: faVolumeOff,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faMosque: faMosque,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faVials: faVials,\n faPlugCirclePlus: faPlugCirclePlus,\n faPlaceOfWorship: faPlaceOfWorship,\n faGripVertical: faGripVertical,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faClock: faClock,\n faClockFour: faClockFour,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faFaucet: faFaucet,\n faBaseballBatBall: faBaseballBatBall,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faCaretDown: faCaretDown,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faPiggyBank: faPiggyBank,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faKhanda: faKhanda,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faWandSparkles: faWandSparkles,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faCableCar: faCableCar,\n faTram: faTram,\n faCloudRain: faCloudRain,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faShip: faShip,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faFileCircleCheck: faFileCircleCheck,\n faForward: faForward,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faCalendarWeek: faCalendarWeek,\n faLaptopMedical: faLaptopMedical,\n faB: faB,\n faFileMedical: faFileMedical,\n faDiceOne: faDiceOne,\n faKiwiBird: faKiwiBird,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faSkull: faSkull,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faMound: faMound,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faBolt: faBolt,\n faZap: faZap,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faSun: faSun,\n faGuitar: faGuitar,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faHorseHead: faHorseHead,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faAngleDown: faAngleDown,\n faCarTunnel: faCarTunnel,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faMountainSun: faMountainSun,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faDiceD20: faDiceD20,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faBed: faBed,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faPodcast: faPodcast,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faSuperscript: faSuperscript,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faPaintRoller: faPaintRoller,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faDroplet: faDroplet,\n faTint: faTint,\n faEraser: faEraser,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faPersonBurst: faPersonBurst,\n faDove: faDove,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faSocks: faSocks,\n faInbox: faInbox,\n faSection: faSection,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDharmachakra: faDharmachakra,\n faHotdog: faHotdog,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faDrum: faDrum,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFax: faFax,\n faParagraph: faParagraph,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faStarHalf: faStarHalf,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faNairaSign: faNairaSign,\n faCartArrowDown: faCartArrowDown,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faSkullCrossbones: faSkullCrossbones,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faPersonHarassing: faPersonHarassing,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faArrowUp: faArrowUp,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faUserShield: faUserShield,\n faWind: faWind,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faFish: faFish,\n faUserGraduate: faUserGraduate,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faClapperboard: faClapperboard,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faCopy: faCopy,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faPesoSign: faPesoSign,\n faBuildingShield: faBuildingShield,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faLinesLeaning: faLinesLeaning,\n faRulerCombined: faRulerCombined,\n faCopyright: faCopyright,\n faEquals: faEquals,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faMap: faMap,\n faRocket: faRocket,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFolderMinus: faFolderMinus,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faBezierCurve: faBezierCurve,\n faBellSlash: faBellSlash,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faFill: faFill,\n faAngleUp: faAngleUp,\n faDrumstickBite: faDrumstickBite,\n faHollyBerry: faHollyBerry,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faHandLizard: faHandLizard,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faTrafficLight: faTrafficLight,\n faThermometer: faThermometer,\n faVrCardboard: faVrCardboard,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faDisplay: faDisplay,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faTrophy: faTrophy,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faHandPeace: faHandPeace,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faSpinner: faSpinner,\n faRobot: faRobot,\n faPeace: faPeace,\n faGears: faGears,\n faCogs: faCogs,\n faWarehouse: faWarehouse,\n faArrowUpRightDots: faArrowUpRightDots,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faPersonFallingBurst: faPersonFallingBurst,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faQrcode: faQrcode,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faPenNib: faPenNib,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faCarrot: faCarrot,\n faMoon: faMoon,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faCheese: faCheese,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faBroom: faBroom,\n faShieldHeart: faShieldHeart,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faFan: faFan,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faCalendar: faCalendar,\n faTrailer: faTrailer,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faSdCard: faSdCard,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faShower: faShower,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faTableList: faTableList,\n faThList: faThList,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faHouseCircleCheck: faHouseCircleCheck,\n faAngleLeft: faAngleLeft,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faCloudMoon: faCloudMoon,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faBahtSign: faBahtSign,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faHandcuffs: faHandcuffs,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faDatabase: faDatabase,\n faShare: faShare,\n faArrowTurnRight: faArrowTurnRight,\n faMailForward: faMailForward,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faAlignRight: faAlignRight,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faBowlingBall: faBowlingBall,\n faBrain: faBrain,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faGifts: faGifts,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faUserClock: faUserClock,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faMask: faMask,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faRulerVertical: faRulerVertical,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faTrainTram: faTrainTram,\n faUserNurse: faUserNurse,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faMagnet: faMagnet,\n faJar: faJar,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faBugSlash: faBugSlash,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faBone: faBone,\n faUserInjured: faUserInjured,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faKipSign: faKipSign,\n faHandPointLeft: faHandPointLeft,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faBarcode: faBarcode,\n faPlusMinus: faPlusMinus,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as fas, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faAt, faTrashCan, faTrashAlt, faTextHeight, faUserXmark, faUserTimes, faStethoscope, faMessage, faCommentAlt, faInfo, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faCalendarDays, faCalendarAlt, faAnchorCircleCheck, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faArrowsUpToLine, faSortDown, faSortDesc, faCircleMinus, faMinusCircle, faDoorOpen, faRightFromBracket, faSignOutAlt, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faBridgeCircleCheck, faPumpMedical, faFingerprint, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faFlagCheckered, faFootball, faFootballBall, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faPeopleLine, faBeerMugEmpty, faBeer, faDiagramPredecessor, faArrowUpLong, faLongArrowUp, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faTruckPlane, faRecordVinyl, faFaceGrinStars, faGrinStars, faBong, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faCircleH, faHospitalSymbol, faPager, faAddressBook, faContactBook, faStrikethrough, faK, faLandmarkFlag, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faCodePullRequest, faClipboardList, faTruckRampBox, faTruckLoading, faUserCheck, faVialVirus, faSheetPlastic, faBlog, faUserNinja, faPersonArrowUpFromLine, faScrollTorah, faTorah, faBroomBall, faQuidditch, faQuidditchBroomBall, faToggleOff, faBoxArchive, faArchive, faPersonDrowning, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faSprayCan, faTruckMonster, faW, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faCloud, faTrowelBricks, faFaceFlushed, faFlushed, faHospitalUser, faTentArrowLeftRight, faGavel, faLegal, faBinoculars, faMicrophoneSlash, faBoxTissue, faMotorcycle, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faPeopleArrows, faPeopleArrowsLeftRight, faMarsAndVenusBurst, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faTable, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faUsersSlash, faClover, faReply, faMailReply, faStarAndCrescent, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faCompass, faSquareCaretDown, faCaretSquareDown, faFileCircleQuestion, faLaptopCode, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faFilm, faRulerHorizontal, faPeopleRobbery, faLightbulb, faCaretLeft, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faCircleChevronDown, faChevronCircleDown, faUnlockKeyhole, faUnlockAlt, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faCircleDollarToSlot, faDonate, faMemory, faRoadSpikes, faFireBurner, faFlag, faHanukiah, faFeather, faVolumeLow, faVolumeDown, faCommentSlash, faCloudSunRain, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faSquareCheck, faCheckSquare, faPesetaSign, faHeading, faHeader, faGhost, faList, faListSquares, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faCircleDot, faDotCircle, faFaceDizzy, faDizzy, faEgg, faHouseMedicalCircleXmark, faCampground, faFolderPlus, faFutbol, faFutbolBall, faSoccerBall, faPaintbrush, faPaintBrush, faLock, faGasPump, faHotTubPerson, faHotTub, faMapLocation, faMapMarked, faHouseFloodWater, faTree, faBridgeLock, faSackDollar, faPenToSquare, faEdit, faCarSide, faShareNodes, faShareAlt, faHeartCircleMinus, faHourglassHalf, faHourglass2, faMicroscope, faSink, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faPersonRays, faUsers, faEyeSlash, faFlaskVial, faHand, faHandPaper, faOm, faWorm, faHouseCircleXmark, faPlug, faChevronUp, faHandSpock, faStopwatch, faFaceKiss, faKiss, faBridgeCircleXmark, faFaceGrinTongue, faGrinTongue, faChessBishop, faFaceGrinWink, faGrinWink, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faRoadCircleCheck, faDiceFive, faSquareRss, faRssSquare, faLandMineOn, faICursor, faStamp, faStairs, faI, faHryvniaSign, faHryvnia, faPills, faFaceGrinWide, faGrinAlt, faTooth, faV, faBangladeshiTakaSign, faBicycle, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faHeadSideCoughSlash, faTruckMedical, faAmbulance, faWheatAwnCircleExclamation, faSnowman, faMortarPestle, faRoadBarrier, faSchool, faIgloo, faJoint, faAngleRight, faHorse, faQ, faG, faNotesMedical, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faCapsules, faPooStorm, faPooBolt, faFaceFrownOpen, faFrownOpen, faHandPointUp, faMoneyBill, faBookmark, faAlignJustify, faUmbrellaBeach, faHelmetUn, faBullseye, faBacon, faHandPointDown, faArrowUpFromBracket, faFolder, faFolderBlank, faFileWaveform, faFileMedicalAlt, faRadiation, faChartSimple, faMarsStroke, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faE, faPenClip, faPenAlt, faBridgeCircleExclamation, faUser, faSchoolCircleCheck, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faKey, faBullhorn, faGlobe, faSynagogue, faPersonHalfDress, faRoadBridge, faLocationArrow, faC, faTabletButton, faBuildingLock, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faPersonCircleMinus, faBan, faCancel, faCameraRotate, faSprayCanSparkles, faAirFreshener, faStar, faRepeat, faCross, faBox, faVenusMars, faArrowPointer, faMousePointer, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faSpider, faHandsBound, faFileInvoiceDollar, faPlaneCircleExclamation, faXRay, faSpellCheck, faSlash, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faShopSlash, faStoreAltSlash, faServer, faVirusCovidSlash, faShopLock, faHourglassStart, faHourglass1, faBlenderPhone, faBuildingWheat, faPersonBreastfeeding, faRightToBracket, faSignInAlt, faVenus, faPassport, faHeartPulse, faHeartbeat, faPeopleCarryBox, faPeopleCarry, faTemperatureHigh, faMicrochip, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faWeightScale, faWeight, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faChessKnight, faFaceLaughSquint, faLaughSquint, faWheelchair, faCircleArrowUp, faArrowCircleUp, faToggleOn, faPersonWalking, faWalking, faL, faFire, faBedPulse, faProcedures, faShuttleSpace, faSpaceShuttle, faFaceLaugh, faLaugh, faFolderOpen, faHeartCirclePlus, faCodeFork, faCity, faMicrophoneLines, faMicrophoneAlt, faPepperHot, faUnlock, faColonSign, faHeadset, faStoreSlash, faRoadCircleXmark, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faBath, faBathtub, faUnderline, faUserPen, faUserEdit, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faManatSign, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faJedi, faSquarePollVertical, faPoll, faMugHot, faCarBattery, faBatteryCar, faGift, faDiceTwo, faChessQueen, faGlasses, faChessBoard, faBuildingCircleCheck, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faEyeLowVision, faLowVision, faCrow, faSailboat, faWindowRestore, faSquarePlus, faPlusSquare, faToriiGate, faFrog, faBucket, faImage, faMicrophone, faCow, faCaretUp, faScrewdriver, faFolderClosed, faHouseTsunami, faSquareNfi, faArrowUpFromGroundWater, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faMonument, faSnowplow, faAnglesRight, faAngleDoubleRight, faCannabis, faCirclePlay, faPlayCircle, faTablets, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faCircleStop, faStopCircle, faCompassDrafting, faDraftingCompass, faPlateWheat, faIcicles, faPersonShelter, faNeuter, faIdBadge, faMarker, faFaceLaughBeam, faLaughBeam, faHelicopterSymbol, faUniversalAccess, faCircleChevronUp, faChevronCircleUp, faLariSign, faVolcano, faPersonWalkingDashedLineArrowRight, faSterlingSign, faGbp, faPoundSign, faViruses, faSquarePersonConfined, faUserTie, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faFileImport, faArrowRightToFile, faSquareArrowUpRight, faExternalLinkSquare, faBoxOpen, faScroll, faSpa, faLocationPinLock, faPause, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faRegistered, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faSubscript, faDiamondTurnRight, faDirections, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faSmog, faCrutch, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faArrowsTurnRight, faVest, faFerry, faArrowsDownToPeople, faSeedling, faSprout, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faGroupArrowsRotate, faBowlFood, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faCloudBolt, faThunderstorm, faTextSlash, faRemoveFormat, faFaceSmileWink, faSmileWink, faFileWord, faFilePowerpoint, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faChildren, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faEnvelopeOpen, faHandshakeSimpleSlash, faHandshakeAltSlash, faMattressPillow, faGuaraniSign, faArrowsRotate, faRefresh, faSync, faFireExtinguisher, faCruzeiroSign, faGreaterThanEqual, faShieldHalved, faShieldAlt, faBookAtlas, faAtlas, faVirus, faEnvelopeCircleCheck, faLayerGroup, faArrowsToDot, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faSquare, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faChurch, faCommentsDollar, faDemocrat, faZ, faPersonSkiing, faSkiing, faRoadLock, faA, faTemperatureArrowDown, faTemperatureDown, faFeatherPointed, faFeatherAlt, faP, faSnowflake, faNewspaper, faRectangleAd, faAd, faCircleArrowRight, faArrowCircleRight, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faPersonDressBurst, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faFaceKissWinkHeart, faKissWinkHeart, faFilter, faQuestion, faFileSignature, faUpDownLeftRight, faArrowsAlt, faHouseChimneyUser, faHandHoldingHeart, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faCode, faWhiskeyGlass, faGlassWhiskey, faBuildingCircleExclamation, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faWonSign, faKrw, faWon, faVirusCovid, faAustralSign, faF, faLeaf, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faSackXmark, faFileExcel, faFileContract, faFishFins, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faPoop, faLocationPin, faMapMarker, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faFaceRollingEyes, faMehRollingEyes, faObjectGroup, faChartLine, faLineChart, faMaskVentilator, faArrowRight, faSignsPost, faMapSigns, faCashRegister, faPersonCircleQuestion, faH, faTarp, faScrewdriverWrench, faTools, faArrowsToEye, faPlugCircleBolt, faHeart, faMarsAndVenus, faHouseUser, faHomeUser, faDumpsterFire, faHouseCrack, faMartiniGlassCitrus, faCocktail, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faToiletPaperSlash, faAppleWhole, faAppleAlt, faKitchenSet, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faCube, faBitcoinSign, faShieldDog, faSolarPanel, faLockOpen, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faPlaneSlash, faTrademark, faBasketball, faBasketballBall, faSatelliteDish, faCircleUp, faArrowAltCircleUp, faMobileScreenButton, faMobileAlt, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faClipboardCheck, faFileAudio, faBurger, faHamburger, faWrench, faBugs, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faCodeBranch, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faTruckFront, faCat, faAnchorCircleExclamation, faTruckField, faRoute, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faFileCircleMinus, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faSquareParking, faParking, faHouseSignal, faBarsProgress, faTasksAlt, faFaucetDrip, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faUserSlash, faPen, faTowerObservation, faFileCode, faSignal, faSignal5, faSignalPerfect, faBus, faHeartCircleXmark, faHouseChimney, faHomeLg, faWindowMaximize, faFaceFrown, faFrown, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faScaleUnbalanced, faBalanceScaleLeft, faSortUp, faSortAsc, faCommentDots, faCommenting, faPlantWilt, faDiamond, faFaceGrinSquint, faGrinSquint, faHandHoldingDollar, faHandHoldingUsd, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faBiohazard, faLocationCrosshairs, faLocation, faMarsDouble, faChildDress, faUsersBetweenLines, faLungsVirus, faFaceGrinTears, faGrinTears, faPhone, faCalendarXmark, faCalendarTimes, faChildReaching, faHeadSideVirus, faUserGear, faUserCog, faArrowUp19, faSortNumericUp, faDoorClosed, faShieldVirus, faDiceSix, faMosquitoNet, faBridgeWater, faPersonBooth, faTextWidth, faHatWizard, faPenFancy, faPersonDigging, faDigging, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faBookMedical, faPoo, faQuoteRight, faQuoteRightAlt, faShirt, faTShirt, faTshirt, faCubes, faDivide, faTengeSign, faTenge, faHeadphones, faHandsHolding, faHandsClapping, faRepublican, faArrowLeft, faPersonCircleXmark, faRuler, faAlignLeft, faDiceD6, faRestroom, faJ, faUsersViewfinder, faFileVideo, faUpRightFromSquare, faExternalLinkAlt, faTableCells, faTh, faFilePdf, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faUserSecret, faOtter, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faPhoneVolume, faVolumeControlPhone, faHatCowboySide, faClipboardUser, faChild, faLiraSign, faSatellite, faPlaneLock, faTag, faComment, faCakeCandles, faBirthdayCake, faCake, faEnvelope, faAnglesUp, faAngleDoubleUp, faPaperclip, faArrowRightToCity, faRibbon, faLungs, faArrowUp91, faSortNumericUpAlt, faLitecoinSign, faBorderNone, faCircleNodes, faParachuteBox, faIndent, faTruckFieldUn, faHourglass, faHourglassEmpty, faMountain, faUserDoctor, faUserMd, faCircleInfo, faInfoCircle, faCloudMeatball, faCamera, faCameraAlt, faSquareVirus, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faHandHoldingDroplet, faHandHoldingWater, faWater, faCalendarCheck, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faLandmark, faTruck, faCrosshairs, faPersonCane, faTent, faVestPatches, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faMoneyBillWheat, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faHardDrive, faHdd, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faHouseMedicalCircleCheck, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPlaneArrival, faCircleLeft, faArrowAltCircleLeft, faTrainSubway, faSubway, faChartGantt, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faDna, faVirusSlash, faMinus, faSubtract, faChess, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faStreetView, faFrancSign, faVolumeOff, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faGear, faCog, faDropletSlash, faTintSlash, faMosque, faMosquito, faStarOfDavid, faPersonMilitaryRifle, faCartShopping, faShoppingCart, faVials, faPlugCirclePlus, faPlaceOfWorship, faGripVertical, faArrowTurnUp, faLevelUp, faU, faSquareRootVariable, faSquareRootAlt, faClock, faClockFour, faBackwardStep, faStepBackward, faPallet, faFaucet, faBaseballBatBall, faS, faTimeline, faKeyboard, faCaretDown, faHouseChimneyMedical, faClinicMedical, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faPiggyBank, faBatteryHalf, faBattery3, faMountainCity, faCoins, faKhanda, faSliders, faSlidersH, faFolderTree, faNetworkWired, faMapPin, faHamsa, faCentSign, faFlask, faPersonPregnant, faWandSparkles, faEllipsisVertical, faEllipsisV, faTicket, faPowerOff, faRightLong, faLongArrowAltRight, faFlagUsa, faLaptopFile, faTty, faTeletype, faDiagramNext, faPersonRifle, faHouseMedicalCircleExclamation, faClosedCaptioning, faPersonHiking, faHiking, faVenusDouble, faImages, faCalculator, faPeoplePulling, faN, faCableCar, faTram, faCloudRain, faBuildingCircleXmark, faShip, faArrowsDownToLine, faDownload, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faEyeDropper, faEyeDropperEmpty, faEyedropper, faFileCircleCheck, faForward, faMobile, faMobileAndroid, faMobilePhone, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faOutdent, faDedent, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faCalendarWeek, faLaptopMedical, faB, faFileMedical, faDiceOne, faKiwiBird, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faMillSign, faBowlRice, faSkull, faTowerBroadcast, faBroadcastTower, faTruckPickup, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faUpload, faHurricane, faMound, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faCaravan, faShieldCat, faBolt, faZap, faGlassWater, faOilWell, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faRubleSign, faRouble, faRub, faRuble, faSun, faGuitar, faFaceLaughWink, faLaughWink, faHorseHead, faBoreHole, faIndustry, faCircleDown, faArrowAltCircleDown, faArrowsTurnToDots, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faAngleDown, faCarTunnel, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faAnchorCircleXmark, faEllipsis, faEllipsisH, faChessPawn, faKitMedical, faFirstAid, faPersonThroughWindow, faToolbox, faHandsHoldingCircle, faBug, faCreditCard, faCreditCardAlt, faCar, faAutomobile, faHandHoldingHand, faBookOpenReader, faBookReader, faMountainSun, faArrowsLeftRightToLine, faDiceD20, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faBed, faSquareH, faHSquare, faPodcast, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faSuperscript, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faPaintRoller, faHandshakeAngle, faHandsHelping, faLocationDot, faMapMarkerAlt, faFile, faGreaterThan, faPersonSwimming, faSwimmer, faArrowDown, faDroplet, faTint, faEraser, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faPersonBurst, faDove, faBatteryEmpty, faBattery0, faSocks, faInbox, faSection, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faEnvelopeOpenText, faHospital, faHospitalAlt, faHospitalWide, faWineBottle, faChessRook, faBarsStaggered, faReorder, faStream, faDharmachakra, faHotdog, faPersonWalkingWithCane, faBlind, faDrum, faIceCream, faHeartCircleBolt, faFax, faParagraph, faCheckToSlot, faVoteYea, faStarHalf, faBoxesStacked, faBoxes, faBoxesAlt, faLink, faChain, faEarListen, faAssistiveListeningSystems, faTreeCity, faPlay, faFont, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faTrashCanArrowUp, faTrashRestoreAlt, faNairaSign, faCartArrowDown, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faSquarePen, faPenSquare, faPencilSquare, faSuitcaseRolling, faPersonCircleExclamation, faChevronDown, faBatteryFull, faBattery, faBattery5, faSkullCrossbones, faCodeCompare, faListUl, faListDots, faSchoolLock, faTowerCell, faDownLong, faLongArrowAltDown, faRankingStar, faChessKing, faPersonHarassing, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faArrowUp, faTv, faTelevision, faTvAlt, faShrimp, faListCheck, faTasks, faJugDetergent, faCircleUser, faUserCircle, faUserShield, faWind, faCarBurst, faCarCrash, faY, faPersonSnowboarding, faSnowboarding, faTruckFast, faShippingFast, faFish, faUserGraduate, faCircleHalfStroke, faAdjust, faClapperboard, faCircleRadiation, faRadiationAlt, faBaseball, faBaseballBall, faJetFighterUp, faDiagramProject, faProjectDiagram, faCopy, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faPlus, faAdd, faExpand, faComputer, faXmark, faClose, faMultiply, faRemove, faTimes, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faPesoSign, faBuildingShield, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faLinesLeaning, faRulerCombined, faCopyright, faEquals, faBlender, faTeeth, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faMap, faRocket, faPhotoFilm, faPhotoVideo, faFolderMinus, faStore, faArrowTrendUp, faPlugCircleMinus, faSignHanging, faSign, faBezierCurve, faBellSlash, faTablet, faTabletAndroid, faSchoolFlag, faFill, faAngleUp, faDrumstickBite, faHollyBerry, faChevronLeft, faBacteria, faHandLizard, faNotdef, faDisease, faBriefcaseMedical, faGenderless, faChevronRight, faRetweet, faCarRear, faCarAlt, faPumpSoap, faVideoSlash, faBatteryQuarter, faBattery2, faRadio, faBabyCarriage, faCarriageBaby, faTrafficLight, faThermometer, faVrCardboard, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faDisplay, faFaceSmile, faSmile, faThumbtack, faThumbTack, faTrophy, faPersonPraying, faPray, faHammer, faHandPeace, faRotate, faSyncAlt, faSpinner, faRobot, faPeace, faGears, faCogs, faWarehouse, faArrowUpRightDots, faSplotch, faFaceGrinHearts, faGrinHearts, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faArrowTurnDown, faLevelDown, faPersonFallingBurst, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faQrcode, faClockRotateLeft, faHistory, faFaceGrinBeamSweat, faGrinBeamSweat, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faPenNib, faTentArrowTurnLeft, faTents, faWandMagic, faMagic, faDog, faCarrot, faMoon, faWineGlassEmpty, faWineGlassAlt, faCheese, faYinYang, faMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faBroom, faShieldHeart, faGopuram, faEarthOceania, faGlobeOceania, faSquareXmark, faTimesSquare, faXmarkSquare, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faHippo, faChartColumn, faInfinity, faVialCircleCheck, faPersonArrowDownToLine, faVoicemail, faFan, faPersonWalkingLuggage, faUpDown, faArrowsAltV, faCloudMoonRain, faCalendar, faTrailer, faBahai, faHaykal, faSdCard, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faBookQuran, faQuran, faAnchor, faBorderAll, faFaceAngry, faAngry, faCookieBite, faArrowTrendDown, faRss, faFeed, faDrawPolygon, faScaleBalanced, faBalanceScale, faGaugeSimpleHigh, faTachometer, faTachometerFast, faShower, faDesktop, faDesktopAlt, faM, faTableList, faThList, faCommentSms, faSms, faBook, faUserPlus, faCheck, faBatteryThreeQuarters, faBattery4, faHouseCircleCheck, faAngleLeft, faDiagramSuccessor, faTruckArrowRight, faArrowsSplitUpAndLeft, faHandFist, faFistRaised, faCloudMoon, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faBahtSign, faBookOpen, faBookJournalWhills, faJournalWhills, faHandcuffs, faTriangleExclamation, faExclamationTriangle, faWarning, faDatabase, faShare, faArrowTurnRight, faMailForward, faBottleDroplet, faMaskFace, faHillRockslide, faRightLeft, faExchangeAlt, faPaperPlane, faRoadCircleExclamation, faDungeon, faAlignRight, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faBowlingBall, faBrain, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faGifts, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faUserClock, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faMugSaucer, faCoffee, faBrush, faMask, faMagnifyingGlassMinus, faSearchMinus, faRulerVertical, faUserLarge, faUserAlt, faTrainTram, faUserNurse, faSyringe, faCloudSun, faStopwatch20, faSquareFull, faMagnet, faJar, faNoteSticky, faStickyNote, faBugSlash, faArrowUpFromWaterPump, faBone, faUserInjured, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faDollarSign, faDollar, faUsd, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faUmbrella, faTrowel, faD, faStapler, faMasksTheater, faTheaterMasks, faKipSign, faHandPointLeft, faHandshakeSimple, faHandshakeAlt, faJetFighter, faFighterJet, faSquareShareNodes, faShareAltSquare, faBarcode, faPlusMinus, faVideo, faVideoCamera, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faTurnUp, faLevelUpAlt };\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\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}","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}","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 return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\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 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}","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 _typeof from \"next/dist/compiled/@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import 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}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\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}","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}"],"names":["memoize","fn","cache","Object","create","arg","undefined","getNodeName","element","nodeName","toLowerCase","getWindow","node","window","toString","ownerDocument","defaultView","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","name","enabled","phase","_ref","state","keys","elements","forEach","style","styles","attributes","assign","value","removeAttribute","setAttribute","effect","_ref2","initialStyles","popper","position","options","strategy","left","top","margin","arrow","reference","hasOwnProperty","reduce","property","attribute","requires","Math","max","min","round","getUAString","uaData","navigator","userAgentData","brands","Array","isArray","map","item","brand","version","join","userAgent","isLayoutViewport","test","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","offsetHeight","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","right","bottom","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","getDocumentElement","document","documentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","offsetParentIsScaled","rect","isElementScaled","scroll","offsets","getNodeScroll","clientLeft","clientTop","getLayoutRect","abs","getParentNode","assignedSlot","parentNode","host","getScrollParent","indexOf","body","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","target","concat","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","filter","getContainingBlock","auto","basePlacements","start","end","viewport","variationPlacements","acc","placement","modifierPhases","order","modifiers","Map","visited","Set","result","sort","modifier","add","requiresIfExists","dep","has","depModifier","get","push","set","debounce","pending","Promise","resolve","then","DEFAULT_OPTIONS","areValidElements","_len","arguments","length","args","_key","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","modifiersData","effectCleanupFns","isDestroyed","instance","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","orderModifiers","merged","current","existing","data","key","mergeByName","m","_ref$options","cleanupFn","noopFn","update","forceUpdate","_state$elements","rects","reset","index","_state$orderedModifie","_state$orderedModifie2","_options","destroy","onFirstUpdate","passive","_options$scroll","_options$resize","resize","addEventListener","removeEventListener","getBasePlacement","split","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","popperOffsets","_options$offset","offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","hash","getOppositePlacement","replace","matched","getOppositeVariationPlacement","contains","parent","child","rootNode","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","a","b","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","find","slice","within","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners","applyStyles","n","r","t","e","Error","Q","getPrototypeOf","call","constructor","Function","Z","L","s","o","nn","u","prototype","f","c","X","q","p","l","rn","writable","configurable","enumerable","d","clear","delete","h","freeze","isFrozen","tn","_","U","j","g","O","S","w","P","M","H","A","I","k","N","R","D","z","getOwnPropertyDescriptor","E","F","T","C","en","on","Proxy","revocable","revoke","proxy","J","K","from","this","defineProperty","G","W","Symbol","B","Reflect","for","iterator","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","getOwnPropertyDescriptors","Number","isNaN","deleteProperty","setPrototypeOf","apply","un","produce","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","op","$","an","bind","__extends","extendStatics","__proto__","TypeError","String","__","__generator","thisArg","label","sent","trys","ops","verb","done","pop","step","__spreadArray","to","il","__defProp","__defProps","defineProperties","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","obj","__spreadValues","prop","_c","__spreadProps","__async","__this","__arguments","generator","reject","fulfilled","rejected","throw","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","_super","MiddlewareArray","_this","species","arr","prepend","EnhancerArray","freezeDraftable","val","createAction","type","prepareAction","actionCreator","prepared","payload","meta","error","match","action","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","reducer","addMatcher","matcher","addDefaultCase","createSlice","_reducer","initialState","reducers","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","extraReducers","_d","_e","_f","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","cr","previousState","caseReducer","draft","createReducer","actionMatchers_1","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","actions","nanoid","size","id","random","commonProperties","RejectWithValue","FulfillWithMeta","miniSerializeError","simpleError","commonProperties_1","message","createAsyncThunk2","typePrefix","payloadCreator","requestId","requestStatus","serializeError","rejectedWithValue","aborted","condition","AC","AbortController","class_1","signal","dispatchEvent","onabort","reason","throwIfAborted","abort","dispatch","getState","extra","abortReason","idGenerator","abortController","promise2","_a","_b","finalAction","conditionResult","abortedPromise","err_1","getPendingMeta","race","rejectWithValue","fulfillWithValue","dispatchConditionRejection","unwrap","unwrapResult","withTypes","alm","queueMicrotask","globalThis","promise","createQueueWithTimer","timeout","notify","setTimeout","requestAnimationFrame","exports","ReferenceError","return","self","toStringTag","exec","IE_PROTO","Y","V","RegExp","__data__","ee","te","re","ne","oe","ae","ie","ce","splice","ue","fe","se","le","pe","ve","he","ye","string","de","be","ge","me","je","Oe","we","ke","Cache","ze","De","Se","Pe","Re","charCodeAt","Ee","xe","Ae","Ne","Ce","Te","He","Ye","Me","We","Fe","Le","$e","Ie","Ve","Ue","Be","Ge","qe","Je","Ke","Component","displayName","hookName","prefixMessage","diffObjType","differences","values","consoleLog","pathString","diffType","prevValue","nextValue","consoleGroup","diffNameColor","diffPathColor","consoleGroupEnd","prev","Qe","prevProps","prevState","prevHook","nextProps","nextState","nextHook","logOnDifferentValues","whyDidYouRender","propsDifferences","stateDifferences","hookDifferences","titleColor","Xe","module","hot","Ze","et","tt","render","rt","nt","ot","at","it","ct","ut","ft","st","lt","nodeType","Buffer","isBuffer","pt","vt","ht","yt","dt","bt","gt","process","require","types","binding","mt","isTypedArray","_t","jt","Ot","wt","kt","Dt","St","Pt","Rt","Et","xt","At","Nt","Ct","Tt","Ht","Yt","zt","Mt","Wt","Ft","Lt","$t","It","Vt","Ut","Bt","Uint8Array","Gt","qt","Jt","Kt","valueOf","Qt","byteLength","byteOffset","buffer","Xt","Zt","er","tr","rr","nr","or","ar","ir","ur","fr","sr","lr","pr","vr","hr","yr","dr","br","ArrayBuffer","gr","mr","_r","jr","Or","wr","kr","Dr","Sr","Pr","Rr","Er","xr","Ar","Nr","Cr","Tr","Hr","Yr","zr","Mr","Wr","Fr","Lr","$r","isRegExp","Ir","Vr","Ur","isDate","Br","Gr","qr","Jr","Kr","Qr","Xr","Zr","$$typeof","getTime","props","number","console","warn","cn","shallow","sn","isReactComponent","ln","pn","vn","React","isHookChange","exclude","trackHooks","trackAllPureComponents","PureComponent","include","hn","yn","dn","bn","gn","mn","_n","Date","now","jn","On","wn","kn","Dn","Sn","Pn","Rn","En","xn","An","_WDYR","renderNumber","isStrictMode","_reactInternalFiber","mode","notifier","Nn","createElement","useRef","ComponentForHooksTracking","Cn","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","Tn","memo","forwardRef","compare","Hn","Yn","useState","useReducer","useContext","useMemo","zn","group","groupEnd","collapseGroups","groupCollapsed","onlyLogs","log","hotReloadBufferMs","trackExtraHooks","createFactory","WeakMap","customName","errorInfo","componentNameOrComponent","rest","isShouldTrack","WDYRPatchedComponent","entries","toUpperCase","originalHook","__REVERT_WHY_DID_YOU_RENDER__","defaultNotifier","vArg","isNode","allowedResultTypes","vm","runInNewContext","expr","context","eval","JSON","stringify","elem","unshift","JSONPath","opts","callback","avoidNew","objArgs","json","resultType","flatten","wrap","sandbox","preventEval","parentProperty","otherTypeCallback","autostart","ret","evaluate","currParent","currParentProperty","currResultType","currPreventEval","currSandbox","currOtherTypeCallback","toPathString","_obj","exprList","toPathArray","shift","_trace","ea","isParentSelector","valOrPath","_getPreferredOutput","_handleCallback","fullRetObj","preferredOutput","parentPropName","retObj","loc","addRet","elems","_walk","par","cb","_eval","parts","addType","valueType","isFinite","_slice","all","parseInt","code","_v","_vname","_$_parentProperty","_$_parent","_$_property","_$_path","_$_v","pathArr","subx","$0","$1","ups","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","onCanceled","requestData","requestHeaders","headers","responseType","cancelToken","unsubscribe","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","err","open","method","params","paramsSerializer","onreadystatechange","readyState","responseURL","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancel","subscribe","protocol","ERR_BAD_REQUEST","send","Axios","mergeConfig","axios","createInstance","defaultConfig","extend","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","promises","spread","isAxiosError","executor","resolvePromise","token","_listeners","onfulfilled","_resolve","throwIfRequested","listener","source","ERR_CANCELED","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","toJSON","description","fileName","lineNumber","columnNumber","stack","descriptors","customProps","axiosError","toFlatObject","handlers","use","eject","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","validateStatus","ERR_BAD_RESPONSE","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","rawValue","parser","encoder","isString","parse","trim","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","encode","serializedParams","toISOString","hashmarkIndex","relativeURL","write","expires","domain","secure","cookie","isNumber","toGMTString","decodeURIComponent","remove","originURL","msie","urlParsingNode","resolveURL","href","search","hostname","port","pathname","charAt","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","line","substr","formData","convertValue","Blob","build","parentKey","fullKey","endsWith","toArray","el","append","thing","deprecatedWarnings","formatMessage","opt","desc","ERR_DEPRECATED","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","kindOf","str","kindOfTest","isFunction","TypedArray","pattern","isView","pipe","product","assignValue","stripBOM","content","superConstructor","sourceObj","destObj","searchString","lastIndex","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","num","output","base64","ieee754","customInspectSymbol","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","fromString","arrayView","isInstance","copy","fromArrayBuffer","fromArrayLike","fromArrayView","SharedArrayBuffer","checked","numberIsNaN","fromObject","toPrimitive","assertSize","array","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","poolSize","fill","allocUnsafeSlow","_isBuffer","pos","swap16","swap32","swap64","toLocaleString","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","sym","getMessage","Base","super","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","src","dst","alphabet","table","i16","BufferBigIntNotDefined","charenc","utf8","stringToBytes","bin","bytesToString","escape","hasOwn","classNames","classes","argType","inner","default","__assign","fromJS","getIn","PUSH","REPLACE","PREFETCH","GO","LOCATION_CHANGE","onLocationChanged","CALL_ROUTER_METHOD","Router","store","unpatchedMethods","router","asPath","structure","reducerKey","ongoingRouteChanges","isTimeTravelEnabled","inTimeTravelling","trackRouteComplete","trackRouteStart","useEffect","storeLocation","pathnameInStore","searchInStore","hashInStore","historyLocation","pathnameInHistory","searchInHistory","hashInHistory","as","unpatchRouter","onRouteChangeFinish","ready","events","off","children","initialRouterState","middlewareOpts","methods","resolvedMethods","isServer","payloadMethod","history","go","plain","routerReducer","base64map","crypt","rotl","rotr","endian","randomBytes","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","bytesToBase64","triplet","imod4","root","factory","undef","CryptoJS","BlockCipher","lib","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","x2","x4","x8","RCON","AES","_doReset","_nRounds","_keyPriorReset","keyWords","keySize","sigBytes","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","_doCryptBlock","decryptBlock","nRounds","s0","s1","s2","s3","t0","t1","t2","t3","_createHelper","Cipher","C_lib","WordArray","BufferedBlockAlgorithm","C_enc","enc","Base64","Utf8","EvpKDF","cfg","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","init","xformMode","_xformMode","dataUpdate","_append","_process","finalize","_doFinalize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","C_mode","StreamCipher","blockSize","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","block","_prevBlock","processBlock","thisBlock","Pkcs7","pad","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","unpad","CipherParams","modeCreator","_minBufferSize","_mode","__creator","_doProcessBlock","_data","finalProcessedBlocks","cipherParams","mixIn","formatter","OpenSSLFormatter","format","OpenSSL","salt","wordArray","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","_parse","OpenSSLKdf","kdf","execute","compute","derivedParams","subtype","overrides","$super","properties","propertyName","clone","Hex","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","ceil","nBytes","rcache","m_w","m_z","mask","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","utf8Str","_nDataBytes","doFlush","dataWords","dataSigBytes","nBlocksReady","nWordsReady","nBytesReady","processedWords","Hasher","messageUpdate","hasher","_createHmacHelper","HMAC","parseLoop","base64Str","base64StrLength","reverseMap","bits1","bits2","_map","base64Chars","paddingChar","_reverseMap","paddingIndex","swapEndian","word","Utf16","Utf16BE","utf16Chars","utf16Str","utf16StrLength","Utf16LE","MD5","iterations","derivedKey","derivedKeyWords","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","superInit","subInit","typedArray","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","typedArrayByteLength","sin","_hash","offset_i","M_offset_i","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","H_i","HmacMD5","CFB","generateKeystreamAndEncrypt","keystream","CTRGladman","incWord","b1","b2","b3","incCounter","counter","_counter","CTR","ECB","OFB","_keystream","AnsiX923","lastBytePos","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","SHA1","PBKDF2","hmac","blockIndex","blockIndexWords","blockWords","blockWordsLength","intermediate","intermediateWords","C_","RabbitLegacy","_X","_C","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","gh","gl","Rabbit","RC4","keySigBytes","_S","keyByteIndex","keyByte","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","al","bl","cl","dl","hl","zl","sl","f1","f2","f3","f4","f5","HmacRIPEMD160","HmacSHA1","SHA256","SHA224","HmacSHA224","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","HmacSHA256","X64Word","x64","Word","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","_state","nBlockSizeLanes","M2i","M2i1","lane","high","low","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","C_x64","X64WordArray","SHA512","SHA384","HmacSHA384","X64Word_create","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","bh","ch","dh","eh","fh","fl","hh","Wi","Wih","Wil","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","t1l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1h","t2l","toX32","HmacSHA512","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","TripleDES","_des1","_des2","_des3","X32WordArray","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","weekdays","months","ordinal","utcOffset","date","year","month","ms","locale","$L","utc","$u","$x","$offset","$d","NaN","substring","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toUTCString","$i","isDayjs","Ls","singleMatcher","multiMatcher","decodeComponents","components","decode","tokens","encodedURI","replaceMap","customDecodeURIComponent","seal","construct","fun","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","func","_len2","_key2","addToSet","transformCaseFunc","lcElement","cleanArray","object","newObject","lookupGetter","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","createHTML","createScriptURL","scriptUrl","purify","createDOMPurify","DOMPurify","removed","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","TRUSTED_TYPES_POLICY","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","tagName","namespaceURI","parentTagName","Boolean","_forceRemove","removeChild","_removeAttribute","getAttributeNode","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","createDocument","innerHTML","insertBefore","createTextNode","childNodes","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","textContent","hasChildNodes","_isNode","_executeHooks","hook","_sanitizeElements","allowedTags","firstElementChild","_isBasicCustomElement","childClone","__removalCount","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks","predicate","isArr","definition","x64Add","x64Multiply","x64Rotl","x64LeftShift","x64Xor","x64Fmix","x64hash128","seed","remainder","h1","h2","k1","k2","c1","c2","preprocessor","audio","excludeIOS11","fonts","swfContainerId","swfPath","userDefinedFonts","extendedJsFonts","screen","detectScreenOrientation","plugins","sortPluginsFor","excludeIE","extraComponents","excludes","NOT_AVAILABLE","ERROR","EXCLUDED","each","results","isEnumerateDevicesSupported","mediaDevices","enumerateDevices","getScreenResolution","resolution","reverse","getAvailableScreenResolution","availWidth","availHeight","available","getRegularPlugins","pluginsShouldBeSorted","mimeTypes","suffixes","getIEPlugins","ActiveXObject","should","hasSessionStorage","sessionStorage","hasLocalStorage","localStorage","hasIndexedDB","isIEOrOldEdge","indexedDB","getHardwareConcurrency","hardwareConcurrency","getNavigatorCpuClass","cpuClass","getNavigatorPlatform","platform","getDoNotTrack","doNotTrack","msDoNotTrack","getTouchSupport","touchEvent","maxTouchPoints","msMaxTouchPoints","createEvent","getCanvasFp","canvas","display","ctx","getContext","isPointInPath","textBaseline","fillStyle","fillRect","dontUseFakeFontInCanvas","font","fillText","globalCompositeOperation","beginPath","arc","PI","closePath","toDataURL","getWebglFp","fa2s","fa","clearColor","enable","DEPTH_TEST","depthFunc","LEQUAL","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","getWebglCanvas","vertexPosBuffer","bindBuffer","ARRAY_BUFFER","vertices","bufferData","STATIC_DRAW","itemSize","numItems","program","createProgram","vshader","createShader","VERTEX_SHADER","shaderSource","compileShader","fshader","FRAGMENT_SHADER","attachShader","linkProgram","useProgram","vertexPosAttrib","getAttribLocation","offsetUniform","getUniformLocation","enableVertexAttribArray","vertexPosArray","vertexAttribPointer","FLOAT","uniform2f","drawArrays","TRIANGLE_STRIP","getSupportedExtensions","getParameter","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","ALPHA_BITS","getContextAttributes","antialias","BLUE_BITS","DEPTH_BITS","GREEN_BITS","getExtension","anisotropy","MAX_TEXTURE_MAX_ANISOTROPY_EXT","maxAnisotropy","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_RENDERBUFFER_SIZE","MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_SIZE","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","RED_BITS","RENDERER","SHADING_LANGUAGE_VERSION","STENCIL_BITS","VENDOR","extensionDebugRendererInfo","UNMASKED_VENDOR_WEBGL","UNMASKED_RENDERER_WEBGL","getShaderPrecisionFormat","numType","shader","numSize","loseWebglContext","getWebglVendorAndRenderer","glContext","getAdBlock","ads","className","getElementsByClassName","getHasLiedLanguages","languages","language","getHasLiedResolution","getHasLiedOs","os","oscpu","getHasLiedBrowser","browser","productSub","errFirefox","tempRes","toSource","errOfErr","isCanvasSupported","isWebGlSupported","WebGLRenderingContext","isIE","appName","hasSwfObjectLoaded","swfobject","hasMinFlashInstalled","hasFlashPlayerVersion","loadSwfAndDetectFonts","hiddenCallback","addFlashDivNode","flashvars","onReady","embedSWF","allowScriptAccess","menu","loseContextExtension","loseContext","getData","webdriver","userLanguage","browserLanguage","systemLanguage","colorDepth","deviceMemory","Intl","DateTimeFormat","resolvedOptions","timeZone","addBehavior","openDatabase","baseFonts","fontList","baseFontsDiv","fontsDiv","defaultWidth","defaultHeight","createSpan","fontSize","fontStyle","fontWeight","letterSpacing","lineBreak","lineHeight","textTransform","textAlign","textDecoration","textShadow","whiteSpace","wordBreak","wordSpacing","createSpanWithFonts","fontToDetect","baseFont","fontFamily","isFontAvailable","fontSpans","detected","baseFontsSpans","spans","initializeBaseFontsSpans","fontsSpans","numDefaultFonts","initializeFontsSpans","pauseBefore","audioOptions","AudioContext","OfflineAudioContext","webkitOfflineAudioContext","oscillator","createOscillator","frequency","setValueAtTime","currentTime","compressor","createDynamicsCompressor","connect","destination","startRendering","audioTimeoutId","oncomplete","event","fingerprint","clearTimeout","renderedBuffer","getChannelData","disconnect","devices","device","deviceId","groupId","kind","catch","Fingerprint2","extendSoft","addPreprocessedComponent","chainComponents","alreadyWaited","component","getPromise","getV18","newComponents","murmur","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isSuspense","isValidElementType","typeOf","HowlerGlobal","Howler","_html5AudioPool","html5PoolSize","_codecs","_howls","_muted","_volume","_canPlayEvent","_navigator","masterGain","noAudio","usingWebAudio","autoSuspend","autoUnlock","_setup","volume","vol","parseFloat","setupAudioContext","gain","_webAudio","ids","_getSoundIds","sound","_soundById","_node","mute","muted","stop","unload","close","codecs","_autoSuspend","Audio","oncanplaythrough","_setupCodecs","audioTest","canPlayType","mpegTest","ua","checkOpera","isOldOpera","checkSafari","safariVersion","isOldSafari","mp3","mpeg","opus","ogg","oga","wav","aac","caf","m4a","m4b","mp4","weba","webm","dolby","flac","_unlockAudio","_audioUnlocked","_mobileUnloaded","sampleRate","_scratchBuffer","unlock","audioNode","_unlocked","_releaseHtml5Audio","load","_autoResume","createBufferSource","noteOn","resume","onended","_emit","_obtainHtml5Audio","testPlay","play","suspend","_sounds","_paused","_suspendTimer","handleSuspension","_resumeAfterSuspend","Howl","_autoplay","autoplay","_format","_html5","html5","loop","_pool","pool","_preload","preload","_rate","rate","_sprite","sprite","_src","_xhr","xhr","_duration","_endTimers","_queue","_playLock","_onend","onend","_onfade","onfade","_onload","onload","_onloaderror","onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onunlock","onunlock","_onresume","Sound","loadBuffer","internal","_ended","_id","_inactiveSound","soundId","_loadQueue","seek","_seek","duration","setParams","_start","_stop","playWebAudio","_refreshBuffer","_playStart","bufferSource","noteGrainOn","once","_clearTimer","playHtml5","playbackRate","paused","loadedNoReadyState","ejecta","isCocoonJS","pause","_rateSeek","_stopFade","noteOff","_cleanBuffer","_clearSound","_interval","fade","linearRampToValueAtTime","_startFadeInterval","isGroup","steps","stepLen","lastTick","_fadeTo","setInterval","tick","clearInterval","cancelScheduledValues","loopStart","loopEnd","playing","realTime","rateSeek","seekAndEmit","emitSeek","sounds","_errorFn","_loadFn","_endFn","remCache","isId","task","ended","_drain","cnt","_panner","isIOS","vendor","howl","_parent","createGain","createGainNode","_errorListener","_loadListener","_endListener","__default","loadSound","atob","dataView","decodeAudioData","safeXhrSend","arraybuffer","success","webkitAudioContext","iOS","appVersion","safari","_pos","_orientation","stereo","pan","positionX","setTargetAtTime","positionY","positionZ","setPosition","orientation","xUp","yUp","zUp","forwardX","forwardY","forwardZ","upX","upY","upZ","setOrientation","_stereo","_pannerAttr","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","panningModel","refDistance","rolloffFactor","_onstereo","onstereo","_onpos","onpos","_onorientation","onorientation","pannerType","createStereoPanner","setupPanner","orientationX","orientationY","orientationZ","pannerAttr","_coneInnerAngle","_coneOuterAngle","_coneOuterGain","_distanceModel","_maxDistance","_refDistance","_rolloffFactor","_panningModel","pa","panner","createPanner","isLE","mLen","eLen","eMax","eBias","nBits","LN2","isSlowBuffer","stub","tracking","ls","accessor","raw","getItem","setItem","removeItem","backend","parseValue","listeners","change","newValue","oldValue","uri","attachEvent","onstorage","ns","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","objectToString","nativeMax","nativeMin","toNumber","isObjectLike","isSymbol","other","isBinary","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","flush","funcProto","objectProto","funcToString","objectCtorString","getPrototype","isHostObject","Ctor","md5","_ff","_gg","_hh","_ii","aa","bb","cc","dd","_blocksize","_digestsize","digestbytes","asBytes","asString","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","createContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","getI18n","voidElement","attrs","startsWith","comment","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","isInitialized","initialized","oldI18nextHasLoadedNamespace","lng","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","getDisplayName","_excluded","_excluded2","enumerableOnly","symbols","hasChildren","checkLength","base","getChildren","getAsArray","nodesToString","i18nOptions","stringNode","childrenArray","keepArray","childIndex","isValidElement","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","childs","ast","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","mem","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","translationContent","interpolator","interpolate","newTarget","mergeProps","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","_inner3","_inner4","wrapTextNodes","_content","Trans","count","i18nKey","_ref$tOptions","tOptions","i18nFromProps","tFromProps","additionalProps","i18nFromContext","defaultNSFromContext","defaultNS","reactI18nextOptions","react","defaultValue","hashTransKey","interpolationOverride","interpolation","prefix","useAsParent","defaultTransParent","usePrevious","ignore","ref","useTranslation","reportNamespaces","notReadyT","retNotReady","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","isMounted","boundReset","isInitial","Translation","_useTranslation","_useTranslation2","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","I18nextProvider","Provider","errorStackTraceLimit","defaultLocale","locales","initImmediate","escapeValue","localeExtension","localePath","localeStructure","reloadOnPrerender","serializeConfig","deepMergeObjects","createConfig","userConfig","_userConfig$use","userI18n","userConfigStripped","defaultI18n","combinedConfig","_locales","addPath","loadPath","namespace","consoleLogger","Logger","concreteLogger","logger","debug","bool","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","observers","cloned","observer","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","isIE10","chars","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","sham","_isNativeReflectConstruct","Super","NewTarget","deepFind","keySeparator","paths","mix","joinedPath","ResourceStore","_EventEmitter","silent","addNamespaces","emit","addResource","deep","pack","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","handle","translator","processor","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","ki","looksLikeObjectPath","nestingRegexp","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_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","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsZeroSuffixLookup","shouldUseIntlApi","needsContextHandling","codes","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","PluralRules","_unused","rule","getRule","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","select","getSuffixRetroCompatible","idx","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","temp","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","ownKeys$4","_objectSpread$4","parseFormatStr","formatStr","formatName","formatOptions","optStr","currency","_opt$split","_opt$split2","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","createCachedFormatter","Formatter","formats","NumberFormat","datetime","relativetime","RelativeTimeFormat","ListFormat","_parseFormatStr","formatted","valOptions","formatParams","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","queue","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","addResourceBundle","_getLastOfPath2","pushPath","removePending","loadedKeys","fcName","tried","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","noop","bindMemberFunctions","inst","I18n","modules","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","fixedT","resultKey","_this$translator","_this$translator2","exists","_this6","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","membersToCopy","reloadResources","setDefaultNamespace","loadLanguages","initPromise","_config$use","__jsx","globalI18n","appWithTranslation","configOverride","AppWithTranslation","_nextI18Next$initialL","_props$router","_nextI18Next","pageProps","initialLocale","_userConfig","_userConfig2","_userConfig2$i18n","initialI18nStore","_extends","_inheritsLoose","subClass","superClass","templateTitle","noindex","nofollow","defaultOpenGraphImageWidth","defaultOpenGraphImageHeight","defaultOpenGraphVideoWidth","defaultOpenGraphVideoHeight","disableGooglebot","buildOpenGraphMediaTags","mediaType","media","_temp","tags","medium","alt","secureUrl","buildTags","_config$openGraph","_config$openGraph3","_config$additionalLin","tagsToRender","titleTemplate","updatedTitle","title","defaultTitle","_config$openGraph2","_config$openGraph4","dangerouslySetAllPagesToNoIndex","dangerouslySetAllPagesToNoFollow","dangerouslyDisableGooglebot","robotsParams","robotsProps","_config$robotsProps","nosnippet","maxSnippet","maxImagePreview","maxVideoPreview","noarchive","noimageindex","notranslate","unavailableAfter","mobileAlternate","rel","languageAlternates","languageAlternate","hrefLang","twitter","cardType","site","facebook","appId","openGraph","canonical","profile","firstName","lastName","gender","book","authors","author","isbn","releaseDate","article","publishedTime","modifiedTime","expirationTime","section","video","actors","actor","role","directors","director","writers","writer","series","images","videos","site_name","additionalMetaTags","_tag$keyOverride","keyOverride","httpEquiv","additionalLinkTags","_tag$keyOverride2","NextSeo","_Component","_this$props","_this$props$noindex","markup","jsonld","__html","BreadCrumbJsonLd","_ref$itemListElements","itemListElements","jslonld","itemListElement","dangerouslySetInnerHTML","FAQPageJsonLd","_ref$mainEntity","mainEntity","question","questionName","acceptedAnswerText","buildQuestions","getDomainLocale","domainLocales","normalizeLocalePath","detectDomainLocale","detectedLocale","http","finalLocale","__esModule","_interop_require_default","_object_without_properties_loose","_react","_router","_addLocale","_routerContext","_appRouterContext","_useIntersection","_getDomainLocale","_addBasePath","prefetched","prefetch","isLocalURL","curLocale","_default","hrefProp","asProp","childrenProp","prefetchProp","passHref","onClick","onMouseEnter","onTouchStart","legacyBehavior","restProps","RouterContext","appRouter","AppRouterContext","resolveHref","resolvedHref","resolvedAs","previousHref","previousAs","Children","only","childRef","useIntersection","rootMargin","setIntersectionRef","isVisible","resetVisible","setRef","useCallback","shouldPrefetch","isPrefetched","childProps","defaultPrevented","isAppRouter","prefetchEnabled","currentTarget","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","isModifiedEvent","preventDefault","navigate","forceOptimisticNavigation","startTransition","linkClicked","priority","localeDomain","isLocaleDomain","addBasePath","addLocale","rootRef","isDisabled","disabled","hasIntersectionObserver","visible","setVisible","setElement","unobserve","idList","IntersectionObserver","entry","isIntersecting","intersectionRatio","createObserver","observe","findIndex","idleCallback","_requestIdleCallback","requestIdleCallback","cancelIdleCallback","AmpStateContext","isInAmpMode","ampFirst","hybrid","hasQuery","TemplateContext","GlobalLayoutRouterContext","LayoutRouterContext","dynamicOptions","loadableFn","_loadable","loadableOptions","suspense","loading","isLoading","pastDelay","loader","ssr","loadableGenerated","noSSR","LoadableInitializer","webpack","defaultHead","_interop_require_wildcard","_sideEffect","_ampContext","_headManagerContext","_ampMode","inAmpMode","head","charSet","onlyReactElement","fragmentList","fragmentChild","METATYPES","reduceComponents","headChildrenElements","metaTypes","metaCategories","isUnique","hasKey","metatype","category","categories","unique","newProps","ampState","headManager","HeadManagerContext","reduceComponentsToState","LoadableContext","_loadableContext","useSyncExternalStore","ALL_INITIALIZERS","READY_INITIALIZERS","LoadableSubscription","loadFn","_opts","_callbacks","_delay","_timeout","retry","_res","_clearTimeouts","timedOut","delay","_update","_err","partial","Loadable","lazy","subscription","getCurrentValue","moduleIds","moduleId","useLoadableModule","LoadableComponent","useImperativeHandle","createLoadableComponent","flushInitializers","initializers","preloadAll","resolveInitializers","preloadReady","resolvePreload","__NEXT_PRELOADREADY","emitChange","mountedInstances","headElements","updateHead","useClientOnlyLayoutEffect","ref1","_pendingUpdate","useClientOnlyEffect","useLayoutEffect","_interopDefaultLegacy","React__default","_defineProperties","isProd","StyleSheet","param","_name","_optimizeForSpeed","optimizeForSpeed","invariant$1","_deletedRulePlaceholder","_serverSheet","_tags","_injected","_rulesCount","_nonce","Constructor","protoProps","staticProps","_proto","setOptimizeForSpeed","inject","isOptimizeForSpeed","makeStyleTag","getSheet","cssRules","insertRule","cssText","deleteRule","getSheetForTag","sheet","styleSheets","ownerNode","insertionPoint","replaceRule","cssString","relativeToTag","stringHash","_$hash","computeId","baseId","propsToString","computeSelector","idcss","StyleSheetRegistry","_styleSheet","styleSheet","_sheet","_fromServer","_indices","_instancesCounts","selectFromServer","getIdAndRules","styleId","indices","invariant","tagFromServer","fromServer","cssRules1","nonce","mapRulesToStyle","dynamic","querySelectorAll","StyleSheetContext","createStyleRegistry","useStyleRegistry","useInsertionEffect","defaultRegistry","JSXStyle","registry","info","tagInfo","apiConfig","DOMAIN","updateFromLsConfig","apiUrl","sportsUrl","autobetUrl","slotsUrl","diceUrl","cmsUrl","CMS_URL","sportsIframeUrl","payUrl","apiServerConfig","API_SERVER_URL","SPORTS_SERVER_URL","SLOTS_SERVER_URL","CMS_SERVER_URL","serverConfig","cookieConfig","httpOnly","isLocal","sameSite","languageConfig","appPort","APP_PORT","PORT","apiKey","API_KEY","cmsKey","CMS_KEY","environment","disableAccessLock","DISABLE_ACCESS_LOCK","isProduction","isStaging","enableRateLimiter","ENABLE_RATE_LIMITER","noCacheService","NO_CACHE_SERVICE","redis","storageBucketId","staticFiles","BUCKET_ID","newRelic","NEW_RELIC_APP_NAME","enableValidateAppUrlMiddleware","ENABLE_VALIDATE_APP_URL_MIDDLEWARE","servicesConfig","socketHost","socketPort","pusherId","captchaSiteKey","captchaSiteKeyV2","licenseId","sentryDns","server","client","releaseVersion","socialConfig","telegram","bitcointalk","instagram","discord","testMenuConfig","testGTM","testGame","testDeposits","testAlerts","testSentry","testDispatch","Button","stopPropagation","button","localTheme","noClasses","noClassName","noButtonClass","classnames","active","loadingId","loadingActive","loadingMessage","submit","tooltip","Child","enhanceForwardRef","getColorByType","theme","colors","inputButton","ButtonStyle","styled","color","sizeBigScreen","Regular","darken","toLeft","toRight","positive","sizeDiff","sizeDesktopDiff","sizeBigScreenDiff","important","layout","borderRadius","minWidthDesktop","maxWidthMobile","small","ClickOutsideWrapper","onClickOutside","enhanceComponent","clickOutside","CurrencySymbol","mapApiCurrencyToLayoutCurrency","TokenSymbol","stylesForWrapper","token_","mapApiTokenToLayoutToken","CSSClassNameCurrencyLogo","DropdownElementStyled","NOTIFICATION_ICON_CLASS_NAME","dropdownSelectBlue","maxWidthDesktop","StyledDropdownMenu","compact","maxWidthTablet","InstallStyle","boxNoHeight","background","Install","allow","Logo","simpleTrans","trans","pwa","installActive","LICENCE_ID","License_","save","getLicenseElement","NEXT_CONFIG","getElementById","isFeatureAvailable","FEATURES_TYPE","initLicense","useViewport","onLoad","MODAL_ID","domPurifySanitize","License","StyledLoader","$active","$pointerEvents","$absolutePosition","$loading","transition","StyledLoadingComponent","maxWidthSmallTablet","LoadingComponent","loadingGroup","loadedGroup","toggleGroup","interval","setRetryInterval","isErrorChanged","isTimeoutChanged","isRetryChanged","setGroupData","additional","activeOnClick","LoadingComponentContainer","loaderGroupLoading","loaderGroupLoaded","loaderGroupSetData","Loading","loadingElement","Loader","absolutePosition","useAppSelector","isActive","checkActive","icon","faSyncAlt","StyledFullscreenLoading","$hide","FullscreenLoading","setLoaded","hide","setHide","refTimeout","setLoaded_","loaded_","LoadingLogo","CSSClassNameLoadingLogo","NotificationIcon","isLogged","useUserIsLogged","notifications","useNotificationsData","isAny","useNotificationsIsAny","notification","isNotificationTypeActive","faExclamationCircle","gameBoxAdvancedSettingsRowsStyle","advancedSettingsMainStyle","inputHeight","calcStyle","StyledConditionBlockActionSection","$borderSide","$isEditMode","StyledBorderBox","classname","$conditionType","$isError","negative","$isNoEdit","StyledBorderBoxSwitch","StyledBorderBoxCommand","StyledConditionBlockEdit","StyledBorderBoxMainSimple","StyledExpertConfigTemplate","textDisabled","StyledExpertConfig","CSSClassNameCurrencyValue","CSSClassNameBalanceCurrencyValue","StyledExpertConfigDescription","StyledExpertBorderBox","Svg","viewBox","wrapperFill","xmlns","xmlnsXlink","minWidth","minHeight","encodeSvg","reactElement","ReactDOMServer","Tooltip","TippyContent","SLOTS","CHAT","AFFILIATE_CAMPAIGN_USER","TABLE_ID","CHRISTMAS","ONLINE_UPDATE","DARK","PENDING_TRANSACTIONS","REFRESH_USER_DATA","LICENSE","MY_BETS","PLINKO","WELCOME_MODAL","NEW_COIN_MODAL","DEPOSIT_SKINS","FOOTER_PAYMENT_COMPANY","logo","documentationUrl","affiliateBannersUrl","defaultGame","availableGames","valueMaxPrecision","chatWidth","chatWidthDesktop","websockets","decimals","bet","balance","payout","winChance","betValue","remind2faCounter","raceLeaderboard","raceWinners","transactionsPaginationLength","chatStreamLength","transactionsMaxMyBetsLength","autobetStoppedFromApiDelay","second","transactionsClearTimeout","refreshUserDataTimeout","hour","refreshRaceTimeout","refreshPreparingRaceTimeout","minute","refreshAffiliateDataTimeout","refreshOnlineTimeout","raceStartDelay","delayTransactionsUpdate","sentryStateUpdateInterval","alertTimeout","longAlertTimeout","unreadMessageTimeout","mentionedAlertTimeout","lastRegisterTimeout","userRaceHistoryFetchExpire","userStatsFetchExpire","maintenanceModeTimeout","versionCheckTimeout","serverErrorConnectionTimeout","serverConnectionTimeout","captchaDelay","defaultHotKeys","symbol","keyCode","chartLimit","chartBoostThreshold","games","game_config","maxWinChance","flashbet","minRolls","maxRolls","autobet","expertModePercentCommandDecimals","maxStrategiesCount","chat","rooms","admin","clearRoomTimeout","tooManyFailedLogins","maintenanceMode","moduleMaintenanceMode","twoFactorAuth","sessionEnded","responseErrorsToSentry","replaceErrorsToSentry","extendedAccessFunction","disableFeatures","emails","marketing","support","GameType","isAutobet","isFlashbet","houseEdge","maxPayout","minPayout","maxBetResult","minBetResult","resultAnimation","hotkeys","faArrowLeft","faArrowRight","payoutDecimal","winChanceDecimal","isHighSpeedOption","faArrowUp","faArrowDown","oddsDecimal","actionSimple","actionType","lsKey","lsSet","createAffiliateLink","shortcut","origin","crypto","getRandomValues","byte","cloneObj","checkMobileValue","mobileValue","desktopValue","isMobile","busy","ok","run","extractJSON","firstClose","candidate","firstOpen","stringToJson","updateLockedView","action_","classList","getId","sentryError","checkIsMobile","getClientSize","checkIsMobileChat","getDeviceType","checkMobileType","checkSmallMobile","checkTabletType","checkTablet","getCurrencyGtmId","checkMobileDevice","isMobileDevice","lsGet","LocalStorageKeys","hasNumber","regexStrings","getLocationData","lsData","details","setLocationData","currentVersion","scripts","script","nodeListToArray","insertAtArray","elementsArray","removeIndexArray","saveLanguage","lang","parentElement","parseTimestampId","handleDeprecatedBrowserData","cookieService","CookiesKeys","lsClear","camelCaseToSentence","filterArrayDuplicates","transactionService","sequenceArray","shuffleArray","audioClass","srcPrefix","intervals","isAudioActive","parseSoundId","getSound","isPlaying","setVolume","getSrc","initSound","Sounds","backgroundAudio","createHeaders","getBalance","balances","getRealBalanceNative","amount","checkBalancesArray","verified","getBalanceNative","isCurrencyDisabled","updateBalance","amount_usd","updateBalances","curr","jsonToString","cardsValuesArray","cardsArray","countCardsType","countCardsTypeNumber","countCardsTypeLetter","getCardById","getCardId","card","parseCard","isRedCard","getColorFromCardCode","getRandomCard","mathService","getValueFromCardCode","currenciesSettings","getInitialCurrency","availableCurrencies","getCurrency","sortService","DIRECTION","DEFAULT_CURRENCY","saveActiveCurrency","resetActiveCurrency","PairwiseOperator","subscriber","PairwiseSubscriber","hasPrev","_next","pair","Subscriber","WithLatestFromOperator","observables","project","WithLatestFromSubscriber","toRespond","observable","subscribeToResult","notifyNext","_outerValue","innerValue","outerIndex","notifyComplete","_tryProject","OuterSubscriber","epic","ofTypeWrapper","getOfTypeWrapper","action$","store$","callbackResponse","of","catchError","epicOldState","statePairs$","lift","withLatestFrom","oldState","newState","ofType","parseApiInfo","noTranslationCheck","getStringApiInfo","checkIfUserCanAccess","user","isAdmin","isModerator","fetchScript","noCache","scriptsLast","ev","lineno","colno","installRecaptcha","captchaKey","getCaptcha","siteKey","grecaptcha","executeCaptcha","captcha","fromState","FetchService","FetchClass","waitingRequests","released","isWindowVisible","noRepeatOnMaintenaceUrl","fetch","isFromStateExpired","isUrl","requestHistory","fromStateExpire","releaseWaitingRequests","parseApiUrl","parameters","loaderId","checkIsUrlWithCaptcha","parseParameters","credentials","timestamp","getRequest","strict","query","parseData","browserFingerprint","simpleFingerprint","advancedFingerprint","Fingerprint","simple","advanced","timezone","getBcheck","md1","md2","getGameValueDecimal","game","getWinChanceDecimal","getPayoutDecimal","getPayout","isTrueOrZero","decimal","roundNumber","getMarginMultiplier","getProfit","getWinChanceFromPayout","validateProfitAmount","getLimits","profit_maximum","getMinBetAmount","amount_minimum","validateBetAmount","checkBalance","scientificToDecimal","amount_maximum","isAmountReset","validBetData","bet_value","risk","rows","isMultiplierCorrect","multiplier","getBetProfit","isGameSessionActive","hilo","sessionActive","gameAutobet","mapGameBetResult","result_value","toFixed","isEveryGame","isInputActive","activeInputs","modal","getGameFromUrl","getGamesList","getSessionInitObject","getPerGameInitObject","getSessionIdFromBet","updateStatsLocalStorage","clearStatsLocalStorage","cookieName","noTotal","lsValues","initValue","getInitValue","total","getHiloWinChance","activeCard","getHiloStatus","checkHiloLoadingModules","getHiloSession","cashoutHiloBet","placeHiloBet","header","NOTIFICATION_ID","ROUTING_ID","hasEmailToVerify","hasKycToVerify","hasPasswordToSet","incrementReducer","incrementAction","resetAction","initAction","APP_INITIALIZED","addReducer","addAction","streakReducer","oppositeAction","isAuto","setWithResetReducer","setAction","setPerGameUserReducer","RESET_USER_DATA","setPerGame","setPerGameArrayUserReducer","setUserReducerOld","appInitCallback","AUTOBET_SET_MODE","callbackUserReducer","transactionReducer","userData","TRANSACTIONS_SET","TRANSACTIONS_UPDATE","staticReducer","chatUserName","chatBetDetails","chatEmoji","chatCurrency","currencies","chatStrategy","trivia","triviaWinner","userName","scientificNotationNumber","apiVersion","regexStringMulti","regexMatch","regexString","RoutingClass","routes","isOnlyPublic","static","isPrivate","generateUserSportsBetSlipsHistory","validUri","splitedId","splitId","createUrl","uriArray","getRoutes","getRouteById","noLocale","getPathLocalized","route","getRoute","moduleResolve","sentryInstance","getSentry","sentryClass","sentryUpdateState","updateState","sentryUpdateUser","updateUser","sendError","SortClass","invalidValue","mainValueA","mainValueB","secondIterationValueA","secondIterationValueB","thirdIterationValueA","thirdIterationValueB","direction_","getDirection","spaceshipResult","spaceship","DESC","isLive","BetSlipDetailsProgressState","open_for_live","getTimestamp","start_at","getSportsApiUrl","getSportUri","slug","day","isDateObject","moment","formatToTime","seconds","formatToFullDate","formatToFullDateNoSeconds","formatDate","formatToDate","getTokenFromPreloadedState","preloadedState","access_token","checkToken","checkedToken","getStorageToken","expires_in","expire","parseServerToken","tokenService","TokenClass","getBalanceObject","isRemind2fa","getLastRegisterTimestampFromLocalStorage","setLastRegisterTimestampToLocalStorage","createAuthToken","parsePrivateData","preferences","privacy","public_bets","uuid","login","HIDDEN_USER","data_id","getMaxWinChance","getMinWinChance","getMaxPayout","parameter","validateWinChance","valid","minWinChance","excludeMin","validatePayout","isFormError","gameState","isChanceValidate","betAmount","payoutValue","winChanceValue","gameValidation","profitError","validateWinChanceResult","validateBetAmountResult","activeCurrency","validatePayoutResult","rolls","maxProfit","validateProfitResult","initOneSignal","pushOneSignal","OneSignal","autoResubscribe","initVendor","getHash","client_seed","server_seed","hmac_sha256","sha256","betSubnonceVerification","betSubnonceLength","betVerification","betHash","maxResults","floats","sum","float","diceVerification","lucky","gameVerification","maxSubnonce","hiloFullTailVerification","subnonce","limboResult","floatPoint","clampedFloatPoint","crashPoint","hiloResult","plinkoResult","lines","_typeof","_classCallCheck","_createClass","_inherits","_setPrototypeOf","_getPrototypeOf","_possibleConstructorReturn","_assertThisInitialized","Channel","listen","stopListening","EventFormatter","PusherChannel","_Channel","pusher","eventFormatter","bind_global","formattedEvent","unbind","unbind_global","PusherPrivateChannel","_PusherChannel","eventName","channels","trigger","PusherEncryptedPrivateChannel","PusherPresenceChannel","members","member","SocketIoChannel","socket","channel","unbindEvent","removeListener","SocketIoPrivateChannel","_SocketIoChannel","SocketIoPresenceChannel","_SocketIoPrivateChann","user_info","NullChannel","NullPrivateChannel","_NullChannel","NullPresenceChannel","_defaultOptions","authEndpoint","userAuthentication","endpoint","broadcaster","csrfToken","bearerToken","selector","PusherConnector","_Connector","Pusher","signin","leaveChannel","connection","socket_id","SocketIoConnector","io","getSocketIO","NullConnector","Echo","withoutInterceptors","registerInterceptors","_channel","connector","presenceChannel","leave","privateChannel","encryptedPrivateChannel","socketId","Vue","registerVueRequestInterceptor","registerAxiosRequestInterceptor","jQuery","registerjQueryAjaxSetup","Turbo","registerTurboRequestInterceptor","ajax","ajaxPrefilter","originalOptions","detail","fetchOptions","websocketClass","cluster","wsHost","wssPort","disableStats","enabledTransports","forceTLS","handleInstance","websocketSetConnectionState","states","callbacks","isNumeric","mathceil","mathfloor","bignumberError","tooManyDigits","BASE","LOG_BASE","MAX_SAFE_INTEGER","POWS_TEN","SQRT_BASE","MAX","bitFloor","coeffToString","xc","yc","intCheck","isOdd","toExponential","toFixedPoint","zs","BigNumber","configObject","div","convertBase","parseNumeric","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","groupSize","secondaryGroupSize","groupSeparator","decimalSeparator","fractionGroupSize","fractionGroupSeparator","ALPHABET","alphabetHasNormalDecimalDigits","caseChanged","isNum","_isBigNumber","DEBUG","rm","c0","maxOrMin","normalise","sd","ni","rd","pows10","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","EXPONENTIAL_AT","RANGE","isBigNumber","maximum","minimum","pow2_53","random53bitInt","dp","rand","plus","toBaseOut","baseIn","baseOut","arrL","sign","callerIsToString","xlo","xhi","carry","klo","khi","aL","bL","cmp","more","prod","prodL","qc","rem","remL","rem0","xL","yc0","yL","yz","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","p1","p2","absoluteValue","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","idiv","exponentiatedBy","half","isModExp","nIsBig","nIsNeg","nIsOdd","mod","times","integerValue","isEqualTo","eq","isGreaterThan","isGreaterThanOrEqualTo","gte","isLessThan","isLessThanOrEqualTo","lte","isNegative","isPositive","isZero","minus","xLTy","modulo","multipliedBy","xcL","ycL","ylo","yhi","zc","sqrtBase","negated","precision","shiftedBy","squareRoot","rep","toFormat","g1","g2","intPart","fractionPart","isNeg","intDigits","toFraction","md","d0","d1","d2","exp","n0","n1","toPrecision","MathServiceClass","bigA","percentage","bigPercentage","separator","fixedValue","fixedZero","rounded","minDecimal","maxDecimal","minimumFractionDigits","maximumFractionDigits","CSSClassNameBreadcrumbsFooter","mainDashboardMixin","StyledTabsTableWrapper","container","big","clearfix","HeaderHeight","StyledMainDashboard","dashboard","noBigDesktop","StyledMainDashboardV2","dashboard_v2","DescriptionBoxBackground","DescriptionBoxStyle","userSelectText","$background","ui","INFO","alertInfo","alertError","GOLD","gold","$small","cutTextStyle","box","noWrap","flex","flexHorizontalCenter","flexVerticalCenter","hint","secondText","hintParagraph","inputBackgroundSolid","chatIcon","lighten","inputBackground","onclick","noclick","inputHeightWithMove","heightDesktop","bannerBox","rowTitleBg","minWidthBigDesktop","verticalMatchDetailsLayoutTitle","Black","sizeDesktop","rgba","chatViewport","widthDesktop","leftMenuWidth","leftMenuWidthDesktop","getLevelColor","level","noUnranked","colorLabel","VIP_LEVELS_COLORS","mediumLayout","sectionsPadding","viewportPadding","borderRadiusValue","textGradient","gradientString","defaultColor","spaceTypeSide","spaceType","spaces","handleHover","currencyLogoStyle","importantLabel","importantFunc","mobile","desktop","padding_v2","tablet","media_v2","max_mobile_medium","min_tablet_large","min_desktop_medium","minBigWidth","transactionsBackground","parseImageSrc","FooterStyle","heightBigDesktop","green","blue","red","lightblue","turquoise","skyblue","backgroundLight","headerActiveBackground","tableBorder","tableBorderLight","seoTableBackground","seoTableBackgroundTh","seoTableBackgroundTdOdd","seoTableBackgroundTdEven","seoTableBackgroundHover","inputBackgroundActive","inputBackgroundDisabled","inputLightBackgroundSolid","inputLightBackground","inputLightBackgroundActive","modalBackground","modalBorderColor","modalBackgroundSolid","buttonDefaultBackground","veryLightBlue","placeholderText","grey","borderColor","passwordValidationColor","modalBg","sectionsBorder","negativeLight","positiveLight","rowContentBg","settingsMenuBg","settingsPanelBg","dropdownBlue","tableBorderColorLight","darkActive","autobetButtonsBackground","orange","orangeBanner","unranked","bronze","silver","diamond","white","bigScreen","weight","thin","extraLight","light","regular","semiBold","bold","extraBold","black","Bold","noBorder","boxShadow","bottomMenuHeight","footerHeight","sideFullPadding","verticalPadding","buttonMargin","bottomIndentation","sideMargin","mobileAutobet","tabletAutobet","minTableWidth","cellHeight","inputHeightBigDesktop","inputHeightDesktop","headerHeight","headerHeightDesktop","headerHeightBigDesktop","widthScale","heightScale","smallScale","heightToWidthScale","cardScale","smallHeight","smallWidth","getCardVariables","heightMobile","maxWidthVerySmall","minWidthMobile","minWidthSmallTablet","minWidthTablet","min_mobile_medium","min_mobile_large","min_tablet_small","min_tablet_medium","min_desktop_small","min_desktop_large","max_mobile_small","max_mobile_large","max_tablet_small","max_tablet_medium","max_tablet_large","max_desktop_small","max_desktop_medium","media_specific","max_alerts_mobile","empty","TransNamespace","checkIsTransProps","DEFAULT_NAMESPACE","Interpolate","translation","translationService","TranslateWrapper","translateKey","useAddNamespace","forceRerender","useForceUpdateWithTimeout","getTranslationFromInstance","useStateEffect","TransProps","mapTransData","createNamespaceTrans","transUser","TransUser","transSports","TransSports","transSlots","TransSlots","transValidation","transWallet","TransVip","TranslationServiceClass","checkTranslationExistence","callbackAfterFetch","getTranslationObject","addMissingTranslation","updateMissingTranslations","resourceBundle","getResourceBundle","isPending","submitCampaign","SUBMIT_CAMPAIGN","withdrawAvailableCommissions","WITHDRAW_AVAILABLE_COMMISSIONS","setAffiliateCode","SET_AFFILIATE_CODE","setAffiliateUtmSource","SET_AFFILIATE_UTM_SOURCE","handleAlert","HANDLE_ALERT","showAlert","alertType","noTimeout","SHOW_ALERT","closeAlert","force","CLOSE_ALERT","deleteAlert","DELETE_ALERT","addPendingAlert","ADD_PENDING_ALERT","TOGGLE_SERVER_SEED_ALERT","appGoTo","APP_GO_TO","checkNewFeatures","onlyCheck","CHECK_NEW_FEATURES","setLanguage","SET_LANGUAGE","listenCommands","LISTEN_COMMANDS","handleCommands","HANDLE_COMMANDS","appInitialized","setMobile","SET_MOBILE","setMobileChat","SET_MOBILE_CHAT","SET_VISIBLE","hideMenu","MENU_HIDE","toggleMenu","MENU_TOGGLE","toggleSideMenu","SIDE_MENU_TOGGLE","setLockedView","SET_LOCKED_VIEW","setHeight","SET_HEIGHT","setWidth","SET_WIDTH","setDeviceType","SET_DEVICE_TYPE","setContentDeviceType","SET_CONTENT_DEVICE_TYPE","updateUrlQuery","UPDATE_URL_QUERY","toggleMaintenanceMode","TOGGLE_MAINTENANCE_MODE","appCloses","APP_CLOSES","updateSentryState","UPDATE_SENTRY_STATE","getComponentErrorName","elementType","handleComponentError","alert","componentInstance","refs","setExtendedAccess","SET_EXTENDED_ACCESS","appCheckVersion","APP_CHECK_VERSION","appNewVersion","APP_NEW_VERSION","appSetCsrf","APP_SET_CSRF","appSetSource","APP_SET_SOURCE","APP_CALLBACK","SIDE_MENU_HIDE","SET_PATH","APP_COMMANDS","CHAT_REFRESH","APP_REFRESH","RAKEBACK_LEVEL_INCREASED","BONUS_CODE_GRANTED","OPEN_INSANE_BONUS_CODE_MODAL","OPEN_INSANE_BONUS_CODE_ALERT","SLOTS_BET_AMOUNT_LIMIT","SLOTS_GAME_ACTION","setConfirm","SET_CONFIRM","setConfirmCallback","SET_CONFIRM_CALLBACK","setConfirmCallbackDispatch","setConfirmCallbackCancel","SET_CONFIRM_CALLBACK_CANCEL","setConfirmCallbackCancelDispatch","clearConfirm","CLEAR_CONFIRM","doConfirm","DO_CONFIRM","cancelConfirm","CANCEL_CONFIRM","converterSetCurrency","CONVERTER_SET_CURRENCY","converterSetConfirm","CONVERTER_SET_CONFIRM","converterSwitchCurrency","CONVERTER_SWITCH_CURRENCY","converterToUsd","converter","price","stats","converterToNative","DROPDOWN_SET_ACTIVE","DROPDOWN_SET_CONTENT","DROPDOWN_DELETE","DROPDOWN_ADD","DROPDOWN_TOGGLE","fetchResponse","FETCH_RESPONSE","handleErrorsAction","isStatic","disable","errorTimestamp","routingService","codeRequired","userSessionEnded","dispatchError","openModal","modalOpenInfo","cloudflareError","errorDetails","room","modalInfo","responseModal","dataString","replaceErrors","replaceErrorKeys","replaceErrorIndex","errorKey","errorsArray","errorIndex","fetchErrorCounter","OMIT_ERROR_HANDLING_ERRORS","parseProps","lockByModal","disableErrorHandler","bypassCaptcha","fetchApi","fetchLocal","fetchApiAction","callbackCatch","fetchLocalAction","catchCallback","loaderThunk","fetchWrapper","handleStaticResponse","handleWrapperResponse","serverDataClear","disableErrors","responseParams","handleMaintenanceMode","handleRepeatRequest","handleFailedRequest","app","responseStatus","defaultTimeout","getStatsData","showUrl","handleUnavailableService","getParametersResult","handleResult","resetForms","RESET_FORMS","resetPasswordForm","RESET_PASSWORD_FORM","resetUsernameForm","RESET_USERNAME_FORM","resetVerificationForm","RESET_VERIFICATION_FORM","updatePasswordConfirmValue","UPDATE_PASSWORD_CONFIRM_VALUE","updatePasswordValue","UPDATE_PASSWORD_VALUE","updatePasswordValidate","UPDATE_PASSWORD_VALIDATE","updateUsernameValue","UPDATE_USERNAME_VALUE","updateUsernameValidate","UPDATE_USERNAME_VALIDATE","setClientSeed","SET_CLIENT_SEED","setServerSeed","SET_SERVER_SEED","setNonce","SET_NONCE","formVerificationSetGame","FORM_VERIFICATION_SET_GAME","updateCampaignName","UPDATE_CAMPAIGN_NAME","updateCampaignCode","UPDATE_CAMPAIGN_CODE","resetCampaignForm","RESET_CAMPAIGN_FORM","updateForm","field","UPDATE_FORM","friendsSetList","FRIENDS_SET_LIST","friendsSetRequests","FRIENDS_SET_REQUESTS","friendsGetList","FRIENDS_GET_LIST","friendsGetRequests","FRIENDS_GET_REQUESTS","friendsNewRequest","FRIENDS_NEW_REQUEST","friendsCancelledRequest","FRIENDS_CANCELLED_REQUEST","friendsAcceptedRequest","FRIENDS_ACCEPTED_REQUEST","friendsDeleted","FRIENDS_DELETED","friendsAcceptRequest","isMyUuid","privateMessagesGetHistory","friendsRejectRequest","friendsRemove","friends","community","allow_messages_from_all","privateMessagesSetHistory","privateMessages","privateMessagesCloseActive","activeList","friendsSendRequest","friendsCheckStatus","friendsIgnore","requests","transactions","getTransactionsThunk","refresh","privateMessagesSetActiveList","friendsGetOnline","friendsUnignore","friendsSetOnline","FRIENDS_SET_ONLINE","FRIENDS_GET_ONLINE","friendsSetDisableOnline","FRIENDS_SET_DISABLE_ONLINE","friendsRepeatOnline","FRIENDS_REPEAT_ONLINE","IGNORING","IGNORED","NONE","SENT","FRIEND","REQUEST","GET_STATS_DATA","handleStatsUpdate","HANDLE_STATS_UPDATE","setPrice","SET_PRICE","setBetsTotal","SET_BETS_TOTAL","setOnlineUsers","SET_ONLINE_USERS","setStatsTimestamp","SET_TIMESTAMP","setWonLast24h","SET_WON_LAST_24H","updateStatsData","UPDATE_STATS_DATA","setLastHighWin","SET_LAST_HIGH_WIN","globalStatsSetLastWeekWagered","GLOBAL_STATS_SET_LAST_WEEK_WAGERED","globalStatsSetLastWeekRegistrations","GLOBAL_STATS_SET_LAST_WEEK_REGISTRATIONS","globalStatsGetLastWeek","GLOBAL_STATS_GET_LAST_WEEK","PUSH_GTM_EVENT","depositEvent","DEPOSIT_GTM_EVENT","withdrawEvent","WITHDRAW_GTM_EVENT","registerEvent","REGISTER_GTM_EVENT","faucetEvent","FAUCET_GTM_EVENT","clearGtmPageData","CLEAR_GTM_PAGE_DATA","DAILY_STREAK_GTM_EVENT","loaderModuleLoaded","LOADER_MODULE_LOADED","loaderModuleLoading","LOADER_MODULE_LOADING","LOADER_GROUP_LOADED","LOADER_GROUP_LOADING","LOADER_GROUP_SET_DATA","isLoadingThunk","notificationEnable","onChangeCallback","NOTIFICATION_ENABLE","notificationDisable","NOTIFICATION_DISABLE","setIsAnyNotification","SET_IS_ANY_NOTIFICATION","ONESIGNAL_INIT","OneSignalActions","setOneSignalTag","getTags","sendTag","oneSignalInitEpic","externalUserId","setExternalUserId","depositEpic","vipEpic","vipActions","vip","logoutEpic","USER_LOGOUT","removeExternalUserId","onesignalEpic","combineEpics","optionsEnable","OPTIONS_ENABLE","optionsDisable","OPTIONS_DISABLE","OPTIONS","SOUND","ANIMATION","AUTOBET_SUMMARY","MAX_BET","CHART","HOTKEYS","AUTOBET_CHART","TIP","HIGH_SPEED","HIDE_ZERO_BALANCES","OPTIONS_WITH_CONFIRMATION","optionChangeThunk","lastConfirmTimestamp","generateConfirmOptionKey","isLastConfirmValid","noAlert","lockConfirm","preferencesSet","data_type","PREFERENCES_SET","preferencesUpdate","PREFERENCES_UPDATE","preferencesInit","PREFERENCES_INIT","PRIVATE_MESSAGES_SET_HISTORY","PRIVATE_MESSAGES_GET_HISTORY","PRIVATE_MESSAGES_SET_ACTIVE_LIST","privateMessagesOpenActive","PRIVATE_MESSAGES_OPEN_ACTIVE","PRIVATE_MESSAGES_CLOSE_ACTIVE","privateMessagesGetStream","PRIVATE_MESSAGES_GET_STREAM","privateMessagesSetStream","PRIVATE_MESSAGES_SET_STREAM","privateMessagesClearStreamData","PRIVATE_MESSAGES_CLEAR_STREAM_DATA","privateMessagesChannelId","PRIVATE_MESSAGES_CHANNEL_ID","privateMessagesNewMessages","PRIVATE_MESSAGES_NEW_MESSAGE","privateMessagesSetUnread","PRIVATE_MESSAGES_SET_UNREAD","privateMessagesChannelRead","PRIVATE_MESSAGES_CHANNEL_READ","privateMessagesChannelReadSend","PRIVATE_MESSAGES_CHANNEL_READ_SEND","SUBMIT_RAIN","registryReducerInject","REGISTRY_REDUCER_INJECT","registryEpicInject","REGISTRY_EPIC_INJECT","registryReducerInjected","REGISTRY_REDUCER_INJECTED","registryEpicInjected","REGISTRY_EPIC_INJECTED","registryReducerReject","REGISTRY_REDUCER_REJECT","registryEpicReject","REGISTRY_EPIC_REJECT","registryReducerRejected","REGISTRY_REDUCER_REJECTED","registryEpicRejected","REGISTRY_EPIC_REJECTED","registryRegisterPackage","REGISTRY_PACKAGE_REGISTER","PackageType","REGISTRY_PACKAGE_INJECTED","REGISTRY_PACKAGE_REJECTED","REGISTRY_GAME_PACKAGE","GAME","REGISTRY_SEED_PACKAGE","SEED","REGISTRY_RACE_PACKAGE","RACE","REGISTRY_PERFORMANCE_PACKAGE","PERFORMANCE","REGISTRY_MODAL_PACKAGE","MODAL","REGISTRY_CHAT_PACKAGE","CAPTCHA","SERVER_DATA_CLEAR","submitTip","SUBMIT_TIP","setTipMinValues","SET_TIP_MIN_VALUES","TableQueryPropertyType","createTableQueryPropertyKeyPage","tableId","createTableQueryPropertyKey","PAGE","props_","page","getTransactions","blockGetTransaction","queryString","tablePageKey","pageFromQuery","parseTransactionsData","transactionsUpdating","current_page","transactionsSetMeta","transactionsFulfilled","transactionsSet","fetchTransactionsThunk","newBet","notSaveToMyBets","NEW_BET","newHighRoll","NEW_HIGH_ROLL","newMyBet","NEW_MY_BET","newDeposit","NEW_DEPOSIT","newDepositDetected","NEW_DEPOSIT_DETECTED","newResult","NEW_RESULT","setAllBets","SET_ALL_BETS","setHighRolls","SET_HIGH_ROLLS","getAllBets","GET_ALL_BETS","getHighRolls","GET_HIGH_ROLLS","TRANSACTIONS_FULFILLED","setNewMyBets","SET_NEW_MY_BETS","resetTransactions","RESET_TRANSACTIONS","TRANSACTIONS_UPDATING","GET_TRANSACTIONS","clearTransactions","CLEAR_TRANSACTIONS","transactionsActive","TRANSACTIONS_ACTIVE","pendingTransactions","handleUpdateInterval","HANDLE_UPDATE_INTERVAL","handleWithdraws","HANDLE_WITHDRAWS","withdrawConfirmed","WITHDRAW_CONFIRMED","transactionsUpdate","TRANSACTIONS_SET_META","RESET_PENDING_TRANSACTIONS","install2fa","INSTALL_2FA","uninstall2fa","UNINSTALL_2FA","saveSecret","SAVE_SECRET","saveQrcode","SAVE_QRCODE","enable2fa","ENABLE_2FA","disable2fa","DISABLE_2FA","activate2fa","ACTIVATE_2FA","CODE_REQUIRED","oneSignalInit","getUserDataThunk","enableLoader","noError","isInitModal","PRIORITY_MODAL_CONSTANTS","resetModal","USER_GET_DATA","socketChannel","setSocketPrivateChannel","affiliate","bcheck","checkAmIUnique","is_admin","setUserAdmin","is_moderator","setUserModerator","is_high_roller","isHighRoller","setUserHighRoller","race_badge","raceBadge","setUserRaceBadge","setUserId","can_tip","tip","withdraw_blocked","withdrawBlockedTimestamp","userSetWithdrawBlockedTimestamp","tip_min_values","private_chat_channel","channelId","setUserName","joined","joinedDate","setJoinedDate","email","setEmail","two_factor_authentication","twoFA","has_email_to_verify","has_kyc_to_verify","has_password_to_set","has_available_bonus_code","setHasAvailableBonusCode","loggedUser","balanceFetch","userHandleInitModal","getMyBets","newMyBetThunk","myBetsMeta","myBets","per_page","disableSort","isAnyModalOpen","initModalCallback","isFirstLogin","clearFirstLogin","openSecurityWarningModal","handleKycToVerify","vipGetLevelsThunk","levels","getVipBenefitValue","vip_level","VipBenefits","vipWheelGetFundsThunk","funds","availableAt","availableFunds","VIP_BENEFITS","generateUserVerificationStatusUrl","UserVerificationLevelStatus","bonusInfo","refreshUserData","getUserData","USER_SESSION_ENDED","replaceData","perPage","USER_GET_BETS","loginUser","USER_LOGGING","notLoggedUser","USER_NOT_LOGGED","USER_LOGGED","logoutUser","sendRequest","setToken","SET_TOKEN","resetToken","RESET_TOKEN","SET_USERNAME","SET_EMAIL","registerUser","USER_REGISTER_SEND","resetData","setCurrency","SET_CURRENCY","changeCurrency","CHANGE_CURRENCY","changePassword","CHANGE_PASSWORD","changeName","CHANGE_NAME","changeEmail","CHANGE_EMAIL","resendVerificationEmail","RESEND_VERIFICATION_EMAIL","USER_HAS_EMAIL_TO_VERIFY","USER_HAS_KYC_TO_VERIFY","sendNewPassword","SEND_NEW_PASSWORD","setNewPassword","SET_NEW_PASSWORD","setFirstLogin","SET_FIRST_LOGIN","CLEAR_FIRST_LOGIN","SET_SOCKET_PRIVATE_CHANNEL","USER_HAS_PASSWORD_TO_SET","SET_JOINED_DATE","SET_USER_ID","SET_USER_ADMIN","SET_USER_MODERATOR","SET_USER_HIGH_ROLLER","SET_USER_RACE_BADGE","getUserInfo","userState","vipLevel","CHECK_AM_I_UNIQUE","setLastRegisterTimestamp","SET_LAST_REGISTER_TIMESTAMP","USER_SET_WITHDRAW_BLOCKED_TIMESTAMP","userSetWithdrawBlocked","USER_SET_WITHDRAW_BLOCKED","userHandleLoginResponse","USER_HANDLE_LOGIN_RESPONSE","userHandleRegisterResponse","USER_HANDLE_REGISTER_RESPONSE","getUserDetailsByLogin","SET_HAS_AVAILABLE_BONUS_CODE","vaultDeposit","VAULT_DEPOSIT","vaultWithdraw","VAULT_WITHDRAW","vaultSetBalance","VAULT_SET_BALANCE","vaultUpdateBalance","VAULT_UPDATE_BALANCE","vaultGetBalance","VAULT_GET_BALANCE","bindSocketChannelEventThunk","websocketService","websocket","channelInstance","setSocketChannel","getInstanceThunk","SET_SOCKET_CHANNEL","bindSocketPrivateChannelEvent","BIND_SOCKET_PRIVATE_CHANNEL_EVENT","bindPrivateMessagesSocketEvent","BIND_PRIVATE_MESSAGES_SOCKET_EVENT","unbindSocketChannel","UNBIND_SOCKET_CHANNEL_EVENT","WEBSOCKET_SET_CONNECTION_STATE","UNBIND_SOCKET_PRIVATE_CHANNEL_EVENT","WEBSOCKET_CHANNELS","COMMANDS","STATS","ALL_BETS","HIGH_ROLLS","WEBSOCKET_EVENTS","MESSAGE","BET_RESULT","USER_BALANCE","FRIENDS_REQUEST_SENT","FRIENDS_REQUEST_CANCELED","FRIENDS_REQUEST_ACCEPTED","FRIENDS_FRIEND_DELETED","WALLET_DEPOSIT_ACCOUNTED","WALLET_DEPOSIT_DETECTED","WALLET_WITHDRAW_ACCEPTED","PRIVATE_MESSAGE","PRIVATE_CHANNEL_READ","isUpdated","componentName","EnhancedComponent","isError","setState","DeveloperData","takeUntil","TakeUntilOperator","ModuleType","takeUntilSubscriber","TakeUntilSubscriber","notifierSubscription","innerSubscribe","seenValue","complete","moduleDefaultExport","esModule","forceArray","defaulted","ReducersLoaded","EpicsLoaded","mounted","registerPackage","onInit","asyncPackage","packages","getAsyncModules","REDUCER","EPIC","isAsyncReducers","isAsyncModule","isAsyncEpics","_componentWillUnmountSubject","Subject","getAsync","streams","zip","epics","handleModule","dataCallback","closed","rejectModules","rejectModule","asyncDoNotReject","package","isRemove","getModules","injectReducers","injectEpics","rejectReducers","rejectEpics","converted","toUsd","setConverted","isValueChanged","isCurrencyChanged","formCurrency","toNative","isInvalid","componentKeyIndex","currencyConverter","enhanceWithCurrencyConveter","enhanceWithClickOutside","asyncEpics","asyncReducers","enhanceWithAsyncStore","enhanceWithErrorHandling","useForceUpdate","counter_","setCounter_","useInterval","intervalHandler","prevId","prevInterval","setInterval_","clearInterval_","useFetchApiPromise","useAppDispatch","useOnMount","useFetchLocalApiPromise","useFetchApi","tokenLocal","fetchLocal_","cancelLocal","checkDiff","observerMap","RootIds","rootId","unsupportedValue","optionsToId","fallbackInView","bounds","threshold","boundingClientRect","intersectionRect","rootBounds","_createObserver","thresholds","_elements$get","inView","trackVisibility","isPlainChildren","InView","_React$Component","_unobserveCb","handleNode","triggerOnce","skip","initialInView","observeNode","handleChange","onChange","componentDidUpdate","componentWillUnmount","_this$state","_this$props2","excluded","sourceKeys","_objectWithoutPropertiesLoose","DISABLE","_React$useState","useInView","useDispatch","useDispatchCallback","createSelectorHook","useAppSelectorWithProps","value_","updateNamespace","transValue","routeChangeEnd","useCurrenciesSettings","settings","setSettings","updateSettings","newData","setList","updateList","setTokens","updateTokens","CURRENCIES_SETTINGS_UPDATE_INTERVAL","visibilityState","casino","bodyString","bodyhash","timestamphash","character","createApiHash","uriData","api","countPrecision","exponential","number_of_zeros","coeff_array","dec","setReducer","cookieKey","clearAction","stateCallback","getStorage","setStorage","clearStorage","cookieKey_","setCallback","TABLE_MOCKS","user_seed","profit","created_at","price_usd","published_at","server_seed_hashed","public_total_profit","public_total_wagered","block_all_friend_requests","block_friend_requests_notifications","show_messages_notifications","Currencies","Token","CurrenciesLayout","usd","pol","eur","RectangleLoader","passToWrapper","uniqueKey","rx","ry","backgroundColor","foregroundColor","speed","ENABLED_DEV_VIEW","DeveloperDataComponent","isObjectSrc","Image","LinkToContext","LinkTo","linksWithHardRedirect","PageConfigContext","closeModal_","useModalId","closeModal","currentLocale","shallowEqual","hrefString","getPathnameWithoutLang","passATag","forceATag","mystyle","wholenumber","justification","currencyIndicator","useGrouping","commafy","cssClass","clas","shortenNumber","numberLetter","shortFormat","num_","minValue_","minValue","si","shortConfig","letter","nFormatter","shortFormatMinValue","shortFormatPrecision","theFormattedNumber","PrettyNumber","Redirect","link","useAppLanguage","useHref","useMeta","titleProps","descriptionProps","metaData","list_currencies","home","faq","terms","register","provablyFair","ranking","promotions","remindPassword","user_deposit","user_settings","user_withdraw","user_affiliate","user_allTransactions","user_vip","SPORTS_META","SLOTS_META","SPORTSBOOK_META","CASINO_META","useMetaData","useStringTrans","title_","metaTitle","titleTemplate_","description_","descriptionProps_","getNoIndexingProperty","itMayBeTrueTrustMe","createDomainPath","pathname_","pageParams","useRouter","props_title","props_description","meta_title","page_content","meta_description","wolfMetaTItle","mapCaptchaLanguage","FooterTextStyle","FooterColumnStyle","FooterRowStyle","FooterLabelStyled","PriceConverter","useUserActiveCurrency","useStatsPrice","prevPrice","setAmount","lastChanged","setLastChanged","isConverted","PriceConverterStyled","NumberInput","InputWrapperStyled","Carousel","CurrencyIcon","CURRENCIES_CAROUSEL_LIST","CurrenciesCarousel","useAppMobile","activeGame","useGameActiveGame","slidesToShow","autoplayInterval","dragging","enableKeyboardControls","swiping","withoutControls","wrapAround","cellSpacing","FooterTopRow","FooterTopRowStyled","ID","URL","EmLicense_","EmLicence__","EmLicense","RngLicence","PRO","CURRENT_YEAR","FooterBottomRow","FooterBottomRowStyled","FooterBrandColumn","FooterLogoStyle","Icon","companyName","address","licenseNumber","contactEmail","mainCompanyName","FooterContactColumn","FooterContactBox","FooterSupportButton","SupportButton","FooterLinksColumn","FooterLicenseColumn","CSSClassNameButton","BRANCH_NAME","branch","Footer","useAppIsViewLocked","StyledFooterVersion","HomePageBackgroundMixin","homeBackground","StyledTextWrapper","StyledContentWrapper","StyledHomeGlobal","createGlobalStyle","BonusCodeOnClickWrapper","BonusCodesPromo","BonusCodesPromoStyled","BonusImage","MediumPromoStyled","BigPromoStyled","RakebackOnClickWrapper","RakebackPromo","RakebackPromoStyled","RakebackImage","VipWheelOnClickWrapper","VipWheelPromo","VipWheelPromoStyled","WheelImage","WolfRaceOnClickWrapper","WolfRacePromo","WolfRacePromoStyled","TrophyImage","ConfettiImage","ConfettiImage2","Falldown","keyframes","FalldownV2","_objectSpread2","_defineProperty","_slicedToArray","_arrayWithHoles","_s","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","arr2","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","MutationObserver","performance","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","IS_DOM","IS_IE","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","prefixes","RESERVED_CLASSES","initial","FontAwesomeConfig","coerce","getAttrConfig","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","_onChangeCb","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","classArray","htmlEscape","joinStyles","styleName","transformIsMeaningful","dcp","drc","fp","rc","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","headChildren","beforeChild","insertCss","InjectCSS","mixout","dom","beforeDOMElementCreation","beforeI2svg","shims","functions","domready","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","iconFromMapping","mapping","iconName","doScroll","subject","initialValue","thisContext","bindInternal4","toHex","unicode","decoded","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","aliasIconName","Library","definitions","additions","_pullDefinitions","longPrefix","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","accumulator","hookFns","hookFn","callHooks","callProvided","findIconDefinition","iconLookup","library","i2svg","watch","autoReplaceSvgRoot","autoReplace","noAuto","_icon","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","abstract","makeInlineSvgAbstract","_params$icons","main","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","class","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","preamble","perf","noop$2","isWatched","createElementNS","convertSVG","abstractObj","_params$ceFn","ceFn","mutators","mutation","_abstract","createComment","nodeAsComment","replaceChild","_abstract2","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","perform","mutations","callbackFunction","frame","mutator","disableObservation","enableObservation","mo","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","addedNodes","hasPrefixAndIcon","_getCanonicalIcon","childList","characterData","subtree","styleParser","classParser","ligature","existingPrefix","existingIconName","innerText","TEXT_NODE","attributesParser","extraAttributes","parseMeta","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","candidates","resolvedMutations","onNode","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","LayersText","generateLayersText","computedFontSize","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","getPropertyValue","_hexValueFromContent","cleaned","codePointAt","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","processable","operations","_unwatched","parseTransformString","transformString","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","ALL_SPACE","fillBlack","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","opacity","nextPlugins","mixoutsTo","plugin","tk","sk","registerPlugins","pseudoElements2svg","unwatch","bootstrap","symbolData","parse$1","_objectWithoutProperties","sourceSymbolKeys","camelize","chr","_excluded$1","styleToObject","normalizeIconArgs","objectWithKey","FontAwesomeIcon","iconArgs","maskArgs","_classes","beat","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","renderedIcon","extraProps","convertCurry","convert","_extraProps$style","existingStyle","AwesomeIcon","FlagIcon","scale","withWrapper","parseSymbol","img","FlagIconWrapper","$src","$scale","getScaleHeight","EmptyIcon","StyledEmptyIcon","noColor","noPlaceholder","noIcon","fallbackImg","name_","verifyPrecision","onKeyPress","charCode","charStr","_onChange","persist","notUndefOrNull","getClientRect","translateIsValid","RowAnimation","$rowIndex","CellHeight","StyledTableCell","tableNoAnimation","StyledTableRow","StyledTHead","$isAdditional","faEllipsisV","StyledTBody","$length","$rowMargin","StyledNoResultTableCell","StyledTable","$animationEnabled","$noResults","StyledTableNoScroll","StyledTableLoader","StyledTableWrapper","PaginationStyled","CurrencyValue","isCurrencyInFront","isToken","getStateColor","StyledProfit","$disable","$state","$value","roundingStringInt","int","cut","keepZeroOnEnd","stringInt","slicedInt","valueToBig","roundSlidedInt","roundStringNumber","BalanceAmount","fullDecimals","getValueWithElse","noFormat","simpleFormat","roundBigValue","prettyNumberProps","getValueProps","parseSimpleFormat","satoshiMode","parseSatoshiMode","bigValue","smallValue","hideSmall","colorDecimals","isValuePositive","getValueElement","allowTokenLogo","currencyInFront","getColor","balanceConverted","modalStoreProps","ModalStoreController","StyledContent","$open","$shadowColor","OnlineIcon","StyledOnlineIcon","faCircle","RaceBadge","$size","FirstRankTrophy","SecondRankTrophy","ThirdRankTrophy","CSP_PAGE_ID","DEV","TEST","API_URL","SOCKET_HOST","SOCKET_PORT","PUSHER_ID","RELEASE_VERSION","DICE_URL","SPORTS_URL","AUTOBET_URL","DISABLE_SOURCEMAPS","SLOTS_URL","CLOUD_LOADER","PUBLIC_SRC","APP_ENV","GIT_INFO","ENABLE_PLINKO_MOCK","SPORTS_IFRAME_URL","ALLOW_INDEXING","LOADING_IDS","USER_DETAILS","VIP_WHEEL","LAST_RACE","CURRENT_RACE","AUTOBET","SESSION","EDIT_AUTOBET_STRATEGY","CONDITION_BLOCK_EDIT","REMIND_2FA","NEW_ACCOUNT","LOGOUT","RACE_INFO","NEW_FEATURES","RAIN","SAVE_AUTOBET_STRATEGY","VIP_LEVEL_INCREASED","LIVE_SUPPORT_ERROR","BAN_USER","CHANGE_CLIENT_SEED","REFRESH","SECURITY_WARNING","REQUIRED_2FA","INPUT_EXTEND","BET","SESSION_ENDED","AFFILIATE_CAMPAIGN","VAULT","STRATEGY","COMPATIBLE_GAMES","EXPERT_INFO","CLOUDFLATE_ERROR","RESPONSE_INFO","SPORTS_SEARCH","TRIVIA","TRIVIA_WINNER","SLOT_SEARCH","MAINTENANCE_MODULE","REQUIRED_KYC","REQUIRED_ACTION_KYC","CONTENT","WALLET","RAKE_BACK","INSANE_BONUS_CODE_INFO","BONUS_CODE","LOGIN","REGISTER","USER_DEPOSIT","USER_WITHDRAW","USER_SETTINGS","USER_ALL_TRANSACTIONS","USER_SPORTS_HISTORY","USER_SPORTS_HISTORY_V1","USER_EMAIL_VERIFIED","USER_EMAIL_VERIFICATION_FAILED","USER_ACCOUNT_BLOCKED","USER_ACCOUNT_BLOCKED_ERROR","USER_NEW_PASSWORD","HOME","USER_AFFILIATE","USER_VIP","USER_VIP_BONUS_CODE","FAQ","TERMS","PROVABLY_FAIR","REMIND_PASSWORD","PROMOTIONS","RANKING","SPORTS_BOOK","SPORTSBOOK_PAGE_ID","SPORTS","SPORTS_PAGE_ID","SPORTS_LIVE","SPORTS_MENU","USER_VERIFICATION","REDIRECT","ACCESS_DENIED","BETS","CASINO","FullscreenLoadingContext","defaultAttributes","stringifiedAttributes","jar","withAttributes","withConverter","CookieClass","req","ctxCookies","getCtxCookies","Cookies","clearCookie","CurrenciesSettingsClass","allList","generateUrl","ROUTE","listFromSettings","responseTokens","currencyKey","fetchSettings","checkSettings","initInterval","a_","b_","indexA","newA","indexB","newB","mapLayoutTokenToApiToken","mapLayoutCurrencyToApiCurrency","SeoPageContentWrapperGlobalStyled","StyledSeoContentWrapper","shadowColor","setOpen","useCMSHeaderOnTop","styleType","ButtonStyleType","Content","noTitleTranslate","noParagraphTranslate","noTitleIndex","noParagraphIndex","toggle","paragraphs","paragraph","subtitle","Breadcrumbs","breadcrumbs","homeUrl","breadcrumbs_","Lobby","breadcrumb","isLastItem","breadcrumbElem","pageEnhancer","noSeo","seoProps","noChat","noHeader","noBottomMenu","noFooter","noSupport","seoNamespace","pageDescription","structuredData","fullscreenLoading","getBreadcrumbs","pageDescription_","structuredData_","Seo","pageConfig","pageName","SCREEN_ORIENTATION","useWindowEventListener","handler","useEventListener","useDocumentEventListener","triggerWindowEvent","CustomEvent","useOrientationChangeEventListener","createIdProps","id_","useId","setId","createUniqueId","checkIsDiff","setValue","Options","fillStop","stopColor","fillRule","clipRule","x1","y1","y2","gradientUnits","CasinoV2","stroke","strokeLinecap","strokeLinejoin","Chat","fill_","fillStop_","RankTrophy","color_1","color_2","color_3","color_4","color_1_","color_2_","color_3_","color_4_","maskType","fillOpacity","Sport","Support","Trending","_fill","strokeWidth","Close","CaretDown","Check","Logout","Transactions","Wallet","COLOR","Wolf","DeviceType","DeviceTypeMinWidth","DESKTOP_BIG","DESKTOP","TABLET","TABLET_SMALL","MOBILE","MOBILE_SMALL","_pathname","localeString","checkIsLocaleInPathname","elseValue","getVendorUserData","user_id","user_hash","custom_data","appversion","browser_dimension","functionToCheck","space","oldAmount","removeEmptyProperties","fromEntries","slotsHomePage","slotCategoryPage","slotProviderPage","slotGroupPage","slotPage","slotAdminPage","slotMobilePage","slotSearchPage","slotFavorites","slotNewGames","slotCasino","apiSlotSearch","apiSlotGamesList","apiSlotGameInfo","apiSlotGameAlternativeSlug","apiSlotProviders","apiSlotCategories","apiPlaySlotGame","apiSlotGamesByCategory","apiSummarizeBets","apiSlotFavoriteGames","apiSlotFavoriteGamesAll","apiSlotGetFavoriteGames","apiSlotIsFavoriteGames","apiSlotGetNewGames","apiSlotsCategoryGroup","apiUserVerificationStatus","apiUserVerificationStep","apiUserVipWheelFunds","apiUserVipWheelClaim","apiUserBonusCodes","apiCheckVersion","apiCheckAccess","apiSportsBetslipCashout","apiSiteCurrencies","apiSiteWallets","apiStatsRace","apiStatsRaceLast","apiUserStatsRace","apiSportsBookUserBetSlipHistory","userSportsBetSlipsHistory","userSportsBetSlipsHistoryV1","userVipRakeBackFunds","userVipRakeBackFundsClaim","apiUserBonusSummary","apiCheckInsaneBonusCode","apiCms","apiCurrenciesCash","apiProvidersCash","apiDepositOfferCash","apiUserFiatDepositOrder","apiUserFiatDeposits","apiUserSkinsDepositOrder","apiNewFeatures","ROUTER","uniloc","routesList","methodType","getUnilocRoutes","generate","useAppVisible","useAppDeviceType","deviceType","useContentDeviceType","contentDeviceType","useAppNoDefaultLanguage","useAppInitialized","isViewLocked","useAppIsMenuVisible","isMenuVisible","useAppIsSideMenuVisible","isSideMenuVisible","useAppIsMaintenanceMode","useAppHeight","useAppWidth","useNotification","QueryKeys","useRouterQueryKey","useRouterQueryTab","TAB","useRouterPathname","useRouterSearch","useStatsOnline","online","useUserName","useUserId","useUserRaceBadge","useUserToken","useUserTokenValue","useUserKycToVerify","useUserEmailToVerify","useUserEmail","useUserWithdrawBlocked","withdrawBlocked","useUserWithdrawBlockedTimestamp","useUserIsAdmin","useUserIsModerator","useUserIsHighRoller","useUserJoinedAt","checkIsNewFeatures","newFeatures","lastRead","getNewFeaturesThunk","handleGetNewFeaturesWithNotificationThunk","isEnabled","useSideMenu","isOpen","dispatchSetLockedView","dispatchToggleSideMenu","toggleSideMenu_","closeOnMobile","setIsOpen","BalanceContainer","setBalancesArray","SET_BALANCES_ARRAY","UPDATE_BALANCE","balanceSetConverted","BALANCE_SET_CONVERTED","BALANCE_FETCH","BalanceConvertedCurrencies","StyledBalanceCurrency","DropdownArrowStyled","StyledActiveBalanceCurrency","DropdownArrowParentMixin","CASINO_PAGE_ID","INDEX","ChatToggleWrapper","isContentType","disabled_","useChatDisabled","useSportsSideContent","isChatOpen","useChatVisible","isSideMenuOpen","setIsSideMenuOpen","prevIsSideMenuOpen","toggleChat","chatActions","setContentType","sportsSetSideContent","MessageTextStyled","StyledUserName","MessageTextBoxStyled","ChatBotTypes","createBotLogin","CHAT_BOTS","getBotType","checkIsBotLogin","checkChatDisabled","checkRealUserName","sortUsers","users","toggleChatVisibilityBodyClass","chatStoreProps","SeedStoreController","visibleSlice","roomSlice","streamSlice","usersSlice","messageSlice","widthSlice","contentTypeSlice","privateActiveSlice","disabledSlice","pendingActionsClass","unbindStreams","ContentType","STREAM","setDisabled","setMessage","updateMessage","focus","setPrivateActive","setRoom","parseStream","setStream","updateStream","setUsers","addUser","getUsersList","messages","bindChatStream","getRoomStreamThunk","aTimestamp","bTimestamp","NEW_COIN_BONK_FLOKI_PEPE","DEPRECATED_LANG_CLEARED","DEPRECATED_CHAT_ROOM_CLEARED","INSP_FRGCH","VER_28","AFFILIATE_CODE","UTM_SOURCE","EXTENDED_ACCESS","PRELOADED_STATE","CSRF_TOKEN","NEW_COIN","excludeGames","useGameInputDisabled","autoBetRolling","useGameWinChance","useGameBetAmount","useGamePayout","useGameGamesList","gamesList","useGameFormLock","formLock","AUTOBET_SET_ID","AUTOBET_SET_CURRENCY","AUTOBET_PLAY","AUTOBET_STOP","AUTOBET_STOPPED","AUTOBET_CLEAR","AUTOBET_PAUSE","AUTOBET_SET_PAUSE","AUTOBET_SET_PAUSE_DATA","AUTOBET_RESET_TO_DEFAULT","AUTOBET_SET_DEFAULTS","AUTOBET_SET_CONFIG","AUTOBET_SET_EDIT_MODAL","AUTOBET_SET_CONFIG_EASY","AUTOBET_UPDATE_CONFIG_EASY","SET_AUTOBET_STRATEGIES","GET_AUTOBET_STRATEGIES","SET_ACTIVE_AUTOBET_STRATEGY","DISABLE_CHECK_AUTOBET_STRATEGY","AUTOBET_SET_ROLLS","AUTOBET_SET_ROLLS_COUNTER","DELETE_AUTOBET_STRATEGY","AUTOBET_SET_AUTO_STATS","AUTOBET_SUMMARY_CONNECTION_ERROR","AUTOBET_SET_ACTIVE","AUTOBET_ROLLING","AUTOBET_SET_THROTTLE","AUTOBET_SET_MANUAL","betWon","BET_WON","betLost","BET_LOST","addWagered","ADD_WAGERED","addProfit","ADD_PROFIT","resetGameSession","RESET_GAME_SESSION","resetAutoSession","RESET_AUTO_SESSION","addProfitHistory","ADD_PROFIT_HISTORY","addProfitAutoHistory","ADD_PROFIT_HISTORY_AUTO","addWinStreak","ADD_WIN_STREAK","addLoseStreak","ADD_LOSE_STREAK","setTopWinStreak","SET_TOP_WIN_STREAK","setTopLoseStreak","SET_TOP_LOSE_STREAK","setTopWinStreakAuto","SET_TOP_WIN_STREAK_AUTO","setTopLoseStreakAuto","SET_TOP_LOSE_STREAK_AUTO","setTopBet","SET_TOP_BET","setTopWin","SET_TOP_WIN","setTopLost","SET_TOP_LOST","setTopBetAuto","SET_TOP_BET_AUTO","setTopWinAuto","SET_TOP_WIN_AUTO","setTopLostAuto","SET_TOP_LOST_AUTO","setAutoInitProfit","SET_AUTO_INIT_PROFIT","gameUpdateAmountError","GAME_UPDATE_AMOUNT_ERROR","gameUpdatePayoutError","GAME_UPDATE_PAYOUT_ERROR","gameUpdateWinChanceError","GAME_UPDATE_WIN_CHANCE_ERROR","gameUpdateProfitError","GAME_UPDATE_PROFIT_ERROR","gameUpdateFormError","GAME_UPDATE_FORM_ERROR","doValidateBetAmount","changeError","clearError","DO_VALIDATE_BET_AMOUNT","doValidateBetAmountAfterCheckBalance","DO_VALIDATE_BET_AMOUNT_AFTER_CHECK_BALANCE","checkGameForm","CHECK_GAME_FORM","doValidateWinChance","DO_VALIDATE_WIN_CHANCE","doValidatePayout","DO_VALIDATE_PAYOUT","Risk","StyledHeader","scrolled","$scrolled","StyledHeaderLogoWrapper","StyledHeaderLogo","StyledVipLevel","$isColor","$level","$isNoUnderline","Level","noUnderline","VipSection","useVipLevel","VipSectionStyled","VipSectionTitle","VipIconProgress","VipSectionTitleName","VipLeftToNextLevel","VipSectionProgress","CURRENCIES_SETTINGS","CURRENCIES_SETTINGS_TOKENS","CURRENCIES_SETTINGS_LIST","WOL_REF","INCORRECT_WIN_CHANCE","OPEN_WELCOME_MODAL_THUNK","AUTOBET_MODE","MOBILE_DEVICE","LANGUAGE","ACTIVE_CURRENCY","DAILY_STREAK_TIMESTAMP","DISABLE_STATS","DISABLE_SOUND","DISABLE_MAX_BUTTON","DISABLE_HOTKEYS","DISABLE_CHART","DISABLE_AUTOBET_SUMMARY","DISABLE_ANIMATIONS","TOKEN","SEED_HASHED_LIST","REMIND_TFA_COUNTER","LAST_REGISTER_TIMESTAMP","MISSING_TRANSLATIONS","VERSION_TIMESTAMP","NEW_MY_BETS","NEW_FEATURES_TIMESTAMP","CHAT_SHARE_DATA","CHAT_VISIBLE","CHAT_ROOM","EXPERT_CONFIRMED","DICE_BET_VALUE_DEFAULT","AUTO_SESSIONS","MODAL_PROPS","IS_LOW_PERFORMANCE","SIDE_MENU_IS_OPEN","SLOT_MODE","SLOT_LOADING_GAME","SPORTS_BETSLIP_MULTI_STAKE","SPORTS_BET_SLIP_BETS_DATA","SPORTS_BET_SLIP_LIST","MY_BETS_COPY_CLEARED","MY_BETS_COPY","ADDRESS_BOOK_WALLET_USE","ADDRESS_BOOK_WALLET_USE_SELECTOR","WALLET_MODAL_VAULT_CONTENT_TYPE","I18NEXT_LNG","SPORTS_SIDE_CONTENT","WOLF_DEV_VIEW","LOCATION_DATA","CURRENCY_CONVERTER","ENABLE_CONVERTER","SPORTS_BET_SLIP_TYPE","generateInitialStateKey","generateGameStrategyKey","generateUserVipRakeBackFunds","QUERY_MODAL_CONSTANTS","noClose","OPEN_MODAL","setModalSource","SET_MODAL_SOURCE","CLOSE_MODAL","RESET_MODAL","setModalCloseCallback","callbackData","SET_MODAL_CLOSE_CALLBACK","OPEN_SECURITY_WARNING_MODAL","modalSetPrevious","MODAL_SET_PREVIOUS","modalHandlePrevious","MODAL_HANDLE_PREVIOUS","modalSetProps","MODAL_SET_PROPS","modalSetPropsWithoutLsUpdate","MODAL_SET_PROPS_WITHOUT_LS_UPDATE","modalUpdateProps","MODAL_UPDATE_PROPS","modalSetPreviousProps","MODAL_SET_PREVIOUS_PROPS","MODAL_OPEN_INFO","modalCloseInfo","MODAL_CLOSE_INFO","CLOSE_MODAL_DELAYED","useModalIsOpened","useModalClose","useModalProps","useModalTimestamp","isPageStatic","PageConfigProvider","SLOT_PAGE_PREFIX","GAMES_ON_PAGE","DEFAULT_GAMES_PAGE","SLOTS_ID","SLOTS_PAGE_ID","PROVIDER","CATEGORY","GROUP","GROUP_ALL","FAVORITE","PLAY","NEW_GAMES","ALL_PROVIDERS","PLAY_EXTERNAL","generateSlotsApiUrl","generatePostFavoriteGameUrl","generatePostFavoriteGamesAllUrl","generateGetCategories","generateGetFavoriteGamesUrl","_query","take","prevPage","generateGetNewGamesUrl","generateGetIsFavoriteGameUrl","generateGetCategoryGroupUrl","generateSlotGameInfoUrl","gameSlug","generatePlaySlotGameUrl","gameId","operatorId","generateSlotGameListUrl","generateSearchUrl","term","generateSlotUrl","slot","generateSlotsHomeUrl","generateSlotCategoryUrl","generateSlotProviderUrl","provider","generateSlotGroupUrl","generateFetchSlotProvidersUrl","generatePlaySlotMobilePageUrl","game_id","normalize","GameMode","StyledBreadcrumbsSpacer","StyledBreadcrumbs","BETSLIP_MULTI_LIMIT","BETSLIP_TYPE","SINGLE","MULTI","BETSLIP_TYPES","BETSLIP_ACCEPT_TYPES","OFFER_CLOSED_ERROR","OFFER_SUSPENDED_ERROR","SPORTS_ID","MENU","LIVE","EVENT","SPORT","TOURNAMENT","TEAM","generateSportsBookUserBetSlipsHistory","useSportsBetSlipBetsList","sportsBetSlip","betsList","useSportsBetSlipType","useSportsBetSlipBetOutcome","matchId","outcomeId","bets","outcome","useSportsBetSlipBetData","useSportsBetSlipPlacingBet","placingBet","useSportsBetSlipError","useSportsBetSlipAcceptType","acceptType","useSportsBetSlipBetsData","useSportsBetSlipPlacedBets","placed_at","useSportsBetSlipReadyToBetBets","useSportsEventsData","sportsEventsData","sports","sideContent","useSportsActive","sportsSetActive","SPORTS_SET_ACTIVE","sportsSetSideContentAction","SPORTS_SET_SIDE_CONTENT","sportsBetSlipClearPlacedBets","sportsBetSlipSetBets","SPORTS_BET_SLIP_SET_BETS","sportsBetSlipSetBetsList","SPORTS_BET_SLIP_SET_BETS_LIST","sportsBetSlipUpdateBetsListElement","SPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT","sportsBetSlipSetTypeAction","SPORTS_BET_SLIP_SET_TYPE","sportsBetSlipSetPlacingBet","SPORTS_BET_SLIP_SET_PLACING_BET","sportsBetSlipSetPlacedBet","SPORTS_BET_SLIP_SET_PLACED_BET","sportsBetSlipSetAcceptType","SPORTS_BET_SLIP_SET_ACCEPT_TYPE","sportsBetSlipSetFormError","SPORTS_BET_SLIP_SET_FORM_ERROR","sportsBetSlipUpdate","stake","selected_at","validateBetSlipList","sportsBetSlipToggleBet","sportsBetSlipOpen","isBetSlipToOpen","sportsBetSlipDeleteBet","sportsBetSlipSubmit","placeSingleBetSlip","placeMultiBetSlip","betData","placeSingleBet","odds_accept","odds","decimal_odds","offer_id","outcome_id","userBalance","result_odds","betslip","betslip_events","placedBets","sportsBetSlipSetType","betSlipType","isMultiMatch","multiMatch","OperatorSports","PAGE_ID","SLUG","MODE","SPORTSBOOK_SESSION_COOKIE","SPORTS_OPERATOR","clearSportsBookSession","useSupportToggle","Size","iconBefore","SUPPORT_APP_KEY","modalId","hideSupport","supportInit","showSupport","supportToggleThunk","isSupportLoaded","initSupport","startSupport","api_base","app_id","onShowSupport","onHideSupport","onUnreadCountChange","onError","showNewMessage","errorSlice","setError","openSlice","unreadSlice","setUnread","supportActions","unreadChats","vaultHistory","allBets","highRolls","gameResults","depositHistory","withdrawHistory","affiliateCampaigns","affiliateAnalytics","affiliateFunds","affiliateCashoutHistory","rakebackFunds","otherTransactions","friendsIgnored","sessions","sessionHistory","bonusHistoryClaimed","bonusHistoryExpired","leaderboard","raceResults","affiliateCampaignUsers","affiliateCampaignHistory","lastRacesResults","benefitsBreakdown","availableBonusCodes","mapKeyData","mapFundsData","possible_profit_on_first_level","total_commission","withdrawn","modified_at","fund","mapTransactionsData","campaigns","mapCampaignsData","campaign","mapAffiliateCampaignsData","withdraws","pending_deposits","deposits","deposit","mapDepositsData","type_label","mapOtherTransactionsData","race_winners","transactionsClass","listA","listB","listStringify","isListDifferent","dataA","dataB","getCompareData","tablesRowCompareKeys","tablesTableCompareKeys","getRowCompareKeys","getCompareKeys","addNewToList","isDuplicate","list_","sortTransactions","addArrayToList","addElementToList","accounted_at","compareKeys","isPrecise","memoryData","getMyBetsCopyFromMemory","tempData","memoryEl","withPagination","isFulfilled","refreshAlways","InsaneBonusCodeContext","lastCommand","InsaneBonusCodeWrapper","useVip","useVipLoaded","setLastCommand","existTimestamp","setExistTimestamp","validate","command","useInsaneBonusCode","nextLevelIcon","fulfilProgress","progressbarProps","nextLevel","useNextLevel","useVipStatus","_size","nextLevelThreshold","nextLevelLevel","VipIconWrapperStyled","maxValue","VipIconProgressStyled","nonLevel","VIP_CURRENCY","VipLevelType","BRONZE","SILVER","DIAMOND","getNextLevel","isLevelEqual","useVipLevels","vipStatusUpdateThunk","benefitType","dailyBonus","spins","rankBonus","weeklyBonus","insaneBonus","commission","isLevelsEqual","levelSlice","levelUpdate","levelsSlice","levelsUpdate","loadedSlice","loadedUpdate","statusSlice","statusUpdate","levelsDTO","turnover","fundEl","amounts","amountEl","Localization","useLocalization","PageLoadingProgressBar","startPosition","stopDelayMs","showOnShallow","showSpinner","StaticPropsContext","__awaiter","_arguments","__rest","HYDRATE","getIsServer","getDeserializedState","deserializeState","getSerializedState","serializeState","initStore","makeStore","storeKey","getStoreKey","createStore","__nextReduxWrapperStore","createWrapper","makeProps","isApp","initialProps","getInitialPageProps","getInitialAppProps","getStaticProps","wrapperProps","getServerSideProps","withRedux","Wrapper","isFirstRender","initialStateFromGSPorGSSR","hydrate","resultProps","getInitialProps","supportUpdateUserThunk","levelEpic","levelsBelowThreshold","currentLevel","loadedEpic","loginEpic","resetUserDataEpic","updateBalanceEpic","updatedBalances","balancesArray","fetchEpic","userBalances","balanceEpic","errorEpic","initEpic","supportEpic","getUrl","setQueryParams","locationObj","listenCommandsEpic","listenPrivateCommands","commandsEpic","vipIncreaseLevelThunk","hasAvailableBonusCode","goToEpic","visibleEpic","audioService","sentryEpic","sentryUserEpic","checkFeaturesEpic","initializedEpic","csrf","__CSRF__","contentDeviceTypeEpic","extendedAccessEpic","staticLoadedEpic","checkVersionEpic","versionEpic","currentTimestamp","deprecated","newVersionEpic","defaultsEpic","storeQuery","urlQueryData","appCallbackEpic","closesEpic","lockedViewEpic","urlQueryEpic","appEpic","getUserDataEpic","changeCurrencyEpic","sessionEpic","myBetsEpic","loginUserEpic","handleLoginResponseEpic","registerUserEpic","lastRegisterTimestamp","forms","password_confirm","confirm","handleRegisterResponseEpic","changePasswordEpic","changeNameEpic","changeEmailEpic","resendVerificationEmailEpic","sendNewPasswordEpic","setNewPasswordEpic","logoutUserEpic","tokenEpic","refreshUserDataEpic","refreshUserDataInitialized","updateSentryUser","refreshUserIntervalDataEpic","amIUniqueEpic","withdrawBlockedEpic","bonusAlertEpic","userEpic","doEpic","doNotClearConfirm","cancelEpic","dataCancel","callbackCancel","callbackActionEpic","callbackAction","callbackCancelAction","confirmEpic","newDepositEpic","newDepositDetectedEpic","getAllBetsEpic","getHighRollsEpic","fulfillEpic","withdrawEpic","new","resetEpic","clearEpic","handleEpic","unread","clearDelayEpic","pendingEpic","pendingDataEpic","activeEpic","handleWithdrawsEpic","handleWithdrawConfirmedEpic","appClosesEpic","disabledMaintenanceEpic","clearMyBetsFromMemory","transactionsEpic","codeRequiredEpic","installEpic","qrcode","secret","enableEpic","disableEpic","twoFactorAuthenticationEpic","statsClass","maxValues","currState","isTimestampNotValid","isDataNotValid","getStatsDataEpic","getWeekStatsDataEpic","registrations","waggered","handleUpdateEpic","updateStatsDataEpic","statsService","betsTotal","updatedTimestamp","coinsCurrentPrice","highestWonLastDay","onlineUsers","lastHighWin","newHighRollerEpic","globalStatisticsEpic","formsEpic","setPasswordNotificationEpic","emailVerifyNotificationEpic","kycVerifyNotificationEpic","availableBonusCodeNotificationEpic","isAnyEpic","notificationEpic","createCampaignEpic","affiliateEpic","SET_FAUCET_REMAINING","SET_FAUCET_DELAY_UNTIL","claimEpic","faucetError","delayUntil","setFaucetRemaining","faucetRemaining","faucetEpic","submitTipEpic","tipEpic","leaveChannelThunk","bindPrivateEpic","unbindPrivateEpic","bindPrivateMessagesEpic","unbindEpic","privateChannelId","websocketEpic","dailyStreakEpic","fiat_amount","divider","satoshiPrice","satoshiAmount","revenue","ecommerce","purchase","actionField","products","quantity","registerEpic","signup_location","userId","openModalEpic","closeModalEpic","pushEpic","appWolfLayer","depositPageCloseEpic","locationChangeEpic","gtmEpic","checkAlertsEpic","handleAlertsEpic","appAlertEpic","tabAlertEpic","clearTabAlertEpic","alerts","pendingClose","wolfMetaTitle","closeAlertEpic","alertsEpic","submitRainEpic","users_amount","usersAmount","rainEpic","vaultBalance","vaultBalances","valueBalance","vault","vaultEpic","historyEpic","openActiveEpic","closeActiveEpic","clearPrivateEpic","stream","clearStreamDataEpic","privateActive","getStreamEpic","channelEpic","newMessageEpic","last_message","last_message_timestamp","privateActiveEpic","readChannelEpic","fixUnreadEpic","isUnreadDeleted","privateMessagesEpic","repeatOnlineActive","friendsListEpic","friendsRequestsEpic","newRequestEpic","cancelRequestEpic","acceptedRequestEpic","deletedFriendEpic","getOnlineEpic","onlineRepeatEpic","disableOnline","onlineRepeatGetEpic","friendsEpic","initPreferencesEpic","updatePrivacyEpic","preferencesEpic","changeEpic","currencyEpic","switchEpic","converterEpic","responseEpic","localStorageEpic","setOption","optionsInitEpic","optionsData","maxBet","chart","autobetSummary","animation","parseOptions","optionsEpic","PWA_SET_ACTIVE","PWA_INSTALL_ACCEPTED","PWA_INSTALL_DECLINED","PWA_SET_CALLBACK","PWA_SET_MODE","pwaSetActive","pwaSetCallback","pwaSetMode","pwaInstallAccepted","pwaInstallDeclined","pwaInit","onActive","onInstall","deferredPrompt","pwaMode","standalone","onAccept","onDecline","prompt","userChoice","choiceResult","handlePwaPrompt","pwaEpic","packageRejectedEpic","packageData","packageInjectedEpic","registryEpic","epic$","BehaviorSubject","rootEpic","createEpicManager","createReducerManager","initialReducers","combinedReducer","combineReducers","keysToRemove","getReducerMap","reducerManager","epicManager","createThunkMiddleware","extraArgument","thunk","withExtraArgument","SubscribeOnObservable","delayTime","scheduler","asap","schedule","_subscribe","Observable","subscribeOn","SubscribeOnOperator","ActionsObservable","_Observable","actionsSubject","operator","StateObservable","stateSubject","__notifier","__subscription","createLogger","collapsed","REJECT_TIMEOUT","injectedCounter","rejectTimouts","injectConst","rejectConst","injectedAction","rejectedAction","manager","isAdding","managerFunc","actionFunc","epicMiddleware","QueueScheduler","uniqueQueueScheduler","_store","actionSubject$","observeOn","stateSubject$","state$","output$","dependencies","createEpicMiddleware","enhancers","middlewares","multi","createRouterMiddleware","vipReducer","balanceReducer","supportReducer","contentDeviceTypeReducer","extendedAccessReducer","locationReducer","csrfReducer","sourceReducer","appReducer","mobileChat","firstTimestamp","extendedAccess","withdrawBlockedReducer","withdrawBlockedTimestampReducer","hasAvailableBonusCodeReducer","userReducer","isLogging","loginError","__insp","confirmReducer","disableCancelButton","affiliateCampaignsReducer","affiliateAnalyticsReducer","affiliateFundsReducer","affiliateCashoutHistoryReducer","otherTransactionsReducer","vaultHistoryReducer","friendsIgnoredReducer","sessionsReducer","sessionHistoryReducer","transactionsReducer","twoFactorAuthenticationReducer","qrCode","objectBoolReducer","TRUE_ACTION","FALSE_ACTION","modulesReducer","groupsReducer","groupData","loaderReducer","groups","groupsData","lastWeekWageredReducer","lastWeekRegistrationsReducer","globalStatisticsReducer","betsCounter","wonLast24h","lastWeekWagered","lastWeekRegistrations","formsReducer","bet_verification","faucetReducer","notificationReducer","affiliateReducer","utmSource","websocketReducer","connectionState","alertsReducer","serverSeed","tipReducer","dataReducer","serverDataReducer","balancesReducer","vaultReducer","historyReducer","activeListReducer","channelIdReducer","privateMessagesReducer","listReducer","requestsReducer","onlineReducer","disableOnlineReducer","repeatOnlineActiveReducer","friendsReducer","getObject","privacyReducer","communityReducer","preferencesReducer","dropdownReducer","currencyReducer","converterReducer","optionsReducer","installActiveReducer","callbackReducer","modeReducer","pwaReducer","registryReducer","createRootReducer","faucet","serverData","dropdown","logSlowReducers","wrapper","redirectLocation","redirect","handleUrlQuery","locals","staticReducers","middleware","_createStore","composeWithDevTools","applyMiddleware","batchedSubscribe","handlePageAuth","checkAuth","useAuthInitialized","tokenValue","refTokenValue","getTokenCallback","useAuth","INIT_LS_VALUE","SideMenuProvider","isChatVisible","prevIsInitialized","setIsOpen_","_isOpen","asPathPrev","useLocationChange","isOpen_","StyledHeaderBox","$noWrap","TabGroupStyled","MenuElement","menuElement","getName","openModalCallback","closeCallback","isModal","getProps","MenuElementStyled","MenuElementIcon","checkNotification","MenuList","hideMenu_","openModal_","MenuListStyled","HeaderMenu","prevIsMenuVisible","handleClickOutside_","outSideRef","useOnclickOutside","StyledHeaderMenu","StyledHeaderRow","HeaderChat","TRIGGERS","UserLoadingWrapper","isLoaderActive","MyVipIcon","HeaderUser","isLogged_","isMenuVisible_","toggleMenu_","showHideZeroBalancesSwitch","justifyContent","alignItems","SectionSwitch","prevPathname","activeTabId","setActiveTabId","tabs","TABS","newTab","SideMenuToggle","SideMenuToggleStyled","HOME_URL","Header","isLockedView_","setScrolled","checkIfScrolled_","scrolled_","scrollY","logoOnClick_","scrollTo","ChristmasThemeLoadable","ChristmasTheme","FlagLang","StyledFlagLanguage","LangPicker","StyledLangPickerDropdown","popperOptions","defaultActiveId","onSelect","StyledDropdownButtonWrapper","SideMenuList","SideMenuListStyled","SideMenuQuickAccess","SideMenuQuickAccessStyled","SideMenuQuickAccessBoxStyled","SideMenuNavigation","SideMenuNavigationStyled","StyledVipClub","CSSClassNameIcon","FIRST_LIST","SECOND_LIST","THIRD_LIST","SideMenuSupportButton","SideMenuStyled","$isOpen","SideMenuSpacer","StyledMain","StyledDefaultGlobal","StyledPagesGlobal","StyledChatGlobal","BottomMenuLoadable","BottomMenu","Confirm","CoverLoadable","Cover","DropdownMenu","InfoModalContainer","TestMenu_","TestMenu","Modal_","Modal","Performance","SupportToggle","AlertsWrapperContainer","CaptchaStoreController","ChatContainer","AsyncModules","pageId","useConditionalTimeout","timeoutHandler","_setTimeout","useApp","rootClasses","setRootClasses","isLeftMenuOpen","modalOpened","tab","isAppInitialized","isAuthInitialized","getRootClasses","isMobileChat_","handleResize","currentWidth","currentHeight","setProperty","activeElement","blur","cursor","currClasses","christmas","AppContext","Footer_","App","reportWebVitals","metric","useCheckNamespaces","useCheckAccessDenied","crossOrigin","iconAfter","borderType","refElement","onlyIcon","isLabel","InputStyleType","DropdownArrow","PORTAL","useIsomorphicLayoutEffect","EMPTY_MODIFIERS","subId","setDom","createPortal","Dropdown","forceVisible","onVisibleChange","portalId","buttonProps","activeContent","maxHeight","setVisibility","setActive","referenceRef","setReferenceRef","popperRef","setPopperRef","referenceElement","popperElement","prevOptions","optionsWithDefaults","updateStateModifier","newOptions","popperInstanceRef","popperInstance","createPopper","usePopper","updateVisibility","hideDropdownMenu","handleDocumentClick","handleDropdownClick","handleItemClick","selected_","dropdownMenu","zIndex","DropdownContainer","$maxHeight","$visible","DropdownItem","DROPDOWN","PROPS_DEFAULTS","$type","InputLabelActionStyled","InputLabelStyled","InputIconWrapperStyled","InputStyled","$icon","InputBoxStyled","Input","labelAction","inputProps_","$isLabel","getTabButtonActiveColors","TabButton","onClick_","TabButtonStyled","TabGroupWrapperStyled","align","TabGroup","UserIcon","faUser","ModeratorBadge","faUserCog","UserNameIcons","isMe","noBadges","isDisabledBadges","noIcons","noLevelIcon","moderator","UserNameIconsStyled","isOnline","StyledUserNameText","$my","$noStyles","$inline","StyledVipIconLabel","StyledVipIcon","VipIcon","noValue","__NEXT_P","__nccwpck_require__","ab","__dirname","slashes","resolveObject","Url","maxKeys","stringifyPrimitive","__webpack_modules__","__unused_webpack_module","Object_keys","defineProp","globals","Context","Script","runInContext","contentWindow","execScript","runInThisContext","isContext","createScript","__webpack_exports__","_style","_interopRequireDefault","_nprogress","_propTypes","NextNProgress","timer","configure","routeChangeStart","NProgress","Settings","easing","positionUsing","trickle","trickleRate","trickleSpeed","barSelector","spinnerSelector","toBarPerc","barPositionCSS","ease","barCSS","started","isStarted","progress","bar","getPositioningCSS","work","inc","$promise","always","fromStart","isRendered","addClass","spinner","perc","removeElement","removeClass","bodyStyle","vendorPrefix","cssPrefixes","cssProps","camelCase","getVendorProp","vendorName","capName","getStyleProp","applyCss","hasClass","oldList","newList","defaultRenderAnnounceSlideMessage","clip","currentSlide","_ref$ariaLive","ariaLive","tabIndex","nodeInterop","_getRequireWildcardCache","newObj","hasPropertyDescriptor","_interopRequireWildcard","_slide","_announceSlide","_sliderList","_types","_controls","_defaultCarouselProps","_utils","_useFrameHeight2","_defaultControls","cacheBabelInterop","cacheNodeInterop","_objectSpread","rawProps","adaptiveHeight","adaptiveHeightAnimation","afterSlide","autoplayReverse","beforeSlide","propsCellAlign","cellAlign","disableAnimation","desktopDraggingEnabled","propsDragThreshold","dragThreshold","frameAriaLabel","innerRef","keyCodeConfig","onDrag","onDragEnd","onDragStart","onUserNavigation","pauseOnHover","renderAnnounceSlideMessage","propsScrollMode","scrollMode","slideIndex","propsSlidesToScroll","slidesToScroll","propsSlidesToShow","slideWidth","mobileDraggingEnabled","zoomScale","filteredSlides","slideCount","ScrollMode","slideIOEntries","setSlideIOEntries","visibleCount","_useState4","constantVisibleCount","setConstantVisibleCount","_useState6","getDefaultSlideIndex","setCurrentSlide","_useState8","setPause","_useState10","isDragging","setIsDragging","_useState12","dragDistance","setDragDistance","_useState14","animationDistance","setAnimationDistance","_useState16","isAnimating","setIsAnimating","updateSlideIOEntry","isFullyVisible","newMap","prevDragged","prevXPosition","preDragOffset","sliderListRef","defaultCarouselRef","autoplayTimeout","autoplayLastTriggeredRef","setSliderListRef","carouselRef","goToSlide","targetSlideUnbounded","targetSlideBounded","getBoundedIndex","slideChanged","currentOffset","sliderWidth","targetOffset","getPercentOffsetForSlide","slideSetWidth","nextSlide","nextSlideIndex","getNextMoveIndex","prevSlide","prevSlideIndex","getPrevMoveIndex","prevMovedToSlideIndex","pauseStarted","adjustedTimeoutMs","dragPositions","handleDragEnd","distanceFromInertia","startMove","endMove","timeOffset","velocity","adjustedDragDistance","oneScrollWidth","timesToMove","handlePointerMove","xPosition","isFirstMove","delta","nextDragDistance","onTouchMove","moveValue","touches","pageX","onMouseDown","onMouseMove","offsetX","clientX","onMouseUp","onMouseLeave","_useFrameHeight","useFrameHeight","frameHeight","handleVisibleSlideHeightChange","initializedAdaptiveHeight","renderSlides","typeOfSlide","isCurrentSlide","onVisibleSlideHeightChange","updateIOEntry","outline","touchAction","userSelect","onKeyDown","keyCommand","_keyCodeConfig$comman","dotIndices","getDotIndexes","onTouchEnd","SliderList","disableEdgeSwiping","draggedOffset","edgeEasing","getControlContainerStyles","Positions","TopLeft","TopCenter","TopRight","CenterLeft","CenterCenter","CenterRight","BottomLeft","BottomCenter","BottomRight","getControlContainerFlexStyles","_controlStyles","controlsMap","funcName","disableCheckProps","nextDisabled","nextButtonDisabled","previousDisabled","prevButtonDisabled","pagingDotsIndices","control","_props$control$funcNa","pointerEvents","defaultControlsConfig","containerClassName","previousSlide","vertical","easeOut","firstSlide","lastSlide","renderBottomCenterControls","PagingDots","renderCenterLeftControls","PreviousButton","renderCenterRightControls","NextButton","defaultButtonStyles","_ref2$defaultControls","prevButtonClassName","_ref2$defaultControls2","prevButtonStyle","prevButtonText","prevButtonOnClick","_ref4$defaultControls","nextButtonClassName","_ref4$defaultControls2","nextButtonStyle","nextButtonText","nextButtonOnClick","dotIndexes","scrollSlides","lastPossibleIndexWithoutWhitespace","_i2","firstPossibleIndexWithoutWhitespace","_i3","_i4","_ref5$defaultControls","pagingDotsContainerClassName","pagingDotsClassName","_ref5$defaultControls2","pagingDotsStyle","pagingDotsOnClick","getButtonStyles","currentSlideBounded","listStyleType","focusable","_useStateWithRef3","_useStateWithRef2","useStateWithRef","visibleHeights","setVisibleHeights","visibleHeightsRef","setInitializedAdaptiveHeight","newVisibleHeights","latestVisibleHeights","slideHeight","useSlideIntersectionObserver","elementRef","setEntry","callbackRef","valueRef","useTween","durationMs","easingFunction","navigationNum","shouldInterrupt","normalizedTimeRaw","setNormalizedTime","startTime","rAF","lastNavigationNum","normalizedTime","cancelAnimationFrame","_exportNames","_carousel","_useSlideIntersectionObserver","getSlideStyles","isVisibleSlide","getSlideWidth","visibleSlideOpacity","animationSpeed","_entry$intersectionRa","customIndex","generateIndex","slideRef","prevIsVisibleRef","_node$getBoundingClie","prevIsVisible","currentSlideClass","inert","_useTween2","renderedSlideCount","singleSlidePercentOfWhole","slide0Offset","listVisibleWidth","percentOffsetForSlideProps","clampedDraggedOffset","clampOffsets","positioning","slideBasedOffset","isEdgeEasing","_useTween","transitionOffset","Alignment","Directions","rawIndex","_construct","Parent","Class","isNativeReflectConstruct","_wrapNativeSuper","_cache","PolishedError","_Error","colorToInt","convertToInt","hslToRgb","hue","saturation","lightness","huePrime","chroma","secondComponent","lightnessModification","namedColorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","violet","wheat","whitesmoke","yellow","yellowgreen","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","parseToRgb","normalizedColor","normalizedColorName","nameToHex","alpha","_alpha","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","_rgbColorString","_hslRgbMatched","parseToHsl","rgbToHsl","reduceHexValue","numberToHex","colorToHex","convertToHex","hslToHex","hsl","hsla","rgb","firstValue","secondValue","thirdValue","fourthValue","rgbValue","toColorString","isRgba","isRgb","isHsla","isHsl","curried","combined","curry","guard","lowerBoundary","upperBoundary","hslColor","curriedDarken","curriedLighten","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","nextTick","argv","versions","addListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","propName","propFullName","getShim","isRequired","ReactPropTypes","bigint","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","installedModules","getter","__webpack_require__","INVALID_BYTE","Coder","_paddingCharacter","encodedLength","_encodeByte","maxDecodedLength","decodedLength","_getPaddingLength","paddingLength","haveBad","v0","v1","v2","v3","_decodeChar","stdCoder","URLSafeCoder","urlSafeCoder","encodeURLSafe","decodeURLSafe","INVALID_UTF16","INVALID_UTF8","n2","n3","AuthRequestType","ScriptReceiverFactory","lastId","called","callbackWrapper","receiver","ScriptReceivers","PROTOCOL","wsPort","wsPath","httpHost","httpPort","httpsPort","httpPath","stats_host","authTransport","activityTimeout","pongTimeout","unavailableTimeout","transport","channelAuthorization","cdn_http","cdn_https","dependency_suffix","dependency_loader","DependencyLoader","receivers","runtime","createScriptRequest","successCallback","wasSuccessful","cleanup","getRoot","getDocument","useTLS","DependenciesReceivers","Dependencies","urlStore","baseUrl","urls","authenticationEndpoint","authorizationEndpoint","javascriptQuickStart","triggeringClientEvents","encryptedChannelSupport","fullUrl","url_store","urlObj","urlPrefix","BadEventName","_newTarget","BadChannelName","RequestTimedOut","TransportPriorityTooLow","TransportClosed","UnsupportedFeature","UnsupportedTransport","UnsupportedStrategy","HTTPAuthError","xhr_auth","authOptions","authRequestType","createXHR","headerName","headersProvider","dynamicHeaders","UserAuthentication","ChannelAuthorization","b64chars","b64tab","base64_i","cb_utob","utob","cb_encode","ccc","padlen","ord","abstract_timer","Timer","isRunning","ensureAborted","timers_extends","timers_clearTimeout","timers_clearInterval","OneOffTimer","PeriodicTimer","Util","boundArguments","util","sources","extensions","safeJSONStringify","nativeIndexOf","objectApply","filterObject","encodeParamsObject","mapObject","buildQueryString","derez","nu","$ref","decycleObject","logger_Logger","globalLog","globalLogWarn","globalLogError","defaultLoggingFunction","core_pusher","logToConsole","jsonp_auth","callbackName","nextAuthCallbackID","auth_callbacks","callback_name","script_request","ScriptRequest","errorString","charset","errorScript","nextSibling","jsonp_request","JSONPRequest","jsonp_timeline","getAgent","sender","createJSONPRequest","getGenericURL","baseScheme","hostTLS","hostNonTLS","getGenericPath","ws","getInitial","sockjs","callback_registry","CallbackRegistry","prefixedEventName","removeCallback","removeAllCallbacks","dispatcher","Dispatcher","failThrough","global_callbacks","unbind_all","metadata","transport_connection_extends","transport_connection_TransportConnection","TransportConnection","initialize","transportConnectionInitializer","timeline","generateUniqueID","handlesActivityChecks","supportsPing","getSocket","changeState","bindListeners","ping","onOpen","beforeOpen","onopen","buildTimelineMessage","onClose","closeEvent","wasClean","unbindListeners","onMessage","onActivity","onclose","onmessage","onactivity","cid","transport_connection","transports_transport","Transport","createConnection","WSTransport","getWebSocketAPI","createWebSocket","httpConfiguration","streamingConfiguration","HTTPFactory","createStreamingSocket","pollingConfiguration","createPollingSocket","xhrConfiguration","isXHRSupported","transports","xhr_streaming","xhr_polling","SockJSTransport","file","SockJS","js_path","ignore_null_origin","ignoreNullOrigin","xdrConfiguration","isXDRSupported","XDRStreamingTransport","XDRPollingTransport","xdr_streaming","xdr_polling","transports_transports","net_info_extends","net_info_Network","NetInfo","onLine","assistant_to_the_transport_manager","AssistantToTheTransportManager","minPingDelay","maxPingDelay","pingDelay","openTimestamp","onClosed","reportDeath","lifespan","isAlive","Protocol","decodeMessage","messageEvent","messageData","pusherEventData","pusherEvent","encodeMessage","processHandshake","activity_timeout","getCloseAction","getCloseError","protocol_protocol","connection_extends","connection_connection","Connection","send_event","activity","handleCloseEvent","connection_handshake","Handshake","timeline_sender","TimelineSender","isEmpty","TimelineTransport","channel_extends","channels_channel","subscribed","subscriptionPending","subscriptionCancelled","authorize","handleEvent","handleSubscriptionSucceededEvent","handleSubscriptionCountEvent","subscription_count","subscriptionCount","channel_data","cancelSubscription","reinstateSubscription","private_channel_extends","PrivateChannel","channelAuthorizer","channelName","private_channel","Members","setMyID","myID","onSubscription","subscriptionData","presence","addMember","memberData","removeMember","presence_channel_extends","presence_channel","PresenceChannel","authData","channelData","signinDonePromise","user_data","handleInternalEvent","addedMember","removedMember","encrypted_channel_extends","encrypted_channel","EncryptedChannel","nacl","sharedSecret","handleEncryptedEvent","cipherText","secretbox","overheadLength","nonceLength","getDataToEmit","connection_manager_extends","connection_manager","ConnectionManager","usingTLS","errorCallbacks","buildErrorCallbacks","connectionCallbacks","buildConnectionCallbacks","handshakeCallbacks","buildHandshakeCallbacks","Network","getNetwork","netinfo","retryIn","sendActivityCheck","updateStrategy","runner","startConnecting","setUnavailableTimer","disconnectInternally","isUsingTLS","handshake","handshakeError","abortConnecting","clearRetryTimer","clearUnavailableTimer","abandonConnection","getStrategy","retryTimer","unavailableTimer","stopActivityCheck","activityTimer","pong_timed_out","resetActivityCheck","shouldRetry","connected","setConnection","withErrorEmitted","tls_only","refused","backoff","newStateDescription","previous","channels_Channels","Channels","createEncryptedChannel","errMsg","createPrivateChannel","createPresenceChannel","createChannel","createChannels","createConnectionManager","createTimelineSender","createHandshake","createAssistantToTheTransportManager","transport_manager","TransportManager","livesLeft","lives","getAssistant","sequential_strategy","SequentialStrategy","strategies","failFast","timeoutLimit","minPriority","tryNextStrategy","tryStrategy","forceMinPriority","best_connected_ever_strategy","BestConnectedEverStrategy","callbackBuilder","runners","rs","abortRunner","collections_all","allRunnersFailed","cached_strategy_CachedStrategy","CachedStrategy","ttl","storage","getLocalStorage","serializedCache","getTransportCacheKey","flushTransportCache","fetchTransportCache","cached","latency","startTimestamp","storeTransportCache","cached_strategy","delayed_strategy","DelayedStrategy","if_strategy","IfStrategy","trueBranch","falseBranch","first_connected_strategy","FirstConnectedStrategy","testSupportsStrategy","State","default_strategy","baseOptions","defineTransport","definedTransports","defineTransportStrategy","wsStrategy","ws_options","wss_options","sockjs_options","timeouts","ws_manager","streaming_manager","ws_transport","wss_transport","sockjs_transport","xhr_streaming_transport","xdr_streaming_transport","xhr_polling_transport","xdr_polling_transport","ws_loop","wss_loop","sockjs_loop","streaming_loop","polling_loop","http_loop","http_fallback_loop","http_xdomain_request","xdr","XDomainRequest","onprogress","onChunk","abortRequest","http_request_extends","http_request","HTTPRequest","unloader","addUnloadListener","removeUnloadListener","chunk","advanceBuffer","isBufferTooLong","unreadData","endOfLinePosition","autoIncrement","getUniqueURL","randomNumber","randomInt","TimelineLevel","http_socket","HTTPSocket","session","randomString","getLocation","CONNECTING","openStream","sendRaw","sendHeartbeat","OPEN","createSocketRequest","reconnect","closeStream","CLOSED","onEvent","onHeartbeat","urlParts","replaceHost","getReceiveURL","onFinished","http_streaming_socket","http_polling_socket","http_xhr_request","getXHRAPI","http_http","createSocket","createRequest","getDefaultStrategy","Transports","WebSocket","MozWebSocket","setup","PusherClass","initializeOnDocumentBody","onDocumentBody","getProtocol","getAuthorizers","jsonp","createXMLHttpRequest","createMicrosoftXHR","createXDR","documentProtocol","detachEvent","timeline_level","timeline_timeline","Timeline","uniqueID","sendfn","bundle","features","transport_strategy","TransportStrategy","failAttempt","onInitialized","serializedTransport","strategy_builder_Transports","strategy_builder_defineTransport","transportClass","disabledTransports","strategy_builder_UnsupportedStrategy","user_authenticator","paramsProvider","dynamicParams","composeChannelQuery","channel_authorizer","channel_authorizer_composeChannelQuery","getHttpHost","getWebsocketHost","getWebsocketHostFromCluster","shouldUseTLS","getEnableStatsConfig","enableStats","buildUserAuthenticator","buildChannelAuthorizer","customHandler","channelAuthorizerGenerator","deprecatedAuthorizerOptions","ChannelAuthorizerProxy","authorizer","buildChannelAuth","watchlist_extends","watchlist","WatchlistFacade","bindWatchlistInternalEvent","watchlistEvent","flat_promise","user_extends","UserFacade","signin_requested","serverToUserChannel","_signinDoneResolve","_onAuthorize","_cleanup","_signin","_newSigninPromiseIfNeeded","_onSigninSuccess","userAuthenticator","_subscribeChannels","setDone","pusher_Pusher","app_key","checkAppKey","statsHost","timelineParams","getConfig","global_emitter","sessionID","getClientFeatures","timelineSender","subscribeAll","instances","isReady","allChannels","timelineSenderTimer","event_name","channel_name","Runtime","strictUriEncode","decodeComponent","splitOnFirst","validateArrayFormatSeparator","keysSorter","removeHash","hashStart","extract","queryStart","parseNumbers","parseBooleans","arrayFormat","arrayFormatSeparator","isEncodedArray","parserForArrayFormat","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","pick","exclusionFilter","Path","counterClockwise","dashRatio","pathRadius","getDashStyle","getPathDescription","diameter","gapLength","strokeDasharray","strokeDashoffset","CircularProgressbar","getBackgroundPadding","backgroundPadding","getPathRadius","getPathRatio","circleRatio","pathRatio","trail","hoistNonReactStatic","ReactDOM","handleClickOutside","domNode","__domNode","__wrappedInstance","_props","wrappedRef","findDOMNode","SVG","animate","animateBegin","backgroundOpacity","_g","foregroundOpacity","_h","gradientRatio","gradientDirection","_k","_l","rtl","_m","_o","_p","_q","beforeMask","fixedId","idClip","idGradient","idAria","rtlStyle","keyTimes","gradientTransform","clipPath","stopOpacity","begin","ContentLoader","ReactContentLoaderFacebook","checkClass","_el$classList","hasIgnoreClass","ignoreClass","getEventOptions","canUsePassiveEvents","refsOpt","_ref$eventTypes","eventTypes","excludeScrollbar","_ref$ignoreClass","_ref$detectIFrame","detectIFrame","refsState","setRefsState","getEls","els","clientY","clickedOnScrollbar","blurHandler","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","flags","ReactReduxContext","batch","getBatch","nullListeners","createSubscription","parentSub","handleChangeWrapper","onStateChange","trySubscribe","addNestedSub","isSubscribed","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","contextValue","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","_ref2$forwardRef","_ref2$context","connectOptions","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","Consumer","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","previousStateUpdateResult","renderedWrappedComponent","Connect","forwarded","is","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","stateOrDispatch","ownProps","mapDispatchToProps","boundActionCreators","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","createStoreHook","useReduxContext","createDispatchHook","useStore","refEquality","equalityFn","_useReduxContext","selectedState","contextSub","forceRender","latestSubscriptionCallbackError","latestSelector","latestSelectedState","storeState","newSelectedState","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","currentListeners","nextListeners","ensureCanMutateNextListeners","notifyListeners","notifyListenersBatched","subscribeImmediate","compose","thresholdInMs","originalReducer","diffInMs","super_","prefilter","lhs","rhs","actionTransformer","titleFormatter","startedTime","took","stateTransformer","errorTransformer","logErrors","diffPredicate","DeepDiff","observableDiff","applyDiff","applyChange","revertChange","isConflict","noConflict","transformer","merger","keyHasType","formatProdErrorMessage","$$observable","ActionTypes","INIT","PROBE_UNKNOWN_ACTION","enhancer","currentReducer","currentState","isDispatching","replaceReducer","nextReducer","outerSubscribe","observeState","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","funcs","_dispatch","middlewareAPI","rxjs_1","__export","RefCountOperator","connectable","_refCount","refCounter","RefCountSubscriber","_unsubscribe","refCount","sharedConnection","_connection","ConnectableObservable","subjectFactory","_isComplete","getSubject","_subject","isStopped","Subscription","ConnectableSubscriber","_error","_complete","GroupDurationSubscriber","removeGroup","GroupedObservable","groupSubject","refCountSubscription","InnerRefCountSubscription","attemptedToUnsubscribe","ReplaySubject","bufferSize","windowTime","POSITIVE_INFINITY","_events","_infiniteTimeWindow","_bufferSize","_windowTime","nextInfiniteTimeWindow","nextTimeWindow","ReplayEvent","_getNow","_trimBufferThenGetEvents","ObjectUnsubscribedError","hasError","SubjectSubscription","thrownError","eventsCount","spliceCount","AsyncSubject","hasNext","hasCompleted","AnimationFrameAction","requestAsyncId","scheduled","recycleAsyncId","AsyncAction","AnimationFrameScheduler","AsyncScheduler","animationFrameScheduler","animationFrame","VirtualTimeScheduler","SchedulerAction","maxFrames","VirtualAction","frameTimeFactor","sortActions","_execute","isObservable","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","EmptyError","EmptyErrorImpl","TimeoutError","TimeoutErrorImpl","bindCallback","callbackFunc","resultSelector","isScheduler","innerArgs","canReportError","dispatchNext","bindNodeCallback","combineLatest","fromArray","CombineLatestOperator","CombineLatestSubscriber","unused","oldVal","_tryResultSelector","concatAll","mergeAll","observableFactory","forkJoin","first_1","forkJoinInternal","resultSelector_1","completed","emitted","_loop_1","hasValue","fromEvent","setupSubscription","isEventTarget","source_1","isJQueryStyleEventEmitter","source_2","isNodeStyleEventEmitter","source_3","fromEventPattern","addHandler","removeHandler","retValue","initialStateOrOptions","iterate","resultSelectorOrObservable","identity","needIterate","iif","trueResult","falseResult","period","NEVER","never","onErrorResumeNext","subNext","pairs","not","pred","notPred","partition","subscribeTo","RaceOperator","RaceSubscriber","hasFirst","subscriptions","dueTime","periodOrScheduler","due","using","resourceFactory","resource","_value","getValue","NotificationKind","Notification","do","accept","nextOrObserver","toObservable","createNext","undefinedValueNotification","createError","createComplete","completeNotification","_isScalar","observerOrNext","sink","rxSubscriber","toSubscriber","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","promiseCtor","getPromiseCtor","toPromise","outerValue","innerIndex","innerSub","notifyError","Scheduler","SubjectSubscriber","AnonymousSubject","asObservable","subscriberIndex","destinationOrNext","SafeSubscriber","_unsubscribeAndRecycle","_parentOrParents","_parentSubscriber","_context","__tryOrSetError","__tryOrUnsub","useDeprecatedSynchronousErrorHandling","wrappedComplete","_subscriptions","_ctorUnsubscribe","flattenUnsubscriptionErrors","teardown","EMPTY","subscriptionIndex","errs","_enable_super_gross_mode_that_will_cause_bad_things","SimpleInnerSubscriber","SimpleOuterSubscriber","innerSubscriber","emptyScheduled","concurrent","throwError","ZipOperator","ZipSubscriber","iterators","StaticArrayIterator","StaticIterator","ZipBufferIterator","stillUnsubscribed","notifyInactive","checkIterators","shouldComplete","_tryresultSelector","nextResult","isComplete","CatchOperator","caught","CatchSubscriber","err2","innerSubscription","delayFor","DelayOperator","DelaySubscriber","errored","delay_1","_schedule","scheduleNotification","DelayMessage","FilterOperator","FilterSubscriber","MapOperator","MapSubscriber","ii","MergeMapOperator","MergeMapSubscriber","_tryNext","_innerSub","ish","ObserveOnOperator","ObserveOnSubscriber","scheduleMessage","ObserveOnMessage","scheduleArray","isInteropObservable","scheduleObservable","isPromise","schedulePromise","isArrayLike","isIterable","scheduleIterable","errorValue","Action","delegate","nextHandle","RESOLVED","activeHandles","findAndClearHandle","Immediate","AsapAction","AsapScheduler","asapScheduler","asyncScheduler","QueueAction","queueScheduler","getSymbolIterator","ObjectUnsubscribedErrorImpl","UnsubscriptionError","UnsubscriptionErrorImpl","closed_1","hostReportError","pipeFromArray","obs","subscribeToArray","iterable","InnerSubscriber","outerSubscriber","compareContext","bHasOwnProperty","valueA","valueB","separatorIndex","ca","da","ha","ia","ja","ka","ba","la","ma","oa","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zoom","WebkitLineClamp","floodOpacity","strokeMiterlimit","strokeOpacity","reactPropsRegex","isPropValid","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","indexOfGroup","insertRules","clearGroup","getGroup","registerName","getTag","nodes","useCSSOMInjection","gs","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clearRules","clearTag","staticRulesId","componentId","baseHash","baseStyle","generateAndInjectStyles","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","isCss","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","withComponent","_foldedDefaultProps","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","collectStyles","interleaveWithNodeStream","assert","argIndex","pathParts","routeParts","LookupTree","tree","lookupTreeReducer","createRouter","routesParams","lookupTree","queryParts","paramNames","injected","branches","currentTree","unirouter","webpackAsyncContext","webpackContext","webpackContextResolve","_x","_toPropertyKey","prim","faTrashCan","faTrashAlt","faUserXmark","faUserTimes","faCircleMinus","faMinusCircle","faFaceGrinStars","faGrinStars","faClipboardList","faEarthAfrica","faGlobeAfrica","faCircleExclamation","faUnlockKeyhole","faUnlockAlt","faSquareCheck","faCheckSquare","faLock","faHourglassHalf","faEyeSlash","faGlobe","faBan","faUserGroup","faUserFriends","faFaceLaugh","faLaugh","faHeadset","faCircleCheck","faCheckCircle","faAddressCard","faLayerGroup","faQuestion","faChartLine","faLockOpen","faMobileScreenButton","faMobileAlt","faVolumeHigh","faVolumeUp","faEye","faFloppyDisk","faSave","faHandHoldingDollar","faHandHoldingUsd","faUserGear","faTrash","faUpRightFromSquare","faExternalLinkAlt","faUserSecret","faCommentDollar","faEnvelope","faCircleInfo","faInfoCircle","faCalendarCheck","faGear","faCog","faKeyboard","faEllipsisVertical","faRightLong","faLongArrowAltRight","faCloudRain","faRotateRight","faRedoAlt","faFileArrowDown","faFileDownload","faBolt","faUserLock","faDroplet","faTint","faEarthAmericas","faGlobeAmericas","faReceipt","faVolumeXmark","faVolumeMute","faXmark","faTimes","faChevronRight","faPercent","faRotate","faInfinity","faDesktop","faUserPlus","faCheck","faEarthEurope","faGlobeEurope","faShare","faRightLeft","faExchangeAlt","faCircleXmark","faTimesCircle","faEarthAsia","faGlobeAsia","faUserClock","faDollarSign","asyncGeneratorStep","gen","_throw","_asyncToGenerator","_taggedTemplateLiteral","strings","arrayLikeToArray"],"mappings":"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,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,WAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,WACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,UAAY,WACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,WAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,WACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,YACnEA,EAAe,UAAY,YAAaA,EAAe,UAAY,WACnEA,EAAe,UAAY,WAAaA,EAAe,UAAY,YACnEA,EAAe,WAAY,WAAaA,EAAe,WAAY,YACnEA,EAAe,WAAY,YAAaA,EAAe,WAAY,Y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MAED,kBAAmB,CAClB,MAED,eAAgB,CACf,MACA,OAED,SAAU,CACT,OAED,aAAc,CACb,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,qBAAsB,CACrB,KACA,MAED,yBAA0B,CACzB,KACA,MAED,kBAAmB,CAClB,KACA,MAED,sBAAuB,CACtB,KACA,MAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,qBAAsB,CACrB,KACA,MAED,yBAA0B,CACzB,KACA,MAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,sBAAuB,CACtB,IACA,KAED,0BAA2B,CAC1B,IACA,KAED,qBAAsB,CACrB,KACA,MAED,yBAA0B,CACzB,KACA,MAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,YAAa,CACZ,MACA,OAED,gBAAiB,CAChB,MACA,OAED,cAAe,CACd,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,uBAAwB,CACvB,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,aAAc,CACb,KACA,MAED,iBAAkB,CACjB,KACA,MAED,SAAU,CACT,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,iBAAkB,CACjB,MACA,OAED,gBAAiB,CAChB,KACA,MAED,oBAAqB,CACpB,KACA,MAED,UAAW,CACV,OAED,cAAe,CACd,OAED,YAAa,CACZ,MACA,OAED,gBAAiB,CAChB,MACA,OAED,cAAe,CACd,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,sBAAuB,CACtB,KACA,MAED,0BAA2B,CAC1B,KACA,MAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,qBAAsB,CACrB,OAED,yBAA0B,CACzB,OAED,aAAc,CACb,MACA,OAED,iBAAkB,CACjB,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,UAAW,CACV,KACA,MAED,WAAY,CACX,KACA,MAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,mCAAoC,CACnC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,wCAAyC,CACxC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,gBAAiB,CAChB,KACA,MAED,oBAAqB,CACpB,KACA,MAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,4BAA6B,CAC5B,KACA,MAED,gCAAiC,CAChC,KACA,MAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,gCAAiC,CAChC,KACA,MAED,oCAAqC,CACpC,KACA,MAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,oCAAqC,CACpC,KACA,OAED,wCAAyC,CACxC,KACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,0BAA2B,CAC1B,KACA,MAED,8BAA+B,CAC9B,KACA,MAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,6BAA8B,CAC7B,KACA,MAED,iCAAkC,CACjC,KACA,MAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,yBAA0B,CACzB,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,kCAAmC,CAClC,KACA,MAED,sCAAuC,CACtC,KACA,MAED,6BAA8B,CAC7B,KACA,MAED,iCAAkC,CACjC,KACA,MAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,+CAAgD,CAC/C,KACA,MAED,wCAAyC,CACxC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,qCAAsC,CACrC,KACA,MAED,oCAAqC,CACpC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,4CAA6C,CAC5C,MACA,OAED,4CAA6C,CAC5C,KACA,MAED,6CAA8C,CAC7C,MACA,OAED,sCAAuC,CACtC,KACA,MAED,oCAAqC,CACpC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,uCAAwC,CACvC,IACA,KAED,uCAAwC,CACvC,MACA,OAED,+CAAgD,CAC/C,MACA,OAED,wCAAyC,CACxC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,kCAAmC,CAClC,KACA,MAED,gCAAiC,CAChC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,4CAA6C,CAC5C,MACA,OAED,uCAAwC,CACvC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,wCAAyC,CACxC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,oCAAqC,CACpC,KACA,MAED,wCAAyC,CACxC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,wCAAyC,CACxC,MACA,OAED,mDAAoD,CACnD,MACA,OAED,gDAAiD,CAChD,MACA,OAED,qCAAsC,CACrC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,uCAAwC,CACvC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,8CAA+C,CAC9C,MACA,OAED,yCAA0C,CACzC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,gCAAiC,CAChC,MACA,OAED,wCAAyC,CACxC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,oCAAqC,CACpC,KACA,MAED,oCAAqC,CACpC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,qCAAsC,CACrC,KACA,MAED,+CAAgD,CAC/C,KACA,MAED,8CAA+C,CAC9C,MACA,OAED,oCAAqC,CACpC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,2CAA4C,CAC3C,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,wCAAyC,CACxC,MACA,OAED,wCAAyC,CACxC,KACA,MAED,sCAAuC,CACtC,KACA,MAED,mCAAoC,CACnC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,4CAA6C,CAC5C,IACA,KAED,6CAA8C,CAC7C,MACA,OAED,sCAAuC,CACtC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,4CAA6C,CAC5C,MACA,OAED,kCAAmC,CAClC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,6CAA8C,CAC7C,MACA,OAED,sCAAuC,CACtC,MACA,OAED,uCAAwC,CACvC,KACA,MAED,oCAAqC,CACpC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,qCAAsC,CACrC,KACA,MAED,sCAAuC,CACtC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,oCAAqC,CACpC,KACA,MAED,qCAAsC,CACrC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,mCAAoC,CACnC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,4CAA6C,CAC5C,MACA,OAED,wCAAyC,CACxC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,0CAA2C,CAC1C,MACA,OAED,oCAAqC,CACpC,MACA,OAED,2CAA4C,CAC3C,MACA,OAED,qCAAsC,CACrC,MACA,OAED,uCAAwC,CACvC,MACA,OAED,wCAAyC,CACxC,MACA,OAED,oCAAqC,CACpC,KACA,MAED,mCAAoC,CACnC,MACA,OAED,2CAA4C,CAC3C,MACA,OAED,sCAAuC,CACtC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,yCAA0C,CACzC,MACA,OAED,2BAA4B,CAC3B,KACA,MAED,+BAAgC,CAC/B,KACA,MAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,gCAAiC,CAChC,MACA,OAED,oCAAqC,CACpC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,kCAAmC,CAClC,MACA,OAED,sCAAuC,CACtC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,iCAAkC,CACjC,MACA,OAED,qCAAsC,CACrC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,mCAAoC,CACnC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,2BAA4B,CAC3B,MACA,OAED,+BAAgC,CAC/B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,kCAAmC,CAClC,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,gCAAiC,CAChC,MACA,OAED,gBAAiB,CAChB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,sBAAuB,CACtB,KACA,MAED,0BAA2B,CAC1B,KACA,MAED,UAAW,CACV,OAED,cAAe,CACd,OAED,6BAA8B,CAC7B,MACA,OAED,iCAAkC,CACjC,MACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,sBAAuB,CACtB,KACA,MAED,0BAA2B,CAC1B,KACA,MAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,4BAA6B,CAC5B,MACA,OAED,kBAAmB,CAClB,KACA,MAED,sBAAuB,CACtB,KACA,MAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,qBAAsB,CACrB,MACA,OAED,yBAA0B,CACzB,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,gBAAiB,CAChB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,YAAa,CACZ,OAED,gBAAiB,CAChB,OAED,gBAAiB,CAChB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,aAAc,CACb,OAED,iBAAkB,CACjB,OAED,aAAc,CACb,OAED,iBAAkB,CACjB,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,kBAAmB,CAClB,KACA,MAED,sBAAuB,CACtB,KACA,MAED,gBAAiB,CAChB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,kBAAmB,CAClB,OAED,sBAAuB,CACtB,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,aAAc,CACb,OAED,iBAAkB,CACjB,OAED,YAAa,CACZ,MACA,OAED,gBAAiB,CAChB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,kBAAmB,CAClB,MACA,OAED,sBAAuB,CACtB,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,iBAAkB,CACjB,MACA,OAED,qBAAsB,CACrB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,oBAAqB,CACpB,MACA,OAED,wBAAyB,CACxB,MACA,OAED,eAAgB,CACf,MACA,OAED,mBAAoB,CACnB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,aAAc,CACb,MACA,OAED,iBAAkB,CACjB,MACA,OAED,mBAAoB,CACnB,MACA,OAED,uBAAwB,CACvB,MACA,OAED,aAAc,CACb,MACA,OAED,iBAAkB,CACjB,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,0BAA2B,CAC1B,MACA,OAED,8BAA+B,CAC9B,MACA,OAED,qBAAsB,CACrB,OAED,yBAA0B,CACzB,OAED,2BAA4B,CAC3B,MAED,+BAAgC,CAC/B,MAED,oBAAqB,CACpB,M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","debug_id":"fb88406f-5fc7-50e8-8ea4-3efc08d2677c"}