{"version":3,"file":"js/downloadpassapp.js","mappings":"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","sources":["webpack://pcloud-site/webpack/runtime/chunk loaded","webpack://pcloud-site/./src/lib/move.js","webpack://pcloud-site/./src/lib/componentMount.js","webpack://pcloud-site/./new_site/images/pcloud-pass/payment-succes-extension-option.svg","webpack://pcloud-site/./new_site/images/pcloud-pass/payment-succes-drive-option.svg","webpack://pcloud-site/./new_site/images/pcloud-pass/payment-succes-web-option.svg","webpack://pcloud-site/./new_site/images/pcloud-pass/payment-succes-mobile-option.svg","webpack://pcloud-site/./src/components/DownloadPage/StyledComponents.js","webpack://pcloud-site/./src/lib/utils.js","webpack://pcloud-site/./src/components/pCloudPass/PaymentSuccess/defaultValues.js","webpack://pcloud-site/./src/components/pCloudPass/PaymentSuccess/OptionBox.js","webpack://pcloud-site/./src/components/pCloudPass/PaymentSuccess/DownloadPassAppBox.js","webpack://pcloud-site/./src/exports/downloadpassapp.js","webpack://pcloud-site/./node_modules/clsx/dist/clsx.m.js","webpack://pcloud-site/./node_modules/shallowequal/index.js","webpack://pcloud-site/external window \"jQuery\"","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/assign.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/keys.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/parse-float.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/parse-int.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol/to-primitive.js","webpack://pcloud-site/./node_modules/tslib/tslib.es6.mjs","webpack://pcloud-site/webpack/bootstrap","webpack://pcloud-site/webpack/runtime/amd options","webpack://pcloud-site/webpack/runtime/compat get default export","webpack://pcloud-site/webpack/runtime/define property getters","webpack://pcloud-site/webpack/runtime/global","webpack://pcloud-site/webpack/runtime/hasOwnProperty shorthand","webpack://pcloud-site/webpack/runtime/make namespace object","webpack://pcloud-site/webpack/runtime/jsonp chunk loading","webpack://pcloud-site/webpack/runtime/nonce","webpack://pcloud-site/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const _move = (obj, _attachList) => {\n for (var n in obj) {\n if (obj.hasOwnProperty(n)) {\n for (var k = 0; k < _attachList.length; ++k) {\n if (_attachList[k].list.indexOf(n) != -1) {\n _attachList[k].attach[n] = obj[n];\n }\n }\n }\n }\n}\n\nexport default _move;","// @flow\n\nimport * as React from \"react\";\nimport { createRoot } from 'react-dom/client';\n\nconst usedReactRoots = {};\n\nconst getExistingOrNewRoot = (element: HTMLElement) => {\n // Existing ID or create new unique ID.\n const reactRootId = element.dataset.reactRootId || Math.random().toString(16).slice(2);\n let root = usedReactRoots[reactRootId] || null;\n\n if (root === null) {\n // Save the generated new ID to the element to be reused if we change the props and call this again.\n element.dataset.reactRootId = reactRootId;\n root = createRoot(element);\n }\n\n // Cache the root.\n usedReactRoots[reactRootId] = root;\n\n return {reactRootId , root};\n}\n\nconst componentMount = (render: (props: {}) => React.Node) => (element: HTMLElement, props: {}) => {\n if (!element) {\n return null;\n }\n\n const {reactRootId, root} = getExistingOrNewRoot(element);\n root.render(render(props));\n\n return () => {\n root.unmount();\n delete usedReactRoots[reactRootId];\n };\n};\n\nexport function componentRender(element: HTMLElement, render: React.Element) {\n const {reactRootId, root} = getExistingOrNewRoot(element);\n root.render(render);\n\n return () => {\n root.unmount();\n delete usedReactRoots[reactRootId];\n };\n}\n\nexport default componentMount;\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPaymentSuccesExtensionOption(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 80,\n height: 62\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 7508\",\n d: \"M0 54.533a7.243 7.243 0 002.079 5.409 7.51 7.51 0 005.549 2.057h44.069a7.5 7.5 0 005.539-2.057 7.313 7.313 0 002.079-5.409V39.971a1.1 1.1 0 01.5-1.014c.33-.211.73-.141 1.21.191.96.692 2.06 1.435 3.309 2.218a9.8 9.8 0 005.209 1.174 10.729 10.729 0 005.479-1.365 9.363 9.363 0 003.669-3.844 12.215 12.215 0 001.31-5.77 12.076 12.076 0 00-1.31-5.75 9.616 9.616 0 00-3.669-3.844 10.64 10.64 0 00-5.479-1.385 9.7 9.7 0 00-5.209 1.194 60.913 60.913 0 00-3.309 2.238 1.028 1.028 0 01-1.21.171 1.1 1.1 0 01-.5-.993V7.466a7.243 7.243 0 00-2.079-5.409A7.5 7.5 0 0051.697 0H7.628a7.541 7.541 0 00-5.549 2.057A7.312 7.312 0 000 7.466v15.846a2.622 2.622 0 00.75 2.047 2.828 2.828 0 001.97.672 2.7 2.7 0 001.15-.251 6.241 6.241 0 001.27-.843 17.17 17.17 0 013.159-2.087 8.406 8.406 0 013.859-.813 8.116 8.116 0 016.178 2.469 9.079 9.079 0 012.349 6.543 9.079 9.079 0 01-2.349 6.543 8.146 8.146 0 01-6.178 2.469 8.436 8.436 0 01-3.859-.813 17.349 17.349 0 01-3.159-2.087 6.242 6.242 0 00-1.27-.843 2.7 2.7 0 00-1.15-.251 2.828 2.828 0 00-1.97.672A2.622 2.622 0 000 38.786zm1.96-.06V39.058c0-.492.17-.773.5-.843a1.631 1.631 0 011.21.391c.98.692 2.089 1.425 3.309 2.218a9.585 9.585 0 005.209 1.184 10.629 10.629 0 005.459-1.365 9.557 9.557 0 003.669-3.844 12.1 12.1 0 001.33-5.771 11.988 11.988 0 00-1.33-5.77 9.623 9.623 0 00-3.669-3.844 10.6 10.6 0 00-5.459-1.365 9.609 9.609 0 00-5.209 1.184 94.018 94.018 0 00-3.309 2.218 1.62 1.62 0 01-1.21.391c-.33-.07-.5-.351-.5-.843V7.504A5.378 5.378 0 013.53 3.47a5.724 5.724 0 014.179-1.535h43.9a5.724 5.724 0 014.179 1.535 5.378 5.378 0 011.57 4.034v15.9a3.352 3.352 0 00.75 2.248 2.483 2.483 0 001.97.883 2.822 2.822 0 001.17-.251 5.247 5.247 0 001.25-.843 17.173 17.173 0 013.159-2.087 8.406 8.406 0 013.859-.813 8.1 8.1 0 016.178 2.489 9.138 9.138 0 012.349 6.523A9.079 9.079 0 0175.69 38.1a8.146 8.146 0 01-6.178 2.469 8.435 8.435 0 01-3.859-.813 17.7 17.7 0 01-3.159-2.087 5.6 5.6 0 00-1.25-.8 2.822 2.822 0 00-1.17-.251 2.5 2.5 0 00-1.97.863 3.317 3.317 0 00-.75 2.268v14.732a5.378 5.378 0 01-1.57 4.034 5.724 5.724 0 01-4.179 1.536h-43.9a5.724 5.724 0 01-4.179-1.536 5.378 5.378 0 01-1.566-4.042z\",\n fill: \"#746de4\"\n })));\n}\nexport default SvgPaymentSuccesExtensionOption;","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPaymentSuccesDriveOption(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 94.001,\n height: 80\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Union 689\",\n d: \"M32 80a1 1 0 01-1-1 1 1 0 011-1h7v-8H6a6 6 0 01-6-6V6a6 6 0 016-6h82a6 6 0 016 6v58a6 6 0 01-6 6H55v8h7a1 1 0 011 1 1 1 0 01-1 1zm9-2h12v-8H41zM2 64a4 4 0 004 4h82a4 4 0 004-4v-4.5H2zm90-6.5V6a4.005 4.005 0 00-4-4H6a4.005 4.005 0 00-4 4v51.5z\",\n fill: \"#746de4\"\n })));\n}\nexport default SvgPaymentSuccesDriveOption;","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPaymentSuccesWebOption(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 94.001,\n height: 70.001\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Union 688\",\n d: \"M6 70a6 6 0 01-6-6V6a6 6 0 016-6h82a6 6 0 016 6v58a6 6 0 01-6 6zM2 6v58a4 4 0 004 4h82a4 4 0 004-4V10H2V8h90V6a4.005 4.005 0 00-4-4H6a4.005 4.005 0 00-4 4zm11-1a1 1 0 011-1 1 1 0 011 1 1 1 0 01-1 1 1 1 0 01-1-1zM9 5a1 1 0 011-1 1 1 0 011 1 1 1 0 01-1 1 1 1 0 01-1-1zM5 5a1 1 0 011-1 1 1 0 011 1 1 1 0 01-1 1 1 1 0 01-1-1z\",\n fill: \"#746de4\"\n })));\n}\nexport default SvgPaymentSuccesWebOption;","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPaymentSuccesMobileOption(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 80.001,\n height: 80.001\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Union 686\",\n d: \"M33.292 80a8.035 8.035 0 001.639-2H72a6.007 6.007 0 006-6V8a6.007 6.007 0 00-6-6H28a6.007 6.007 0 00-6 6v10h-2V8a8.01 8.01 0 018-8h44a8.009 8.009 0 018 8v64a8.008 8.008 0 01-8 8zM6 80a6 6 0 01-6-6V26a6 6 0 016-6h22a6 6 0 016 6v48a6 6 0 01-6 6zM2 26v48a4 4 0 004 4h22a4 4 0 004-4V26a4 4 0 00-4-4H6a4.005 4.005 0 00-4 4zm11 50a1 1 0 01-1-1 1 1 0 011-1h8a1 1 0 011 1 1 1 0 01-1 1zm33-2a1 1 0 01-1-1 1 1 0 011-1h8a1 1 0 011 1 1 1 0 01-1 1zM13 24a2 2 0 01-2-2h12a2 2 0 01-2 2z\",\n fill: \"#746de4\"\n })));\n}\nexport default SvgPaymentSuccesMobileOption;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { hiDPI } from \"polished\";\n\nexport const PageContent = styled.div`\n font-family: \"Roboto\", sans-serif;\n\n @media (max-width: 768px) {\n box-sizing: border-box;\n padding-top: 20px;\n }\n`;\n\n// export const AlignContainer = styled.div`\n// @media (max-width: 768px) {\n// padding: 0px 20px;\n// }\n// `;\n\nexport const Header = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 630px;\n padding: 70px 0px;\n margin-bottom: 96px;\n position: relative;\n\n @media (max-width: 768px) {\n min-height: 0px;\n padding: 0px;\n display: block;\n margin-bottom: 0px;\n }\n`;\n\nexport const DesktopHeader = styled(Header)`\n flex-direction: column;\n text-align: center;\n`;\n\nexport const PageTitle = styled.h1`\n font-size: 60px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.18;\n letter-spacing: -1.2px;\n text-align: left;\n color: #000000;\n margin-bottom: 24px;\n padding-left: 0px;\n max-width: 100%;\n\n @media (max-width: 768px) {\n font-size: 33px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin-bottom: 26px;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`\n\nexport const PageDescription = styled.p`\n font-size: 28px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.36;\n letter-spacing: -0.42px;\n text-align: left;\n color: #000000;\n margin-bottom: 43px;\n\n @media (max-width: 768px) {\n font-size: 16px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.37;\n letter-spacing: -0.2px;\n text-align: center;\n color: #000000;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const DesktopPageDescription = styled(PageDescription)`\n text-align: center;\n`;\n\nexport const Box = styled.div`\n display: inline-block;\n /* width: 50%; */\n order: ${({ order }) => order ? order : 0};\n width: 100%;\n transition: all 300ms ease-in-out;\n position: relative;\n z-index: 1;\n\n &.imagebox-android {\n @media (max-width: 1180px) and (min-width: 769px) {\n right: -25% !important;\n }\n }\n\n @media (max-width: 768px) {\n order: 0;\n width: 100%;\n }\n`;\n\nexport const ButtonContainer = styled.div`\n margin: 0 auto;\n text-align: inherit;\n\n @media (max-width: 768px) {\n text-align: center;\n }\n\n &.desktop-header-buttons {\n margin-bottom: 30px;\n }\n`;\n\nexport const ImageWrapper = styled.div``;\n\nexport const MidTitle = styled.h2`\n font-size: 46px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.17;\n letter-spacing: -0.92px;\n text-align: center;\n color: #2a2a2a;\n\n @media (max-width: 768px) {\n font-size: 27px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.25;\n letter-spacing: -0.2px;\n text-align: center;\n color: #000000;\n margin: 70px 0px 10px 0px;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const DesktopMidTitle = styled(MidTitle)`\n margin-bottom: 130px;\n`;\n\nexport const ImageAlignWrapper = styled.div`\n @media (max-width: 768px) {\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const Section = styled.div`\n display: flex;\n height: ${({ height }) => height ? height : \"auto\"};\n align-items: center;\n justify-content: space-between;\n padding: 80px 0px;\n position: relative;\n\n &.desktop-section {\n height: 839px;\n\n @media (max-width: 768px) {\n height: auto;\n }\n\n .desktop-section-textbox {\n z-index: 1;\n position: absolute;\n top: 75px;\n width: 46%;\n right: 0;\n\n @media (max-width: 768px) {\n position: static;\n width: 100%;\n text-align: center;\n }\n }\n\n .desktop-section-imagebox {\n z-index: 0;\n position: absolute;\n left: 0;\n\n @media (max-width: 768px) {\n position: static;\n width: 100%;\n }\n }\n }\n\n @media (max-width: 768px) {\n padding: 30px 0px;\n text-align: ${({ align }) => align === \"center\" ? \"center\" : \"left\"};\n flex-direction: column;\n }\n`;\n\nexport const BoxWrapper = styled.div`\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n margin-bottom: 20px;\n\n &::last-of-type {\n margin-bottom: 0px;\n }\n\n @media (max-width: 768px) {\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n`;\n\nexport const DesktopBox = styled.div`\n order: ${({ order }) => order ? order : 0};\n width: ${({ size }) => size === \"x1\" ? \"34.5%\" : \"63.6%\"};\n background-color: #f8f8f8;\n padding: ${({ size }) => size === \"x1\" ? \"40px\" : \"0px\"};\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media (max-width: 768px) {\n width: 100%;\n order: 0;\n margin-bottom: 0px;\n text-align: left;\n padding: 20px 0px 0px;\n background-color: transparent;\n }\n`;\n\nexport const SectionIcon = styled.div`\n display: inline-block;\n background-repeat: no-repeat;\n width: 56px;\n height: 56px;\n background-size: 56px 56px;\n background-position: center;\n margin-bottom: 43px;\n\n @media (max-width: 768px) {\n margin-bottom: 20px;\n width: 42px;\n height: 42px;\n background-size: 42px 42px;\n }\n`;\n\nconst saveIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/save-desktop@2x.png' : 'images/download_page/save-desktop.png');\nconst saveIconImgMobile = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/save@2x.png' : 'images/download_page/save.png');\nexport const SaveIcon = styled(SectionIcon)`\n background-image: url(${saveIconImg});\n\n @media (max-width: 768px) {\n background-image: url(${saveIconImgMobile});\n }\n`;\n\nconst shareIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/share-desktop@2x.png' : 'images/download_page/share-desktop.png');\nconst shareIconImgMobile = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/share@2x.png' : 'images/download_page/share.png');\nexport const ShareIcon = styled(SectionIcon)`\n background-image: url(${shareIconImg});\n\n @media (max-width: 768px) {\n background-image: url(${shareIconImgMobile});\n }\n`;\n\nconst protectIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/protect@2x.png' : 'images/download_page/protect-desktop.png');\nexport const ProtectIcon = styled(SectionIcon)`\n background-image: url(${protectIconImg});\n`;\n\nexport const SectionTitle = styled.h3`\n font-size: 32px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.19;\n letter-spacing: -0.8px;\n text-align: left;\n color: #2a2a2a;\n padding-left: 0px;\n max-width: 100%;\n margin: 0px;\n margin-bottom: 19px;\n max-width: 650px;\n width: 100%;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n font-size: 21px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.2;\n letter-spacing: -0.64px;\n color: #000000;\n margin-bottom: 12px;\n padding-left: 0px;\n padding: 0px 30px;\n box-sizing: border-box;\n max-width: 100%;\n text-align: inherit;\n }\n\n @media (max-width: 1080px) and (min-width: 769px) {\n max-width: 420px;\n }\n`;\n\nexport const SectionDescription = styled.p`\n font-size: 20px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: normal;\n text-align: left;\n color: #2a2a2a;\n max-width: 650px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n font-size: 16px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.33;\n letter-spacing: normal;\n color: #000000;\n margin-bottom: 30px;\n padding: 0px 30px;\n box-sizing: border-box;\n max-width: 100%;\n text-align: inherit;\n }\n\n @media (max-width: 1080px) and (min-width: 769px) {\n max-width: 420px;\n }\n`;\n\nexport const RequireText = styled.p`\n font-size: 13px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.15;\n letter-spacing: 0.13px;\n text-align: left;\n color: #888888;\n\n @media (max-width: 768px) {\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.2;\n letter-spacing: 0.4px;\n text-align: left;\n color: #888888;\n margin-bottom: 30px;\n padding: 0px 30px;\n box-sizing: border-box;\n text-align: center;\n }\n`;\n\nexport const DesktopRequireText = styled(RequireText)`\n margin-bottom: 18px;\n text-align: center;\n\n a {\n text-decoration: none;\n }\n`;\n\nexport const MainImageIOS = styled.img`\n width: 530px;\n height: 630px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n }\n`;\n\nexport const FirstImageIOS = styled.img`\n width: 636px;\n height: 769px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 1180px) and (min-width: 769px) {\n height: auto;\n width: 100%;\n position: absolute;\n top: 0;\n right: 40px;\n }\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const SecondImageIOS = styled.img`\n height: 766px;\n width: 740px;\n \n @media (max-width: 768px) {\n width: auto;\n height: 345px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const ThirdImageIOS = styled.img`\n height: 839px;\n width: 937px;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 279px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const DownloadButtonIOS = styled.img`\n display: inline-block;\n width: ${({ width }) => width || \"200px\"};\n height: ${({ height }) => height || \"60px\"};\n margin-bottom: 8px;\n`;\n\nexport const MainImageAndroid = styled.img`\n width: 1089px;\n height: 820px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n }\n`;\n\nexport const FirstImageAndroid = styled.img`\n width: 636px;\n height: 769px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 1180px) and (min-width: 769px) {\n height: auto;\n width: 100%;\n position: absolute;\n top: 0;\n right: 40px;\n }\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const SecondImageAndroid = styled.img`\n width: 998px;\n height: 660px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 320px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const ThirdImageAndroid = styled.img`\n width: 827px;\n height: 460px;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 395px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n \n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const DownloadButtonAndroid = styled.img`\n display: inline-block;\n width: ${({ width }) => width || \"200px\"};\n height: ${({ height }) => height || \"60px\"};\n margin-bottom: 8px;\n`;\n\nexport const MainImageMac = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1380px;\n margin-top: 22px;\n`;\n\nexport const FirstImageMac = styled.img`\n width: 100%;\n max-width: 750px;\n`;\n\nexport const DesktopSectionImage = styled.img`\n width: 100%;\n max-width: 750px;\n`;\n\nexport const ThirdImageMac = styled.img`\n height: 839px;\n width: 937px;\n transition: all 250ms ease-in-out;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageLinux = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1296px;\n margin-top: 22px;\n`;\n\nexport const ThirdImageLinux = styled.img`\n height: 839px;\n width: 937px;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageWin = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1420px;\n margin-top: 22px;\n`;\n\nexport const ThirdImageWin = styled.img`\n height: 839px;\n width: 937px;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageAddon = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n margin-top: 22px;\n max-width: 1440px;\n`;\n\nexport const ExtensionWrapper = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n justify-content: center;\n`;\n\nexport const ExtensionLink = styled.a`\n width: 130px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n`\n\nexport const ExtensionLinkText = styled.div`\n font-size: 13px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.15;\n letter-spacing: 0.13px;\n text-align: center;\n color: #17bed0;\n margin-top: 12px;\n text-decoration: none;\n`\n\nexport const FooterSection = styled(Section)`\n flex-direction: column;\n justify-content: center;\n padding: 80px 0px 150px 0px;\n text-align: center;\n\n ${RequireText} {\n text-align: center;\n }\n\n @media (max-width: 768px) {\n &.desktop-footer-section {\n padding-bottom: 110px;\n }\n }\n`;\n\nexport const FooterTitle = styled.h3`\n font-size: 28px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.18;\n letter-spacing: -0.42px;\n text-align: center;\n color: #2a2a2a;\n padding: 0px;\n margin-bottom: 33px;\n text-align: center;\n`;\n\nexport const Link = styled.a`\n font-size: 28px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.43;\n letter-spacing: -0.56px;\n text-align: center;\n color: #17bed0;\n text-decoration: none;\n\n @media (max-width: 768px) {\n font-size: 16px;\n }\n`;\n\nexport const CUSTOM_STYLES = {\n android: {\n headerSection: {\n height: \"760px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n maxWidth: \"55%\"\n },\n imageBox: {\n zIndex: -1,\n position: \"absolute\",\n right: \"-400px\",\n top: \"80px\"\n }\n },\n\n firstSection: {\n height: \"769px\",\n textBox: {\n position: \"relative\",\n bottom: \"50px\"\n },\n imageBox: {\n position: \"relative\",\n height: \"100%\"\n }\n },\n\n secondSection: {\n height: \"660px\",\n textBox: {\n zIndex: 1,\n maxWidth: \"36%\"\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n right: \"-180px\",\n }\n },\n\n thirdSection: {\n height: \"460px\",\n\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n left: \"-193px\",\n },\n\n textBox: {\n position: \"absolute\",\n right: \"0px\",\n maxWidth: \"30%\",\n zIndex: 1\n }\n }\n },\n\n ios: {\n headerSection: {\n height: \"760px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n maxWidth: \"55%\"\n },\n imageBox: {\n zIndex: -1,\n position: \"absolute\",\n right: \"-55%\",\n top: \"80px\"\n }\n },\n\n firstSection: {\n height: \"671px\",\n imageBox: {\n position: \"relative\",\n height: \"100%\"\n }\n },\n\n secondSection: {\n height: \"766px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n top: \"267px\"\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n right: 0,\n width: \"auto\"\n }\n },\n\n thirdSection: {\n height: \"839px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n top: \"75px\",\n width: \"46%\",\n right: 0\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n left: 0\n }\n }\n }\n}","//@flow\n\nimport {\n DiscountType,\n Userinfo,\n PlanIDType,\n Subscription\n} from \"../lib/types/dataTypes.components\";\n\n// import {\n// ADD_STORAGE_1COUNT_PLAN_ID, \n// ADD_STORAGE_4COUNT_PLAN_ID,\n// MB_PER_STORAGE_COUNT\n// } from \"./plansInfo\";\n\nimport {\n rcookie,\n setcookie,\n hrefSearch\n} from \"@pcloud/web-utilities/dist/lib/utils\";\nimport { __ } from \"@pcloud/web-utilities/dist/lib/langManager\";\nimport { renderQuota } from \"@pcloud/web-utilities/dist/plans/utils.plans\";\n\nimport {\n PREMIUM_PLAN_ID,\n PREMIUM_PLUS_PLAN_ID,\n CUSTOM4TB_PLAN_ID,\n FAMILY2TB_PLAN_ID,\n FAMILY_CUSTOM_PLAN_ID,\n FAMILY_CUSTOM_2COUNT_PLAN_ID,\n FAMILY_CUSTOM_5COUNT_PLAN_ID,\n FAMILY_ADD_1COUNT_PLAN_ID,\n FAMILY_ADD_2COUNT_PLAN_ID,\n FAMILY_ADD_5COUNT_PLAN_ID,\n CUSTOM_PLAN_ID,\n ADD_STORAGE_1COUNT_PLAN_ID,\n ADD_STORAGE_4COUNT_PLAN_ID,\n ADD_STORAGE_8COUNT_PLAN_ID,\n ADD_STORAGE_12COUNT_PLAN_ID,\n ADD_STORAGE_20COUNT_PLAN_ID,\n CUSTOM_20COUNT_PLAN_ID,\n CRYPTO_PLAN_ID,\n EFH_PLAN_ID,\n ADDITIONAL_TRAFFIC_ID,\n MAX_CUSTOM_STORAGE_COUNT,\n MAX_FAMILY_STORAGE_COUNT,\n PASS_PREMIUM_PLAN_ID,\n PASS_FAMILY_PLAN_ID,\n} from \"@pcloud/web-utilities/dist/plans/constants.plans\";\n\nexport {\n rcookie,\n setcookie,\n hrefSearch,\n __,\n renderQuota\n};\n\nexport const removeHrefSearch = (params: Array, forceRefresh?: boolean) => {\n if (params && typeof params == 'string') {\n params = [params];\n }\n\n if (params && params.length && location.search.length) {\n var currentQueriesArr = location.search.substring(1).split('&');\n var currentQueriesMap = {};\n var finalQueriesArr = [];\n var finalURL;\n\n // Create object map with all current search queries\n for (var i in currentQueriesArr) {\n currentQueriesMap[currentQueriesArr[i].split('=').shift()] = currentQueriesArr[i].split('=').pop();\n }\n\n // Delete requested queries\n for (var i in params) {\n if (params[i].split('=').shift() in currentQueriesMap) {\n delete currentQueriesMap[params[i].split('=').shift()];\n }\n }\n\n if (Object.keys(currentQueriesMap).length) {\n for (var i in currentQueriesMap) {\n finalQueriesArr.push(i + '=' + currentQueriesMap[i]);\n }\n\n finalURL = location.origin + location.pathname + '?' + finalQueriesArr.join('&');\n } else {\n finalURL = location.origin + location.pathname;\n }\n\n if (forceRefresh) {\n location = finalURL;\n } else {\n window.history.pushState({}, null, finalURL);\n }\n }\n};\n\nexport const addHrefSearch = (params: Array | string, forceRefresh: boolean, newLocationUrl?: string) => {\n if (!params) {\n return;\n }\n\n let finalURL;\n\n if (typeof params == 'string') {\n params = [params];\n }\n\n if (location.search.length) {\n let oldQueriesArr = location.search.substring(1).split('&');\n let oldQueriesMap = {};\n let givenQueriesMap = {};\n let finalQueriesMap = {};\n let finalQueriesArr = [];\n\n // Create object map with all current search queries\n for (let i in oldQueriesArr) {\n oldQueriesMap[oldQueriesArr[i].split('=').shift()] = oldQueriesArr[i].split('=').pop();\n }\n\n for (let i in params) {\n givenQueriesMap[params[i].split('=').shift()] = params[i].split('=').pop();\n\n // Delete queries which will be duplicated in the end and remove them\n if (params[i].split('=').shift() in oldQueriesMap) {\n delete oldQueriesMap[params[i].split('=').shift()];\n }\n }\n\n finalQueriesMap = Object.assign(oldQueriesMap, givenQueriesMap);\n\n for (let i in finalQueriesMap) {\n finalQueriesArr.push(i + '=' + finalQueriesMap[i]);\n }\n\n finalURL = (newLocationUrl ? newLocationUrl : (location.origin + location.pathname)) + '?' + finalQueriesArr.join('&');\n\n } else {\n // Directly append newly provided params\n finalURL = (newLocationUrl ? newLocationUrl : location.href) + '?' + params.join('&');\n }\n\n if (forceRefresh) {\n location = finalURL;\n } else {\n if (!window.history.state || window.history.state.page != finalURL) {\n window.history.pushState({ \"page\": finalURL }, null, finalURL);\n }\n }\n};\n\nexport const saveToSessionstorage = (label: string, value: any) => {\n if (\n typeof Storage === \"undefined\" ||\n typeof sessionStorage === \"undefined\" ||\n sessionStorage === null\n ) {\n setcookie(label, value, 0);\n } else {\n sessionStorage.setItem(label, value);\n }\n};\n\nexport const signToCurrency = {\n \"$\": \"USD\",\n \"€\": \"EUR\",\n \"₤\": \"GBP\",\n \"BGN\": \"BGN\"\n};\n\nexport const currencyMap = {\n 'USD': '$',\n 'EUR': '€',\n 'GBP': '₤',\n // Used for Vivacom plans only\n 'BGN': 'BGN'\n};\n\nconst _repl = (str: string, repl: {} = {}) => {\n str = _properSpaces(str);\n\n if (!obLength(repl)) {\n return str;\n }\n\n for (var n in repl) {\n str = str.replace(new RegExp(\"%\" + n + \"%\", \"g\"), repl[n]);\n }\n\n return str;\n};\n\nconst _properSpaces = str => {\n return str.split(String.fromCharCode(160)).join(\" \");\n};\n\nexport const obLength = (obj: {}) => {\n var size = 0,\n key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n size++;\n }\n }\n return size;\n};\n\ntype getDisabledPlanReasonParams = {\n user: Userinfo,\n forPlan: PlanIDType,\n forPeriod: \"trial\" | \"month\" | \"year\" | \"lifetime\",\n downgradeAllowed?: boolean,\n add500GBAllowed?: boolean,\n trafficCount?: number,\n maxCustomStorageCount?: number\n};\n\nexport const getDisabledPlanReason = ({\n user = {},\n forPlan,\n forPeriod,\n downgradeAllowed,\n add500GBAllowed,\n trafficCount,\n canAddStorage,\n maxCustomStorageCount = MAX_CUSTOM_STORAGE_COUNT,\n maxFamilyStorageCount = MAX_FAMILY_STORAGE_COUNT\n}: getDisabledPlanReasonParams) => {\n if (!user || !forPlan || !forPeriod) {\n return \"\";\n }\n\n const {\n business,\n lastsubscription,\n cryptolifetime,\n plan,\n premium,\n premiumlifetime,\n premiumexpires,\n cryptosubscription,\n efh,\n planparams,\n additionaltraffic,\n additionaltrafficlifetime,\n family,\n passmanagerdata,\n usepassmanagertrial: isfreetrialused\n } = user;\n\n const hasUserInfo = Object.keys(user).length > 0\n let islifetime;\n let isfreetrialactive;\n let passplan;\n let passpremiumexpire;\n let passFamily;\n\n if (passmanagerdata) {\n islifetime = passmanagerdata.islifetime\n isfreetrialactive = passmanagerdata.isfreetrialactive;\n passplan = passmanagerdata.plan;\n passpremiumexpire = passmanagerdata.premiumexpires;\n passFamily = passmanagerdata.family;\n }\n\n if (hasUserInfo) {\n // const {\n // islifetime,\n // istrial: isfreetrialactive,\n // plan: passplan,\n // planexpires: passpremiumexpire\n // } = passmanagerdata\n\n if (business) {\n return (\"business\");\n } else {\n let hasStorageSubscription = premium && !premiumlifetime;\n let hasCryptoSubscription = cryptosubscription;\n let hasSubscriptionPeriod = false;\n let isCanceled = lastsubscription && lastsubscription.status === \"canceled\";\n let incStorage = 0;\n if (!isCanceled && lastsubscription) {\n hasSubscriptionPeriod = lastsubscription.period;\n }\n\n const isCustomPlanId = forPlan === ADD_STORAGE_1COUNT_PLAN_ID || forPlan === ADD_STORAGE_4COUNT_PLAN_ID || forPlan === ADD_STORAGE_8COUNT_PLAN_ID || forPlan === ADD_STORAGE_12COUNT_PLAN_ID || forPlan === ADD_STORAGE_20COUNT_PLAN_ID || forPlan === CUSTOM_20COUNT_PLAN_ID;\n const isFamilyPlanId = forPlan === FAMILY_ADD_1COUNT_PLAN_ID || forPlan === FAMILY_ADD_2COUNT_PLAN_ID || forPlan === FAMILY_ADD_5COUNT_PLAN_ID || forPlan === FAMILY_CUSTOM_2COUNT_PLAN_ID || forPlan === FAMILY_CUSTOM_5COUNT_PLAN_ID;\n\n if (isCustomPlanId || isFamilyPlanId) {\n const parts = forPlan.split(\"_\");\n incStorage = Number(parts[1]);\n forPlan = Number(parts[0]);\n }\n\n if ((!lastsubscription || (hasSubscriptionPeriod && lastsubscription.products.indexOf(forPlan) === -1) && !downgradeAllowed) && forPeriod != \"lifetime\") {\n if (hasStorageSubscription && plan) {\n if (plan == forPlan && hasStorageSubscription == forPeriod) {\n return (\"current_plan\");\n } else if (plan > forPlan) {\n return (\"lower_plan\");\n }\n } else if (efh && forPlan === EFH_PLAN_ID) {\n return (\"current_plan\");\n } else if (additionaltraffic && forPlan == ADDITIONAL_TRAFFIC_ID) {\n if (!additionaltrafficlifetime && planparams.additionaltraffic == trafficCount) {\n return (\"current_plan\");\n } else if (planparams.additionaltraffic > trafficCount) {\n return (\"traffic_downgrade_restriction\");\n }\n }\n } else if (!lastsubscription && forPeriod === \"lifetime\" && hasStorageSubscription && plan && plan > forPlan) {\n return (\"lower_plan\");\n } else if (plan && hasStorageSubscription && hasSubscriptionPeriod && lastsubscription.products.indexOf(plan) === -1 && forPeriod != \"lifetime\" && !downgradeAllowed) {\n if (forPlan == plan) {\n return (\"current_plan\");\n } else if (plan > forPlan) {\n return (\"lower_plan\");\n }\n }\n\n // Buying Crypto\n if (forPlan == CRYPTO_PLAN_ID) {\n if (cryptolifetime) {\n return (\"crypto_lifetime\");\n } else if (hasSubscriptionPeriod && !hasCryptoSubscription) {\n if (hasCryptoSubscription == \"month\" && forPeriod == \"month\") {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\" && forPeriod == \"month\") {\n return (\"lower_period\");\n }\n } else if (\n hasCryptoSubscription &&\n hasSubscriptionPeriod &&\n isCanceled == false\n ) {\n if (hasSubscriptionPeriod == \"month\" && forPeriod == \"month\") {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\") {\n return (\"lower_period\");\n } else if (forPeriod == \"year\") {\n return (\"current_plan\");\n }\n }\n }\n } else if (forPlan == EFH_PLAN_ID) {\n if (efh) {\n if (hasSubscriptionPeriod == forPeriod) {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\") {\n return (\"lower_period\");\n }\n }\n }\n // Buying Traffic\n } else if (forPlan == ADDITIONAL_TRAFFIC_ID) {\n if (plan === CUSTOM4TB_PLAN_ID) {\n return (\"custom_subscription\");\n } else if (forPeriod === \"lifetime\" && !premiumlifetime) {\n return \"traffic_lifetime_restriction\";\n } else if (plan == FAMILY2TB_PLAN_ID || plan == FAMILY_CUSTOM_PLAN_ID) {\n return \"custom_subscription\";\n } else if (forPeriod !== \"lifetime\" && additionaltrafficlifetime) {\n return \"traffic_lifetime_restriction_subs\";\n } else if (forPeriod === \"month\" && hasSubscriptionPeriod == \"year\" && (!downgradeAllowed || lastsubscription.billingprovider === 11)) {\n return (\"traffic_downgrade_restriction\");\n } else if (additionaltraffic && !additionaltrafficlifetime && (forPeriod === \"month\" || forPeriod === \"year\") && planparams.additionaltraffic == trafficCount && forPeriod === hasSubscriptionPeriod) {\n return (\"current_plan\");\n } else if (additionaltrafficlifetime && forPeriod === \"lifetime\" && planparams.additionaltraffic == trafficCount) {\n return (\"current_plan\");\n } else if (additionaltraffic && planparams.additionaltraffic > trafficCount && ((forPeriod === hasSubscriptionPeriod && !downgradeAllowed) || (forPeriod === \"lifetime\" && additionaltrafficlifetime))) {\n return (\"traffic_lifetime_restriction_subs\");\n }\n // Buying Pass\n } else if (forPlan == PASS_PREMIUM_PLAN_ID) {\n if ((isfreetrialactive && forPeriod === \"trial\") || (islifetime && forPeriod === \"lifetime\" && passplan === 1)) {\n return (\"current_plan\");\n } else if (passmanagerdata && forPeriod === \"free\") {\n return (\"current_active_plan\");\n } else if (isfreetrialused && forPeriod === 'trial') {\n return \"plan_upgrade_restrictions\";\n } else if ((islifetime && forPeriod != \"lifetime\") || passplan === 2) {\n return (\"custom_subscription\");\n // } else if (!emailverified) {\n // return (\"verify_email\")\n } else if (lastsubscription && !isCanceled) {\n if (lastsubscription.planid) {\n let activePlanId = lastsubscription.planid;\n let activePlanPeriod = lastsubscription.period;\n if (activePlanId === forPlan) {\n if (activePlanPeriod === forPeriod) {\n return \"current_plan\";\n } else if (activePlanPeriod === 'month' && (forPeriod === 'trial' || forPeriod === 'free')) {\n return \"plan_upgrade_restrictions\";\n } else if (activePlanPeriod === 'year' && (forPeriod === 'trial' || forPeriod === 'free' || forPeriod === 'month')) {\n return \"plan_upgrade_restrictions\";\n }\n }\n\n } else if (lastsubscription.products) {\n let products = lastsubscription.products;\n let activePlanPeriod = lastsubscription.period;\n if (products.indexOf(PASS_PREMIUM_PLAN_ID) !== -1) {\n if (activePlanPeriod === forPeriod) {\n return \"current_plan\";\n } else if (activePlanPeriod === 'month' && (forPeriod === 'trial' || forPeriod === 'free')) {\n return \"plan_upgrade_restrictions\";\n } else if (activePlanPeriod === 'year' && (forPeriod === 'trial' || forPeriod === 'free' || forPeriod === 'month')) {\n return \"plan_upgrade_restrictions\";\n }\n }\n }\n } else if ((!lastsubscription || (lastsubscription && isCanceled)) && passplan == 1 && !isfreetrialactive) {\n if (islifetime || (!islifetime && forPeriod != \"lifetime\")) {\n return \"plan_upgrade_restrictions\";\n }\n }\n\n // Active Pass Lifetime plan = disable any other Pass Plans.\n if (!isfreetrialactive && (passplan === 1 || passplan === 2) && islifetime) {\n return \"plan_upgrade_restrictions\";\n }\n } else if (forPlan == PASS_FAMILY_PLAN_ID) {\n if (passplan === 2 && passFamily && !passFamily.owner) {\n return \"custom_subscription\";\n };\n\n if ((isfreetrialactive && forPeriod === \"trial\") || (islifetime && forPeriod === \"lifetime\" && passplan === 2)) {\n return \"current_plan\";\n }\n\n if (lastsubscription && !isCanceled) {\n let activePlanPeriod = lastsubscription.period;\n\n if (activePlanPeriod === 'year' && forPeriod === 'month') {\n return \"plan_upgrade_restrictions\";\n }\n\n if (lastsubscription.planid) {\n let activePlanId = lastsubscription.planid;\n\n if (activePlanId === forPlan && activePlanPeriod === forPeriod) {\n return \"current_plan\";\n }\n } else if (lastsubscription.products) {\n let products = lastsubscription.products;\n\n if (products.indexOf(forPlan) !== -1 && activePlanPeriod === forPeriod) {\n return \"current_plan\";\n }\n }\n }\n\n // Active Pass Lifetime plan = disable any other Pass Plans.\n if (!isfreetrialactive && (passplan === 1 || passplan === 2) && islifetime) {\n return \"plan_upgrade_restrictions\";\n }\n\n // Buying Storage\n } else {\n if (plan == PREMIUM_PLAN_ID || plan == PREMIUM_PLUS_PLAN_ID || plan == CUSTOM4TB_PLAN_ID) {\n if (premiumlifetime) {\n if (plan == CUSTOM4TB_PLAN_ID && typeof planparams != 'undefined' && planparams.storage > 1 && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n if ((incStorage == maxCustomStorageCount && (plan == PREMIUM_PLAN_ID || plan == CUSTOM4TB_PLAN_ID)) || (incStorage > maxCustomStorageCount && plan == PREMIUM_PLAN_ID)) {\n return (\"plan_upgrade_restrictions\");\n } else if (incStorage == 1 && !add500GBAllowed) {\n return ((plan == PREMIUM_PLUS_PLAN_ID || plan == CUSTOM4TB_PLAN_ID) ? \"plan_upgrade_restrictions\" : \"custom_plan_upgrade_restrictions\");\n }\n } else if (forPlan <= plan || forPlan == FAMILY2TB_PLAN_ID || forPlan == FAMILY_CUSTOM_PLAN_ID || (forPlan == CUSTOM_PLAN_ID && !canAddStorage)) {\n return (\"storage_lifetime\");\n }\n } else if (hasSubscriptionPeriod && isCanceled == false) {\n if (forPeriod == \"lifetime\") {\n if (forPlan < plan) {\n return (\"lower_plan\");\n }\n } else if (hasSubscriptionPeriod == \"month\") {\n if (forPeriod == \"month\") {\n if (forPlan < plan && !downgradeAllowed) {\n return (\"lower_plan\");\n } else if (forPlan == plan) {\n return (\"current_plan\");\n }\n } else if (\n (forPeriod == \"year\" && forPlan < plan) ||\n (forPlan < plan && premiumexpires)\n ) {\n return (\"lower_plan\");\n }\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\" && !downgradeAllowed) {\n return (\"lower_period\");\n } else {\n if (forPlan < plan && !downgradeAllowed) {\n return (\"lower_plan\");\n } else if (forPlan == plan) {\n if (!downgradeAllowed || hasSubscriptionPeriod == forPeriod) {\n return (\"current_plan\");\n }\n }\n }\n }\n } else if (isCanceled == false) {\n if (forPlan < plan) {\n return (\"lower_plan\");\n } else if (forPlan <= plan && premiumexpires) {\n let now = new Date();\n let expires = new Date(premiumexpires);\n //Get 1 day in milliseconds\n let oneDay = 1000 * 60 * 60 * 24;\n let daysLeft = Number(expires) - Number(now) / oneDay;\n\n let monthlyTabisActive = forPeriod === \"month\";\n let annualTabisActive = forPeriod === \"year\";\n\n if (daysLeft > 10 && (annualTabisActive || monthlyTabisActive)) {\n return (\"lower_period\");\n }\n }\n }\n } else if (plan == CUSTOM_PLAN_ID) {\n if (typeof planparams != 'undefined' && planparams.storage >= maxCustomStorageCount && forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (typeof planparams != 'undefined' && ((planparams.storage + incStorage) > maxCustomStorageCount) && forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n return (\"plan_upgrade_restrictions\");\n } else if (forPlan == CUSTOM_PLAN_ID && incStorage == 1 && !add500GBAllowed) {\n if (typeof planparams != 'undefined' && planparams.storage <= 3) {\n return (\"custom_plan_upgrade_restrictions\");\n } else {\n return (\"plan_upgrade_restrictions\");\n }\n } else if (forPlan < plan || (!canAddStorage && forPlan == CUSTOM_PLAN_ID)) {\n return (\"storage_lifetime\");\n } else if (forPeriod === \"year\" || forPeriod === \"month\") {\n return (\"storage_lifetime\");\n }\n } else if ((plan == FAMILY2TB_PLAN_ID || plan == FAMILY_CUSTOM_PLAN_ID) && forPlan !== FAMILY_CUSTOM_PLAN_ID) {\n return (\"family\");\n } else if (forPlan == FAMILY_CUSTOM_PLAN_ID || forPlan == FAMILY2TB_PLAN_ID) {\n if ((plan == FAMILY_CUSTOM_PLAN_ID || plan == FAMILY2TB_PLAN_ID) && family && !family.owner) {\n return \"family\";\n } else if (plan == FAMILY_CUSTOM_PLAN_ID && typeof planparams != 'undefined') {\n if (planparams.storage >= maxFamilyStorageCount && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (((planparams.storage + incStorage) > maxFamilyStorageCount) && canAddStorage) {\n return (\"plan_upgrade_restrictions\");\n }\n }\n } else {\n if (forPlan == CUSTOM_PLAN_ID && incStorage > maxCustomStorageCount) {\n return (\"plan_upgrade_restrictions\");\n }\n }\n }\n }\n }\n};\n\nexport const preventEnteringNumbers = (event) => {\n const key = event.which || event.keyCode || event.charCode;\n const pressedCharacter = String.fromCharCode(key);\n\n if (!(/[a-zA-Z '-]/).test(pressedCharacter)) {\n event.preventDefault();\n }\n}\n\ntype creditCardValidation = {\n name: string,\n range: string,\n valid_length: Array\n}\n\nexport const findCardType = (cardNumber: string): creditCardValidation => {\n const creditCardValidations = [\n {\n name: \"amex\",\n range: \"34, 37\",\n valid_length: [\"15\"]\n },\n {\n name: \"diners\",\n range: \"301, 302, 303, 304, 305, 36\",\n valid_length: [\"16\"]\n },\n {\n name: \"jcb\",\n range: \"352, 353, 354, 355, 356, 357, 358\",\n valid_length: [\"16\"]\n },\n {\n name: \"visa\",\n range: \"4\",\n valid_length: [\"19\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\"]\n },\n {\n name: \"mastercard\",\n range: \"50, 51, 52, 53, 54, 55, 222\",\n valid_length: [\"16\"]\n },\n {\n name: \"discover\",\n range: \"6011, 622, 644, 645, 646, 647, 648, 649\",\n valid_length: [\"16\"]\n }\n ];\n\n return creditCardValidations.find((cardTemplate: creditCardValidation): (creditCardValidation | false) => {\n let isThereAMatch = cardTemplate.range.split(\", \").some((range: string) => {\n const rangeLength = range.length;\n return range === cardNumber.slice(0, rangeLength);\n });\n return isThereAMatch;\n });\n}\n\nexport const getExpiryDatePeriod = (expiryDate: string, period: string): string => {\n const periods = {\n month: Number(expiryDate.split(\"/\")[0]),\n year: Number(expiryDate.split(\"/\")[1])\n }\n\n if (periods.year > 2000 && periods.year < 2100) {\n periods.year -= 2000;\n }\n\n return periods[period];\n}\n\nexport const validateExpiryDate = (expiryDate: string): boolean => {\n const month = getExpiryDatePeriod(expiryDate, \"month\");\n const year = getExpiryDatePeriod(expiryDate, \"year\");\n const currentYear = new Date().getFullYear() - 2000;\n const currentMonth = new Date().getMonth() + 1;\n\n const validateExpression =\n month <= 12 &&\n ((month > 0 && year > currentYear) || (month >= currentMonth && year == currentYear)) &&\n year <= 40;\n\n return validateExpression;\n};\n\n\nexport const getDeviceID = () => {\n if (!window.localStorage.getItem(\"deviceid\") && !rcookie(\"deviceid\")) {\n return rcookie(\"deviceid\");\n } else if (rcookie(\"deviceid\")) {\n if (window.localStorage.getItem(\"deviceid\")) {\n window.localStorage.removeItem(\"deviceid\");\n }\n return rcookie(\"deviceid\");\n } else if (window.localStorage.getItem(\"deviceid\")) {\n setcookie(\"deviceid\", window.localStorage.getItem(\"deviceid\"), 365);\n window.localStorage.removeItem(\"deviceid\");\n return rcookie(\"deviceid\");\n }\n};\n\nexport const getCurrency = ({ auth, callback = () => { } }: { auth: string, callback: () => void }) => {\n const params = {};\n let getCurrencyTries = 0;\n\n if (getCurrencyTries >= 5) {\n onSuccess(\"$\");\n return;\n }\n\n if (auth) {\n params[\"auth\"] = $.cookie(\"pcauth\");\n }\n\n if (rcookie(\"forcecurrency\")) {\n params[\"currency\"] = $.cookie(\"forcecurrency\");\n }\n\n if (rcookie(\"forcecountry\")) {\n params[\"country\"] = $.cookie(\"forcecountry\");\n }\n\n const onSuccess = (currency) => {\n if (typeof Storage !== \"undefined\" && currencyMap[currency]) {\n sessionStorage.setItem(\"pclCurrency\", currencyMap[currency]);\n }\n\n callback(currency);\n };\n\n const getCurrencyApiCall = () => {\n getCurrencyTries++;\n const onError = () => {\n setTimeout(() => {\n getCurrencyApiCall();\n }, 300);\n };\n\n pCloudGlobals.apiMethod && pCloudGlobals.apiMethod(\n \"getcurrency\",\n params,\n (data) => {\n if (data.currency) {\n onSuccess(data.currency);\n } else {\n onError();\n }\n },\n {\n errorCallback: onError\n }\n );\n };\n\n getCurrencyApiCall();\n};\n\nexport const areArraysEqual = (array1: Array, array2: Array): boolean => {\n if (!array1 || !array2) {\n return false;\n }\n\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (let index1 = 0; index1 < array1.length; index1++) {\n const e1 = array1[index1];\n const e2 = array2[index1];\n\n if (Array.isArray(e1) && Array.isArray(e2)) {\n compareArrays(e1, e2);\n } else if (e1 !== e2) {\n return false;\n }\n }\n\n return true;\n}\n\nexport const formatMS = (milliseconds: number, type: \"day\" | \"hour\" | \"minute\" | \"second\"): number => {\n const typeMap = {\n \"day\": { \"divider\": 86400000, \"modulo\": milliseconds + 1 },\n \"hour\": { \"divider\": 3600000, \"modulo\": 24 },\n \"minute\": { \"divider\": 60000, \"modulo\": 60 },\n \"second\": { \"divider\": 1000, \"modulo\": 60 }\n };\n\n if (!(type in typeMap)) {\n console.error(\"Invalid duration type: \" + type);\n\n return 0;\n }\n\n return parseInt((milliseconds / typeMap[type].divider) % typeMap[type].modulo);\n};\n\nexport const msToTime = (duration: number, showHours = true): string => {\n let seconds = parseInt((duration / 1000) % 60);\n let minutes = parseInt((duration / 60000) % 60);\n let hours = parseInt((duration / 3600000) % 24);\n\n hours = hours < 10 ? '0' + hours : hours;\n minutes = minutes < 10 ? '0' + minutes : minutes;\n seconds = seconds < 10 ? '0' + seconds : seconds;\n\n return (showHours ? hours + ':' : '') + minutes + ':' + seconds;\n};\n\nexport const cleanFloat = (number: number): number => {\n let value = Number(number);\n let decimal = value % 1 == 0 ? 0 : 2;\n let result = Number(value.toFixed(decimal));\n\n if (result % 1 == 0) {\n decimal = 0;\n }\n\n return Number(value.toFixed(decimal));\n};\n\nexport const browserVersion = (userAgent, regex) => {\n return userAgent.match(regex) ? userAgent.match(regex)[2] : null;\n}\n\nexport const detectBrowser = (version) => {\n const userAgent = navigator.userAgent;\n let browser = \"unkown\";\n // Detect browser name\n browser = (/ucbrowser/i).test(userAgent) ? 'UCBrowser' : browser;\n browser = (/edg/i).test(userAgent) ? 'Edge' : browser;\n browser = (/googlebot/i).test(userAgent) ? 'GoogleBot' : browser;\n browser = (/chromium/i).test(userAgent) ? 'Chromium' : browser;\n browser = (/firefox|fxios/i).test(userAgent) && !(/seamonkey/i).test(userAgent) ? 'Firefox' : browser;\n browser = (/; msie|trident/i).test(userAgent) && !(/ucbrowser/i).test(userAgent) ? 'IE' : browser;\n browser = (/chrome|crios/i).test(userAgent) && !(/opr|opera|chromium|edg|ucbrowser|googlebot/i).test(userAgent) ? 'Chrome' : browser;;\n browser = (/safari/i).test(userAgent) && !(/chromium|edg|ucbrowser|chrome|crios|opr|opera|fxios|firefox/i).test(userAgent) ? 'Safari' : browser;\n browser = (/opr|opera/i).test(userAgent) ? 'Opera' : browser;\n browser = navigator.brave ? \"Brave\" : browser;\n\n if (version) {\n switch (browser) {\n case 'UCBrowser': return `${browser}/${browserVersion(userAgent, /(ucbrowser)\\/([\\d\\.]+)/i)}`;\n case 'Edge': return `${browser}/${browserVersion(userAgent, /(edge|edga|edgios|edg)\\/([\\d\\.]+)/i)}`;\n case 'GoogleBot': return `${browser}/${browserVersion(userAgent, /(googlebot)\\/([\\d\\.]+)/i)}`;\n case 'Chromium': return `${browser}/${browserVersion(userAgent, /(chromium)\\/([\\d\\.]+)/i)}`;\n case 'Firefox': return `${browser}/${browserVersion(userAgent, /(firefox|fxios)\\/([\\d\\.]+)/i)}`;\n case 'Chrome': return `${browser}/${browserVersion(userAgent, /(chrome|crios)\\/([\\d\\.]+)/i)}`;\n case 'Safari': return `${browser}/${browserVersion(userAgent, /(safari)\\/([\\d\\.]+)/i)}`;\n case 'Opera': return `${browser}/${browserVersion(userAgent, /(opera|opr)\\/([\\d\\.]+)/i)}`;\n case 'IE': const version = browserVersion(userAgent, /(trident)\\/([\\d\\.]+)/i);\n // IE version is mapped using trident version \n // IE/8.0 = Trident/4.0, IE/9.0 = Trident/5.0\n return version ? `${browser}/${parseFloat(version) + 4.0}` : `${browser}/7.0`;\n default: return `unknown/0.0.0.0`;\n }\n }\n\n return browser;\n}\n\nexport const isValidEmailAddress = (email: string): boolean => {\n const pattern = new RegExp(/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\t\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n return pattern.test(email);\n};\n\nexport const apiCall = (method, params, onSuccess, onError, opts) => {\n const dfd = jQuery.Deferred();\n opts = {\n errorCallback: (data) => {\n dfd.reject(data);\n if (typeof onError === 'function') {\n onError(data);\n }\n },\n ...opts\n }\n\n pCloudGlobals.apiMethod(\n method,\n params,\n (data) => {\n if (typeof onSuccess === 'function') {\n onSuccess(data);\n }\n dfd.resolve(data);\n },\n opts\n );\n\n return dfd.promise();\n};\n\nexport const apiCallPost = (method, params, onSuccess, onError, opts) => {\n const dfd = jQuery.Deferred();\n opts = {\n type: \"POST\",\n errorCallback: (data) => {\n dfd.reject(data);\n if (typeof onError === 'function') {\n onError(data);\n }\n },\n ...opts\n }\n\n pCloudGlobals.apiMethod(\n method,\n params,\n (data) => {\n dfd.resolve(data);\n if (typeof onSuccess === 'function') {\n onSuccess(data);\n }\n },\n opts\n );\n\n return dfd.promise();\n};\n\nexport const detectIsMobile = () => {\n return /Mobile|mini|Fennec|Android|iP(od|hone)/.test(navigator.appVersion);\n};\n\nexport const onMouseOut = (event, callback) => {\n const e = event ? event : window.event;\n // If this is an autocomplete element.\n if (e.target && e.target.tagName && e.target.tagName.toLowerCase() == \"input\") {\n return;\n }\n\n // Get the current viewport width.\n const vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n // If the current mouse X position is within 50px of the right edge of the viewport, return.\n if (e.clientX >= (vpWidth - 50)) {\n return;\n }\n\n // If the current mouse Y position is not within 50px of the top edge of the viewport, return.\n if (e.clientY >= 50) {\n return;\n }\n\n // Fixes mozila problem where event is getting triggered on rigth click. -83 seems to be a constant value for clientY in that case.\n if (e.clientY === -83) {\n return;\n }\n\n // Reliable, works on mouse exiting window and user switching active program\n const from = e.relatedTarget || e.toElement;\n\n // User is exiting window\n if (!from && callback) {\n callback();\n }\n}\n\nexport const isInternetExplorer = () => {\n return !!document.documentMode;\n}\n\nexport const scrollToTop = () => {\n window.scrollTo(0);\n};\n\nexport const bytesToSize = (bytes) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n if (bytes == 0) return null;\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\n if (i == 0) return bytes + ' ' + sizes[i];\n return (bytes / Math.pow(1024, i)).toFixed(0) + ' ' + sizes[i];\n};\n\nexport const setTitleByCodeUrl = (codeUrl, setTitle, setRegisterTitle, setLoginTitle) => {\n if (codeUrl) {\n if (codeUrl == 'DROPBOX2PCLOUD') {\n setTitle('Special for Dropbox users - press submit and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'HUBIC2PCLOUD') {\n setTitle('Special for hubiC users - press submit and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'APPO') {\n setTitle('Special for\"APPO\" members - register now and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'BIRTHDAY4U') {\n setTitle(__(\"PromoPage_birthday_text\"));\n } else if (codeUrl == 'PCLOUDMUSIC') {\n setTitle(__(\"pCloud_Music_coupon_submit\").replace(\"%url_promo%\", codeUrl));\n setRegisterTitle(__(\"pCloud_Music_coupon_register\").replace(\"%url_promo%\", codeUrl));\n setLoginTitle(__(\"pCloud_Music_coupon_login\").replace(\"%url_promo%\", codeUrl));\n } else if (codeUrl == 'BDAY3MONTHS') {\n setTitle(__(\"pm_coupon_submit\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n setRegisterTitle(__(\"pm_coupon_register\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n setLoginTitle(__(\"pm_coupon_login\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n } else if (codeUrl == 'PM6MONTHS' || codeUrl == \"INT6MONTHS\"|| codeUrl == \"LFS6MONTHS\") {\n setTitle(__(\"pm_coupon_submit\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n setRegisterTitle(__(\"pm_coupon_register\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n setLoginTitle(__(\"pm_coupon_login\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n } else {\n setTitle(__(\"promo_submit_with_url\").replace(\"%url_promo%\", codeUrl));\n setRegisterTitle(__(\"Register for Free and enter your promo code. It will become effective immediately!\"));\n setLoginTitle(__(\"Enter your promo code upon Login and it will become effective immediately.\"));\n }\n }\n else {\n setTitle(__('Have a promo code? Enter it below.'));\n setRegisterTitle(__(\"Register for Free and enter your promo code. It will become effective immediately!\"));\n setLoginTitle(__(\"Enter your promo code upon Login and it will become effective immediately.\"));\n }\n};\n\nexport const getMonthsFromCode = (code) => {\n if (!code) {\n return \"\"\n };\n\n const indexPosition = code.indexOf(\"MONTHS\");\n let monthsCountIndex;\n\n if (indexPosition === -1) {\n return \"\";\n }\n\n if (indexPosition > 0) {\n monthsCountIndex = indexPosition - 1;\n } else {\n monthsCountIndex = indexPosition + 7;\n }\n\n if (!isNaN(code[monthsCountIndex])) {\n return code[monthsCountIndex]\n }\n\n return \"\";\n};\n\nexport const getLanguage = () => {\n return currentLang || $.cookie('set_lang') || $.cookie('lang') || 'en'\n}\n\nexport const countriesInEuropeList = {\n \"AT\": \"Austria\",\n \"BE\": \"Belgium\",\n \"BG\": \"Bulgaria\",\n \"HR\": \"Croatia\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DK\": \"Denmark\",\n \"EE\": \"Estonia\",\n \"FI\": \"Finland\",\n \"FR\": \"France\",\n \"DE\": \"Germany\",\n \"GR\": \"Greece\",\n \"HU\": \"Hungary\",\n \"IE\": \"Ireland\",\n \"IT\": \"Italy\",\n \"LV\": \"Latvia\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"MT\": \"Malta\",\n \"NL\": \"Netherlands\",\n \"PL\": \"Poland\",\n \"PT\": \"Portugal\",\n \"RO\": \"Romania\",\n \"SK\": \"Slovakia\",\n \"SI\": \"Slovenia\",\n \"ES\": \"Spain\",\n \"SE\": \"Sweden\",\n \"CH\": \"Switzerland\",\n \"GB\": \"United Kingdom\",\n \"AL\": \"Albania\",\n \"AD\": \"Andorra\",\n \"AM\": \"Armenia\",\n \"BY\": \"Belarus\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"FO\": \"Faroe Islands\",\n \"GE\": \"Georgia\",\n \"GI\": \"Gibraltar\",\n \"IS\": \"Iceland\",\n \"IM\": \"Isle of Man\",\n \"XK\": \"Kosovo\",\n \"LI\": \"Liechtenstein\",\n \"MK\": \"Macedonia\",\n \"MD\": \"Moldova\",\n \"MC\": \"Monaco\",\n \"ME\": \"Montenegro\",\n \"NO\": \"Norway\",\n \"RU\": \"Russian Federation\",\n \"SM\": \"San Marino\",\n \"RS\": \"Serbia\",\n \"CH\": \"Switzerland\",\n \"TR\": \"Turkey\",\n \"UA\": \"Ukraine\",\n \"GB\": \"United Kingdom\",\n \"VA\": \"Vatican City State\"\n};\n\nexport const isCountryInEurope = (countryCodeToNameMap, country) => {\n return countryCodeToNameMap[country];\n};\n\nexport const encodeQueryData = (data) => {\n const ret = [];\n\n for (let d in data) {\n ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d]));\n }\n\n return ret.join('&');\n};\n\nexport const calculateDiscountPercent = (price, oldPrice) => Math.floor((1 - (price/oldPrice)) * 100);\n\nexport const convertDateToDDMMMYY = (date: string, shortMonthName = true, dayMonthSeparator = \" \", monthYearSeparator = \" \") => {\n const monthNames = [\n \"jan\",\n \"feb\",\n \"mar\",\n \"apr\",\n \"may\",\n \"jun\",\n \"jul\",\n \"aug\",\n \"sep\",\n \"oct\",\n \"nov\",\n \"dec\"\n ];\n const dateObj = new Date(date);\n const day = dateObj.getDate();\n const month = monthNames[dateObj.getMonth()];\n const monthKey = \"month_\" + (!shortMonthName ? \"full_\" : \"\") + month;\n const year = dateObj.getFullYear();\n\n return day + dayMonthSeparator + __(monthKey) + monthYearSeparator + year;\n};\n\nexport const daysDiff = (dateTo: string, dateFrom: string = null) => {\n const dateFromObj = dateFrom !== null && dateFrom !== \"\" ? new Date(dateFrom) : new Date();\n const dateToObj = new Date(dateTo);\n\n // Change hours and minutes to be from the start of the day.\n dateFromObj.setHours(0,0,0,0);\n dateToObj.setHours(0,0,0,0);\n return (dateToObj.getTime() - dateFromObj.getTime() + ((dateFromObj.getTimezoneOffset() - dateToObj.getTimezoneOffset()) * 60 * 1000)) / (1000 * 3600 * 24);\n};","import ExtensionIcon from \"../../../../new_site/images/pcloud-pass/payment-succes-extension-option.svg\";\nimport DriveIcon from \"../../../../new_site/images/pcloud-pass/payment-succes-drive-option.svg\";\nimport WebIcon from \"../../../../new_site/images/pcloud-pass/payment-succes-web-option.svg\";\nimport MobileIcon from \"../../../../new_site/images/pcloud-pass/payment-succes-mobile-option.svg\";\nimport { DownloadButtonAndroid, DownloadButtonIOS } from \"../../DownloadPage/StyledComponents\";\nimport { __ } from \"../../../lib/utils\";\nimport {\n PASS_EXTENSION_CHROME,\n PASS_EXTENSION_FIREFOX,\n PASS_EXTENSION_EDGE,\n} from \"@pcloud/web-utilities/dist/config/constants\";\nimport {\n APPSTORE_URL,\n GOOGLEPLAY_URL\n} from \"@pcloud/web-utilities/dist/authentication/components/passUserAuthentication/constants.pass\";\n\nexport const EXTENSION_OPTION = \"pcloud-pass-extension\";\nexport const EXT_PLATFORM_CHROME_OPTION = \"browser-chrome\";\nexport const EXT_PLATFORM_SAFARI_OPTION = \"browser-safari\";\nexport const EXT_PLATFORM_FIREFOX_OPTION = \"browser-firefox\";\nexport const EXT_PLATFORM_EDGE_OPTION = \"browser-edge\";\nexport const EXT_PLATFORM_OPERA_OPTION = \"browser-opera\";\nexport const EXT_PLATFORM_BRAVE_OPTION = \"browser-brave\";\n\nexport const DRIVE_OPTION = \"pcloud-pass-drive\";\nexport const DRIVE_PLATFORM_MAC_OPTION = \"os-mac\";\nexport const DRIVE_PLATFORM_WINDOWS_OPTION = \"os-windows\";\nexport const DRIVE_PLATFORM_LINUX_OPTION = \"os-linux\";\n\nexport const WEB_OPTION = \"pcloud-pass-web\";\nexport const WEB_PLATFORM_OPTION = \"website\";\n\nexport const MOBILE_OPTION = \"pcloud-pass-mobile\";\nexport const MOBILE_PLATFORM_ALL_OPTION = \"os-all\";\nexport const MOBILE_PLATFORM_IOS_OPTION = \"os-ios\";\nexport const MOBILE_PLATFORM_ANDROID_OPTION = \"os-android\";\n\nexport const AUTO_PLATFORM_OPTION = \"auto\";\n\nexport const COLOR = \"pCloudPass\";\nexport const OPTIONS = {\n [EXTENSION_OPTION]: {\n platform: AUTO_PLATFORM_OPTION,\n color: COLOR\n },\n [DRIVE_OPTION]: {\n platform: AUTO_PLATFORM_OPTION,\n color: COLOR\n },\n [WEB_OPTION]: {\n platform: WEB_PLATFORM_OPTION,\n color: COLOR\n },\n [MOBILE_OPTION]: {\n platform: MOBILE_PLATFORM_ALL_OPTION,\n color: COLOR\n }\n};\n\nconst IS_RETINA = window.devicePixelRatio > 1;\nexport const DOWNLOAD_APP_ACTION = \"download-app\";\nexport const OPEN_URL_ACTION = \"open-url\";\nexport const OPTIONS_DESKTOP = [\n EXTENSION_OPTION,\n DRIVE_OPTION,\n WEB_OPTION,\n MOBILE_OPTION,\n];\n\nexport const OPTIONS_MOBILE = [\n MOBILE_OPTION,\n];\n\nexport const OPTIONS_DATA = {\n [EXT_PLATFORM_CHROME_OPTION]: {\n SVGIcon: ExtensionIcon,\n title: __(\"pass_payment_success_extension_title\"),\n text: __(\"pass_payment_success_extension_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_extension_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: PASS_EXTENSION_CHROME\n }\n ]\n },\n // [EXT_PLATFORM_SAFARI_OPTION]: {\n // SVGIcon: ExtensionIcon,\n // title: __(\"pass_payment_success_extension_title\"),\n // text: __(\"pass_payment_success_extension_description\"),\n // buttons: [\n // {\n // buttonText: __(\"pass_payment_success_extension_button\"),\n // buttonAction: OPEN_URL_ACTION,\n // url: \"https://chrome.google.com/webstore/detail/pcloud-save/npamdkabjncnnoaofdjcaipmnccofeem\"\n // }\n // ]\n // },\n [EXT_PLATFORM_FIREFOX_OPTION]: {\n SVGIcon: ExtensionIcon,\n title: __(\"pass_payment_success_extension_title\"),\n text: __(\"pass_payment_success_extension_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_extension_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: PASS_EXTENSION_FIREFOX,\n }\n ]\n },\n [EXT_PLATFORM_EDGE_OPTION]: {\n SVGIcon: ExtensionIcon,\n title: __(\"pass_payment_success_extension_title\"),\n text: __(\"pass_payment_success_extension_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_extension_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: PASS_EXTENSION_EDGE\n }\n ]\n },\n // [EXT_PLATFORM_OPERA_OPTION]: {\n // SVGIcon: ExtensionIcon,\n // title: __(\"pass_payment_success_extension_title\"),\n // text: __(\"pass_payment_success_extension_description\"),\n // buttons: [\n // {\n // buttonText: __(\"pass_payment_success_extension_button\"),\n // buttonAction: OPEN_URL_ACTION,\n // url: \"https://chrome.google.com/webstore/detail/pcloud-save/npamdkabjncnnoaofdjcaipmnccofeem\"\n // }\n // ]\n // },\n [EXT_PLATFORM_BRAVE_OPTION]: {\n SVGIcon: ExtensionIcon,\n title: __(\"pass_payment_success_extension_title\"),\n text: __(\"pass_payment_success_extension_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_extension_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: PASS_EXTENSION_CHROME\n }\n ]\n },\n [DRIVE_PLATFORM_MAC_OPTION]: {\n SVGIcon: DriveIcon,\n title: __(\"pass_payment_success_desktop_title\"),\n text: __(\"pass_payment_success_desktop_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_desktop_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: APPSTORE_URL\n }\n ]\n },\n [DRIVE_PLATFORM_WINDOWS_OPTION]: {\n SVGIcon: DriveIcon,\n title: __(\"pass_payment_success_desktop_title\"),\n text: __(\"pass_payment_success_desktop_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_desktop_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: \"https://www.pcloud.com/how-to-install-pcloud-pass-windows.html?download=pass-win\"\n }\n ]\n },\n [DRIVE_PLATFORM_LINUX_OPTION]: {\n SVGIcon: DriveIcon,\n title: __(\"pass_payment_success_desktop_title\"),\n text: __(\"pass_payment_success_desktop_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_desktop_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: \"https://www.pcloud.com/how-to-install-pcloud-pass-linux.html?download=pass-linux\"\n }\n ]\n },\n [WEB_PLATFORM_OPTION]: {\n SVGIcon: WebIcon,\n title: __(\"pass_payment_success_web_title\"),\n text: __(\"pass_payment_success_web_description\"),\n buttons: [\n {\n buttonText: __(\"pass_payment_success_web_button\"),\n buttonAction: OPEN_URL_ACTION,\n url: \"https://pass.pcloud.com/\"\n }\n ]\n },\n [MOBILE_PLATFORM_IOS_OPTION]: {\n SVGIcon: MobileIcon,\n title: __(\"pass_payment_success_mobile_title\"),\n text: __(\"pass_payment_success_mobile_description\"),\n buttons: [\n {\n buttonText: \"Download for iOS\",\n buttonAction: OPEN_URL_ACTION,\n ButtonComponent: DownloadButtonIOS,\n src: \"/images/download_page/ios/appstore\" + (IS_RETINA ? \"@2x\" : \"\" ) + \".png\",\n url: APPSTORE_URL\n }\n ]\n },\n [MOBILE_PLATFORM_ANDROID_OPTION]: {\n SVGIcon: MobileIcon,\n title: __(\"pass_payment_success_mobile_title\"),\n text: __(\"pass_payment_success_mobile_description\"),\n buttons: [\n {\n buttonText: \"Download for Android\",\n buttonAction: OPEN_URL_ACTION,\n ButtonComponent: DownloadButtonAndroid,\n src: \"/images/download_page/android/googleplay\" + (IS_RETINA ? \"@2x\" : \"\" ) + \".png\",\n url: GOOGLEPLAY_URL\n }\n ]\n },\n [MOBILE_PLATFORM_ALL_OPTION]: {\n SVGIcon: MobileIcon,\n title: __(\"pass_payment_success_mobile_title\"),\n text: __(\"pass_payment_success_mobile_description\"),\n buttons: [\n {\n buttonText: \"Download for iOS\",\n buttonAction: OPEN_URL_ACTION,\n ButtonComponent: DownloadButtonIOS,\n src: \"/images/download_page/ios/appstore\" + (IS_RETINA ? \"@2x\" : \"\" ) + \".png\",\n url: APPSTORE_URL\n },\n {\n buttonText: \"Download for Android\",\n buttonAction: OPEN_URL_ACTION,\n ButtonComponent: DownloadButtonAndroid,\n src: \"/images/download_page/android/googleplay\" + (IS_RETINA ? \"@2x\" : \"\" ) + \".png\",\n url: GOOGLEPLAY_URL\n }\n ]\n }\n};\n\nexport const OS_MAP = {\n mac: DRIVE_PLATFORM_MAC_OPTION,\n windows: DRIVE_PLATFORM_WINDOWS_OPTION,\n linux: DRIVE_PLATFORM_LINUX_OPTION\n}\n\nexport const BROWSER_MAP = {\n Opera: EXT_PLATFORM_OPERA_OPTION,\n Firefox: EXT_PLATFORM_FIREFOX_OPTION,\n Chrome: EXT_PLATFORM_CHROME_OPTION,\n Edge: EXT_PLATFORM_EDGE_OPTION,\n Safari: EXT_PLATFORM_SAFARI_OPTION,\n Brave: EXT_PLATFORM_BRAVE_OPTION\n}","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { COLORS } from \"@pcloud/web-utilities/dist/config/constants\";\nimport { OPEN_URL_ACTION } from \"./defaultValues\";\n\nconst OptionBox = ({\n SVGIcon,\n title,\n text,\n buttons,\n color\n}) => {\n const renderButtons = () => {\n return buttons.map(({ buttonText, buttonAction, url, ButtonComponent, src = null }) => {\n if (buttonAction === OPEN_URL_ACTION) {\n if (ButtonComponent) {\n return ;\n }\n\n return {buttonText}\n }\n });\n };\n\n return (\n \n \n \n \n \n \n {title}\n {text}\n \n \n { renderButtons() }\n \n \n \n )\n}\n\nexport default OptionBox;\n\nconst Box = styled.div`\n display: inline-block;\n padding: 60px 20px 20px;\n border-radius: 21px;\n border: solid 1px rgba(116, 109, 228, 0.03);\n background-color: #fbfafe;\n max-width: 280px;\n text-align: center;\n margin: 10px;\n min-width: 240px;\n box-sizing: border-box;\n`;\n\nconst FlexContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n`;\n\nconst TopContent = styled.div``;\n\nconst IconWrapper = styled.div`\n display: flex;\n min-height: 80px;\n justify-content: center;\n align-items: center;\n text-align: center;\n margin-bottom: 45px;\n`;\n\nconst OptionTitle = styled.div`\n font-size: 16px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.43;\n letter-spacing: normal;\n text-align: center;\n color: #000;\n margin-bottom: 12px;\n`;\n\nconst OptionText = styled.p`\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.43;\n letter-spacing: normal;\n text-align: center;\n color: #000;\n`;\n\nconst ButtonWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n margin-top: 25px;\n\n /* &>a>div:first-of-type {\n margin-top: 0px;\n }\n\n &>a>div:last-of-type {\n margin-bottom: 0px;\n } */\n`;\n\nconst LinkButton = styled.a`\n width: 100%;\n text-decoration: none;\n padding: 12px;\n box-sizing: border-box;\n border-radius: 7px;\n background-color: #746de4;\n font-size: 13px;\n font-weight: 600;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.54;\n letter-spacing: normal;\n text-align: center;\n color: #fff;\n margin: 5px auto;\n\n &:first-of-type {\n margin-top: 0px;\n }\n\n &:last-of-type {\n margin-bottom: 0px;\n }\n`;","import React from \"react\";\n\nimport OptionBox from \"./OptionBox\";\nimport * as DEFAULTS from \"./defaultValues\";\n\nconst DownloadPassAppBox = () => {\n return \n}\n\nexport default DownloadPassAppBox;","import React from \"react\";\n\nimport _move from \"../lib/move\";\nimport componentMount from \"../lib/componentMount\"\nimport DownloadPassAppBox from \"../components/pCloudPass/PaymentSuccess/DownloadPassAppBox\";\n\nconst _attachList = [\n {\n attach: self,\n list: [\n //components\n \"DownloadPassAppBox\"\n ]\n }\n]\n\nconst prepComponents = {\n DownloadPassAppBox: componentMount(props => )\n};\n\n_move(prepComponents, _attachList);","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(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}\n\nexport function __generator(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 (g && (g = 0, op[0] && (_ = 0)), _) 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\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t36: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkpcloud_site\"] = self[\"webpackChunkpcloud_site\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [0], () => (__webpack_require__(31130)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","obj","_attachList","n","hasOwnProperty","k","length","list","indexOf","attach","usedReactRoots","getExistingOrNewRoot","element","reactRootId","dataset","Math","random","toString","slice","root","createRoot","render","props","_getExistingOrNewRoot","unmount","_path","_extends","Object","assign","bind","target","i","arguments","source","key","prototype","call","apply","this","xmlns","width","height","d","fill","styled","div","withConfig","displayName","componentId","Header","PageDescription","h1","p","MidTitle","_ref","order","h2","Section","_ref2","_ref3","align","SectionIcon","_ref4","_ref5","size","_ref6","saveIconImg","cdnPath","window","devicePixelRatio","saveIconImgMobile","shareIconImg","shareIconImgMobile","protectIconImg","RequireText","h3","DownloadButtonIOS","img","_ref7","_ref8","DownloadButtonAndroid","_ref9","_ref10","a","_defineProperty","_countriesInEuropeLis","EXTENSION_OPTION","EXT_PLATFORM_CHROME_OPTION","EXT_PLATFORM_FIREFOX_OPTION","EXT_PLATFORM_EDGE_OPTION","EXT_PLATFORM_BRAVE_OPTION","DRIVE_OPTION","DRIVE_PLATFORM_MAC_OPTION","DRIVE_PLATFORM_WINDOWS_OPTION","DRIVE_PLATFORM_LINUX_OPTION","WEB_OPTION","WEB_PLATFORM_OPTION","MOBILE_OPTION","MOBILE_PLATFORM_ALL_OPTION","AUTO_PLATFORM_OPTION","COLOR","OPTIONS","_OPTIONS","platform","color","IS_RETINA","OPEN_URL_ACTION","OPTIONS_DATA","_OPTIONS_DATA","SVGIcon","ExtensionIcon","title","__","text","buttons","buttonText","buttonAction","url","PASS_EXTENSION_CHROME","PASS_EXTENSION_FIREFOX","PASS_EXTENSION_EDGE","DriveIcon","APPSTORE_URL","WebIcon","MobileIcon","ButtonComponent","src","GOOGLEPLAY_URL","React","Box","className","FlexContainer","TopContent","IconWrapper","COLORS","mainColor","OptionTitle","OptionText","ButtonWrapper","map","_ref2$src","href","LinkButton","OptionBox","DEFAULTS","self","_move","DownloadPassAppBox","componentMount","r","e","t","f","Array","isArray","clsx","module","exports","objA","objB","compare","compareContext","ret","keysA","keys","keysB","bHasOwnProperty","idx","valueA","valueB","__assign","s","create","__spreadArray","to","from","pack","ar","l","concat","SuppressedError","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","m","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","definition","o","defineProperty","enumerable","get","g","globalThis","Function","prop","Symbol","toStringTag","value","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","forEach","push","nc","__webpack_exports__"],"sourceRoot":""}