passbolt-styleguide
Version:
Passbolt styleguide contains common styling assets used by the different sites, plugin, etc.
2 lines • 86 kB
JavaScript
/*! For license information please see api-setup.js.LICENSE.txt */
(()=>{"use strict";var e,t,n,r={6364(e,t,n){var r=n(6540),s=n(5338);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(null,arguments)}const l=r.createContext({user:null,users:null,roles:null,rememberMeOptions:{},resources:null,resource:null,shareResources:null,selectedResources:null,selectedUser:null,folders:null,resourceCommentId:null,mustRefreshComments:!1,siteSettings:null,userSettings:null,onCheckIsAuthenticatedRequested:null});function o(e){return class extends r.Component{render(){return r.createElement(l.Consumer,null,t=>r.createElement(e,a({context:t},this.props)))}}}const i=l;var c=n(5556),h=n.n(c);class d extends Error{constructor(e,t){super(e),this.name="PassboltApiFetchError",this.data=t||{}}}const u=d;class p extends Error{constructor(){super("An internal error occurred. The server response could not be parsed. Please contact your administrator."),this.name="PassboltBadResponseError"}}const m=p;class g extends Error{constructor(e){super(e=e||"The service is unavailable"),this.name="PassboltServiceUnavailableError"}}const E=g,f=["GET","POST","PUT","DELETE"];class v{constructor(e){if(this.options=e,!this.options.getBaseUrl())throw new TypeError("ApiClient constructor error: baseUrl is required.");if(!this.options.getResourceName())throw new TypeError("ApiClient constructor error: resourceName is required.");try{let e=this.options.getBaseUrl().toString();e.endsWith("/")&&(e=e.slice(0,-1));let t=this.options.getResourceName();t.startsWith("/")&&(t=t.slice(1)),t.endsWith("/")&&(t=t.slice(0,-1)),this.baseUrl=`${e}/${t}`,this.baseUrl=new URL(this.baseUrl)}catch(e){throw new TypeError("ApiClient constructor error: b.",{cause:e})}this.apiVersion="api-version=v2"}getDefaultHeaders(){return{Accept:"application/json","content-type":"application/json"}}async buildFetchOptions(){const e=await this.options.getHeaders();return{credentials:"include",headers:{...this.getDefaultHeaders(),...e}}}async get(e,t){this.assertValidId(e);const n=this.buildUrl(`${this.baseUrl}/${e}`,t||{});return this.fetchAndHandleResponse("GET",n)}async delete(e,t,n,r){let s;this.assertValidId(e),void 0===r&&(r=!1),s=r?this.buildUrl(`${this.baseUrl}/${e}/dry-run`,n||{}):this.buildUrl(`${this.baseUrl}/${e}`,n||{});let a=null;return t&&(a=this.buildBody(t)),this.fetchAndHandleResponse("DELETE",s,a)}async findAll(e){const t=this.buildUrl(this.baseUrl.toString(),e||{});return this.fetchAndHandleResponse("GET",t)}async create(e,t){const n=this.buildUrl(this.baseUrl.toString(),t||{}),r=this.buildBody(e);return this.fetchAndHandleResponse("POST",n,r)}async update(e,t,n,r){let s;this.assertValidId(e),void 0===r&&(r=!1),s=r?this.buildUrl(`${this.baseUrl}/${e}/dry-run`,n||{}):this.buildUrl(`${this.baseUrl}/${e}`,n||{});let a=null;return t&&(a=this.buildBody(t)),this.fetchAndHandleResponse("PUT",s,a)}async updateAll(e,t={}){const n=this.buildUrl(this.baseUrl.toString(),t),r=e?this.buildBody(e):null;return this.fetchAndHandleResponse("PUT",n,r)}assertValidId(e){if(!e)throw new TypeError("ApiClient.assertValidId error: id cannot be empty");if("string"!=typeof e)throw new TypeError("ApiClient.assertValidId error: id should be a string")}assertMethod(e){if("string"!=typeof e)throw new TypeError("ApiClient.assertValidMethod method should be a string.");if(f.indexOf(e.toUpperCase())<0)throw new TypeError(`ApiClient.assertValidMethod error: method ${e} is not supported.`)}assertUrl(e){if(!e)throw new TypeError("ApliClient.assertUrl error: url is required.");if(!(e instanceof URL))throw new TypeError("ApliClient.assertUrl error: url should be a valid URL object.");if("https:"!==e.protocol&&"http:"!==e.protocol)throw new TypeError("ApliClient.assertUrl error: url protocol should only be https or http.")}assertBody(e){if(!(e instanceof FormData)&&"string"!=typeof e)throw new TypeError("ApiClient.assertBody error: body should be a string or a FormData.")}buildBody(e){return JSON.stringify(e)}buildUrl(e,t){if("string"!=typeof e)throw new TypeError("ApiClient.buildUrl error: url should be a string.");const n=new URL(`${e}.json?${this.apiVersion}`);t=t||{};for(const[e,r]of Object.entries(t)){if("string"!=typeof e)throw new TypeError("ApiClient.buildUrl error: urlOptions key should be a string.");if("string"==typeof r)n.searchParams.append(e,r);else{if(!Array.isArray(r))throw new TypeError("ApiClient.buildUrl error: urlOptions value should be a string or array.");r.forEach(t=>{n.searchParams.append(e,t)})}}return n}async sendRequest(e,t,n,r){this.assertUrl(t),this.assertMethod(e),n&&this.assertBody(n);const s="undefined"!=typeof customApiClientFetch?customApiClientFetch:fetch,a={...await this.buildFetchOptions(),...r};a.method=e,n&&(a.body=n);try{return await s(t.toString(),a)}catch(e){throw console.error(e),navigator.onLine?new E("Unable to reach the server, an unexpected error occurred"):new E("Unable to reach the server, you are not connected to the network")}}async fetchAndHandleResponse(e,t,n,r){const s=await this.sendRequest(e,t,n,r);return this.parseResponseJson(s)}async parseResponseJson(e){let t;try{t=await e.json()}catch(t){throw console.debug(e.url.toString(),t),new m(t,e)}if(!e.ok){const n=t.header.message;throw new u(n,{code:e.status,body:t.body})}return t}}const b="chrome",w="edge",y="firefox",x="safari";function S(){const e=window.navigator.userAgent.toLowerCase();let t;return t=e.indexOf("firefox")>-1?y:e.indexOf("samsungbrowser")>-1?"samsung":e.indexOf("opera")>-1||e.indexOf("opr")>-1?"opera":e.indexOf("trident")>-1?"internet-explorer":e.indexOf("edg")>-1?w:e.indexOf("chrome")>-1?b:e.indexOf("safari")>-1?x:"unknown",t}const q=class{constructor(e){e.setResourceName("auth"),this.apiClient=new v(e)}async logout(){const e=this.apiClient.buildUrl(`${this.apiClient.baseUrl}/logout`,{}),t=await this.apiClient.sendRequest("POST",e,null,{redirect:"manual"});if(!t.ok&&0!==t.status)return this._logoutLegacy()}async _logoutLegacy(){const e=this.apiClient.buildUrl(`${this.apiClient.baseUrl}/logout`,{}),t=await this.apiClient.sendRequest("GET",e,null,{redirect:"manual"});if(!t.ok&&0!==t.status)throw new u("An unexpected error happened during the legacy logout process",{code:t.status})}};function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k.apply(null,arguments)}const C=r.createContext({userId:null,token:null,state:null,unexpectedError:null,onInitializeSetupRequested:()=>{},logoutUserAndRefresh:()=>{}});class T extends r.Component{constructor(e){super(e),this.state=Object.assign(this.defaultState,e.value),this.authLogoutService=new q(e.context.getApiClientOptions())}get defaultState(){return{userId:null,token:null,state:N.INITIAL_STATE,unexpectedError:null,onInitializeSetupRequested:this.onInitializeSetupRequested.bind(this),logoutUserAndRefresh:this.logoutUserAndRefresh.bind(this),handleSafariExtensionDownloading:this.handleSafariExtensionDownloading.bind(this),handleSafariExtensionNotDownloaded:this.handleSafariExtensionNotDownloaded.bind(this),handleExtensionAlreadyInstalled:this.handleExtensionAlreadyInstalled.bind(this)}}async onInitializeSetupRequested(){return this.state.userId&&this.state.token?this.isBrowserSupported()?void await this.startSetup().then(this.handleStartSetupSuccess.bind(this)).catch(this.handleStartSetupError.bind(this)):this.setState({state:N.DOWNLOAD_SUPPORTED_BROWSER_STATE}):this.setState({state:N.REQUEST_INVITATION_ERROR})}handleStartSetupSuccess(){const e=S()===x?N.INSTALL_SAFARI_EXTENSION_STATE:N.INSTALL_EXTENSION_STATE;this.setState({state:e})}handleSafariExtensionDownloading(){const e=N.CONFIGURE_SAFARI_EXTENSION_STATE;this.setState({state:e})}handleSafariExtensionNotDownloaded(){const e=N.INSTALL_SAFARI_EXTENSION_STATE;this.setState({state:e})}handleExtensionAlreadyInstalled(){const e=N.CONFIGURE_SAFARI_EXTENSION_STATE;this.setState({state:e})}async logoutUserAndRefresh(){try{await this.authLogoutService.logout()}catch(e){const t=new E(e.message);return this.setState({unexpectedError:t,state:N.UNEXPECTED_ERROR_STATE})}window.location.reload()}handleStartSetupError(e){if(e instanceof u){if(403===e.data.code)return this.setState({state:N.ERROR_ALREADY_SIGNED_IN_STATE});const t=Boolean(e.data.body?.token?.expired),n=Boolean(e.data.body?.token?.isActive);if(t||n)return this.setState({state:N.TOKEN_EXPIRED_STATE});if(400===e?.data?.code)return this.setState({state:N.REQUEST_INVITATION_ERROR})}return this.setState({state:N.UNEXPECTED_ERROR_STATE})}isBrowserSupported(){const e=S(),t=[b,y,w];return this.props.context.siteSettings.canIUse("safari")&&t.push(x),t.includes(e)}async startSetup(){const e=this.props.context.getApiClientOptions();e.setResourceName("setup");const t=new v(e),{body:n}=await t.get(`install/${this.state.userId}/${this.state.token}`);return n}render(){return r.createElement(C.Provider,{value:this.state},this.props.children)}}T.propTypes={context:h().any,value:h().any,children:h().any};const A=o(T);function I(e){return class extends r.Component{render(){return r.createElement(C.Consumer,null,t=>r.createElement(e,k({apiSetupContext:t},this.props)))}}}const N={INITIAL_STATE:"Initial state",DOWNLOAD_SUPPORTED_BROWSER_STATE:"Download supported browser state",INSTALL_EXTENSION_STATE:"Install extension state",INSTALL_SAFARI_EXTENSION_STATE:"Install Safari extension state",CONFIGURE_SAFARI_EXTENSION_STATE:"Configure Safari extension state",TOKEN_EXPIRED_STATE:"Token expired state",ERROR_ALREADY_SIGNED_IN_STATE:"Error, already signed in state",REQUEST_INVITATION_ERROR:"Request inviration error state",UNEXPECTED_ERROR_STATE:"Unexpected error state"};class R{setBaseUrl(e){if(!e)throw new TypeError("ApiClientOption baseUrl is required.");if("string"==typeof e)try{this.baseUrl=new URL(e)}catch(e){throw new TypeError("ApiClientOption baseUrl is invalid.",{cause:e})}else{if(!(e instanceof URL))throw new TypeError("ApiClientOptions baseurl should be a string or URL");this.baseUrl=e}return this}setResourceName(e){if(!e)throw new TypeError("ApiClientOptions.setResourceName resourceName is required.");if("string"!=typeof e)throw new TypeError("ApiClientOptions.setResourceName resourceName should be a valid string.");return this.resourceName=e,this}getBaseUrl(){return this.baseUrl}getResourceName(){return this.resourceName}async getHeaders(){const e=await this.getCsrfToken();if(e)return{"X-CSRF-Token":e}}async getCsrfToken(){if("undefined"==typeof browser||void 0===browser.cookies){const e=document?.cookie?.split("; ")?.find(e=>e.startsWith("csrfToken"))?.split("=");return e&&2===e.length?e[1]:null}const e=this.baseUrl.toString(),t="/"===e.slice(-1)?e:`${e}/`,n=await browser.cookies.get({name:"csrfToken",url:t});return n?.value||null}}var O,L,D=n(2389);function _(){return _=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_.apply(null,arguments)}const U=function(e){return r.createElement("svg",_({width:18,height:18,fill:"none",className:"svg-icon spinner",viewBox:"0 0 18 18"},e),O||(O=r.createElement("circle",{id:"background",cx:8,cy:8,r:8,fill:"none",stroke:"var(--spinner-background)",strokeWidth:"var(--spinner-stroke-width)",transform:"translate(1 1)"})),L||(L=r.createElement("circle",{id:"loading",r:8,fill:"none",stroke:"var(--spinner-color)",strokeLinecap:"round",strokeWidth:"var(--spinner-stroke-width)",transform:"translate(9 9)"})))};class z extends r.Component{render(){return r.createElement("div",{className:"login-processing"},r.createElement("h1",null,this.props.title),r.createElement("div",{className:"processing-wrapper"},r.createElement(U,null)))}}z.propTypes={title:h().oneOfType([h().arrayOf(h().node),h().node,h().string])},z.defaultProps={title:r.createElement(D.x6,null,"Please wait...")};const P=(0,D.CI)("common")(z),M="https://download.passbolt.com/extension/chrome";class F extends r.Component{constructor(e){super(e),this.state=this.getDefaultState(),this.bindCallbacks()}getDefaultState(){const e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return{browserName:S(),theme:e}}bindCallbacks(){this.handleRefreshClick=this.handleRefreshClick.bind(this)}get browserStoreThumbnailUrl(){const e="dark"===this.state.theme?"white":"black";switch(this.state.browserName){case y:return`${this.props.context.trustedDomain}/img/third_party/FirefoxAMO_${e}.svg`;case w:return`${this.props.context.trustedDomain}/img/third_party/edge-addon-${e}.svg`;default:return`${this.props.context.trustedDomain}/img/third_party/ChromeWebStore_${e}.svg`}}get storeUrl(){switch(this.state.browserName){case b:return M;case y:return"https://addons.mozilla.org/firefox/addon/passbolt";case w:return"https://microsoftedge.microsoft.com/addons/detail/passbolt-extension/ljeppgjhohmhpbdhjjjbiflabdgfkhpo";default:return M}}get storeClassName(){return`browser-webstore ${this.state.browserName}`}handleRefreshClick(){window.location.reload()}render(){return r.createElement("div",{className:"install-extension"},r.createElement("h1",null,r.createElement(D.x6,null,"Please install the browser extension.")),r.createElement("p",null,r.createElement(D.x6,null,"Please download the browser extension and refresh this page to continue.")),this.state.browserName&&r.createElement("a",{href:this.storeUrl,className:this.storeClassName,target:"_blank",rel:"noopener noreferrer"},r.createElement("img",{src:this.browserStoreThumbnailUrl,alt:"browser store thumbnail"})),r.createElement("div",{className:"form-actions"},r.createElement("a",{href:this.storeUrl,className:"button primary big full-width",role:"button",target:"_blank",rel:"noopener noreferrer"},r.createElement(D.x6,null,"Download extension")),r.createElement("button",{className:"link",type:"button",onClick:this.handleRefreshClick},r.createElement(D.x6,null,"Refresh to detect extension"))))}}F.propTypes={context:h().any};const B=o((0,D.CI)("common")(F));class j extends r.Component{constructor(e){super(e),this.state=this.getDefaultState()}getDefaultState(){return{selectedBrowser:this.compatibleBrowserList[0]}}handleBrowserButtonClick(e){this.setState({selectedBrowser:e})}get compatibleBrowserList(){const e=[{name:"Mozilla Firefox",img:"firefox.svg",url:"https://www.mozilla.org/"},{name:"Google Chrome",img:"chrome.svg",url:"https://www.google.com/chrome/"},{name:"Microsoft Edge",img:"edge.svg",url:"https://www.microsoft.com/edge"},{name:"Brave",img:"brave.svg",url:"https://www.brave.com/"},{name:"Vivaldi",img:"vivaldi.svg",url:"https://www.vivaldi.com/"}];return this.props.context.siteSettings.canIUse("safari")&&e.push({name:"Safari",img:"safari.svg",url:"https://www.apple.com/safari/"}),e}render(){return r.createElement("div",{className:"browser-not-supported"},r.createElement("h1",null,r.createElement(D.x6,null,"Sorry, your browser is not supported.")),r.createElement("p",null,r.createElement(D.x6,null,"Please download one of these browsers to get started with passbolt:")),r.createElement("div",{className:"browser-button-list"},this.compatibleBrowserList.map((e,t)=>r.createElement("button",{key:t,className:"browser"+(e.name===this.state.selectedBrowser.name?" focused":""),target:"_blank",onClick:()=>this.handleBrowserButtonClick(e)},r.createElement("img",{src:`${this.props.context.trustedDomain}/img/third_party/${e.img}`})))),r.createElement("div",{className:"form-actions"},r.createElement("a",{href:this.state.selectedBrowser.url,rel:"noopener noreferrer",className:"button primary big full-width",role:"button",target:"_blank"},r.createElement(D.x6,null,"Download ",{browserName:this.state.selectedBrowser.name}))))}}j.propTypes={context:h().any};const $=o((0,D.CI)("common")(j));class V extends r.Component{render(){return r.createElement("div",{className:"setup-error"},r.createElement("h1",null,r.createElement(D.x6,null,"Access to this service requires an invitation.")),r.createElement("p",null,r.createElement(D.x6,null,"This email is not associated with any approved users on this domain.")," ",r.createElement(D.x6,null,"Please contact your administrator to request an invitation link.")),r.createElement("div",{className:"form-actions"},r.createElement("a",{href:`${this.props.context.trustedDomain}/users/recover`,className:"button primary big full-width",role:"button",rel:"noopener noreferrer"},r.createElement(D.x6,null,"Try with another email"))))}}V.propTypes={context:h().any};const H=o((0,D.CI)("common")(V));class W extends r.Component{render(){return r.createElement("div",{className:"setup-error"},r.createElement("h1",null,r.createElement(D.x6,null,"The invitation is expired.")),r.createElement("p",null,r.createElement(D.x6,null,"You can request another invitation email by clicking on the button below.")),r.createElement("div",{className:"form-actions"},r.createElement("a",{href:`${this.props.context.trustedDomain}/users/recover`,className:"button primary big full-width",role:"button",rel:"noopener noreferrer"},r.createElement(D.x6,null,"Request invitation"))))}}W.propTypes={context:h().any};const X=o((0,D.CI)("common")(W)),K="setup",G="recover",J="account-recovery";class Y extends r.Component{render(){return r.createElement("div",{className:"setup-error"},r.createElement("h1",null,r.createElement(D.x6,null,"Cannot perform the action while being logged in")),r.createElement("p",null,{[K]:r.createElement(D.x6,null,"It is not possible to perform a setup of a new account as you are still logged in. You need to log out first before continuing."),[G]:r.createElement(D.x6,null,"It is not possible to perform the recovery of your account as you are still logged in. You need to log out first before continuing."),[J]:r.createElement(D.x6,null,"It is not possible to recover your private key of your account as you are still logged in. You need to log out first before continuing.")}[this.props.displayAs]),r.createElement("div",{className:"form-actions"},r.createElement("button",{onClick:this.props.onLogoutButtonClick.bind(this),className:"button primary big full-width",role:"button"},r.createElement(D.x6,null,"Sign out"))))}}Y.propTypes={displayAs:h().oneOf([K,G,J]).isRequired,onLogoutButtonClick:h().func.isRequired};const Q=(0,D.CI)("common")(Y);var Z;function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ee.apply(null,arguments)}const te=function(e){return r.createElement("svg",ee({xmlns:"http://www.w3.org/2000/svg",width:10,height:8,fill:"none",viewBox:"0 0 10 8"},e),Z||(Z=r.createElement("path",{stroke:"var(--icon-color)",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"m1 2 4 4 4-4"})))};var ne;function re(){return re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},re.apply(null,arguments)}const se=function(e){return r.createElement("svg",re({xmlns:"http://www.w3.org/2000/svg",width:8,height:10,fill:"none",viewBox:"0 0 8 10"},e),ne||(ne=r.createElement("path",{stroke:"var(--icon-color)",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"m2 9 4-4-4-4"})))};class ae extends r.Component{constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{showErrorDetails:!1}}bindCallbacks(){this.handleErrorDetailsToggle=this.handleErrorDetailsToggle.bind(this)}onClick(){this.props.context.port?this.props.context.port.request("passbolt.tab.reload"):window.location.reload()}handleErrorDetailsToggle(){this.setState({showErrorDetails:!this.state.showErrorDetails})}get hasErrorDetails(){const e=this.props?.error;return Boolean(e?.details)||Boolean(e?.data?.body)}formatErrors(){const e=this.props.error?.details||this.props.error?.data;return JSON.stringify(e,null,4)}render(){return r.createElement("div",{className:"setup-error"},r.createElement("h1",null,this.props.title),r.createElement("p",null,this.props.message),r.createElement("p",null,this.props.error&&this.props.error.message),this.hasErrorDetails&&r.createElement("div",{className:"accordion error-details"},r.createElement("div",{className:"accordion-header"},r.createElement("button",{className:"no-border",type:"button",onClick:this.handleErrorDetailsToggle},this.state.showErrorDetails?r.createElement(te,{className:"caret-down"}):r.createElement(se,{className:"caret-right"}),r.createElement("span",null,r.createElement(D.x6,null,"Error details")))),this.state.showErrorDetails&&r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"input text"},r.createElement("label",{htmlFor:"js_field_debug",className:"visuallyhidden"},r.createElement(D.x6,null,"Error details")),r.createElement("textarea",{id:"js_field_debug",defaultValue:`${this.formatErrors()}`,readOnly:!0})))),r.createElement("div",{className:"form-actions"},r.createElement("button",{onClick:this.onClick.bind(this),className:"button primary big full-width",role:"button"},r.createElement(D.x6,null,"Try again"))))}}ae.defaultProps={title:r.createElement(D.x6,null,"Something went wrong!"),message:r.createElement(D.x6,null,"The operation failed with the following error:")},ae.propTypes={context:h().any,title:h().oneOfType([h().arrayOf(h().node),h().node,h().string]),message:h().oneOfType([h().arrayOf(h().node),h().node,h().string]),error:h().any};const le=o((0,D.CI)("common")(ae));var oe,ie;function ce(){return ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ce.apply(null,arguments)}const he=function(e){return r.createElement("svg",ce({xmlns:"http://www.w3.org/2000/svg",width:157,height:40,fill:"none",viewBox:"0 0 157 40"},e),oe||(oe=r.createElement("g",{clipPath:"url(#appstore_svg__clip0_6746_32492)"},r.createElement("path",{fill:"#A6A6A6",d:"M146.571 0H9.535Q8.986 0 8.44.002q-.457.004-.919.013-1.008.012-2.004.177a6.7 6.7 0 0 0-1.9.627A6.44 6.44 0 0 0 .193 5.522a13 13 0 0 0-.179 2.002c-.01.306-.01.614-.015.92V31.56c.005.31.006.611.015.922q.012 1.007.18 2.002c.11.663.32 1.305.624 1.904.303.598.701 1.143 1.179 1.614.473.477 1.019.875 1.618 1.179a6.7 6.7 0 0 0 1.901.63q.996.165 2.004.177c.31.007.613.011.919.011.366.002.728.002 1.095.002H146.57c.36 0 .725 0 1.084-.002.305 0 .617-.004.922-.01q1.007-.014 2-.177a6.8 6.8 0 0 0 1.908-.631A6.3 6.3 0 0 0 154.103 38a6.4 6.4 0 0 0 1.181-1.614 6.6 6.6 0 0 0 .619-1.904q.168-.994.186-2.002c.004-.311.004-.612.004-.922.008-.364.008-.725.008-1.094V9.536c0-.366 0-.73-.008-1.092q.001-.46-.004-.92a13.4 13.4 0 0 0-.186-2.002 6.6 6.6 0 0 0-.619-1.904 6.46 6.46 0 0 0-2.799-2.8 6.8 6.8 0 0 0-1.908-.627q-.993-.165-2-.176c-.305-.005-.617-.011-.922-.013C147.296 0 146.931 0 146.571 0"}),r.createElement("path",{fill:"#000",d:"M8.445 39.125c-.305 0-.602-.004-.904-.01a13 13 0 0 1-1.87-.164 5.9 5.9 0 0 1-1.656-.548 5.4 5.4 0 0 1-1.397-1.016 5.3 5.3 0 0 1-1.02-1.397 5.7 5.7 0 0 1-.544-1.657 12.4 12.4 0 0 1-.166-1.875c-.007-.21-.015-.913-.015-.913v-23.1s.009-.692.015-.895a12.4 12.4 0 0 1 .165-1.872 5.8 5.8 0 0 1 .544-1.662c.26-.518.603-.99 1.015-1.398A5.57 5.57 0 0 1 5.668 1.05Q6.6.9 7.543.887l.902-.012H147.65l.913.013q.935.01 1.859.162a6 6 0 0 1 1.671.548 5.6 5.6 0 0 1 2.415 2.42c.26.52.441 1.076.535 1.649q.156.937.174 1.887c.003.283.003.588.003.89.008.375.008.732.008 1.092v20.929c0 .363 0 .718-.008 1.075 0 .325 0 .623-.004.93q-.018.932-.171 1.853a5.8 5.8 0 0 1-.54 1.67c-.264.513-.606.98-1.016 1.386a5.4 5.4 0 0 1-1.399 1.022 5.9 5.9 0 0 1-1.668.55q-.928.152-1.869.163c-.293.007-.6.011-.898.011l-1.084.002z"}),r.createElement("path",{fill:"#fff",d:"M24.769 20.3a4.95 4.95 0 0 1 2.357-4.151 5.07 5.07 0 0 0-3.992-2.158c-1.679-.176-3.307 1.005-4.163 1.005-.872 0-2.19-.987-3.608-.958a5.32 5.32 0 0 0-4.473 2.728c-1.934 3.348-.491 8.27 1.361 10.976.927 1.325 2.01 2.805 3.428 2.753 1.387-.058 1.905-.885 3.58-.885 1.658 0 2.144.885 3.59.852 1.489-.024 2.426-1.332 3.32-2.67a11 11 0 0 0 1.52-3.092 4.78 4.78 0 0 1-2.92-4.4M22.038 12.21a4.87 4.87 0 0 0 1.114-3.49 4.96 4.96 0 0 0-3.207 1.66A4.64 4.64 0 0 0 18.8 13.74a4.1 4.1 0 0 0 3.237-1.53M46.149 30.496v-9.14h-.06l-3.744 9.045h-1.428l-3.753-9.044h-.06v9.14h-1.756V18.077h2.23l4.018 9.802h.069l4.01-9.802h2.238v12.418zM49.396 27.923c0-1.583 1.213-2.54 3.365-2.668l2.479-.138v-.688c0-1.007-.663-1.575-1.791-1.575a1.73 1.73 0 0 0-1.902 1.274H49.81c.052-1.636 1.575-2.797 3.692-2.797 2.16 0 3.588 1.179 3.588 2.96v6.205h-1.78v-1.49h-.044a3.24 3.24 0 0 1-2.857 1.645 2.743 2.743 0 0 1-3.012-2.728m5.844-.817v-.698l-2.23.138c-1.11.07-1.738.55-1.738 1.325 0 .792.654 1.309 1.652 1.309a2.17 2.17 0 0 0 2.316-2.075M64.893 24.558a2 2 0 0 0-2.134-1.67c-1.428 0-2.375 1.197-2.375 3.082 0 1.927.955 3.088 2.392 3.088a1.95 1.95 0 0 0 2.117-1.626h1.79a3.62 3.62 0 0 1-3.924 3.176c-2.582 0-4.268-1.764-4.268-4.638 0-2.815 1.686-4.64 4.25-4.64a3.64 3.64 0 0 1 3.925 3.228zM78.76 27.14h-4.734l-1.137 3.356h-2.005l4.484-12.418h2.083l4.483 12.418h-2.039zm-4.244-1.55h3.752l-1.85-5.446h-.051zM91.617 25.97c0 2.813-1.506 4.621-3.779 4.621a3.07 3.07 0 0 1-2.848-1.584h-.043v4.484h-1.859V21.443h1.8v1.505h.033a3.21 3.21 0 0 1 2.883-1.6c2.298 0 3.813 1.816 3.813 4.622m-1.91 0c0-1.833-.948-3.038-2.393-3.038-1.42 0-2.375 1.23-2.375 3.038 0 1.824.955 3.046 2.375 3.046 1.445 0 2.393-1.196 2.393-3.046M101.582 25.97c0 2.813-1.506 4.621-3.779 4.621a3.07 3.07 0 0 1-2.848-1.584h-.043v4.484h-1.859V21.443h1.8v1.505h.033a3.21 3.21 0 0 1 2.883-1.6c2.298 0 3.813 1.816 3.813 4.622m-1.91 0c0-1.833-.948-3.038-2.393-3.038-1.42 0-2.375 1.23-2.375 3.038 0 1.824.955 3.046 2.375 3.046 1.445 0 2.392-1.196 2.392-3.046M108.168 27.036c.137 1.232 1.334 2.04 2.968 2.04 1.567 0 2.694-.808 2.694-1.919 0-.964-.68-1.54-2.289-1.936l-1.61-.388c-2.28-.55-3.339-1.617-3.339-3.348 0-2.142 1.868-3.614 4.519-3.614 2.624 0 4.423 1.472 4.483 3.614h-1.876c-.112-1.239-1.136-1.987-2.634-1.987s-2.521.757-2.521 1.858c0 .878.654 1.395 2.255 1.79l1.368.336c2.548.603 3.606 1.626 3.606 3.443 0 2.323-1.85 3.778-4.793 3.778-2.754 0-4.614-1.42-4.734-3.667zM119.803 19.3v2.142h1.722v1.472h-1.722v4.991c0 .776.345 1.137 1.102 1.137q.306-.006.611-.043v1.463q-.511.095-1.032.086c-1.833 0-2.548-.689-2.548-2.444v-5.19h-1.316v-1.472h1.316V19.3zM122.521 25.97c0-2.849 1.678-4.639 4.294-4.639 2.625 0 4.295 1.79 4.295 4.639 0 2.856-1.661 4.638-4.295 4.638s-4.294-1.782-4.294-4.638m6.695 0c0-1.954-.895-3.108-2.401-3.108s-2.401 1.162-2.401 3.108c0 1.962.895 3.106 2.401 3.106s2.401-1.144 2.401-3.106M132.643 21.443h1.773v1.54h.043a2.16 2.16 0 0 1 2.177-1.636q.322 0 .637.07v1.738a2.6 2.6 0 0 0-.835-.112 1.872 1.872 0 0 0-1.937 2.083v5.37h-1.858zM145.84 27.837c-.25 1.643-1.85 2.771-3.898 2.771-2.634 0-4.269-1.764-4.269-4.595 0-2.84 1.644-4.682 4.191-4.682 2.505 0 4.08 1.72 4.08 4.466v.637h-6.395v.112a2.37 2.37 0 0 0 .639 1.832 2.36 2.36 0 0 0 1.797.732 2.045 2.045 0 0 0 2.091-1.273zm-6.282-2.702h4.526a2.17 2.17 0 0 0-.608-1.634 2.17 2.17 0 0 0-1.612-.664 2.293 2.293 0 0 0-2.306 2.298M37.826 8.73a2.64 2.64 0 0 1 2.808 2.966c0 1.906-1.03 3.002-2.808 3.002h-2.155V8.73zm-1.228 5.124h1.125a1.877 1.877 0 0 0 1.967-2.146 1.882 1.882 0 0 0-1.967-2.134h-1.125zM41.68 12.444a2.133 2.133 0 1 1 4.248 0 2.132 2.132 0 1 1-4.247 0m3.334 0c0-.976-.439-1.547-1.209-1.547-.772 0-1.206.571-1.206 1.547 0 .984.434 1.55 1.207 1.55.769 0 1.208-.57 1.208-1.55M51.573 14.698h-.922l-.93-3.317h-.07l-.927 3.317h-.913l-1.242-4.503h.902l.806 3.436h.067l.925-3.436h.853l.926 3.436h.07l.803-3.436h.889zM53.854 10.195h.855v.715h.066a1.35 1.35 0 0 1 1.344-.802 1.466 1.466 0 0 1 1.559 1.675v2.915h-.889v-2.692c0-.724-.314-1.084-.972-1.084a1.034 1.034 0 0 0-1.075 1.141v2.635h-.889zM59.094 8.437h.888v6.26h-.888zM61.218 12.444a2.134 2.134 0 1 1 4.247 0 2.132 2.132 0 1 1-4.247 0m3.333 0c0-.976-.439-1.547-1.208-1.547-.773 0-1.207.571-1.207 1.547 0 .984.434 1.55 1.207 1.55.77 0 1.208-.57 1.208-1.55M66.4 13.424c0-.81.604-1.277 1.675-1.344l1.22-.07v-.389c0-.476-.314-.744-.922-.744-.496 0-.84.182-.938.5h-.86c.09-.773.818-1.27 1.84-1.27 1.128 0 1.765.563 1.765 1.514v3.077h-.856v-.633h-.07a1.52 1.52 0 0 1-1.353.707 1.36 1.36 0 0 1-1.5-1.348m2.895-.384v-.377l-1.1.07c-.62.042-.901.253-.901.65 0 .405.352.64.835.64a1.064 1.064 0 0 0 1.166-.983M71.348 12.444c0-1.423.731-2.324 1.869-2.324a1.48 1.48 0 0 1 1.38.79h.067V8.437h.889v6.26H74.7v-.71h-.07a1.56 1.56 0 0 1-1.414.785c-1.146 0-1.87-.901-1.87-2.328m.918 0c0 .955.45 1.53 1.203 1.53.749 0 1.212-.583 1.212-1.526 0-.938-.468-1.53-1.212-1.53-.748 0-1.203.58-1.203 1.526M79.23 12.444a2.133 2.133 0 1 1 4.247 0 2.134 2.134 0 1 1-4.248 0m3.332 0c0-.976-.438-1.546-1.208-1.546-.772 0-1.207.57-1.207 1.546 0 .984.435 1.55 1.207 1.55.77 0 1.208-.57 1.208-1.55M84.67 10.195h.855v.715h.066a1.35 1.35 0 0 1 1.344-.802 1.466 1.466 0 0 1 1.559 1.675v2.915h-.889v-2.692c0-.724-.315-1.084-.972-1.084a1.034 1.034 0 0 0-1.075 1.141v2.635h-.889zM93.515 9.074v1.141h.976v.749h-.976v2.315c0 .472.195.678.637.678q.17 0 .339-.02v.74q-.24.043-.484.046c-.988 0-1.382-.348-1.382-1.216v-2.543h-.714v-.749h.715V9.074zM95.705 8.437h.88v2.482h.07a1.385 1.385 0 0 1 1.374-.807 1.485 1.485 0 0 1 1.55 1.678v2.908h-.889V12.01c0-.72-.335-1.084-.963-1.084a1.05 1.05 0 0 0-1.134 1.142v2.63h-.888zM104.761 13.482a1.82 1.82 0 0 1-1.951 1.303 2.05 2.05 0 0 1-2.01-1.447 2.05 2.05 0 0 1-.07-.877 2.1 2.1 0 0 1 .071-.88 2.078 2.078 0 0 1 2.005-1.473c1.253 0 2.009.856 2.009 2.27v.31h-3.18v.05a1.19 1.19 0 0 0 1.2 1.29 1.08 1.08 0 0 0 1.071-.546zm-3.126-1.451h2.275a1.094 1.094 0 0 0-.667-1.083 1.1 1.1 0 0 0-.442-.084 1.15 1.15 0 0 0-1.166 1.167"}))),ie||(ie=r.createElement("defs",null,r.createElement("clipPath",{id:"clip0_6746_32492"},r.createElement("path",{fill:"#fff",d:"M0 0h156.101v40H0z"})))))},de="https://apps.apple.com/app/6754879299";class ue extends r.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleInstallExtensionClick=this.handleInstallExtensionClick.bind(this),this.handleAlreadyInstalledClick=this.handleAlreadyInstalledClick.bind(this)}handleAlreadyInstalledClick(){this.props.onExtensionAlreadyInstalled()}handleInstallExtensionClick(){this.props.onExtensionDownloading()}render(){return r.createElement("div",{className:"install-extension"},r.createElement("h1",null,r.createElement(D.x6,null,"Please install the browser extension (BETA).")),r.createElement("p",null,r.createElement(D.x6,null,"Please download the browser extension and refresh this page to continue.")),r.createElement("a",{href:de,className:"browser-webstore safari",target:"_blank",rel:"noopener noreferrer",onClick:this.handleInstallExtensionClick},r.createElement(he,null)),r.createElement("div",{className:"form-actions"},r.createElement("a",{href:de,className:"button primary big full-width",role:"button",target:"_blank",rel:"noopener noreferrer",onClick:this.handleInstallExtensionClick},r.createElement(D.x6,null,"Download extension")),r.createElement("button",{className:"link",type:"button",onClick:this.handleAlreadyInstalledClick},r.createElement(D.x6,null,"I already installed the extension"))))}}ue.propTypes={context:h().any,onExtensionDownloading:h().func,onExtensionAlreadyInstalled:h().func};const pe=o((0,D.CI)("common")(ue));var me,ge,Ee,fe,ve,be,we,ye,xe,Se,qe,ke,Ce,Te,Ae,Ie,Ne,Re,Oe,Le,De,_e;function Ue(){return Ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ue.apply(null,arguments)}const ze=function(e){return r.createElement("svg",Ue({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 484 307"},e),me||(me=r.createElement("rect",{width:483,height:306,x:.5,y:.5,fill:"#EBEBEB",rx:16.3})),ge||(ge=r.createElement("rect",{width:483,height:306,x:.5,y:.5,stroke:"#F5F5F5",rx:16.3})),Ee||(Ee=r.createElement("circle",{cx:21.613,cy:18.2,r:4.594,fill:"#EE6B5F",stroke:"#E93F30",strokeWidth:.438})),fe||(fe=r.createElement("circle",{cx:36.487,cy:18.2,r:4.594,fill:"#F5BE50",stroke:"#F2AD21",strokeWidth:.438})),ve||(ve=r.createElement("circle",{cx:51.362,cy:18.2,r:4.594,fill:"#62C655",stroke:"#47AC3A",strokeWidth:.438})),be||(be=r.createElement("rect",{width:25.106,height:24.105,x:146.275,y:6.147,fill:"#FDFDFD",rx:12.053})),we||(we=r.createElement("rect",{width:25.106,height:24.105,x:146.275,y:6.147,stroke:"#FEFEFE",rx:12.053})),ye||(ye=r.createElement("path",{fill:"#272727",d:"m165.841 17.203-6.06-5.592a1.42 1.42 0 0 0-.951-.364c-.352 0-.691.13-.95.364l-3.803 3.524a3.4 3.4 0 0 1 1.306.858c.361.382.624.843.768 1.344h5.134a.49.49 0 0 1 .337.137.47.47 0 0 1 .138.33v.768a.47.47 0 0 1-.475.467h-.593v1.085a.46.46 0 0 1-.292.432.5.5 0 0 1-.182.036h-1.301a.48.48 0 0 1-.439-.289.5.5 0 0 1-.035-.178v-1.086h-2.292a3.2 3.2 0 0 1-.759 1.36 3.3 3.3 0 0 1-1.315.86l3.82 3.53a1.42 1.42 0 0 0 1.901 0l6.05-5.59a1.364 1.364 0 0 0-.007-1.996"})),xe||(xe=r.createElement("path",{fill:"#272727",d:"M152.951 16.66a1.7 1.7 0 0 0-.712.169c-.248.12-.459.304-.61.531a1.5 1.5 0 0 0-.076 1.543c.129.24.321.442.556.586a1.577 1.577 0 0 0 2.161-.518c.141-.234.216-.5.216-.772a1.47 1.47 0 0 0-.436-1.086 1.56 1.56 0 0 0-1.099-.453"})),Se||(Se=r.createElement("rect",{width:185.694,height:24.2,x:186.381,y:6.1,fill:"#FDFDFD",rx:12.1})),qe||(qe=r.createElement("rect",{width:185.694,height:24.2,x:186.381,y:6.1,stroke:"#FEFEFE",rx:12.1})),ke||(ke=r.createElement("mask",{id:"a",fill:"#fff"},r.createElement("path",{d:"M172.799 44.954a5.6 5.6 0 0 0 3.245 1.036h74.14c12.372 0 22.401 10.03 22.401 22.4v178.137c0 12.371-10.029 22.401-22.401 22.401H68.307c-12.372 0-22.4-10.03-22.4-22.401V68.391c0-12.372 10.028-22.4 22.4-22.4h74.139a5.6 5.6 0 0 0 3.245-1.037L156 37.625a5.6 5.6 0 0 1 6.49 0z"}))),Ce||(Ce=r.createElement("path",{fill:"#F8F8F8",d:"M172.799 44.954a5.6 5.6 0 0 0 3.245 1.036h74.14c12.372 0 22.401 10.03 22.401 22.4v178.137c0 12.371-10.029 22.401-22.401 22.401H68.307c-12.372 0-22.4-10.03-22.4-22.401V68.391c0-12.372 10.028-22.4 22.4-22.4h74.139a5.6 5.6 0 0 0 3.245-1.037L156 37.625a5.6 5.6 0 0 1 6.49 0z"})),Te||(Te=r.createElement("path",{fill:"#A9A9A9",d:"m145.691 44.954-.405-.57zm27.108 0 .405-.57zm3.245 1.036v.7h74.14v-1.4h-74.14zm74.14 0v.7c11.985 0 21.701 9.716 21.701 21.7h1.4c0-12.757-10.343-23.1-23.101-23.1zm22.401 22.4h-.7v178.137h1.4V68.391h-.7Zm0 178.137h-.7c0 11.985-9.716 21.701-21.701 21.701v1.4c12.758 0 23.101-10.343 23.101-23.101zm-22.401 22.401v-.7H68.307v1.4h181.877zm-181.877 0v-.7c-11.985 0-21.7-9.716-21.7-21.701h-1.4c0 12.758 10.342 23.101 23.1 23.101zm-22.4-22.401h.7V68.391h-1.4v178.136zm0-178.136h.7c0-11.985 9.715-21.7 21.7-21.7v-1.4c-12.758 0-23.1 10.342-23.1 23.1zm22.4-22.4v.7h74.139v-1.4h-74.14zm77.384-1.037.406.57 10.309-7.328-.406-.57-.405-.571-10.309 7.329zm16.799-7.329-.406.57 10.309 7.33.406-.57.405-.571-10.309-7.33zm-20.044 8.365v.7a6.3 6.3 0 0 0 3.651-1.165l-.406-.57-.405-.571a4.9 4.9 0 0 1-2.84.906zM156 37.625l.406.57a4.9 4.9 0 0 1 5.678 0l.406-.57.405-.57a6.3 6.3 0 0 0-7.3 0zm20.044 8.365v-.7a4.9 4.9 0 0 1-2.84-.906l-.405.57-.406.57a6.3 6.3 0 0 0 3.651 1.166z",mask:"url(#safari_quickaccess_configuration_light_svg__a)"})),Ae||(Ae=r.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeOpacity:.1,strokeWidth:7.388,d:"M72.024 63.89h174.452m-164.46 11.2h154.467m-127.822 11.2h101.178"})),Ie||(Ie=r.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeOpacity:.1,strokeWidth:3.694,d:"M72.024 108.689h174.452M108.661 119.89h101.178M72.024 131.089h174.452M82.016 142.29h154.467m-127.822 11.199h101.178"})),Ne||(Ne=r.createElement("g",{opacity:.5},r.createElement("rect",{width:191.8,height:22.4,x:63.35,y:175.89,fill:"#3D76F9",rx:11.2}),r.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeOpacity:.25,strokeWidth:2.8,d:"M130.051 187.089h58.398"}))),Re||(Re=r.createElement("g",{opacity:.5},r.createElement("rect",{width:191.8,height:22.4,x:63.35,y:203.89,fill:"#C5C5C5",rx:11.2}),r.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeOpacity:.25,strokeWidth:2.8,d:"M130.051 215.089h58.398"}))),Oe||(Oe=r.createElement("rect",{width:191.8,height:22,x:63.35,y:231.89,fill:"#E4E4E4",rx:11})),Le||(Le=r.createElement("rect",{width:191.8,height:22,x:63.35,y:231.89,stroke:"#D40101",strokeWidth:3,rx:11})),De||(De=r.createElement("path",{fill:"#000",d:"M82.929 246.89h-.923l2.67-7.273h.91l2.67 7.273h-.924l-2.173-6.123h-.057zm.34-2.841h3.722v.781H83.27zm6.844-4.432v7.273h-.838v-7.273zm2.77 7.273-1.661-5.455h.88l1.18 4.176h.056l1.165-4.176h.895l1.15 4.162h.057l1.18-4.162h.88l-1.662 5.455h-.824l-1.193-4.191h-.085l-1.193 4.191h-.824Zm8.495.127q-.519 0-.941-.195a1.6 1.6 0 0 1-.671-.572q-.249-.377-.249-.909 0-.468.185-.76.185-.294.493-.461.31-.167.682-.249.376-.085.757-.135.497-.063.806-.096.312-.034.454-.117.146-.081.146-.284v-.028q0-.526-.288-.817-.284-.291-.863-.291-.6 0-.941.263-.34.262-.479.561l-.795-.285q.212-.496.568-.774.358-.28.781-.39a3.2 3.2 0 0 1 .838-.114q.262 0 .604.064.344.06.664.252.323.192.536.579t.213 1.037v3.594h-.838v-.739h-.043a1.5 1.5 0 0 1-.284.38q-.198.203-.529.344-.33.142-.806.142m.128-.752q.497 0 .838-.196a1.32 1.32 0 0 0 .696-1.154v-.767q-.054.064-.234.117a4 4 0 0 1-.412.089 18 18 0 0 1-.803.107 3 3 0 0 0-.611.138 1.05 1.05 0 0 0-.454.281q-.171.184-.171.504 0 .436.323.66.327.22.828.221m4.246 2.67q-.213 0-.38-.035a1 1 0 0 1-.231-.064l.213-.739q.306.078.54.057a.65.65 0 0 0 .416-.21q.184-.184.337-.6l.156-.426-2.017-5.483h.909l1.506 4.347h.057l1.505-4.347h.91l-2.316 6.25a2.4 2.4 0 0 1-.387.7 1.45 1.45 0 0 1-.536.415q-.302.135-.682.135m8.89-6.278-.752.213a1.4 1.4 0 0 0-.21-.366 1 1 0 0 0-.369-.298 1.35 1.35 0 0 0-.6-.117q-.5 0-.835.23-.33.228-.33.579 0 .313.227.494.228.181.71.302l.81.198q.732.178 1.09.544.359.362.359.934 0 .469-.27.838-.267.369-.746.582a2.7 2.7 0 0 1-1.115.213q-.835 0-1.381-.362-.547-.362-.693-1.058l.796-.199q.113.441.429.66.32.22.835.221.587 0 .93-.249.348-.252.348-.604a.63.63 0 0 0-.199-.475q-.198-.196-.61-.292l-.909-.213q-.75-.178-1.101-.55-.348-.377-.348-.941 0-.462.259-.817.262-.355.714-.558a2.5 2.5 0 0 1 1.03-.202q.809 0 1.271.355.465.355.66.938m4.586 4.233h-.923l2.67-7.273h.909l2.671 7.273h-.924l-2.173-6.123h-.057zm.341-2.841h3.721v.781h-3.721zm6.843-4.432v7.273h-.838v-7.273zm2.373 0v7.273h-.838v-7.273zm3.751 7.386q-.74 0-1.296-.351a2.4 2.4 0 0 1-.867-.984q-.309-.632-.309-1.477 0-.852.309-1.488.312-.636.867-.987.557-.352 1.296-.352.738 0 1.292.352.558.351.867.987.312.636.312 1.488 0 .845-.312 1.477a2.36 2.36 0 0 1-.867.984q-.554.351-1.292.351m0-.753q.561 0 .923-.287a1.7 1.7 0 0 0 .536-.757q.174-.469.174-1.015a2.9 2.9 0 0 0-.174-1.019 1.7 1.7 0 0 0-.536-.764q-.362-.291-.923-.291c-.561 0-.682.097-.924.291q-.362.291-.536.764a2.9 2.9 0 0 0-.174 1.019q0 .546.174 1.015a1.7 1.7 0 0 0 .536.757q.363.288.924.287m4.801.64-1.662-5.455h.881l1.179 4.176h.056l1.165-4.176h.895l1.151 4.162h.056l1.179-4.162h.881l-1.662 5.455h-.824l-1.193-4.191h-.085l-1.193 4.191zm11.917.113q-.738 0-1.296-.351a2.4 2.4 0 0 1-.866-.984q-.309-.632-.309-1.477 0-.852.309-1.488.312-.636.866-.987.558-.352 1.296-.352.74 0 1.293.352.558.351.867.987.312.636.312 1.488 0 .845-.312 1.477a2.36 2.36 0 0 1-.867.984q-.554.351-1.293.351m0-.753q.561 0 .924-.287a1.7 1.7 0 0 0 .536-.757q.174-.469.174-1.015a2.9 2.9 0 0 0-.174-1.019 1.7 1.7 0 0 0-.536-.764q-.363-.291-.924-.291c-.561 0-.681.097-.923.291q-.362.291-.536.764a2.9 2.9 0 0 0-.174 1.019q0 .546.174 1.015a1.7 1.7 0 0 0 .536.757q.362.288.923.287m4.589-2.642v3.282h-.838v-5.455h.81v.852h.071q.192-.415.582-.667.391-.256 1.009-.256.553 0 .969.227.416.225.647.682.231.455.231 1.151v3.466h-.839v-3.409q0-.644-.333-1.002-.334-.362-.917-.362-.4 0-.717.174a1.24 1.24 0 0 0-.493.508 1.7 1.7 0 0 0-.182.809m7.938 3.282v-7.273h4.389v.781h-3.508v2.458h3.281v.781h-3.281v2.471h3.565v.782zm10.323-5.455-2.017 5.455h-.852l-2.017-5.455h.909l1.506 4.347h.056l1.506-4.347zm3.198 5.568q-.789 0-1.36-.348a2.33 2.33 0 0 1-.877-.98q-.306-.632-.306-1.47t.306-1.477q.309-.644.859-1.002.554-.362 1.293-.362.426 0 .841.142.416.143.757.462.34.316.543.838t.203 1.285v.355h-4.205v-.724h3.352a1.8 1.8 0 0 0-.184-.824 1.4 1.4 0 0 0-.519-.572 1.46 1.46 0 0 0-.788-.209q-.501 0-.867.249a1.63 1.63 0 0 0-.557.639q-.195.393-.196.845v.483q0 .618.214 1.047.216.427.6.65.382.22.891.22.33 0 .597-.092.27-.096.465-.284a1.3 1.3 0 0 0 .302-.476l.809.227a1.8 1.8 0 0 1-.429.725q-.303.309-.746.483-.444.17-.998.17m3.533-.113v-5.455h.81v.824h.057q.148-.405.54-.657.39-.252.88-.252l.231.003q.138.004.21.011v.852a3 3 0 0 0-.512-.056q-.398 0-.71.166a1.23 1.23 0 0 0-.668 1.112v3.452zm4.427 2.045q-.213 0-.38-.035a1 1 0 0 1-.231-.064l.213-.739q.306.078.54.057a.64.64 0 0 0 .415-.21q.185-.184.338-.6l.156-.426-2.017-5.483h.909l1.506 4.347h.057l1.505-4.347h.909l-2.315 6.25a2.4 2.4 0 0 1-.387.7 1.46 1.46 0 0 1-.536.415q-.303.135-.682.135m9.274-2.045-1.989-7.273h.895l1.52 5.923h.071l1.548-5.923h.994l1.549 5.923h.071l1.52-5.923h.895l-1.989 7.273h-.909l-1.605-5.796h-.057l-1.605 5.796zm9.836.113q-.788 0-1.36-.348a2.33 2.33 0 0 1-.877-.98q-.305-.632-.305-1.47t.305-1.477q.31-.644.859-1.002.555-.362 1.293-.362.426 0 .842.142.415.143.756.462.341.316.543.838.203.522.203 1.285v.355h-4.205v-.724h3.353q0-.462-.185-.824a1.4 1.4 0 0 0-.519-.572 1.46 1.46 0 0 0-.788-.209q-.501 0-.866.249a1.6 1.6 0 0 0-.558.639q-.195.393-.195.845v.483q0 .618.213 1.047.216.427.6.65.384.22.891.22.33 0 .597-.092.27-.096.465-.284a1.3 1.3 0 0 0 .302-.476l.81.227a1.8 1.8 0 0 1-.43.725q-.302.309-.746.483-.443.17-.998.17m3.647-.113v-7.273h.838v2.685h.071q.093-.142.256-.363.167-.223.476-.397.312-.178.845-.178.689 0 1.215.345.525.344.82.976.294.633.295 1.492 0 .866-.295 1.502a2.33 2.33 0 0 1-.817.98 2.14 2.14 0 0 1-1.204.344q-.525 0-.841-.174a1.6 1.6 0 0 1-.487-.401 6 6 0 0 1-.263-.376h-.099v.838zm.824-2.728q0 .618.181 1.091.181.468.529.735.349.262.853.262.525 0 .877-.277a1.7 1.7 0 0 0 .533-.752q.18-.476.181-1.059 0-.575-.178-1.037a1.6 1.6 0 0 0-.529-.735q-.351-.273-.884-.273-.512 0-.86.259-.348.256-.525.717a2.9 2.9 0 0 0-.178 1.069m9.137-1.505-.753.213a1.4 1.4 0 0 0-.209-.366 1 1 0 0 0-.369-.298 1.35 1.35 0 0 0-.601-.117q-.5 0-.834.23-.33.228-.33.579 0 .313.227.494t.71.302l.81.198q.732.178 1.09.544.359.362.359.934 0 .469-.27.838-.267.369-.746.582-.48.213-1.115.213-.835 0-1.381-.362-.548-.362-.693-1.058l.796-.199q.113.441.429.66.32.22.835.221.586 0 .93-.249.348-.252.348-.604a.63.63 0 0 0-.199-.475q-.199-.196-.61-.292l-.91-.213q-.749-.177-1.1-.55-.348-.377-.348-.941 0-.462.259-.817.262-.356.714-.558a2.5 2.5 0 0 1 1.029-.202q.81 0 1.272.355.465.355.66.938m1.361 4.233v-5.455h.838v5.455zm.426-6.364a.6.6 0 0 1-.422-.167.54.54 0 0 1-.174-.401q0-.234.174-.401a.6.6 0 0 1 .422-.167.58.58 0 0 1 .419.167.53.53 0 0 1 .178.401q0 .234-.178.401a.58.58 0 0 1-.419.167m4.319.909v.71h-2.826v-.71zm-2.002-1.307h.838v5.199q0 .355.103.533a.53.53 0 0 0 .27.234q.167.057.351.057.138 0 .227-.014l.142-.029.171.753a1.6 1.6 0 0 1-.238.064 1.7 1.7 0 0 1-.387.036q-.355 0-.696-.153a1.4 1.4 0 0 1-.561-.465q-.22-.313-.22-.789zm5.491 6.875q-.787 0-1.36-.348a2.34 2.34 0 0 1-.877-.98q-.305-.632-.305-1.47t.305-1.477q.31-.644.86-1.002.554-.362 1.292-.362.426 0 .842.142.416.143.756.462.342.316.544.838t.202 1.285v.355h-4.205v-.724h3.353q0-.462-.185-.824a1.4 1.4 0 0 0-.518-.572 1.46 1.46 0 0 0-.789-.209 1.5 1.5 0 0 0-.866.249 1.6 1.6 0 0 0-.558.639q-.195.393-.195.845v.483q0 .618.213 1.047.216.427.6.65.384.22.891.22.33 0 .597-.092.27-.096.465-.284a1.3 1.3 0 0 0 .302-.476l.81.227a1.8 1.8 0 0 1-.43.725q-.302.309-.746.483-.443.17-.998.17m4.145-.057a.61.61 0 0 1-.451-.188.61.61 0 0 1-.189-.451q0-.262.189-.451a.62.62 0 0 1 .451-.188q.262 0 .451.188a.62.62 0 0 1 .188.451.66.66 0 0 1-.32.554.6.6 0 0 1-.319.085m2.754 0a.61.61 0 0 1-.451-.188.61.61 0 0 1-.189-.451q0-.262.189-.451a.62.62 0 0 1 .451-.188q.262 0 .451.188a.62.62 0 0 1 .188.451.66.66 0 0 1-.32.554.6.6 0 0 1-.319.085m2.753 0a.61.61 0 0 1-.451-.188.62.62 0 0 1-.188-.451q0-.262.188-.451a.62.62 0 0 1 .451-.188q.264 0 .451.188a.62.62 0 0 1 .189.451.66.66 0 0 1-.32.554.6.6 0 0 1-.32.085"})),_e||(_e=r.createElement("path",{fill:"#D40101",d:"M362.322 245.635a2.8 2.8 0 0 0 0-5.6zm-96.363-4.78a2.8 2.8 0 0 0 0 3.96l17.819 17.819a2.801 2.801 0 0 0 3.96-3.96l-15.839-15.839 15.839-15.839a2.8 2.8 0 1 0-3.96-3.96zm96.363 1.98v-2.8h-94.383v5.6h94.383z"})))};var Pe,Me,Fe,Be,je,$e,Ve,He,We,Xe,Ke,Ge,Je,Ye,Qe,Ze,et,tt,nt,rt,st,at;function lt(){return lt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},lt.apply(null,arguments)}const ot=function(e){return r.createElement("svg",lt({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 484 307"},e),Pe||(Pe=r.createElement("rect",{width:483,height:306,x:.5,y:.5,fill:"#232222",rx:16.3})),Me||(Me=r.createElement("rect",{width:483,height:306,x:.5,y:.5,stroke:"#4F4F4F",rx:16.3})),Fe||(Fe=r.createElement("circle",{cx:21.613,cy:18.2,r:4.594,fill:"#EE6B5F",stroke:"#E93F30",strokeWidth:.438})),Be||(Be=r.createElement("circle",{cx:36.487,cy:18.2,r:4.594,fill:"#F5BE50",stroke:"#F2AD21",strokeWidth:.438})),je||(je=r.createElement("circle",{cx:51.362,cy:18.2,r:4.594,fill:"#62C655",stroke:"#47AC3A",strokeWidth:.438})),$e||($e=r.createElement("rect",{width:25.106,height:24.105,x:146.275,y:6.147,fill:"#2C2A2A",rx:12.053})),Ve||(Ve=r.createElement("rect",{width:25.106,height:24.105,x:146.275,y:6.147,stroke:"#474747",rx:12.053})),He||(He=r.createElement("path",{fill:"#DFE0E1",d:"m165.841 17.203-6.06-5.592a1.42 1.42 0 0 0-.951-.364c-.352 0-.691.13-.95.364l-3.803 3.524a3.4 3.4 0 0 1 1.306.858c.361.382.624.843.768 1.344h5.134a.49.49 0 0 1 .337.137.47.47 0 0 1 .138.33v.768a.47.47 0 0 1-.475.467h-.593v1.085a.46.46 0 0 1-.292.432.5.5 0 0 1-.182.036h-1.301a.48.48 0 0 1-.439-.289.5.5 0 0 1-.035-.178v-1.086h-2.292a3.2 3.2 0 0 1-.759 1.36 3.3 3.3 0 0 1-1.315.86l3.82 3.53a1.42 1.42 0 0 0 1.901 0l6.05-5.59a1.364 1.364 0 0 0-.007-1.996"})),We||(We=r.createElement("path",{fill:"#DFE0E1",d:"M152.951 16.66a1.7 1.7 0 0 0-.712.169c-.248.12-.459.304-.61.531a1.5 1.5 0 0 0-.076 1.543c.129.24.321.442.556.586a1.577 1.577 0 0 0 2.161-.518c.141-.234.216-.5.216-.772a1.47 1.47 0 0 0-.436-1.086 1.56 1.56 0 0 0-1.099-.453"})),Xe||(Xe=r.createElement("rect",{width:185.694,height:24.2,x:186.381,y:6.1,fill:"#2C2A2A",rx:12.1})),Ke||(Ke=r.createElement("rect",{width:185.694,height:24.2,x:186.381,y:6.1,stroke:"#474747",rx:12.1})),Ge||(Ge=r.createElement("mask",{id:"a",fill:"#fff"},r.createElement("path",{fillRule:"evenodd",d:"M172.799 44.954a5.6 5.6 0 0 0 3.245 1.036h74.14c12.372 0 22.401 10.03 22.401 22.4v178.137c0 12.372-10.029 22.401-22.401 22.401H68.307c-12.372 0-22.4-10.029-22.4-22.401V68.391c0-12.372 10.028-22.4 22.4-22.4h74.139a5.6 5.6 0 0 0 3.245-1.037L156 37.625a5.6 5.6 0 0 1 6.49 0z",clipRule:"evenodd"}))),Je||(Je=r.createElement("path",{fill:"#3B3C3F",fillRule:"evenodd",d:"M172.799 44.954a5.6 5.6 0 0 0 3.245 1.036h74.14c12.372 0 22.401 10.03 22.401 22.4v178.137c0 12.372-10.029 22.401-22.401 22.401H68.307c-12.372 0-22.4-10.029-22.4-22.401V68.391c0-12.372 10.028-22.4 22.4-22.4h74.139a5.6 5.6 0 0 0 3.245-1.037L156 37.625a5.6 5.6 0 0 1 6.49 0z",clipRule:"evenodd"})),Ye||(Ye=r.createElement("path",{fill:"#7E7F80",d:"m145.691 44.954-.405-.57zm27.108 0 .405-.57zm3.245 1.036v.7h74.14v-1.4h-74.14zm74.14 0v.7c11.985 0 21.701 9.716 21.701 21.7h1.4c0-12.757-10.343-23.1-23.101-23.1zm22.401 22.4h-.7v178.137h1.4V68.391h-.7Zm0 178.137h-.7c0 11.985-9.716 21.701-21.701 21.701v1.4c12.758 0 23.101-10.343 23.101-23.101zm-22.401 22.401v-.7H68.307v1.4h181.877zm-181.877 0v-.7c-11.985 0-21.7-9.716-21.7-21.701h-1.4c0 12.758 10.342 23.101 23.1 23.101zm-22.4-22.401h.7V68.391h-1.4v178.136zm0-178.136h.7c0-11.985 9.715-21.7 21.7-21.7v-1.4c-12.758 0-23.1 10.342-23.1 23.1zm22.4-22.4v.7h74.139v-1.4h-74.14zm77.384-1.037.406.57 10.309-7.328-.406-.57-.405-.571-10.309 7.329zm16.799-7.329-.406.57 10.309 7.33.406-.57.405-.571-10.309-7.33zm-20.044 8.365v.7a6.3 6.3 0 0 0 3.651-1.165l-.406-.57-.405-.571a4.9 4.9 0 0 1-2.84.906zM156 37.625l.406.57a4.9 4.9 0 0 1 5.678 0l.406-.57.405-.57a6.3 6.3 0 0 0-7.3 0zm20.044 8.365v-.7a4.9 4.9 0 0 1-2.84-.906l-.405.57-.406.57a6.3 6.3 0 0 0 3.651 1.166z",mask:"url(#safari_quickaccess_configuration_dark_svg__a)"})),Qe||(Qe=r.createElement("path",{stroke:"#fff",strokeLinecap:"round",strokeOpacity:.1,strokeWidth:7.388,d:"M72.024 63.89h174.452m-164.46 11.2h154.467m-127.822 11.2h101.178"})),Ze||(Ze=r.createElement("path",{stroke:"#fff",strokeLinecap:"round",strokeOpacity:.1,strokeWidth:3.694,d:"M72.024 108.689h174.452M108.661 119.89h101.178M72.024 131.089h174.452M82.016 142.29h154.467m-127.822 11.199h101.178"})),et||(et=r.createElement("g",{opacity:.5},r.createElement("rect",{width:191.8,height:22.4,x:63.35,y:175.89,fill:"#007CFF",rx:11.2}),r.createElement("path",{stroke:"#fff",strokeLinecap:"round",strokeWidth:2.8,d:"M130.051 187.089h58.398"}))),tt||(tt=r.createElement("g",{opacity:.5},r.createElement("rect",{width:191.8,height:22.4,x:63.35,y:203.89,fill:"#727273",rx:11.2}),r.createElement("path",{stroke:"#fff",strokeLinecap:"round",strokeWidth:2.8,d:"M130.051 215.089h58.398"}))),nt||(nt=r.createElement("rect",{width:191.8,height:22,x:63.35,y:231.89,fill:"#575759",rx:11})),rt||(rt=r.createElement("rect",{width:191.8,height:22,x:63.35,y:231.89,stroke:"#D40101",strokeWidth:3,rx:11})),st||(st=r.createElement("path",{fill:"#fff",d:"M82.929 246.89h-.923l2.67-7.273h.91l2.67 7.273h-.924l-2.173-6.123h-.057zm.34-2.841h3.722v.781H83.27zm6.844-4.432v7.273h-.838v-7.273zm2.77 7.273-1.661-5.455h.88l1.18 4.176h.056l1.165-4.176h.895l1.15 4.162h.057l1.18-4.162h.88l-1.662 5.455h-.824l-1.193-4.191h-.085l-1.193 4.191h-.824Zm8.495.127q-.519 0-.941-.195a1.6 1.6 0 0 1-.671-.572q-.249-.377-.249-.909 0-.468.185-.76.185-.294.493-.461.31-.167.682-.249.376-.085.757-.135.497-.063.806-.096.312-.034.454-.117.146-.081.146-.284v-.028q0-.526-.288-.817-.284-.291-.863-.291-.6 0-.941.263-.34.262-.479.561l-.79